1. 2

    Hey Michael – this is great! I work with Debian packaging at work and in my leisure time, and it really does feel like the tooling has not made a lot of progress. Stability can be a double-edged sword. I’ll check it out sometime :-)

    1. 7

      I have a youtube list called “mind blowing dev” and on the top of that list (in my mind) is a 2013 talk entitled Magic Tricks of Testing by Sandi Metz. The examples are in Ruby but it hardly has anything to do with Ruby. I’ve taken this idea from team to team from project to project and had nothing but success with it. It’s no silver bullet but oh my. I even internalized its lessons at some point but still did not completely grok it. I think I’m on my second internalizing of what she was teaching in this talk.

      The spaceship. Man. This changed my life. I was just thinking about this today, minutes before reading this thread.


      Other bits:

      1. Controller tests just test HTTP
      2. The testing pyramid by Martin Fowler
      3. Testing CLIs is super easy if you separate your core app from a class that handles args and invokes your core app
      4. Selenium is slow because it’s the wrong kind of thing. It will never be fast because it’s the wrong kind of thing.

      I had typed a massive response to this but I’m going to make it a blog post later.

      1. 1

        Somewhat tangential: a lot of Sandi’s talks are great. Would you mind sharing this youtube list with us?

        1. 2

          Sure thing. https://www.youtube.com/playlist?list=PLlP6fPfZXKAZyfb0X2ZmJIBWkTLzV3mdn

          I wish I could annotate each one. I think the only one I want to point out is the Google tech talk on Git where Linus asks Googlers about their subversion habits. I found this telling because the assumption that everyone in that room is probably very smart / talented and even they didn’t svn branch/merge. :)

          So, not all these videos are equal in mind-blowing-ness. And a lot of them are well-known. But hopefully it’s interesting.

      1. 6

        Hey there – I had the same question a while back and compiled a list of resources/curriculum to learn networking, using Go. You can find everything here. I think once you get the networking concepts down (using for example Beej’s guide). You can translate the C code into Go code (Go in fact just makes the same system calls, with some layers of abstraction on top) and will be well on your way!

        1. 1

          Thank you! I think this is exactly what I am looking for.

        1. 5

          This is great @neilkakkar. Not to discredit your work, but for those who want a more thorough treatise on this, I have been reading How Linux Works and it’s really good.

          1. 2

            If you’re into this, highly recommend checking out Beej’s Guide to Network Programming!

            1. 4

              Hi Dan – thank you for archiving this information. As someone who’s starting to get interested in computer architecture, it’s been hard trying to find thorough informational posts on ARM/x86 and RISC/CISC, outside of reading a textbook.

              1. 1

                Hey @ricardbejarano – just wanted to flag that your code portions are unreadable. It’s turning the background grey with a white text on top.

                1. 1

                  Hey, thanks for pointing it out!

                  I’m working on it.

                  Edit: should be ok by now.

                1. 2

                  This is great!

                  1. 2

                    This was a great read – thanks a lot. Rich is such an interesting guy, I really enjoy his talks. Been meaning to pick up Clojure for a while now.

                    1. 8

                      rich is an interesting guy and I like to listen to his views and arguments, while not necessarily making them my own. On the other hand, I’d probably not have to maintain a code base with him on the team, as he reminds me a bit of a certain type of colleague.