1. 29

    I am my tools.

    First, I don’t count Python or Ruby as tools. Programming languages are the raw material we turn into things, including other tools. Tools are what we use to manipulate the material. My scripts can be tools. The languages themselves, no.

    When I think of tooling, I think of cooking. I first learned to cook when I was 19. When I bought my first chef’s knife, I thought of it as a distinct entity I was working with- I called it “Clancy” as a joke. “Chopping the vegetables” was shorthand for “manipulating the knife so that the knife cuts the vegetables.” Now that I’ve been cooking for almost a decade, I no longer feel like I’m using a knife. Rather, in the state of holding a knife, I as me can cut. The knife is part of my body, so much so that hands feel different holding different knives. The shape of myself is changed by the tools I use.

    Same with programming. I need to “build abstractions”, but I think of these abstractions as TLA+ specifications and Graphviz diagrams. I need to “debug code”, but I visualize the debugging in invariants and ASMs. Sure, I am more than just my tools. But I am also more than just my bones and sinews, and I am more than just my brain. The tools I use the affect the the world in turn affect me.

    This is why I so prize learning new tools. It opens up new ways of thinking and new ways of being myself.

    1. 4

      Hillel, There is an amazing similarity in our thinking on this. I had taken some notes on exactly this topic for a future blog post: Mastering/Internalizing your tools. (This is Murat by the way.) Here are my notes to remind me what to write :-)

      shortcuts are not tools

      no pain no gain.

      if you don’t bend yourself, you did not master a tool, you are just shortcutting.

      if you master a tool, you bend yourself: there is no spoon, you bend yourself

      And, the bending of the self, is what matters, that is when you transcend and level up. It takes weeks at least.

      You can truly master a tool only when you master yourself and bend yourself with that tools thinking mode.

      1. 1

        Oh hi Murat! I’d say welcome to Lobsters, but you’ve been here longer than I have :D

        Definitely looking forward to reading whatever you write on this! And sharing my thoughts on whatever MAD questions you put on up on them.

      2. 2

        It’s funny I was looking at a friend that is cooking very well and having assisted him several time at his place, his organizarion was incredible. Few days ago he came to my place and i found him stressed out, in a rush, and over cooking stuff. Nonetheless, he still had some very good habits, like tasting often, salting things at the right moment, adding acidity when needed…

        The lesson ? He was and wasn’t his tools at the same time. Some skills are about using tools and how, some others are more generic or about knowledge ;)

        You are your tools, but not only.

        1. 3

          I am reading the “The Undoing Project: A Friendship that Changed Our Minds” from Michael Lewis. I am enjoying it so far.

          1. 11

            This article inspired me to try TLA+ and adopt it for use in my distributed systems class. Here are two posts I discussed this process: http://muratbuffalo.blogspot.com/2014/08/using-tla-for-teaching-distributed.html http://muratbuffalo.blogspot.com/2015/01/my-experience-with-using-tla-in.html