2019
Taking notes on paper vs. glass in 2019
Software (currently, GoodNotes) and hardware (iPad Pro + Apple Pencil) are finally to a point where glass is competitive with paper (currently, Studio Neat Panobook, previously Baron Fig Confidant). I suspect we’re in a grey area like automatic vs. manual transmissions. Most folks won’t care and choose whichever is easier or at their disposal. A few will have very specific opinions or principles that lead their choices.
I am a man of principles and opinions.
How regressions happen
Working with software is frustrating, and working on software doubly so, because things up and break. Seemingly without warning or cause. One day the software is fine, the next day it flat-out doesn’t work. Even worse, one day it has this one bug or missing feature and the next day the bug is fixed or feature added but there’s all new bugs. What gives?
My 2019 routine, your mileage may vary
I'm having a moment where I feel like I've got a winning wakeup/morning formula 🎊. Wake up early, around 6:30am. Feed the cats so they don't barf in protest later. Skim the tweets and feeds for a few minutes while the brain boots up. Write for five, fifteen minutes or so. Organize and think about notes/files/projects/research (I'm trying PARA) and the structure of my work. Meditate. Work out, get to work (around 9:30am, lately).
Drink coffee. Focus before lunch. Teamwork after lunch, focused if possible. But probably meetings or 1:1s. Land ideas/tasks/projects/articles into Things as I work so I can avoid distractions.
Backfill things I finished into my todo so I don't have days where I accomplish a lot but check off little. Finish work by 6ish. Read in the evenings. Restrict gaming to weeks my wife travels for competitions. (Narrator: he used restrict in a loose sense, here). Watch the Peak Television, or just Bob's Burgers re-runs in the evening. Read a bit before bed, but probably also end up watching car videos on YouTube.
I fall to sleep easily, which is my superpower. Rinse, repeat.
Sometimes you have to compile a list of known issues and ship
“’tis better to have known a software bug than to have never had a software at all”
Lord Alfred Tennyson, except not
Software that never ships never has issues. Draw the line, get it out there. Celebrate a little and recharge your batteries. Now fix the important stuff; it may not even be the bug that almost held up your release.
Supporting remote work when you're co-located
Dave Rupert, Everything I Know About Remote Work. Me, everything I know about working with remote workers when you're co-located:
- Every single meeting has a video link.
- If one person is remote on a meeting, it's optimal to have everyone on the video call. Meeting rooms with video equipment are good, but don't put everyone on equal footing. Mind the dynamic! One person with their laptop open vaguely facing most participants is not even acceptable.
- People naturally discuss and even decide things face-to-face/offline when colocated. That's fine! Make sure one person summarizes the shape of the conversation and important take-aways in email/Slack/whatever you're using.
- You now work async. On the downside, that means anyone on your team could now be heads-down, in the zone, not responding to your emails/Slacks while they get stuff done. On the upside, you can turn off all your distractions and get some stuff done too!
The end.
Narrator: there was probably more...
Writing to a past version of myself
Left to my own devices, I write in the second person. With apologies to my high school English teachers, I have a justification for this: I’m writing to myself from one, five, ten, twenty years ago.
I’m writing a thing on the skill of reading framework code. I try to keep in mind that I should write to you the reader from me the first person, so as not to project upon you. But I keep writing to you the past version of myself, like I’m Scrooged‘ing myself, sending back little bits of wisdom about things that worked out for future me and things that future me wishes past me tried differently.
So sometimes you, the reader, will see me hastily publish something written in the second person. Sometimes I’m diligent and search&replace for “you”. Tools like Grammarly could probably help me here. But sometimes, I like to leave in the notes to my past or future self. 🤷♂️
Your father's janky graphs these are not
You can Graphviz on the web now. Roughly-drawn sketch style, slightly Swiss modernism, or even in the design tool Figma. Mostly enabled by a port of Graphviz to Web Assembly via emscripten. This is one of the futures I was promised.
Locality, module systems, coherence
Michael Feathers on locality in software design:
You have locality when you don’t have to look beyond your gaze to understand how you are affected or how you affect.
I find languages with a strong module system (Rust, Clojure, sometimes ES6-by-the-books) make each source file more coherent and easier to read than languages where methods or state have more sophisticated/powerful lookup schemes (Ruby, React-flavored ES6).
Plus, strong module systems seem to come with the side benefit of encouraging us to make up names for the functions and state we import, again improving coherence and readability.
A strong sense of locality, module systems, and coherence aren’t in a causal relationship, but they sure do taste great together.
The Longines Heritage Military 1938
The deep-black, serene face on this watch is a real winner. The numbering and proportions are also ace.
I guess Brian Wilson didn't recede into his pocket dimension after all
Who sang lead the most on each Beach Boys album? - Brian Wilson is way more active after Pet Sounds than I would have imagined.
Team organization matters
On team composition and the distribution of higher/lower experience team members:
Even though pretty much any team can deliver results, suboptimal team composition is still a problem. It’s a problem when teams working on very straightforward projects take longer than necessary. It’s a problem when teams stacked with senior engineers are neither mentoring junior engineers nor taking moonshots. Most importantly, these problems are hard to notice because, again, everyone’s delivering results.
- Richard Crowley
Dave Quah made a pretty dang good HTML & CSS version of the Destiny loading animation. I see a lot of this thing and that’s pretty a pretty dang awesome achievement.
Things makes a nice landing pad
One of the better productivity ideas I’ve seen over the years is using some app as a landing pad for all the random ideas, recommendations, and notes I come across in the moment. I’ve been using Things for this lately, and its surprisingly effective while remaining stress free.
I don’t often have the need for a tiny spreadsheet on my phone, but I love everything about Tinysheet by Postlight.
How DJ Premier Changed Hip-Hop - I did not realize he’s the producer on so many tracks. Particularly, Nas (“New York State of Mind”, even), D’Angelo, and (checks notes) Christina Aguilera.
The desirable qualities of good tests
I often say that learning test-driven development is comparable to learning a whole other programming language. The practice of TDD is a mirror world of depth and trade-offs. Kent Beck underscores that depth in listing all [the desirable qualities of good tests], some of which are at tension with each other. Tests aren’t the easiest thing to get right, but there’s no better way to improve your design skills than to wrestle with the feedback loop of writing tests for the code you’re currently working on.
I just wrote ‘Automotive form, Eddie Murphy, DC, the Goodfellas/My Blue Heaven connection’. buttondown.email/therealad…
The full-text search future we were promised
I’ve been reorganizing some notes and considering moving specific topics/tags out of Bear. Turns out I can search across Bear, OmniOutliner, Ulysses, and random text files on my Mac w/ Spotlight pretty well now. Just type in a few words I vaguely recall and boom I’m there. That’s a promising development, the future we were promised!
A great Twitter thread on the importance of training managers. It boggles my mind we just throw so many people in the leadership pool and hope for the best. Every manager had a manager at some point! Why did we only start writing it down in the past few years? 🤷♂️🤦♂️
Automotive function determines form
I generally think function should have a strong influence on form, if not determine the form outright. I like to use cars an example of this, but I’m having trouble reconciling the past of “function over form” with the future.
Back in the days of peak car culture (1960s), the Jaguar E-Type was (and currently is) considered one of the finest looking cars ever produced: