"There’s a huge section of the tech ecosystem that’s constantly told they’re not smart enough to be here and that their work doesn’t matter. I spent a decade hearing C was beyond mere mortals, that you must be a genius to go anyway near low-level code, or algorithms, or distributed systems. The inventor of Git is notorious for pushing this narrative! But the truth is, anyone with enough brains and patience to learn how to do any kind of computing is “smart enough” to learn things like this."<p>As someone who spent the first decade or so as an embedded software developer, I wanted to move into web based systems because its a "bigger world". I'm a couple of jobs into this bigger world now, and it just keeps getting bigger. I feel the need to keep my finger on the pulse of new tools and technologies, but I try to hold that in tension with the advice we get here to keep things simple, be pragmatic, don't adopt technologies or techniques just because google does. I've always fancied myself as a generalist, but this bigger world makes me feel a bit like Bilbo Baggins, "like butter spread over too much bread."<p>My point: I've been in both worlds and I feel more at sea working on internet based systems. I had more mastery over the embedded systems I worked on, than over the web based systems I work on now. So my experience is in support of the author's point that ...<p>"anyone with enough brains and patience to learn how to do any kind of computing is “smart enough” to learn things like this."<p>Moreover, I would suggest that the average full-stack web developer is probably over-qualified.
Since it seems that he used Ruby throughout the book, I wonder if that's the right choice or it will limit the book's audience.<p>I'm contemplating writing a long "from scratch" style book on another topic and I'm still not sure which language I should use. Using more than one (Java, Python,...) and generating multiple flavours of the book could be a good idea I think.
This likely will be just another book on the long list of books I've owned but don't get through, but hard to ignore a 700-page book with a topic both esoteric and pragmatic (I use git daily but have very little knowledge of it beyond what commands to Google). And one in Ruby -- a language I almost never use today, or really see, but definitely grew up with.
There's a post on HN of Linus's first version of git (that I can't find). It's short.<p>There's another reason git is a great choice as a large project to build: you can get <i>something</i> that works very quickly, and then just add to it. Because that is how git was developed. It's like Gall's Law, but evolving only additively. And although Linus was inspired by BitKeeper, it was stripped down to its nakednes, til no longer anything to take away (like Exupery).<p>Also why git's UI design is so terrible.
This book looks really awesome and I want to follow along with it in Java. I don't have the money to buy the book currently being a university student. In the style of r/RandomActsOfPizza, would it be possible for someone to do a RandomActsofBook and buy this book for me? I could pay the money back to them in a couple of months or pay it forward...whichever they would prefer.
This looks extremely interesting. It's also one of those things I'd love to read as a physical book, but I can't seem to find that option.<p>Oh well, e-readers are okay too I suppose.
the linked repository is amazing, I don't think I ever saw such nice code and such neat organization: <a href="https://github.com/jcoglan/jit" rel="nofollow">https://github.com/jcoglan/jit</a> (everything uses standard ruby libraries or default gems like minitest)<p>I'm trying it out and doesn't work very well on macOS (git add has issue with the lockfile, but all tests pass).<p>I might use it as it's a very easily customizable implementation of git.
This looks really nice, both because it covers Git in a new way, and that it approaches solving a large problem with an eye towards explaining how to do it. It really reminds me of Donald Knuth's work on literate programming, in both senses.
I have been working through this book in rust, and I have to say, the book is a real joy. Extremely clear writing, very good pacing, and excellent explanations of technical topics.<p>If you're at all interested you should buy this.
There is an article showing how to write git using python called "Write yourself a Git" [0] (HN post here: [1]).<p>This one shows the fundamentals of git in far less than 700 pages. In fact you can go through it and understand git in an hour or two. For me this seems much more worthwhile than seeing in depth how all the git porcelain commands are done.<p>[0] <a href="https://wyag.thb.lt/" rel="nofollow">https://wyag.thb.lt/</a>
[1] <a href="https://news.ycombinator.com/item?id=19386141" rel="nofollow">https://news.ycombinator.com/item?id=19386141</a>