How I Got My Attention Back - doing a residency and totally disconnecting is implausible for most people. But the idea is great and Craig Mod spins a great story every time I read him.


Writing Better, Type-safe Code with Sorbet. Hot take: gradual typing of large Rails codebases is going to make developers more productive than microservices, radical decoupling, and splitting out SPAs has. Combined.


How “Starship Troopers” Aligns with Our Moment of American Defeat

For most of “Starship Troopers,” humanity, in every possible facet, gets its ass kicked. A culture that reveres and communicates exclusively through violence—a culture very much like one that responds to peaceful protests with indiscriminate police brutality, or whose pandemic strategy is to “dominate” an unreasoning virus—keeps running up against its own self-imposed limitations.

Well that hits home.


Terrace Martin in heavy rotation this week: 808s and Sax Breaks and Dinner Party 👍👍 Robert Glasper, 9th Wonder, and Kamasi Washington mean you can’t lose!


Tips from HBO’s Watchmen on building an inclusive workplace:

The most valuable thing a showrunner—or any manager—can do to create an inclusive workplace is to listen carefully and respectfully to what their employees have to say, while checking their own defensiveness.

The overlap between showrunning and managing a team creating software continue to intrigue.


Periodic reminder that we are worse off for letting folks run Kathy Sierra off the social parts of the internet.


Peak Texas weather. The moment I step outside, I’m thoroughly warmed by the sun. A pleasant glow. For 5 seconds. Then it’s time to plan how I’m getting back to climate control. Rinse and repeat until mid-September.

I probably write this every summer because every summer I love it.


The Cool Zone:

The pandemic that has dominated the past three months strikes a useful contrast with what’s happening now. Unlike coronavirus, racism and police violence are problems caused by humans. There’s a saying, “You aren’t stuck in traffic, you are traffic.” Similarly, the unrest occurring right now isn’t something that is happening to anyone, but a phenomenon that everyone is a part of, even if they haven’t left home or directly participated at all. Like traffic, the reason you’re surrounded by protests is partially because of you, regardless of your perceived level of involvement.


The project management corollary to Hofstadter's Law

Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.

Corollary: It always takes more repetitions to tell people what you're doing, how you're going to do it, why you're doing it, how much progress you've made, that you finished doing it, etc. even when you take into account the corollary to Hofstadter's Law.



Towards smaller JavaScript

The JavaScript ecosystem’s gone to a strange place where dense frameworks and complex tooling are the status quo. But, there are data-points suggesting the pendulum could swing back sooner than later:

  • Snowpack 2.0 - download all your deps, import them as modules. Snappy development experience ensues.
  • lit-html - generate DOM without going through React/Vue/etc. intricacies
  • Alpine.js - attach dynamic interactions to elements with data elements describing DOM manipulations
  • htmx - attach dynamic networking to elements with data elements describing AJAX/Websocket/SSE events

Caveat: I haven't tried any of these. But, the trend-line is promising. JavaScript the language, while not perfect, is Pretty Good now. Perhaps the next few years will see the great ideas of the frameworks squeezed into more accessible, less sprawling expressions of those ideas.



A tale of Ghosts’n Goblins’n Crocodiles

There is something noble about developing on a dead platform – it is so completely for the joy of the development, without any commercial motivation.

  • John Carmack

When does a platform truly “dies”? A “dead language” is defined as “a language which is no longer in everyday spoken use”. By analogy, a dead platform would die not when it ceases to be profitable or when it is obsolete, but when people stop playing it and caring about it.

Now the question becomes “what draws people to retro-computing?”. Is it nostalgia, the diversity, the creativity, the simplicity, or is it inexplicably fun?

Come for the sentiment, stay for the backstory of an old computer you may have never even known existed.


The possibility of software through the ages

The gestalt of what's new in software and how it's changing our world has evolved over the decades.

In the ‘90s, it was “don’t make me think!”. User interfaces went from text-based systems that required memorization and expertise to graphical systems that afforded more casual use of computers. Unix users and their terminals are a notable holdout to this day.

In the ‘00s, it was “don’t make me remember!”. The internet let us to stop worrying about access to common knowledge. Search engines, news feeds, e-commerce, and listing sites made it pretty easy to answer many questions without a resident expert. Nascent social platforms made it possible for our “friends” to feed this information back to us. Notable holdouts: it was impossible for me to search for punchlines from SNL skits, and largely still is.

In the ‘10s, it was “don’t make me describe the content I want to see!”. The now-giant tech companies figured out that their products were more “engaging” if they pushed content to people instead of people clicking around and typing queries to describe what they want. Thus was born machine learning, recommendation systems, and infinite/algorithmic feed scrolling. Notable holdout: none, the blast radius of ad-tech is wide and far-reaching.

From this particular moment, it seems like the ‘20s are going to be “don’t make me leave my enclave”. Even if there’s a breakthrough in medicine and this pandemic is a temporary blip, the writing seems like it’s on the wall. Many kinds of service and retail commerce we used to go out into the world to interact with, along with offices, are going to fade away as climate changes and viruses come and go. Notable holdout: the not-so-middle class folks who do the machine's bidding and keep the wheels of commerce rolling.


Over three decades, things are at once noticeably better and yet there's vast room for improvement. If you're wondering where impactful work can be done in technology, it's in making the benefits of the technology we're building for the middle/upper classes today available to the less fortunate tomorrow. If we can make fantastic televisions available to everyone, surely we can improve the outcomes that matter most in everyone's lives.

If we could bend this curve, the '20s could be the decade of "no pithy quote, just people helping their neighbors."


Yin and Yang: Lessons of Creativity — David Perell

Flow states are the holy grail of productivity. To achieve flow, we need a proper skill-challenge ratio. Skill: Yin (Order) Challenge: Yang (Chaos) We do best when we’re pursuing goals that are a little bit tougher than what we can easily accomplish.

A little bit of disorder makes many things better!


Dear Apple Music algorithms,

The center item is not at all like the others.

Album covers of J-Dilla, Madlib, Shaquille O’Neal, Big Krit, Slum Village

H.264 is Magic. There’s so much amazing stuff you can do with math in the pursuit of distinctly non-math-y endeavors. I’ve always thought compilers, and their cousins the query optimizer, are magic. Computer graphics too. Turns out video compression is also uniquely amazing.


Bonus quote from Revenge of the Intuitive:

Years ago I realized that the recording studio was becoming a musical instrument. I even lectured about it, proclaiming that “by turning sound into malleable material, studios invite you to construct new worlds of sounds as painters construct worlds of form and color.” I was thrilled at how people were using studios to make music that otherwise simply could not exist. Studios opened up possibilities. But now I’m struck by the insidious, computer-driven tendency to take things out of the domain of muscular activity and put them into the domain of mental activity.

I am, in general, a sucker for the notion of the studio as a kind of musical instrument unto itself. It’s a very maximalist, Romantic-era symphony sort of thinking. I want to be Pet Sounds-era Brian Wilson or Rite of Spring-era Stravinksy when I grow up.


The Revenge of the Intuitive and developer tools in 2020

The Revenge of the Intuitive - Brian Eno lamented the downsides of a modern, computer-based recording console. Twenty years ago! The trade-offs for “freedom” at the expense of human affordances were too much for Eno at the time.

Feels like we’re in a similar spot with developer tooling. It works for the most accomplished and persistent of us. For many people who would like to build software, it’s too much. It’s too easy for our castles of complexity to thwart the novices.

The trouble begins with a design philosophy that equates “more options” with “greater freedom.” Designers struggle endlessly with a problem that is almost nonexistent for users: “How do we pack the maximum number of options into the minimum space and price?” In my experience, the instruments and tools that endure (because they are loved by their users) have limited options

You could just as easily write this today about software development libraries and tools. Too many of them discard pretty good ideas about how to build applications. Too much fascination with meta-tooling. Not enough thought put into how to put applications in people’s hands.

With tools, we crave intimacy. This appetite for emotional resonance explains why users - when given a choice - prefer deep rapport over endless options. You can’t have a relationship with a device whose limits are unknown to you, because without limits it keeps becoming something else.

We need standalone tools and libraries to build upon. However, well-curated, opinionated developers tools are where the magic happens. Frameworks like Rails, Tailwind, Next.js are where the leverage is.

A determined expert can build an application from building blocks. Novices can at least get started with a well-crafted framework. A good community and forgiving documentation can get them through the valleys of confusion to the peaks of accomplishment.

Perhaps low/no-code tools will bring the benefit of the “golden, narrow path” to more people. Maybe the trade-winds of developer tooling will blow away from showmanship back to accessibility. Either way, we should tidy up our house and make software development more welcoming to those who aren’t already monks in the monastery.