Today I LearnedRSS

March 2026

2026-03-27
Lecture Friday: Misuser

The divide between technologist and artist is frustrating, but it shouldn't be. Too many techies look down on the humanities, arguing, "Their problems can't be objectively answered. If there are no right answers, it's all meaningless."

This mindset is a legacy of multiple choice questions and standardized testing. Any question having a single objectively correct answer is nonsense, outside of borderline fantasy levels of abstraction (spherical cows in a frictionless vacuum and all that).

But the art of engineering is often just as subjective as painting. You can talk about, "thinking like an artist," but frankly, that's just old-school hacker culture. They're the same thing; making things do something nobody thought it could because you can. Technology used to be cool because it rewarded those who could build something nobody thought possible. Those who made dreams real. I'd argue that's still what makes technology cool, but being profitable has sucked all the air out of the room.

Yet, the problem of keeping our digital artifacts running is fascinating. Theory says digital media lasts forever; reality says otherwise. While a film reel can last a few decades and a good book can last a century, most digital formats only survive a couple of years.

Even just looking at raw device lifetimes, you rarely hit the decade mark with the hardware. Factor in the digital services—the gatekeepers of media delivery—and the average lifespan drops to mere years. Web links rot at a rate of roughly 1-3% per year.

It's not just historians that need this. One of the biggest problems with our current media landscape is echo chambers. Hopefully, you're aware that what you experience online is mostly whatever happily passes through your cognitive filter. If you agree, the loop is reinforced. If you disagree, the confrontation is avoided. Over time, you curate an information diet that pre-filters for your existing beliefs. Algorithms amplify this because platforms want to maximize time on site.

The best way to break out of this loop is to engage with "slow media." Media you can take a break from and ponder on. Read the work of people steeped in a world before the recent wars, before the industrial expansion, or even mercantile trade. Reading a work a hundred years old forces you to encounter values vastly different from your own, allowing you to see the world through eyes that don't share your assumptions.

However, there is a darker risk. Popular works still generate profit, so they get copied and updated, re-encoded and given the occasional touch-up. But common works and periodicals go missing because there's no financial incentive to update them. If you've been online since the early 2000s or before, ask yourself: how much of that internet actually survives?

I once heard someone muse about a possible second dark age. A dark age is not about barbarism as many people think, though we can leave discussions of our current political climate for another time. No, a dark age refers to a period of history where not many works survive to inform historical understanding. When history becomes dark, we are left to infer the era by looking through the trash (archaeology).

I'd argue we're neither in nor entering a modern dark age, but I'd be over stating it if I didn't acknowledge that conditions are ripening. We are entering a period where the future isn't strongly considered. As a designer, engineer, or creator, ask yourself: What are you leaving behind?

We have an ugly narrative forming, one that assumes climate change, war, or disease will cause a complete global collapse. We tell ourselves there is no future, that we should only live for today. I mean, I do have 100% certainty you're going to die. Mortality is still the undefeated champion of life. There will even be destruction, loss, and disasters. But assuming every human will vanish or that you can prepare for such a fate is delusional. It's a coping mechanism for fear. Why not consider trying to improve the lives of those who will come after?

Are you planting metaphorical trees for them to sit under? Or, are you busy tearing down the past to justify your present? Spending your time criticizing those who came before so that those who came after can criticize you? Why leave the future an orphaned people without hope or heritage?

Many people talk about how the internet used to be fun. It still is! You just have to ignore the thousand-pound corporate gorillas. It's not that the internet changed; it's that you did. What used to be your counterculture is now the dominant culture.

So go make a subculture, go make a new counterculture. To me that means making and sharing things in your own space, with your own friends. Build real communities of real people in the real world who collaborate online.

This is the only way to avoid the dark age. We need to leave something behind, not just consume what is given. Yes, it's hard work. Anything worth doing is. But boredom is the key. If you keep satiating it with online content, you pacify the desire to self-actualize.

2026-03-26
The Last Quiet Thing

Your phone is not a slot machine. It's a to-do list that writes itself.

They're describing basically the same trick the consumer goods industry played blaming you for plastic waste. It's not their fault they package everything in single use plastics. It's your fault for not recycling hard enough. Sure, most of that recycled plastic just goes into landfills, but that's governments' fault for not spending all your money subsidising it.

If recycling worked, they'd pay you to do it because those materials would be valuable. They're not.

Unfortunately, this article claims to not want to tell you personal action is the answer, but instead implicitly tells you that you should vote with your wallet. Vote in an election where the fattest wallets get the most votes.

Sure, there's a method to the madness. I don't buy phones that don't have a 3.5mm headphone jack. My 2011 car complete with all the knobs and buttons has an AUX port that plays FLAC albums in excellent quality. My TV has never experienced the internet for itself, cursed to live vicariously though a connected PC complete with ad blocking web browser and a hard drive stuffed with DRM free video games. But this is a strategy to cope, not a solution.

Welcome to the atomized society. A place where our answer to all abuse, from consumer fraud to sexual assault is the same. If you don't like it, make better choices, buy better things. There is no alternative. There are only individuals and families.

This isn't going to change until we stop thinking memes and internet points count as political action. Physical action counts, everything else is intellectual masturbation.

2026-03-20
Lecture Friday: Computers for Cynics

Project Xanadu might just be the most compelling example in favour of the Worse is Better philosophy.

I feel talks by Ted Nelson are a lot like Alan Kay. Full of thoughts and ideas to really expand your conception of what a computer can be, but always best taken in moderation.

Every time I revisit this set of lectures I find more things that click. It's full of wisdom and I hope you too get something useful to help you rethink what you "know" about technology.

2026-03-18
How Kernel Anti-Cheats Work: A Deep Dive into Modern Game Protection

Surely not every trick in the book, but a good look under the hood. Just sharing because I only had a theoretical understanding before this. This article is fairly detailed and specific. Great work!

Really interesting idea about how this moves the best attacks into hardware. Could be a really cool project to design an FPGA based memory proxy. The applications are actually really interesting.

2026-03-16
Nobody Gets Promoted for Simplicity

It comes back to selling your work. That said, the example paragraphs they wrote for selling your work building simple solutions are atrocious. It's not that they're wrong about their thesis, just that the examples provided to help the audience isn't going to be of much help. That's because getting recognition for your work is a performance. You have to learn how to sell your work effectively, not just at all.

Never just list features you built, nor the ones you considered. Instead, always talk about your work in the broader context of the impact to the business and its customers. I've deleted a few dozen lines of code that saved a company a 6 figure sum. Sure 99% of the work was being completely sure those lines weren't load bearing. You think I sell it by saying I deleted a little bit of code? No! I talk about how I just saved us all a small yacht's worth of cash.

Making more money requires people thinking you're too valuable to not pay for. Meritocracies are a utopian myth. If they really existed, companies wouldn't be spending trillions on advertising. Your skills and abilities are as valuable as people think they are. Part of that is genuine demonstrated ability. But people pay more for Coca-Cola over the store brand because it gives them a good feeling. Blind taste tests show store brands and home made soda tastes better. I'd link a study here, but there's hundreds of them and to my limited knowledge, no good meta analysis. Just go search around.

Think about it like balancing the five P's of marketing: product, price, place, people, and promotion. You want your price to go up, and let's assume you're working as hard as you already can on your product, that is, doing your best work. You can still impact place, people, and especially promotion (because so few engineers are thinking about it). Place here is where you spend your time. Are you working on the problems your company cares about? If not, you have to then spend extra time to convince them that the work you're doing even matters. Why fight an uphill battle into a fierce headwind? People is about soft skills. Knowing your audience, presenting yourself professionally, and having great customer service; that is being attentive, friendly, and communicative. Lastly is promotion, and that's a big part of building the feeling people have about the work you do.

That feeling matters. In all but the most Byzantine systems, promotions happen way before any promotion package or formal process. Even in large companies, people know roughly who they can count on to get things done well. You're basically playing dodge ball in gym class again and managers are picking team members. They know the kid who can run fastest isn't always the best at the game. But that kid's at least got a reputation. The weird kid that keeps to themselves is an enigma though. Especially if they mostly just stand there and maybe walk back and forth a bit. They may be a secret martial arts master able to dodge anything, but it's not obvious if they're downplaying it.

One of the missing pieces in this discussion is how much harder simple solutions are to make. This is going to hurt your perceived velocity. What's most likely to hold you back is if you're spending your time simplifying everyone else's projects. You need things you can take credit for. If you're actively leading projects and able to deliver working solutions under budget—in both time and money—then it becomes easier and easier to demonstrate a track record.

My strategy here is have long term goals for the business and your customers. Push for the time to action on the things that would lead to demonstrable improvements in business value terms. Not all of your ideas will be tractable. Some of the simplifications I've been pushing for, I'm still pushing for over five years later. Many of the simplifications I wanted have already been done. Doing those and demonstrating the value gave people confidence in me to go work on bigger projects. Past performance inspires confidence in future results but people only know about your performance if you talk about it. If you can deliver concrete value, you'll be trusted with the power to do more.

2026-03-13
Lecture Friday: A Swift Introduction to Geometric Algebra

I don't have a lot to add here, only to say that I keep coming across geometric algebra and it keeps seeming like something I need to really dig into and learn. I've started going through a bunch of the resources from bivector.net. Lots of things to unpack in this. Not fully sure if this is a better basis for a 3D renderer than quaternions, but it's definitely worth playing with given how much more intuitive the math notation seems to be.

If you're also going to look into studying this, another term you want to know is Clifford Algebra.

2026-03-12
Stop Telling People To Sanitize User Input

Signal boosting this. Always manage user data transforms for safe encoding on output, never input. Your input code shouldn't know how the data's going to be used. Maybe it'll be put in an email, maybe it's going on a webpage, maybe you're printing it. Each of those have very different sanitization requirements. Your input code should not be trying to account for all the different ways it'll be displayed.

Data given to the system should be treated like your handling explosives. There are ways to safely move it, ways to safely store it, but you don't go messing with it prematurely. Definitely don't trust, touch, look, or lick it unless you absolutely have to.

2026-03-11
Dynamicland

I know I missed posting my usual Lecture Friday, so I come bearing great gifts. Today I was reading Dave Gauer's book review on The Art of Doing Science and Engineering, and he opened by talking about Bret Victor's forward and noted that his site has an amazing collection of all the best research papers in computing. Upon reading that I wondered, "Huh, what's Bret up to these days." I then proceeded to fall head first into Dynamicland. I'm still not sure what to make of it all but I'm really excited by everything I'm seeing.

So what can I say except, "You're welcome?"