Live data from Hacker News

Viewing profile — arxanas

arxanas

HN member
Joined
Wed, Aug 01, 2012, 3:23 AM UTC
HN karma
1,027
Public activity
242 items

About arxanas

I'm Waleed Khan, a software engineer working on highly-scalable developer tooling. You can contact me at me@waleedkhan.name or see my resume at https://resume.waleedkhan.name.

Recent public activity

  1. comment
    Comment #45838779

    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…

  2. comment
    Comment #45831775

    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-aras…

  3. comment
    Comment #45818985

    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 integr…

  4. comment
    Comment #44348655

    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 …

  5. comment
    Comment #43030166

    > 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 au…

  6. comment
    Comment #43028469

    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 …

  7. comment
    Comment #43028379

    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 …

  8. comment
    Comment #43022473

    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 …

  9. comment
    Comment #43022467

    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…

  10. comment
    Comment #43022448

    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…

  11. comment
    Comment #43022367

    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 …

  12. comment
    Comment #43022317

    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 tha…

  13. comment
    Comment #42385059

    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 paral…

  14. comment
    Comment #42384938

    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…

  15. comment
    Comment #42381795

    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. comment
    Comment #42381751

    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 au…

  17. comment
    Comment #42381583

    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 undo…

  18. comment
    Comment #42277612

    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 t…

  19. comment
    Comment #42260448

    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-Redu…

  20. comment
    Comment #42112487

    > 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, "man…

  21. comment
    Comment #38688727

    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 H…

  22. comment
    Comment #36973935

    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…

  23. comment
    Comment #36973872

    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 poi…

  24. comment
    Comment #36967049

    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 d…

  25. comment
    Comment #36967044

    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.