jj looks very interesting and the hipster in me wants to adopt it, but my muscle memory is wired to Magit, I am not even an Emacs user, but I reach to it just for doing git stuff. So far none of the frontends for jj comes close.
I had that exact problem, but I've been working on a fork of another tool to try to improve the situation. It isn't a clone of magit, but it has a basic form of the same type of command interface, with a lot of the same benefits (easily seeing the tree of nested available commands and activating them with single letters, seeing what's going on with your repo live, WYSIWYG, and editing it with those commands). It's single-handedly allowed me to switch from git to jj without feeling lost
As someone that constantly reached for some sort of GUI/TUI tool to work with git repos, I can understand the hesitation. The normal git CLI is sufficiently opaque and my interest in it is sufficiently low that those tools were really the only way I could work done efficiently since they made the arcane ways of git a bit more evident.
The curious thing for me is that with jj I find that I don't ever really reach for a GUI/TUI anymore. At first I did try a GUI, but then I realized that the vast majority of what I want to get done conceptually didn't require it. So most of what I do now is just using the jj command line and very rarely do I reach for any sort of other tool.
The exceptions to the GUI/TUI use are resolving conflicts. For me being able to see the conflicts side by side and much more interactively choosing which I want is still more comfortable than simply hand-editing the file. And I also find I'm searching or chatting with an LLM anything I want to do something a little more advanced and less common, like rebasing all my feature branches on the most current mainline branch in one command... jj has a rich set of functions and pattern matching which I haven't (and may never) take the time to learn. But the majority of day to day interactions... just me and the command line. I would never say such a think using git by itself.
JJ works on top of git, so you can still use magit for hunk selection. I tried this approach and once I grokked JJ, I stopped needing to fuss over hunks and parts of hunks. Magit is good because git is clunky. As someone who said exactly the same thing as you for a year, I encourage you to try JJ with jj-mode.el.
As a heavy magit user prior to jj, I can attest that I've just felt much less need for it in the wake of jj. Things like JJ's split being interactive and a lot of the commands having really neat short forms has meant that for me, as attached as I was, I still found myself benefiting so much that I switched.
Fun name: seems like a reference to “Magit” both syntactically (being a portmanteau of “Magit” and “jujutsu”) and semantically (majutsu meaning “magic” in Japanese).
You can use git frontends for Jujutsu just fine, I use lazygit a few times a month out of habit, it all works well. I use jjui for the rest of the operations.
If you are using vim in the terminal pressing alt send an escape sequence when followed by another key press. So to go out of insert mode I usually press alt+ one of h/j/k/l
I can just give you my view. I've been a TWM user for >10 years than switched to niri via some of the sway/hype land scrolling plugins.
My problem with TWMs was always that depending on monitor size you can open 3-4 windows in a set layout (be it the tradional spirals, or H splits...) before you have to do "manual" window management (i.e. move windows into tabbed layouts, move them to new workspaces,...). So for me that generated a friction, where sometimes I just wanted e.g. to quickly open a terminal do some things but keep the rest the same, but not knowing if the terminal becomes permanent. I other words in TWMs I found myself having to know what exactly I want the window for all the time.
SWMs get rid of that friction, I just open a new window and it gets pushed to the right, while keeping windows at the perfect size and if not I can easily switch between the 3 sizes I want (never found I needed more than fullscreen half screen, third of the screen). So I simply don't have to think what I want the e.g. terminal for (something long term or just quick try) before I use it. While it sometimes makes finding the right window a little more messy (the overview really helps though), I find I end up more organised, because I keep related windows in the same workspace, while on TWMs I ended up with 3 or 4 workspaces just for temporary terminals (which made finding the right one often very messy as well).
> For Vim users, I also suggest enabling Vim mode in Zsh. It makes editing commands much faster.
I am also an avid Vim user but I disagree. The default readline is perfectly fine for single line commands (you do have to know your way around some basic commands though C-a/u/k/l/w...). To edit long commands in $EDITOR you can always do C-x C-e in bash/zsh (M-v in Fish). As a matter of fact everytime I pair program with my colleague I always think he is editing those short commands slower than I would have because he has to change modes all the time.
Changing modes is a single key stroke away. That's hardly a reason to be slow.
Readline settings depend on what you're already used to. If you're comfortable with vi key bindings, then being in normal mode, navigating with `w`/`b`, deleting a word with `dw`, deleting up to a quote with `dt"`, etc., are all done with muscle memory, and should be much faster than learning the equivalent Emacs bindings, pressing unintuitive key chords, or opening the command in an editor. I don't like opening an editor since it's an interruption, and it hides the output of the previous command.
I wish I could have the full power of Vim in my shells. For example, I miss the delete between characters binding. `di"` or `di'` are great for modifying argument values.
I like to re-add the readline binds after enabling vim mode, and then I only leave insert mode occasionally. C-x C-e really is great, though, I think I do tend to reach for that if I need to do a big edit of a one-liner.
It mostly depends on your needs, the Note Air series is good if you are on the go while the bigger models like the Note Air Max are fit for a more stationary use.
> It also has a full Android system, which comes with advantages for sure but invites distractions and leads to very disappointing battery life.
While some models have a disappointing battery life, it's most definitely because of BSR[0] not because of them running Android. I had a Note Air 3 and that thing got easily 2 weeks of battery life with heavy use while the BSR version (Note Air 3C) barely survived 2 days.
OP mentioned he took over an existing project. He would then have to track all the people who contributed in order to be able to relicense to AGPL. Even then, Anthropic would probably then write their own.
reply