Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
arxanas
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
by
arxanas
11mo ago
Ah, yes, but I think Ascent also doesn't index ADTs. In this case, based on some other information, it seems like Soufflé _can_ plan the queries better if it has profiling data. It seems like Ascent just happened to pick a better query
2.
▲
by
arxanas
11mo ago
It's quite possible that I have different, smaller-scale problems than you have! So my feedback might not be as relevant I wrote detailed commentary here: https://github.com/s-arash/ascent/discussions/72
3.
▲
by
arxanas
11mo ago
Just gave a talk about this: https://blog.waleedkhan.name/what-if-sql-were-good/ - Recommend Ascent (Rust only, but supports targeting WASM) - Soufflé: good, but too hard to integrate into existing systems; lots of erg
4.
▲
by
arxanas
1y ago
One trick for running tests in rebase-heavy workflows is to use the tree hash of the commit as the cache key, rather than attach metadata the commit itself. - That way, tests will be skipped when the contents of the commit are the same, whi
5.
▲
by
arxanas
2y ago
> To me it still all seems confusing. I don't have a good mental model for it. > > How does it handle things like `git rebase -x 'make fmt'` which might edit each rebased commit automatically, or `git rebase -x '
6.
▲
by
arxanas
2y ago
It's certainly true that jj's features won't appeal to everyone. I think a lot of its features are quality-of-life features (consistent commands and concepts, general undo), and a lot of its features don't help a certain
7.
▲
by
arxanas
2y ago
I might do it if the commits in my stack are mostly independent and I want to commute the ones with `TODO` to be later. This might be so that I can - run checks on the sequence of done commits, without getting wrong/unhelpful results b
8.
▲
by
arxanas
2y ago
I don't think the cheat sheet in that thread demonstrates any of jj's improved expressive power, such as revsets or first-class conflicts. I gave an example of something difficult do in Git here: https://news.ycombinato
9.
▲
by
arxanas
2y ago
Merges can be undone. Either you can manually remediate by `jj abandon`ing the merge commit so that it's not visible anymore, or you can restore the entire repo state to a previous point in time with `jj undo` or `jj op restore`, or yo
10.
▲
by
arxanas
2y ago
jj is pretty much just safer than Git in terms of the core architecture. There's several things Git can't undo, such as if you delete a ref (in particular, for commits not observed by `HEAD`), or if you want to determine a global
11.
▲
by
arxanas
2y ago
It's a bit unfortunate because most of the listed commands are indeed equivalent to Git commands. To give an example of new capabilities, in Git, you can't do the equivalent of jj rebase -r 'mine() & diff_contains(&
12.
▲
by
arxanas
2y ago
I believe `jj abandon` indeed operates on edges rather than nodes. It looks the diagram is updated now. I believe that `jj squash` and `jj backout` also operate on edges rather than nodes, but the examples here don't make it clear. `jj
13.
▲
by
arxanas
2y ago
You can run the tests on each commit in parallel if you're okay with wasting CPU time to save wall-clock time. git-branchless can speculatively run linear or binary search in parallel up to a user-specified number of jobs [1], and I&#x
14.
▲
by
arxanas
2y ago
I don't have anything written. These days, the only unique things git-branchless has are certain commands (`git test`, `git sync`, `git submit`, which would be good to implement in jj), and a few minor features like `git record --stash
15.
▲
by
arxanas
2y ago
For me, the most interesting differentiating factor at this point is probably the GUI tooling for Sapling. Try out their "interactive smartlog" and see if it resonates with you.
16.
▲
by
arxanas
2y ago
One of the main reasons to use git-branchless over jj or Sapling is if you need support for a workflow that's not supported in jj/Sapling yet, such as Git LFS. I (git-branchless author) would like to see both systems get to featur
17.
▲
by
arxanas
2y ago
For more info, here are some git-branchless write-ups on the topics: - https://blog.waleedkhan.name/git-undo/ — has a link to this article explaining some things that can't be undone in the Git model via reflog:
18.
▲
by
arxanas
2y ago
One thing I discovered while trying to improve my incremental Rust compilation time ( https://blog.waleedkhan.name/rust-incremental-test-times/ ) was that there was a lot of time that seems to have been attributable to `
19.
▲
by
arxanas
2y ago
For other readers' benefit: C-Reduce is a little more sophisticated than plain delta-debugging. From the abstract of Test-Case Reduction for C Compiler Bugs (2012): > [...] [C-Reduce] produces outputs that are, on average, more than
20.
▲
by
arxanas
2y ago
> rebasing into history to keep a clean progression of commits in a feature branch that is unreleased is something that many people are keen on To give some specific examples, "many people" includes popular open-source projects
21.
▲
by
arxanas
3y ago
It's interesting to note that extrinsic typing is not limited to retrospectively-designed typecheckers. One of the big philosophical differences between Haskell and OCaml is that Haskell permits (encourages) type-directed compilation,
22.
▲
by
arxanas
3y ago
I see that the README is unclear or even misleading on this point. How it works is that, upon each command, the commit corresponding to the working copy is updated in a similar way as `git commit --amend`. You will typically only have one &
23.
▲
by
arxanas
3y ago
To be clear, I am describing my actual usage of jj. It’s worth noting that there’s currently not a `jj pull` command, so divergences typically involve manually setting a branch pointer for me.
24.
▲
by
arxanas
3y ago
One of our Discord members had a prototype implementing support in IntelliJ if you want to try that. Other than that, I'm not aware of any jj GUI clients. However, you can use jj directly in Git repositories with the colocated mode and
25.
▲
by
arxanas
3y ago
What does the version control system have to do with build times and multi-tasking? I use jj in repositories with long builds, but I don't see what it has to do with that.
26.
▲
by
arxanas
3y ago
It depends on whether you're talking about 100 GB repository size or working copy size. - Currently no partial/shallow clones, so you need to materialize the entire repo on disk. - Working copy status can take a while (see https:
27.
▲
by
arxanas
3y ago
> At this time, there's practically no reason to use the native backend. The backend exists mainly to make sure that it's possible to eventually add functionality that cannot easily be added to the Git backend. From the README,
28.
▲
by
arxanas
3y ago
I am working on a TUI tool for Git/jj to handle staging/splitting. Could you tell me more about what workflow would be problematic for you? For example, if you had to select lines that go in the first commit/staging area, doe
29.
▲
by
arxanas
3y ago
Check out https://github.com/martinvonz/jj/blob/main/docs/sapling-comp... In my opinion: - Sapling is much more mature/full-featured at this point. - Jujutsu improves source control workflows i
30.
▲
by
arxanas
3y ago
> staging only some files and comitting is much easier than splitting a commit after the fact Re this point, how is it any different? "Staging" the files is essentially the same as splitting the commit, anyways — it's just
More ›