Felix Crux

Technology & Miscellanea


These are some of the links from all over the Web that I enjoyed the most this month:

Ned Batchelder - People: The API User’s Guide. A long time ago I was taught that communication involves no less than three potentially fallible stages: what you mean to say in your own mind, the message as it gets transmitted, and what the receiver hears and interprets. This keynote from PyCon 2023 goes into some of the ways that the reception and interpretation of a message can become distorted, and how to optimize the messages you transmit to get better results. Surprise surprise; as with so many really very difficult things about human interaction, it boils down to being kind.

Minnen Ratta - The emptiness at the extremes. I think this is something I regularly do that annoys some people: When asked for a clear dividing line or rule on some topic, I always hedge and add the caveat “use your judgment”. This goes over poorly with a lot of engineering types, but I’m unrepentant. Sure, there are guidelines and there are things that are generally good ideas, and you can often find patterns that work most of the time… but there’s no substitute for actually thinking about the situation and making an informed judgment.

Defector - The Internet Isn’t Meant To Be So Small. I think about this fairly regularly (and get sad). My hope, though, is that the old Internet hasn’t gone away, it’s just that the new Internet is so vastly larger that it looks like the old one has disappeared… but I hope it’s still there, thriving as much as it ever was, just eclipsed by everything that has grown up around it.

Carta - State of Private Markets: Q1 2023. Interesting hard data on how some of the frothier aspects of the startup equity market are being pared back, and some of the compensating changes happening as a result.

rust-lang/cargo - Incident postmortem. A nice public example of a fairly thorough investigation and how to go about making systems more robust. I might’ve also included some examination of the release process itself and the question of how to get more eyes on nightly builds, but that’s a nitpick since I don’t have a concrete proposal to make anyway.


These are some of the links from all over the Web that I enjoyed the most last month:

Alex Komoroske - The Iterative Adjacent Possible. Big ambitious moonshots are taking on two huge risks: The risk of aiming in the wrong direction, and the risk of not getting there. Instead, incrementally feel your way toward the right solution, which lets you learn and chart new courses as you make progress — courses that might be better, and are certainly more achievable. See also The Roofshot Manifesto.

A Smart Bear - When should a decision be fast, or slow? Less diplomatically: most decisions should be fast, with some exceptions, enumerated here.

The ISP Column - The Internet Twenty-Five Years Later. A retrospective of the last 25 years of the Internet — its technological underpinnings, business models, and influence.

LWN.net - Rebecca Giblin on chokepoint capitalism. An interesting talk on how digital markets fail to be fair, and what we can do about it.

Made of Bugs - Efficiency trades off against resiliency. Particularly underappreciated in human systems, I think. This is why I oppose fully planning out and justifying every bit of work — there has to be room for the things you unexpectedly discover to be more important.

Tailscale - Pricing v3, plans, packages, and debugging. This is a weird thing to link to: a pricing change announcement for some online service, really? It’s not just that Tailscale is neat (it is though), but rather that after the very brief factual announcement of the pricing change, there’s a brilliantly insightful analysis of Tailscale’s paid user adoption funnel, leading into a breakdown of why their pricing model is what it is.

Tags: , ,

The problem with getting a pile of comments from a “360 feedback” peer review process with your coworkers is that whatever is written is usually not Truth (with a capital “T”). It’s not that anyone is lying, but rather that the feedback you receive is the final output of a sequence of multiple lossy steps. To discern the signal within the noise, we have to try to work backwards through those stages and apply interpretation and judgement to reverse the distortion and extract useful meaning.

By the time you’re reading a comment from a feedback document, it’s pretty far from being a direct line to objective universal Truth. It actually represents (1) someone’s phrasing of (2) an opinion that is in their mind, derived from (3) their preferences, opinions, and past experiences being applied to (4) their interpretation of events they’ve observed/data they’ve gathered, which are drawn from (5) the limited subset of your actions that have been visible to the feedback author. Phew — that’s a mouthful of a sentence. No worries if you need to re-read it a few times for it to make sense.


These are some of the links from all over the Web that I enjoyed the most this month:

Noahpinion - Honestly, it’s probably the phones. I know the data are inconclusive, and the various studies show lots of complicating factors… but I can’t help but feel that we overestimate the impact of the big scary salient things (climate change! political polarization! everyone’s talking about it!) and underestimate the small, everyday constant things that shape every interaction and most waking moments for many people today — tiny things like, say, your phone. Especially how much it’s an instantly-available endless and mindless time-sink that keeps us from spending time with actual other people.

Bert Hubert - The EU’s new Cyber Resilience Act is about to tell us how to code. Much more nuanced than the title makes it sound. There really is a fair bit to be worried about, built on top of some very good intentions, reasonable pinciples, and a number of genuinely good ideas.

Stratechery - The End of Silicon Valley (Bank). There’s a bit here about the bank, sure — but you’ve probably heard all about that already. What I think is more interesting is the musing on losing the trusting and collaborative culture that characterized Silicon Valley (and the “hacker” ethos more generally). I also think one can see oases of these kinds of cultures within certain communities, institutions, and companies, and the difference it makes is palpable. Is it possible to spread in broader society? The trend is going in the opposite direction.

Escaping Flatland - Why Sweden punches above its weight in music (Scene creation engines and apprenticeships). Again, not really (or at least not only) about music), but about what kind of a culture (or “scene”) produces exceptional results in a particular field, over and over again. As W. Edwards Deming would say: “Apparent performance is actually attributable mostly to the system that the individual works in, not to the individual himself”.

Rands in Repose - The Worry Police and Armin Ronacher - Lessons from a Pessimist: Make Your Pessimism Productive. Both are about the difference between legitimate, helpful, constructive, accurate, and valid criticism and identification of problems, versus just plain being a miserable downer. Being a doomsayer can make you look worldly and experienced (and occasionally very prescient!), but ultimately it doesn’t make things better. Are lots of things broken? Sure, no doubt. What are you gonna do about it to help?

Tags: ,

Whether or not to regularly spend time and effort upgrading dependencies can be a contentious topic on development teams. Advocates argue that not doing the work allows tech debt and bitrot to accumulate, while opponents accuse them of chasing new-and-shiny novelties while ignoring what’s actually valuable to the product. Despite what feels like an unending amount of time spent on the churn of upgrades, security teams still struggle to get risky old dependencies patched, and developers complain about using deprecated tools.

After being burned several times by excruciatingly tedious forced upgrades of vulnerable or broken legacy codebases, I’ve come down firmly on the side of favouring frequent updates — with plenty of flexibility and some caveats.