Git geeks be like “Just did a --squash=<ref> before my interactive rebase with autosquash but I forgot to realign the dilithium crystals so it failed and this is fine so don’t you dare complain about git’s usability you normie!”

And look, I get it, git’s commands make perfect sense (and, dare I say, are elegant) if one thinks in directed acyclic graphs. The challenge is creating interfaces for all the folks who don’t think in directed acyclic graphs. Or, in simpler terms, a note from one of my earlier talks on design: “Your app shouldn’t look like your database just threw up.”

Which leads us to the difference between inside-out and outside-in design…

More: https://ar.al/talks/#superheroes-and-villains-in-design

#design #usability #experience

Talks

I’ve given hundreds of talks over the last two decades and beyond. Here are a few of my favourites in chronological order so you can see how my focus and thoughts have evolved through the years. I hope you enjoy them. PS. If you want me to speak about the Small Web at your event, feel free to send a short message to mail@ar.al with the details. PPS. You can see Laura and me live every third Thursday of the month on Small is Beautiful, which we stream from our own Owncast server.

Aral Balkan

@aral I heard some people have found joy in jj due to these topics: https://jj-vcs.github.io/jj/latest/

Which is basically built on top of git and other vcs tools. Maybe worth a look.

Jujutsu docs

@sheogorath Ooh, just had a quick skim. Will take a proper look later but, at first glance, seems to flip the paradigm on its head. I do like git, don’t get me wrong :)

@aral

aral@mastodon.ar.al wrote:
<">
git’s commands make perfect sense ... if one thinks in directed acyclic graphs. The challenge is creating interfaces for all the folks who don’t think in directed acyclic graphs.
</">

Some would say that the latter folks shouldn't write computer programs, but the proverbial margins of this post won't let me elaborate.

#ThereAreAlwaysTradeoffs

@aral @andrewg I feel like this is tangentially related to this git meme I found before https://birdbutt.com/@colinstu/113522290218878427
Colin (@colinstu@birdbutt.com)

Attached: 1 image Can some developer/programmer/git-user explain this git meta meme to a noob like me? From my research on both of these, reading folk’s commentary, Rebase and Merge is the better way? I mean maybe the other one is good if it's something only single person is working on but even then what's wrong w/doing the first way listed? Curious if anyone wants to break down each level of these, pros/cons of all of it. Are there nominate examples of projects online displaying each? Or that you've worked on?

birdbutt.com
@aral life imitates art imitates life https://git-man-page-generator.lokaltog.net/
Git man page generator

Create an infinite amount of straightforward and readable git manual pages.

@aral I recently went looking for a version control for artists and I don’t think any #FOSS alternatives (which are easy to use) exist. I ended up using SyncThing instead, which isn’t exactly the same but it was easy and 🇸🇪
@aral the appeal of using rebase in the first place only makes sense to me if I kind of pretend the DAG is an awkward middle layer between git commands and something that works much more like Pijul.
@aral You forgot to use rebase --onto with git-rerere. Easy mistake
@annika I see now, I was using git-rerera 🤦‍♂️
@aral There's no gits like old gits.
@aral git is a nightmare to use, and overkill for most projects except the very big ones. I’m sure it is fine for the linux kernel, but few projects reach that scale. I much prefer mercurial. Fewer options to screw up, and (IMHO) friendlier error messages.
@mrtnsnp Oh, don’t get me wrong, I love git. But if I have to do anything out of the ordinary it’s always a deep dive into some esoteric process or other. But my usual workflow is having Sublime Merge up by itself on a separate monitor so I get a realtime view of what I’ve changed. Huge part of the value for me during dev is realtime diffs via that setup.
@aral The problem is not when everything works, but when it doesn’t, exactly what you say. In those cases I’ve found in the past that mercurial is just “nicer”. But yes, work moved to gitlab – because software as a service, can't maintain our own anymore – so now we're on git as well.

@aral I can't take anybody serious until they exclusively rely on using a GUI.

*GrabsPopcorn*