A picture of me with my dog Tess next to me looking at me

Notes

Researchers Show How Meta's 'Pervert Glasses' Are Used to Harass Women

The harm doesn't end when the interaction ends, the researchers found. The long digital tail of these videos—which Instagram fails to properly moderate based on its own promises to crack down on this content—means the women in them are subjected to harassment long after they manage to get away from the man in real life. "Combined with the fact that 93.3% of these posts left comments open, subjects were frequently exposed to a digital afterlife of crude, abusive, and misogynistic commentary from the platform audience," the researchers wrote. "Comments frequently framed women’s rejection or discomfort as unnecessarily dismissive, including remarks such as 'she was acting rude' or suggestions that women should 'at least acknowledge' the men approaching them, while others minimised harassment by arguing that people who label such behaviour as harassment are contributing to declining birth rates."

This isn't a new issue, and it is a societal issue. These glasses are only making it easier, and far more public.


Bottle Your Judgment and Make it Outlive You

Which means the two of them are basically running a version of Moneyball, in real life, from opposite dugouts. One’s the old scout who swears he can see it in a kid and can’t fully say how. The other’s building the model that writes down what the scouts could never articulate.

The movie is more honest about how this works than most AI takes are. While the model won that argument, it never made the scouts worthless. It made the good ones more valuable and the vague ones expendable.

Developers who know how to build complex systems with good bones and good architecture aren't going to be replaced by AI. Companies that make this mistake will later learn to regret it. Eventually the bill of vibe coding without the underlying knowledge will come due.

Looking at what Dan says about handling judgement and the decisions taken can be helpful as an exercise to look back on to review your work.

The act of writing it down does more than just move your judgment. In the end, it actually sharpens it. Forced to explain why you make a decision, you find the rules you didn’t know you followed, and the ones you thought you followed but never really did.

But AI and LLMs still can't replace everything that goes into developing the knowledge you have that went into the making the decision.

A model trained on everything you’ve written knows what you did. It does not know the feel you developed for when to break your own rules. You never wrote that down, because you can’t. That part still transfers the old way, the reps, the proximity, the wax-on.

The final comment is 👨🏼‍🍳👌🏻.

A cover band can learn your setlist note for note. It still can’t tell you which song to play when the room goes quiet, and neither can anyone you didn’t bother to teach.


What Do Booksellers Make Of “The End Of Reading”?

It’s also backed up by the fact that new bookstores keep opening at a rate that defies the end-of-reading narrative. According to the American Booksellers Association’s annual report at the end of 2025, 605 bookstore businesses (basically, any store whose primary goal is to sell books, be they pop-ups, online stores, or traditional storefronts) opened last year, compared to just 65 that closed. The number of new stores is up 87 percent from the same metric in 2024.

I'm fortunate to live right by two independent bookstores and love it. I know new ones have been opening nearby.

Talk to enough booksellers and you’ll find that it’s nearly impossible to square their experience with the despair about the state of reading that these pieces often leave you with. Matt and Megan Bormet opened People’s Book in Takoma Park, Md., in 2023, and shared a bit with me about what they’ve experienced since then. “We opened our store three years ago and had no idea whether anyone would show up when we opened our doors,” Matt said. “We sold about 60,000 books last year (for context, that’s three times the population of our city), and I really don’t know what I’m doing.” He told me later, “We just filled a very obvious need in the community, and people started knocking the doors down.”

I can think of worse things one could spend their money on.

Greg Kornbluh, who opened Downbound Books in Cincinnati in 2019, told me a story that spoke to this particularly well. “Nearly two years ago we started our first book club here, and we gave it a pretty specific remit: Anti-Despair Book Club," he said. "The idea was to pick books—both fiction and non—that would do more than just distract or comfort, but that could actually provide some tools or models for how to face the hardships and alienation of our times.

I'd go to a book club that did this.


Another Reason Not to Use “AI” For Your Writing

It’s not fair that newer writers will have to prove (to a larger extent than more established writers) that they can actually write, and that what they’ve written is actually their own work, not the result of a prompt. It’s especially unfair when the makers of the tools writers use to write — I’m looking at you, Microsoft and Google — are frantically stuffing “AI” tools into the programs writers rely on. No, Microsoft, I don’t fucking want Copilot to “help me write” in Word, and no, Google, I don’t fucking want Gemini to “help me write” in Google Docs. The very fact these “AI”s are hovering around my writing at all is bad enough from a provenance standpoint. These “AI” tools are making it harder for all writers in this regard, not easier.

As someone who writes for my site, as well as trying my hand at a novel, this kind of scares me. I write all my posts in markdown, and I've gone back and forth between writing my novel in markdown or LibreOffice. None of my tools have AI assitants or AI tooling built in, which is what I want, but anyone reading or judging my writing won't necessarily know that. Newer authors are going to have to find a way to prove to publishers and the world that they wrote it themselves. It's not something I look forward to.


Move Fast and Settle Things

Therefore, if you take a step back, it's basically Meta getting to write the standards for child safety across the big players of the internet.

And if you don't believe that Meta has been particularly good, like what amazes me of the people celebrating this are the same people who are like Meta is terrible and we don't trust them.

And now you have handed them the pen to write the rules of how internet safety for children works across the internet.

And even if you say, well, it's just limited to these biggest players, if they can convince YouTube and TikTok to go along with it, the trickle down of this is also really problematic because now what is happening is you've blessed these specific things, the two hour limit, the hidden likes, the things that we don't know whether or not they actually work.

But if any other platform wants to avoid getting sued in the future, the easiest thing to do is just say, well, we're doing the industry-wide standard as defined in this settlement between Meta and all of these states.

And so the way to reduce liability, if you're a company, a smaller company, an upstart trying to do something different, maybe you have an idea of how to actually protect children more.

That's now risky.

The easiest thing, the thing to do to reduce and avoid liability is to just go with the flow, take what Meta has agreed to and say, we're just going to do that because that is the industry standard.

And that really concerns me, especially when we don't know what actually works right now.

The laws of unintended consequences is likely to be seen heavily here. Sadly, Meta is probably going to love this. It puts them in the driver seat to put walls up making it harder for new players to enter the market.


In Defense of Polyfills

Standardized APIs have intrinsic value, independently of browser implementations.

We think of polyfills as a toggle: use a polyfill, leave it in there, and later when all browsers implement the feature natively, it gets removed.

This misses out on one of the biggest benefits of polyfills: decoupling API design from implementation.

Completely agree. It's nice when you can easily enhance functionality while not tying yourself to a specific implementation too tightly. Time moves on, implementations become standard across the different browsers, and you can go in and get rid of code. It's a great feeling.

It can also help handle things if a library ceases being maintained, or a vulnerability of some form is found in the polyfill library, or anything else. The easier things are to swap out implementations in general, the better.


Chrome's Breaking and Entering

Let’s not beat around the bush: This is effectively malware behaviour. It’s bullshit. It’s cancer. It’s deeply disrespectful toward the user. It’s prioritizing hollow metrics at the expense of everything else.

...

But, an app installing a global keyboard shortcut without user consent is bad. This can never be anything other than opt-in. At the very least, Chrome should have shown me a clear UI that said “We’re thinking Ctrl+G would be fun for you to use. You okay with that?” and a button for me to press to confirm.

Completely agree with everything Marcin is saying. And to me, it feels even worse since it doesn't feel like it's something that feels like we'd expect. When I installed Alfred and Raycast on my Mac, I installed them to get that launcher. I don't install a web browser for that. In either case, we shouldn't have apps be able to just steal global shortcuts without side kind of "hey, do you want this application to do X" What's next? Remapping Cmd+Z?


Why Good Architecture Still Fails in Production

Seniority, at least in architecture, often means noticing the missing question before the missing answer turns into an incident. The same logic applies to coupled systems. A component can behave well on its own and still create trouble once the rest of the system starts reacting to it.

Senior developers can see things newer developers might miss. That comes with having more experience both with the software being developed, and many years of experience, likely making the same mistakes or missing the same things being caught in review. But even with all the experience, so much goes into software, it's hard to catch everything. The best you can do is set systems up with a good foundation, so when things go wrong, you probably already know where to look to fix it.

The point is not documentation for its own sake though, but to make the system legible before production does the explanation instead.


Progressively Enhancing Grid Lanes

The more I think about it, the less sympathy I have for Grid Lanes. You create a DOM order that you think makes sense, then you mess it up with CSS. Then, if you're aware of the problem, you fix it again with CSS. Finally, you have a patched-up layout that may have created other issues you can't address.

I'm looking forward to Chrome's, Firefox's, and Safari's next moves. Until then, to sum it up, my slightly adjusted recommendations are:

  • Always test your Grid Lanes with the keyboard or a screen reader across different screen sizes.
  • If you find a mismatch between the DOM and the visual order, increase the flow-tolerance value. You may have to use a high value or even infinite.
  • As soon as it's available and supports Grid Lanes, try using reading-flow instead.
  • If that doesn't work, consider using a regular grid.

Some good thoughts and examples here to help with accessibility should you choose to use CSS Grid Lanes.


How to Measure Returns on AI

In the beginning there was ai, and bosses everywhere lost their minds and said you must all use this technology no matter whether it is useful and no matter how much it costs. And they introduced ai leaderboards and came up with stupid words like “tokenmaxxing”. And lo, usage did indeed rise. And then the bosses remembered some very basic concepts like “budgets” and realised that this might not be such a great idea after all. And then a different question rang through the boardrooms, and this question was about returns, and it was harder to answer.

Measuring productivity is almost always difficult. With AI it can be even more difficult as it can be hard to identify how any gains now can be countered by the potential for tech debt later. If AI generates code that someone else has to keep cleaning up later, how much is really gained?

From a software engineering perspective, if a company is going to use AI coding assistants, it should make sure the engineers are keeping tabs on the code generated and that the engineers are taking responsibility for any code they use AI to produce.


The Founding Story Behind Japan’s Oldest Whisky Maker

More than a century before Japanese whisky became one of the most coveted spirits in the world, a young merchant in Osaka had a simple observation: the wines and liquors being imported from Europe didn’t suit Japanese tastes. What he built from that insight—one product at a time, for the last 127 years and counting—is now one of the largest beverage companies on earth.

As a fan of whiskies of all kinds, it was an interesting story of Suntory's history.


You Got Faster. Your Company Didn’t.

By the way, it’s not just documents… I’m also seeing the same pattern in pull requests, automated tests, and even decisions. We’re going faster by passing the slow part (the reading, the actual understanding) to whoever comes next. A Ponzi scheme?

Don’t get me wrong: by all means, do use AI. I do too, and I’m (probably) not going back. The thing is: the model is giving you many hours back, so please spend a bit of them editing!

I already have a rule for AI-written code: if I can’t explain the change, I can’t ship it. The same rule applies here: if you can’t defend a sentence with the document done, it’s not really done, is it?

If you're going to use LLMs, the least you can do for those you work with is to fully review the output and ensure you understand it.


Older Notes →