Get lost in an idea

Rabbit-hole-athon - it doesn’t look like an event is scheduled, but I dig the idea:

Tl;dr, we are organizing a weekend long IRL rabbit-hole-athon for technologists: an intimate retreat/hackathon dedicated to reading, thinking deeply about a topic, and sharing your learnings with others.

Like a hackathon or BarCamp, but with the intent to focus an individual’s attention on a topic of their choosing instead of diffusing it. (Which is fine, on balance!)

We believe that being a good builder and problem solver is rooted in being a clear thinker. Intentionally dedicating time to exploring, pursuing your curiosity, and understanding things deeply is an important part of exercising this muscle. We believe this is essential in shaping the next generation of technologists, builders, founders, and researchers.

That’s a snappy manifesto! The notion of taking an afternoon/day/weekend to throw tactics to the wind and go deep on a topic is exciting. I’m already thinking about topics I could go down the rabbit hole on. 🧠


Two snappy covers

I saw this local band Adam’s Farm (no relation, promise) a few times when I was 15 or so. In the era of mixing bass guitar out of rock music (no thanks, Metallica), these fellows stood out by being having an EP where I could clearly hear all the instruments. It was almost 25 years later that I’d learn that “Girlfriend” in particular is a Modern Lovers cover.

Sidenote: it seemed like this local band was lost to the internet until recently as well. I figured I’d ripped one of the only copies of this CD, but Adam’s Farm music appeared on YouTube recently. Fancy that!

William Shatner’s cover of “Common People” is less difficult to find, but possibly equally obscure. Back in the late ’90s, Shatner did some voice overs on a Ben Folds pre-solo album Fear of Pop. In the mid ‘00s, Folds produced William Shatner’s album of songs with tons of guests doing the singing and Shatner mostly talking about mortality and aging. Again, it was several years before I heard the original of “Common People”.

I rather like these two covers better than the originals. So it goes with a notable cover!


Like caveats? Try writing about leading teams!

It's tricky to write about leading software teams. Herein, reflections, not complaints, on pursuing higher software leadership truths. Many of which are riffs on 4 Reasons Writing About Software is Hard:

Writing is actually an incredibly relevant skill for engineering leadership (and engineering in general), but it’s still hard. You can have all the insights in the world, and still struggle to convey your message or find the right audience.

First off, writing is hard so writing about software is hard too. Developing our thoughts beyond “that sounded nice in the shower” is hard but rewarding work.

It's difficult to translate "this worked" out of the system of people, circumstances, and goals. As noted above, at one scale everything works, at another basically nothing works.

No advice on software development is universal. From the smallest coding details to how we structure our multi-person/week projects, there are no best practices. There’s only “this worked/failed for us when building this particular project”.

Writing about software leadership ends up being a lot of describing the people and scenarios that led to a successful approach. The trick is that getting down to particulars about people and scenarios is either too personal to share on the internet or too specific/proprietary to make sense outside a specific organization. It’s hard to write high-quality leadership ideas without drowning in setup, hedging, or over-generic characters.

It’s tempting but insufficient to suggest “act as a good person would and most things will work out”. Merely acting as a good person does will not get me out of situations where individual best intentions created bad outcomes. Perhaps specifying what a good person does with enough clarity that another person can apply and/or emulate it is a laudable step.

In practice, it seems better to say “act as a good person 95% of the time but do the minimally jerk-y thing 5% of the time to cut Gordian knots created by good intention”. I’m not happy with that trade-off, but it does seem like a necessary part of leading people. I build context so I can trade accumulated trust for impact when the situation requires it. (Hopefully! I often don’t know if I was spending from a surplus or deficit of trust until much later.)


Benchmarking Rails apps in 5 bullets

  1. When in doubt, measure. Twice!
  2. For ad-hoc/napkin estimates, I use Benchmark.ms { …the code… } to size up the performance of Ruby code.
  3. When I want to do The Science to compare approaches, I use benchmark-ips. It works a lot like Benchmark, but does all the cold start, iteration, and math for you. It’s great, thanks Evan!
  4. When it comes to code that interacts with databases (Postgres, ElasticSearch, HTTP APIs, Redis, etc.) it is almost always the case that one big query is far faster than queries inside a loop (e.g., N+1 queries)
  5. Ruby performance is often limited by creating many objects and the time it takes for the garbage collector to find/free them up afterwards. This is sometimes not the case in recent Ruby versions (see #1).

Bonus useful tools:

  • bumbler - profile loading gems from your Gemfile at application boot. In most Rails apps, there are several seconds of savings to find in lazy loading rarely loaded libraries.
  • active-record-query-trace: shows the call-site and last few stack frames for every query in your development log. Super handy for “where is this blasted query coming from?”

Logistics is endless intrigue

The modern marvel that moves commodities, sub-assemblies, finished product, and people across the planet is largely invisible. Except when I’m bumped from an overbooked flight. Or when I can’t buy your favorite kind of candy because the trucks to move the containers from the ships to the stores are in the wrong place. Or when one can’t build a car in Germany because semiconductor fabrication plants aren’t as elastic as some executive thought they were. Then it becomes all too apparent that the default state of transportation is, absent considerable effort and coordination, for the wheels to fly off constantly.

Hence, A Brief Introduction to Container Logistics is a great primer for understanding the weird state of our world:

The whole shipping process involves dozens of actors, from the exporter, through a long chain of companies who handle the container (incurring costs on behalf of the shipment), all the way to the importer. This creates a trust problem: who is responsible for the problems that arise when one part of this chain goes wrong? Some of these companies are hired by the shipping company, others by the exporter or importer, or even by a logistics company acting as a middle man. This is usually solved by some kind of chain of custody, where any problem with the container must be immediately noted and complained about by the relevant party.

Adjacent: Venkatesh Rao, Remystifying Supply Chains:

Supply chains are a new class of engineered-emergent artifact, one that includes a few other globe-spanning things like the internet, the air travel system, and low earth orbit, that exist at a level of Gaian phenomenology, terraforming, and planet-scale husbandry. We only ever catch local glimpses of these things. The wholes are too big to fit in a single human mind, and the physical embodiments are too vast to capture even on a single map, let alone in a single photograph.

We have to understand these beasts, in all their evolving, learning glory, while living within their bellies. Abstract slicing and dicing of the phenomenology, via aspects like computation, circularity, and situatedness, can only get us so far. To finish the picture, we have to develop a sensitivity to how we inhabit these beasts at a human scale.


Beethoven’s symphonies, visualized and interpreted

Abstract art poster of Beethoven Symphony No. 7

This is extremely my jam. Beethoven Symphonies Abstracted:

To accompany the National Symphony Orchestra’s Beethoven & American Masters concert series, author and illustrator Mo Willems presents Beethoven Symphonies Abstracted, an exhibition of nine large-scale, painted abstractions inspired by the music and genius of Beethoven. Each large-scale work is a response to one of Beethoven’s nine symphonies, divided into panels that visually interpret each symphonic movement.

(Via Austin Kleon)

Previously: my affection for symphonies seven and eight, John Coltrane’s “Giant Steps” animated.


Cool things to do with your spaceship besides launching billionaires

Fancy some near-term imagination on the opportunities the re-commercialization of space presents us? Yes, have some! Science upside for Starship:

It is, however, a fun exercise to enumerate all the ways in which Starship and related technologies can help execute bold, ambitious missions of scientific discovery.

Giant, poly-lithic space telescopes? Sure.

Probably the coolest telescope concept enabled by Starship, though, is the giant segmented telescope to end all giant segmented telescopes. An unmodified Starship can deliver perhaps a dozen 8 m monolithic hexagonal free-flying segments per launch to a target location such as L2, where they self assemble, calibrate, and then focus incoming light. Over a few dozen Starship flights, a truly enormous spherical mirror section perhaps 1000 m in diameter and with a focal length of 1000 km or so can be assembled behind a free-flying sun shade, pointed in a direction of general interest.

Heating (low-key terraforming) Mars with constellations of mirrors? Okay.

The second is mass producing light sails on Earth, launching them into LEO, then flying them to Mars where they can lurk near Mars-Sun L2 and reflect light back at the planet, reducing heat loss during the Martian night.

“Flood the zone” of our planetary neighbors with exploratory robots? As you wish.

Why shouldn’t we have a dedicated orbiter, lander, rover, helicopter, and submarine on every discrete body in the solar system over, say, 100 km in diameter? Let’s build a fleet of clockwork automatons for Venus and an armada of submarines for Europa, Enceladus, and Titan. Let’s darken the Martian skies with helicopters. Let’s drive rovers across the frozen nitrogen plains of Pluto.

I’m sure it’s a lot more complicated than it sounds from these pull-quotes. I’ll bet that SpaceX’s starship won’t meet some of these expectations. We will have to hold our nose or plug our ears as Musk bloviates. Despite all that, it’s exciting that folks are thinking, writing, and blogging about this and some of it could come to fruition in my lifetime!


Great albums: Blood Sugar Sex Magick

Cover art for Blood Sugar Sex Magick

Favorite tracks: “Suck My Kiss”, “Sir Psychosexy”, “Power of Equality”, “The Righteous & the Wicked”.

The essential (in my opinion) Red Hot Chili Peppers album is, for me, a few things:

  • One of the first albums I heard with good bass playing (I ‘grew up’ in the age after Metallica had mixed bass guitar entirely out of their albums and many others followed suit)
  • One of the first albums I heard that was great from end to end and where many of the songs flowed into each other as if played live, meant to fit together, or like they weren’t even separate songs
  • Extremely teenage and horny, of which I was both when I first heard it

It’s an album that has aged well for me. It was an excellent album when I first heard it, and is still an excellent album when I listen to it today.

There are other nice qualities too: Rick Rubin’s production work. When it’s not extremely horny, it has some good lyrics. It’s rooted in the RHCP musical predecessors with intelligent awareness, not than blind copying. They are seeing further by standing on the shoulders of George Clinton, not just sitting on his shoulders for a free ride. It’s just good funk.

And yes, the RHCP joke in The Good Place is superb.


My favorites of 2021

Gotta sneak this one in under the wire, otherwise it’s just a sparkling list of things.

Movies

Summer of Soul - Nina Simone, Stevie Wonder, Sly and the Family Stone. Heck yes.

Dune - loved the world building here and I’m willing to look past the decision to split this into two movies.

Somewhere You Feel Free - I didn’t realize Wildflowers was so pivotal for Tom Petty. Made me want to get in my car and listen to the whole thing, which I did and greatly enjoyed.

Shows

Only Murders in the Building - is there a greater showbiz duo than Martin Short and Steve Martin?

Hacks - inside baseball on standup comedy plus Jean Smart is 👨‍🍳

What We Do in the Shadows - a mockumentary sitcom expanding its world, taking chances with changing things up, and absolutely nailing the landing.

Albums

Funkadelic, Maggot Brain - hits more emotional points than I’d ever expect from a George Clinton thing.

Miles Davis, Sketches of Spain - nudging into Very Intellectual, nearly classical, jazz, Davis is at least as good as Mingus was at this.

Prince, Welcome 2 America - recorded ten years ago, but it absolutely works today.

Books

Neal Stephenson, Cryptonomicon - I finished re-reading the whole Baroque Trilogy plus this one and they surpassed my recollection of how good they are.

Adrian Newey, How To Build a Car - a memoir on designing three decades of winning Formula 1 cars.

Austin Kleon, Steal Like an Artist - enjoyed the whole trilogy on writing motivation.

My best writing

Don’t be spooky

“Rationalize and solve” doesn’t help someone who is venting

One priority is like wind in the sails

The long game of notes

My best tweeting

On emerging from a winter storm 

On accordions

Finishing is the hardest part

The Red Hot Chili Peppers vs. no shoes/shirt policies

Proof of work is a better idea for sustaining recurring meetings than for software currency


The Beatles 🤝 Timeless leadership lessons

The Economist, The Beatles and the art of teamwork:

Take the role of Ringo, for example. When he is not actually playing, the band’s drummer spends most of his time either asleep or looking bewildered. When the other three musicians bicker, Ringo smiles beatifically. To a casual observer, he might appear dispensable. But musically, nothing works without him, and as a team member he softens conflict and bridges divides.

More teams need Ringo(s), those who make it work without soaking up emotional energy.

Managers who think that building esprit de corps requires a separate activity from work—here-comes-the-fun time, set aside for axe-throwing or gif battles or something equally ghastly—are missing a fundamental point. The highest-performing teams derive the greatest satisfaction not from each other, but from the work they do together.

The Beatles weren’t excellent due to vacationing together in India. They were exceptional because of what they built together, both because of and sometimes despite each other. So it goes with teams.


A more evocative word for mega-corps

Kevin Kelly, The Third Way:

Huge monopolistic companies running platforms like Facebook and Amazon are not mere corporations, nor are they governments, even though they have many of the attributes of both government and corporations. They are a new third thing: platforms. We should not expect to regulate platforms like companies, nor expect them to behave like governments. We need a third category of rights and responsibilities for them.

Platform-principalities. Bank-states (which, oddly enough, includes airlines). Energy-sovereigns (British Petroleum, Exxon). Media-empires (Disney, Universal).

We require a better term for companies that have grown so extraordinarily. Those like Apple that run international diplomacy programs with China. Those like Amazon or Google, that regard their employees as de-facto citizens. Those like airlines that can print a currency (in the form of loyalty programs).

And, as Kelly notes, we should look at them in an entirely different way. We shouldn’t treat Amazon the same we treat a local retailer, just like we don’t treat your local HOA the same way we treat the European Union. “Platforms” is a good start, but a word that connects the tremendous influence modern mega-corps have with the power that Standard Oil or The British East India Corporation had at their apex would be even better!


Great albums: Endtroducing

Entroducing album cover

Endtroducing is my canonical example of a revealing album. I heard “Building Steam With a Grain of Sand” completely accidentally in a college business writing class, of all places. A fellow student used it in their presentation, ironically. Afterwards, I asked “what was that?!”, my mind still blown.

I downloaded it and was immediately like “wow”. A whole new angle on music became apparent. I was vaguely aware that hip-hop quotes other music, but didn’t really understand sampling. I’m just old enough that hip-hop has always been a thing. But this was so different, like an other-worldly quote-fest. But, in a good way. A great way, even.

I later learned Endtroducing is notable in that it was made manually. Ableton didn’t exist, so if you wanted to change tempos on samples, you had to pitch correct them yourself. You didn’t have to tape splice anymore, thankfully. But it was still far tricker than making this album would have been today.

This album would spark many musical explorations. Mash-ups like A Night at the Hip-Hopera. The Roots, J Dilla, Soulquarians, and a myriad of other artists. “Building Steam With a Grain of Sand” sparked amazement, curiosity, and appetite for more music I was previously unaware of.


Great albums: Beethoven Symphonies No. 7 & 8

These are my favorite of Beethoven’s “more approachable” symphonies. Symphony No. 9 is my favorite, but it requires a bit more context to take in. Further, it’s a solid seventy minutes of music, ramping up the difficulty of attention span.

Symphony No. 7 (hereafter Seven, etc.) is my favorite outside of Nine, which is sort of its own pivotal thing. It’s a definitive no-skip symphony. Every movement is sublime in its own way. The first movement for its vigor and speed. The second for its solemn opening that builds and builds into a big, emotional moment. The third for its frolic. The final movement for feeling several minutes of emphatic, resolving punctuation and resolution.

Symphony No. 8 has a wonderful opening. The structure and melodic quality is closer to what came before Beethoven’s Symphony No. 1. It sounds like a nod back to Haydn or Mozart, Beethoven’s predecessors. But the harmony and orchestration is distinctly of Beethoven. It’s a great bridge from Beethoven’s Very Good symphonies to his Amazing Symphony Number 9, The One with Ode to Joy (not the official title as recognized by music historians).

These two symphonies fit together really well on CDs. So, you can find basically any conductor/ensemble you prefer performing it. I listened to the Karajan/Berlin Philharmonic version when I was playing music in high school. I’ve found this piece easy to hear little variations between conductors, so if that’s your thing, queue up a few interpretations and go hunting for little distinctions!


What makes a great album

There are four-ish kinds of great albums, in my mind:

  1. Pivotal albums: the artist or genre was distinctly different before and after the album came out. e.g., classical music was distinctly different after Beethoven, particularly Symphony No. 9
  2. Revealing albums: pivotal to my perspective or knowledge of music. e.g., my understanding of hip-hop was distinctly different after I heard DJ Shadow’s Endtroducing
  3. Consistent albums: no track justifies skipping, you can listen to the thing end to end, every time. e.g., Tom Petty’s The Last DJ
  4. Under-rated albums: albums that are outshined by their extraordinary peers or contemporaries. Most folks know that Born to Run is great, and all other Springsteen albums (generally) rank below it. But that shouldn’t let otherwise excellent and out-of-sequence later albums like The Rising or Human Touch go unnoticed.

The finest transit system you’ll ever find in a swamp

Imagine all the busses, boats, monorails, trains, and gondolas in Disney World as (quasi-public) transit system. Then make a transit-style map of said system. It’s fun, but a little dismal once I think about it.

Disney World transportation imagined as a transit map

Walt Disney World has significantly better transit than most cities in the US.

America’s fantasy world, it turns out, is a place you can get around without getting into a car.

Definitely a top 10 reason (but probably not top 5) I enjoy and find Walt Disney World so intriguing.

Adjacent: if the best transit system many middle/upper-class Americans will experience is a rigorously-top-down, corporate quasi-state, well, that’s a pretty sick burn on capitalism.

“A developed country is not a place where the poor have cars. It’s where the rich use public transportation” — Gustavo Petro, Mayor of Bogotá


Better know a standard library

Read your current/new language’s standard library. Highly recommended for developers of all experience levels. You’ll pick up the idioms, you’ll discover something useful. You’ll laugh, you’ll cry, you’ll wonder if they’re making a sequel!

My favorites are prelude.hs (which, sadly, does not seem to be the file that Haskell bootstraps itself from any more 🤔) and Rubinius’ implementation of Enumerable in Ruby.

(The reference is from The Colbert Report, which is a fun-but-dated thing to know.)


Very famous white guys from history who were not famous for, but known to bite pianos: Thomas Edison and Ludwig van Beethoven.


Offloading fast operations in Ruby by data structure

Noteflakes: A Compositional Approach to Optimizing the Performance of Ruby Apps — the idea is to offload “inner-loop”-type operations from Ruby to C-extensions. The clever twist is this happens via data-structure-as-language. Ruby being Ruby, you can wrap a DSL around the data structure generation to reduce the context switch from Ruby to offloaded operations.

There’s precedent to the approach: if you squint, it’s not unlike offloading the math for computer graphics or machine learning to a GPU. That said, the speed-up is unlikely to be as dramatic.

I hope to hear more of this approach in the future!

Adjacent: “it’s wild how much of the 2021 programming ecosystem is declarative data structures evaluated by recursive functions.”


Before the Porsche 911, there was the 356…and the 904. It a looker!

Porsche 904 GTS

Back in the ’60s, you could buy a street-legal version of Porsche’s top racing car. And just, ya know, drive it on the road! They are pretty pricey today, but at least the auctions have great photos.


Don’t be spooky

It’s possibly the best advice for managers I've given so far. When you’re communicating with your team, lead with context and reassurance. Never message someone on your team, "let's talk when you get a minute". That's void of information and scary as heck!

I have to remind myself of this when I'm rushing. It's faster to ping someone to arrange a synchronous talk than it is to write out what I need to say and cover all the bases. But that doesn’t give me license to skip all the context. Broad strokes are okay. An information vacuum is not okay.

Accidental spookiness invites story-crafting. Minds race. Lacking information or context, we tell stories. They often aren’t happy stories, regardless of how good your relationship with the team. We humans are better at convincing ourselves to fear something (survival instinct) than the other way around.

Avoiding spookiness reduces the chance of people telling themselves negative stories. Context and clarity counteract reading the tea leaves and world building. Even more important, it prevents people from pre-gaming the conversation. That way, they don’t prepare for a conversation that happened in their heads, instead of one that’s about to happen. (Avoiding pre-gaming is important on both sides of the conversation, as it turns out.)

A corollary to “don’t be spooky” — deliver constructive but critical feedback as close to the “original sin” as possible. Receiving feedback that you did poorly weeks after the fact is disconcerting. It can lead the recipient to wondering what other things they’re doing poorly but won’t hear about until later. Which leads to story-crafting, and the whole negative cycle starts a-new.

Give your team enough context to pre-game conversation based on the real context, not conjecture. And don’t hold on to feedback for “that perfect time”.