Favorited An app can be a home-cooked meal by Robin Sloan
(via Peter Rukavina and Roland Tanglao)
For a long time, I have struggled to articulate what kind of programmer I am. I’ve been writing code for most of my life, never with any real discipline, but/and I can, at this point, make the things happen on computers that I want to make happen. At the same time, I would not last a day as a professional software engineer……
I am the programming equivalent of a home cook.Robin Sloan
I really like this metaphor by Robin Sloan. I would never call myself a ‘real’ programmer, or a programmer at all really. Yet, I’ve been programming stuff since I was 12. In BASIC during my school years, in assembly, Pascal, C++ at university, and in Perl, VisualBasic in my early days at work (which included programming the first intranet applications for my then employer), and currently in PHP and Applescript (to get my websites/tools and my laptop to do the things I want). Except for some university assignments all of that programming was and is because I want to, and done in spare time.
I too am the programming equivalent of a home cook (which coincidentally I also am).
Robin Sloan also hits on what irks me about the ‘everyone needs to learn to code’ call to action. “The exhortation “learn to code!” has its foundations in market value. “Learn to code” is suggested as a way up, a way out… offers economic leverage … [it] goes on your resume.”
“People don’t only learn to cook so they can become chefs. Some do! But far more people learn to cook so they can eat better, or more affordably, or in a specific way…..”
The above is I think an essential observation. Eating better, more affordably or in a specific way, translates to programming with the purpose to hone the laptop as your tool of trade and adapt it to your own personal workflows, making it support and work with your very own quirks. This is precisely what I don’t get from some that I quizz about their tool use, the way they accept the software on their laptop as is, and don’t see it as something you can mould to your own wishes at all.
“And, when you free programming from the requirement to be general and professional and scalable, it becomes a different activity altogether, just as cooking at home is really nothing like cooking in a commercial kitchen.”
Removing the aura of ‘real programming’ from all and any programming except paid for programming, might just break this ‘I’m not a programmer so I better accept the way software works as the vendor delivered it’ effect.
Me and Boris Mann cooking in his kitchen in Vancouver in 2008. Coincidentally we connected through our desire to shape tools to our personal wishes. Programming as a home cook, brought us together to well, home cook. His blog still is a mix of cooking and programming well over a decade on.
I like the cooking metaphor, and I also like when people exchange the ‘recipes’ for their homebaked ideosyncratic tools.
Yes, exchanging recipes, that is a valuable extension of the metaphor. Thank you. I normally use my friend Peter’s phrase ‘obligation to explain’ for it.
I thought you might see this article and write about it before I had a chance to 😉 The “ping pong” of blog posts referencing each other is lovely to be getting back to.
Lovely to see you and I working side by side many years ago in that tiny apartment of mine.
I am going to write about Sloan’s post as well, but likely a more developer centric version. Tools (and recipes) need to be designed so they work for home cooking is my thought.
“Tools (and recipes) need to be designed so they work for home cooking is my thought” Looking forward to reading it!
Since Ton referenced my cooking, I better share something recent.
Tonight was Broken Down Duck with Olives and Tomatoes. zylstra.org/blog/2020/02/i…
there’s nothing wrong with being a an amateur cook and there’s nothing wrong with being an amateur software developer. both are great! and it is also great to be a pro cook and pro software dev! people just have pre-conceived notions of what cooking (coding) in the small and cooking (coding) the large is 🙂 most of those notions about large and small are wrong. man pro chefs can’t cook at home or feel they suck at it. i feel many pro developers can’t really do lightweight “last minute pick what you need from what got in the cupboard” software development either! everybody should cook at some level just like at everbody should write software at some level and complicated spreadsheets and other non command line programming environments are programming too!
I am the programming equivalent of a home cook zylstra.org/blog/2020/02/i…
In tijden als deze, wordt er altijd opgeroepen in actie te komen, in beweging te komen en bij te dragen. Maar wat kun jij eigenlijk? Wat kan ik eigenlijk?
Met het thuiswerken de afgelopen week en de komende weken komen er denk ik hele horden mensen achter dat als er echt iets aan de hand is in Nederland, het eigen werk er toch niet zo enorm toe doet. Dat geldt ook voor mijn werk, consultancy. Zelf kan ik weinig. Zo dat is er uit. Ik weet van vrij veel dingen een beetje (precies genoeg om mijn eigen onkunde te herkennen en de kunde van anderen hoger in te schatten), maar heb weinig diepere praktische vaardigheden. Ben geen ingenieur die dingen kan bouwen, ben geen programmeur die nuttige apps uit de mouw schudt, werk niet in de zorg. Ik kan wel klooien met elektronica, en met technici praten, doe wat losse programmeerdingen voor de lol, en heb meningen over mogelijke systeemveranderingen bij de overheid, en bijvoorbeeld de zorg. Mijn diepere expertise ligt in het begeleiden van verandering, systeem- en netwerkdenken, het verbinden van strategie en praktijk in complexe omgevingen, en het zien van mogelijke verbindingen die anderen niet zien. Weinig op het vlak van snel praktische resultaten opleveren dus. Goed zijn in reflecteren helpt in tijden van crisis niet zo heel veel. Het zijn bovendien vaardigheden die in een transactie gerichte cultuur als de Nederlandse op een normale dag al lastig zijn om aan de man te brengen.
Er zijn wel dingen die ik nu kan doen, in het kader van zorgen voor jezelf en de mensen om je heen natuurlijk. Met collega’s hebben we een bedrijf en een NGO overeind te houden, om de werkgelegenheid van ruim een dozijn mensen te beschermen. Daar helpt reflectie wel weer, omdat het naast een rijtje concrete acties, om vooruitzichten gaat voor het komende jaar, en wat je nu al kunt doen. Hetzelfde geldt voor sommige klanten, want deze crisis doet waarschijnlijk veel voor het versnellen van de digitale transformatie van organisaties. Juist omdat het over een paar weken niet over zal zijn, en er dus geen ‘we gaan over tot de orde van de dag’ te verwachten is op korte termijn.
Thuis en rondom huis is het ook eenvoudig te bedenken wat je kunt doen. Zorgen voor en houden van je gezin. Bij de buren checken hoe het gaat, of je boodschappen voor ze kunt doen etc. Vriendelijk zijn naar je omgeving. Afstand houden als je mensen tegen komt maar ze altijd groeten. Je vrienden en bekenden online bijpraten.
Maar verder? Ik zit in verschillende online groepen die heel actief zijn om hun krachten te mobiliseren om bij te dragen aan het bestrijden van de pandemie. Maar omdat ik in de meeste van die groepen de boundary spanner ben, degene die verbindingen legt naar en van buiten, niet de diepere praktische kennis van de rest van de groep heb, voelt het als alleen kunnen roepen van de zijlijn. Als dat roepen gaat om te wijzen op scheve aannames onder het werk van anderen, of aandragen of tweaken van een aanpak, draagt het op zich nog wel bij, maar daar waar ik denk dat de aangewende energie van sommigen uiteindelijk ook maar is om afleiding van de eigen zorgen te vinden niet natuurlijk.
Kortom, ik worstel met waar ik mijn kennis in kan zetten op een manier die er duidelijk toe doet. Waar mijn handelingsvermogen op dit moment ligt. Anders dan voor de eigen privé en zakelijke omgeving zorgen.
En hoe zit dat bij jou? Wat kun jij eigenlijk?
First in Peter’s favourites from his feedreader, then from Matt Webb’s feed directly, which both showed up right beneath eachother when I opened my feedreader this morning, I read Personal Software vs Factory Produced Software.
In that posting Matt points to Rev Dan Catt’s recent week notes, in which he describes the types of tools he makes for himself. Like Matt I love this kind of stuff. I have some small tools for myself like that, and it is the primary reason I have been running a local webserver on my laptop: it allows me to do anything I could do online right on my laptop, as home cooking. Transposing code snippets into safe HTML output for instance. Or converting bank statements into something I can import in my accounting spreadsheet. Those are however somewhat of a mechanical nature. They’re by me, but not about me. And that is the qualitative difference specifically of the letter/cards tracking tool described in Rev Dan Catt’s post.
That is more akin to what I am trying to slowly build for myself since forever. Something that closely follows my own routines and process, and guides me along. Not just as a reference, like my notes or wiki, or as a guide like my todo-lists and weekly overviews. But something that welcomes me in the morning by starting me on my morning routine “Shall I read some feeds first, or shall I start with a brief review of today’s agenda.” and nudges me kindly “it’s been 15mins, shall I continue with …?”, or “shall I review …, before it becomes urgent next week?”. A coach and PA rolled into one, that is bascially me, scripted, I suppose. I’ve always been an avid note taker and lists keeper, even way before I started using computers in 1983. Those lists weren’t always very kind I realised in 2016, it became more a musts/shoulds thing than mights/coulds. Too harsh on myself, which reduces its effectiveness (not just to 0 at times, but an active hindrance causing ineffectiveness). I wanted a kinder thing, a personal operating system of sorts. Rev Dan Scott’s correspondence tool feels like that. I reminds me of what Rick Klau described earlier about his contacts ‘management’, although that stays closer to the mechanical, the less personal I feel, and skirts closer to the point where it feels inpersonal (or rather it challenges the assumption ‘if you don’t know it yourself and keep a list it’s not authentic’ more).
Building personalised tools, that are synchronised with the personality and routines of the person using it, not as an add-on (you can add your own filter rules to our e-mail client!), but as its core design, is mostly unexplored terrain I think. Because from a business perspective it doesn’t obviously “scale”, so no unicorn potential. That sort of generic scaling is unneeded anyway I think, and there is a very much available other path for scaling. Through the invisible hand of networks, where solutions and examples are replicated and tweaked across contexts, people and groups. That way lie the tools that are smaller than us, and therefore really provide agency.
It’s also why I think the title of Matt’s post Personal Software versus Factory Produced Software is a false dilemma. It’s not just a choice between personal and mass, between n=1 and statistics. There is a level in between, which is also where the complexity lives that makes us search for new tools in the first place: the level of you and your immediate context of relationships and things relevant to them. It’s the place where the thinking behind IndieWeb extends to all technology and methods. It’s where federation of tools live, and why I think you should run personal instances of tools that federate, not join someone else’s server, unless it is a pre-existing group launching a server and adopting it as their collective hang-out. Running personal or group tools, that can talk to others if you want it to and are potentially more valuable when connected to others, that have the network effect built in as an option.