continuing to ask people to not try to explain basic git facts to me (āwhatās a commit? whatās a branch? whatās HEAD?ā) and itās going pretty well but i still feel like i need to add a āplease donāt explain branches to meā disclaimer every single time i make a post about git
still optimistic that i can make this a better space for me to hang out and talk about computers than twitter was https://social.jvns.ca/@b0rk/111347100058274723
iām actually always happy to hear āhey i just learned this basic fact and it was a huge revelation for meā or āi didnāt realize X for a long time and I was surprised when I learned itā, love stories about peopleās journey of discovery
(2/?)
@b0rk
Git is amorphous and difficult. Whenever you post about it, you inadvertently invite people to post about how their own view of the tools differs from yours.
Which is a bit ridiculous. When you dig below the surface, git is fairly simple. It's just that the user-level tools were never designed to give us a consistent idea of how to use it.
I've said it before but, command-line tools have user interfaces every bit as much as graphical ones. The git UI was never designed at all.
@jannem not sure why you think itās helpful to try to explain why people do this (i know why) in reply to a post asking people to stop explaining basic things to me haha
@b0rk Today I asked a very specific question about the C standard (not "common expectations about C"), and people started telling me their common expectations and where to find a (expensive) copy of the standard. :)
@b0rk Do you think itās because git is the one of the most used and least understood techs? At least IME almost nobody who uses it possess more than a cursory knowledge of how it works outside of 8-12 commands. Even people who āthink they get itā often donāt.
After years of daily use I still rely heavily on git flight rules for unjamming myself.
@matdevdug yes it's just exhausting because I do in fact understand git (that's why I'm writing about it!) and it's extremely boring to have a million people try to explain basic facts about it to me over and over again
@matdevdug obviously always super happy to hear about people's personal struggles with git or ah-ha moments, it's always very useful
OK, I'll share such a story, then ...
I wrote C++ for several years without understanding much about smart pointers, references, the difference between stack and heap and so on, and got burned several time by trying to return references from functions.
I then learned Rust and everything clicked - the concepts are still the same, but the Rust syntax (IMHO) made it very clear and also the Rust book was a ton of help
@MonniauxD @b0rk Of course, the explicit lifetime syntax and the friendliness of the compiler and the borrow checker were very useful too.
That goes to show that you sometimes need a different point of view and other examples before understanding a tricky concept
@leean00 @dmerej @MonniauxD nope I'm actually not great at Rust even though i started learning it 10 years ago. i have a few blog posts though https://jvns.ca/#rust
@b0rk oh, that's every Saturday morning. Honestly, it's difficult to know where the gaps are in my knowledge. I don't know what I don't know, or I know just enough from googling to be dangerous. But the Saturday random zine page has plugged so many gaps!
@b0rk They're experimenting with pop-ups before you reply to someone you don't know. It would be amazing if you could personalize them, either per-profile or allow you to choose among several ones you've previously personalized, for a given post.
https://blog.joinmastodon.org/2023/11/improving-the-quality-of-conversations-on-mastodon/
@b0rk @offby1 I'm pretty sure that any attempt to coherently explain git *really* ought to start by explaining how early single-user version control systems worked, then networked ones, then explain the extra problems git was intended to solve, before explaining all the multiway merge stuff. Tackling git ab initio is like trying to teach someone to write a business letter by giving them an intro course in emacs lisp with a side order of LaTeX.
@b0rk I read this, scrolled up, and saw this: https://mastodon.social/@Mastodon/111454711657717967
@cstross that's not my approach but Iād be curious to read a historical explanation of git like that if anyone writes one!
sccs and then rcs are exactly what I had in mind. (Broke my skull trying to get into cvs then gave up when I realized I didn't need it for single-person writing projects. Never really got into svn or git because, eh, novelist.)
@b0rk @cstross Linus Torvalds is the person who created git. His talk is literally "why I did it that way", with reference to several other pre-existing source control systems, a bunch of use cases that motivated the design, and other projects like KDE that had different workflows.
Apparently I don't understand the question...
@landley yeah obviously he created it :)
i donāt know, i just feel like people center his perspective too much when talking about git. not sure if i can explain in a tweet.
@b0rk Junio Hamano took over after about 6 months. The user interface got redone at least twice, but they couldn't do much about the fundamental design concepts, which came from a kernel guy who thinks in terms of filesystem implementation.
He's admitted git is basically a filesystem implementation in userspace. Since then linux grew "btrfs" which is basically a git-like filesystem that can have multiple heads. (You can snapshot the filesystem state and it won't gc stuff visible from any head.)
@b0rk repeat offenders aside, do you have any thoughts on what might work to reduce that flood? It kinda feels to me like it's just the nature of public-and-discovery-oriented spaces - drive-by interactions are a *feature*.
Editing to add "don't tell me X" seems annoying but alright, but I'm not sure what it would take to improve beyond that. Maybe a customizable prompt / something for repliers, to remind what you're looking for? Many will ignore it of course, but it'd catch some %...
@groxx just talking about it occasionally seems to be helping a lot tbh
@b0rk yeah, basic awareness is a big part of it. Makes sense / I wish you luck, hopefully we have more options in the future :)
Was Twitter generally better here in some technical way, or do you think it's basically the same / a community thing? I know Twitter has a quality-like sorting of replies, which can help with dealing with the volume at least, but dunno beyond that.
@groxx when i got here i found that the community vibe on mastodon was a lot more explain-y, it was really bad. I think there are some pretty significant technical issues around reply visibility but that's definitely not the only problem.
It's improved a lot but I really had to decide I was going to have to say something about it