Conversation

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

8
0
0

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/?)

2
0
0

@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.

1
0
0

@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

0
0
0

@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. :)

2
0
0

@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.

1
0
0

@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

1
0
0

@matdevdug obviously always super happy to hear about people's personal struggles with git or ah-ha moments, it's always very useful

0
0
0

@MonniauxD @b0rk

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

2
0
0

@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

0
0
0

@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

0
0
0

@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!

1
0
0

@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/

1
0
0

@shauna that’s really cool!! excited to see how it plays out

0
0
0

@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.

3
0
0

@cstross @b0rk @offby1 That sounds fun.

Can I use Vim, though? 🤔

1
0
0

@RyunoKi @b0rk @offby1 Yes you can use vim but only if you do so in ex mode!

0
0
0

@cstross that's not my approach but I’d be curious to read a historical explanation of git like that if anyone writes one!

1
0
0

@cstross @b0rk @offby1

I am old enough to have started and used
directories (regrettably)
sccs
rcs
cvs
svn
git

with some trials of hg but never for earnest

1
0
0

@PeterSommerlad @b0rk @offby1

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.)

0
0
0

@b0rk @cstross I was there for all of it and could probably dig up references, but Linus gave multiple recorded talks about git back when it was new:

https://www.youtube.com/watch?v=idLyobOhtO4

1
0
0

@landley @cstross heh i guess i would like to read a broader perspective on the situation than linus's, i find the linux kernel dev point of view interesting but very limited

1
0
0

@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...

1
0
0

@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.

1
0
0

@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.)

0
0
0
@b0rk I mentally think of git repositories as "movie files" -- blobs are props, trees are scenes, and commits are still frames of how everything was arranged at that particular point in time. Stepping back in history is rewinding the movie frame by frame. Don't know if it helps others or not. :)
0
0
3

@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 %...

1
0
0

@groxx just talking about it occasionally seems to be helping a lot tbh

1
0
0

@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.

1
0
0

@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

0
0
0