Post 9s0VBemZc9I0YG92AK by interserver@mastodon.social
 (DIR) More posts by interserver@mastodon.social
 (DIR) Post #9rxrMIm1OkqwzkUJG4 by sir@cmpwn.com
       2020-02-12T14:39:07Z
       
       5 likes, 2 repeats
       
       I hear the "you shouldn't have to learn how your engine works just to drive a car" argument often used to counter my insistence on learning git's internals to understand its externals.My response: git is a tool for professionals. Racecar drivers should definitely understand how engines work. Amateur users of version control systems are using the undo and redo buttons in a Google Document. Git is a professional tool and if you're a professional then you have a professional obligation to learn your tools properly.
       
 (DIR) Post #9rxrRS5YC11DKh4uUC by sir@cmpwn.com
       2020-02-12T14:40:00Z
       
       1 likes, 0 repeats
       
       And in any case, git internals are SIMPLE. You can grok them inside of an hour. A car engine is far from simple.
       
 (DIR) Post #9rxrhMbYLiTuxTdOG8 by laggard@doesnt.undo.it
       2020-02-12T14:43:30.352369Z
       
       0 likes, 0 repeats
       
       @sir And yet, I understand cars and git still always trips me up xD
       
 (DIR) Post #9rxrqjrFGRFngORcsi by sir@cmpwn.com
       2020-02-12T14:44:37Z
       
       0 likes, 0 repeats
       
       @ari git is a complex system built from simple primitives. In this respect it's actually simpler than many of its competitors. To me, this kind of simplicity is more important.
       
 (DIR) Post #9rxrxCgT0Btop5UBFo by abyxcos@mastodon.social
       2020-02-12T14:45:15Z
       
       0 likes, 0 repeats
       
       @sir in about an hour, the internet is going to teach you how ICEs (internal combustion engines) work. They’re not *that* hard. At least the basics.
       
 (DIR) Post #9rxs2tRnR6uWtoKwtc by sir@cmpwn.com
       2020-02-12T14:46:24Z
       
       0 likes, 0 repeats
       
       @abyxcos I mean, I grok the basics, I guess. Still, only reinforces my point.
       
 (DIR) Post #9rxtKmxcOOLpwoJne4 by ademalsasa@floss.social
       2020-02-12T15:00:58Z
       
       0 likes, 0 repeats
       
       @sir hi Drew, I like your argument "Git is a professional tool and if you're a professional then you have a professional obligation to learn your tools properly".
       
 (DIR) Post #9rxu3UHGhbY72Bp7U8 by sandro@mastodon.supersandro.de
       2020-02-12T15:09:01Z
       
       0 likes, 0 repeats
       
       @sir basically just commits, trees and blobs.
       
 (DIR) Post #9rxu9yqFygOjZ7Hjpg by sandro@mastodon.supersandro.de
       2020-02-12T15:09:10Z
       
       0 likes, 0 repeats
       
       @sir Yeah! I am a professional!
       
 (DIR) Post #9rxwXtW9cmZ7uXPgFk by jordan31@fosstodon.org
       2020-02-12T15:37:49Z
       
       0 likes, 0 repeats
       
       @sir I actually find an car engine much easier to understand lol.
       
 (DIR) Post #9rxxVHxQOw9wnMURwu by harrison_partch@pieville.net
       2020-02-12T15:48:33Z
       
       0 likes, 0 repeats
       
       @sir Your arguments are sound. But not every use case calls for this kind of understanding. It would be useless for my project: I am the only one who works on the code. So git is just archival for me. There are no other developers and no users and no release cycle.
       
 (DIR) Post #9rxxrqTKl0LoDAAfmC by sir@cmpwn.com
       2020-02-12T15:52:37Z
       
       0 likes, 0 repeats
       
       @harrison_partch disagree. An understanding of the internals of git are still very useful for solo developers. Many of the higher level tools of git are extremely helpful in a lot of different circumstances and are much easier to understand with the fundamentals in hand.
       
 (DIR) Post #9rxziFBAF5LxqpDoi8 by kungtotte@fosstodon.org
       2020-02-12T16:12:21Z
       
       0 likes, 1 repeats
       
       @sir race cars is actually a really good analogy for this. If you're going to compete in racing you need to have an intimate understanding of how the car works under pressure; how springs and shocks are compressed and extended, how accel./decel. will affect the weight balance (again loading/unloading the suspension) etc. Otherwise you can't know what the car will do at any given point on the track. That's exactly like using git for real, you need to know what it's doing.
       
 (DIR) Post #9ry7OFTKF7OWbKh2JM by portpupper@social.sakamoto.gq
       2020-02-12T17:39:20.632389Z
       
       0 likes, 0 repeats
       
       @sir What's the prosumer middle ground of source control?
       
 (DIR) Post #9rzfa8MU60RDciIAqG by dos@social.librem.one
       2020-02-13T11:35:48Z
       
       1 likes, 1 repeats
       
       @sir I think it's a confusion about what "git internals" really means. git plumbing != git's implementation details. git is a data structure manipulation tool, so you should know how that data structure looks like to use it effectively. It would be more like saying "you don't have to know how velocity works just to drive a car".
       
 (DIR) Post #9rzvdqS0EG7AUxfHGq by codesections@fosstodon.org
       2020-02-13T14:36:44Z
       
       0 likes, 0 repeats
       
       @sir > I hear the "you shouldn't have to learn how your engine works just to drive a car" argument often used to counter my insistence on learning git's internals to understand its externals.>> My response: git is a tool for professionals. Racecar drivers should definitely understand how engines work.I don't love this analogy – largely because I think the case for developers learning git is much *stronger* than the case for racecar drivers learning about engines
       
 (DIR) Post #9rzwJz1mjIk3GKUjgG by JordiGH@mathstodon.xyz
       2020-02-13T14:44:43Z
       
       0 likes, 0 repeats
       
       @dos And yet, most people don't want to know blob-tree-commit-ref in order to be able to share their code.The plumbing *is* internal. The very name indicates the intent to make it internal. You don't have to know how plumbing works to take a shit.
       
 (DIR) Post #9rzxvf2VatMuECMZo8 by bugaevc@mastodon.technology
       2020-02-13T15:02:33Z
       
       0 likes, 0 repeats
       
       @codesections I cannot get behind this argument for a different reason.*Of course* people should have learned git internals when/if they were learning git to seriously use it. Do people (systems engineers) disagree? Have they not learned git internals? ("You should" implies they haven't yet, doesn't it?) It sounds to me like @sir is preaching to the choir.
       
 (DIR) Post #9s0TMdzOhh6vMvFpq4 by interserver@mastodon.social
       2020-02-13T20:53:39Z
       
       0 likes, 0 repeats
       
       @sir "Professional" simply means that you code for a living. As I see you are self-employed, you can determine your own work obligations without the rest of us having to abide by your arbitrary job fitness purity testing.
       
 (DIR) Post #9s0TUAa1vjIoTTyfdQ by sir@cmpwn.com
       2020-02-13T20:54:25Z
       
       0 likes, 0 repeats
       
       @interserver translated this to English: I'm too lazy to put effort into learning my tools and I want my worldview to feel valid so I'm blithly dismissing a dissenting take
       
 (DIR) Post #9s0UtlVtqk0IDOoYi0 by interserver@mastodon.social
       2020-02-13T21:11:13Z
       
       0 likes, 0 repeats
       
       @sir Ah dear internet--when your opponent straight out resorts to insults the moment he can't present a case in support of his argument and can't think of a proper rebuke.
       
 (DIR) Post #9s0V0cuOF17ZYQXcO0 by sir@cmpwn.com
       2020-02-13T21:11:34Z
       
       0 likes, 0 repeats
       
       @interserver my thoughts exactly
       
 (DIR) Post #9s0VBemZc9I0YG92AK by interserver@mastodon.social
       2020-02-13T21:14:27Z
       
       0 likes, 0 repeats
       
       @sir So you are willing to retract your insult and engage instead?
       
 (DIR) Post #9sURWscgETr7ZjENgu by interserver@mastodon.social
       2020-02-28T07:54:50Z
       
       0 likes, 0 repeats
       
       @sir Blocking your opponents after you insult them is cowardly as well. Come on, it takes strength to admit you were wrong.