166 Followers
119 Following
6.8K Posts

Functional programming, TypeScript, tooling.
 He/him. Views and opinions my own and do not reflect those of my employer.

I usually only follow folks with pronouns in bio.

@ai6yr can you imagine being the guy targeted for this?

He probably got a bad feeling in the middle of all of it but figured there was no way there was a fake slack, fake channels, fake profiles, than a fake team's call with a fake technical problem and a fake update which let them steal his credentials.

"How many products does Microsoft have named 'Copilot'? I mapped every one."
https://teybannerman.github.io/strategy/2026/03/31/how-many-microsoft-copilot-are-there.html

"A few weeks ago, I tried to explain to someone what Microsoft Copilot is. I couldn’t… because the name ‘Copilot’ now refers to at least 75 different things."

Part of my job as an educator is to create situations where my students will be stressed, they will struggle, they might get frustrated, they might even hate me (although that's rare). My mentor Kai Engelhardt said that part of his job was to "torture students". It's a joke of course but there is a kernel of truth there: particularly for learning skills like debugging, there's no better way to learn than by trying to reason your way out of a buggy mess of your own creation. Inflicting this kind of stuff on students is actually kind of essential to education.

A lot of students these days are totally unused to feeling stuck. I asked students who failed my midterm test the other week how they studied. Many of them actually did quite a lot of practice! But the moment they encountered a bug they couldn't immediately fix, they turned to the bots to solve their problem for them. They read and understood what the bot did, and they conflated that with being able to do it themselves.

Part of the reason these bots are hurting education because they undercut my ability to inflict (educational, non-excessive) stress on my students. I used to design effective programming courses that would keep the stress levels low enough to avoid demoralising students but high enough that they had to engage and work and learn. Now if stress levels go over a certain (low) threshold, all the work gets done by AI unless it's in an invigilated exam, which I used to avoid because they're stress spikes. I don't have a good solution. Just very unhappy.

The Crunchyroll anime awards list is up and I have opinions on only half of them. I apparently need to watch more anime.
LinkedIn Is Illegally Searching Your Computer

Microsoft is running one of the largest corporate espionage operations in modern history. Every time any of LinkedIn’s one billion users visits linkedin.com, hidden code searches their computer for installed software, collects the results, and transmits them to LinkedIn’s servers and to third-party companies including an American-Israeli cybersecurity firm. The user is never asked. Never told. LinkedIn’s privacy policy does not mention it. Because LinkedIn knows each user’s real name, employer, and job title, it is not searching anonymous visitors. It is searching identified people at identified companies. Millions of companies. Every day. All over the world.

BrowserGate
apologies to anyone who already read me saying this on bsky but: for the price of claude code, I could pay off my mortgage 3-4 years earlier. so as a notional labour saving device, it is competing with "four years of additional uninterupted leisure time", which I would say is a pretty high bar to clear
Probably going to get a viral blog out of this experience, I'm trying to report a 4tb exposed cloud bucket to a company using their responsible disclosure programme... but they replaced the people with a GenAI ticket system that refuses to discuss the case as it thinks exploring open buckets is unethical and against its rules.
I suspect that LLMs are never going to completely disappear from software dev, but I think this whole agents-controlling-agents vibe coding chaos is going to pretty quickly be recognized as a disaster by everywhere but the shittiest dev shops

oh. hm. that seems bad. "workers aren't affected by the parent's tool restrictions."

It's hard to tell what's going on here because claude code doesn't really use typescript well - many of the most important types are dynamically computed from any, and most of the time when types do exist many of their fields are nullable and the calling code has elaborate fallback conditions to compensate. all of which sort of defeats the purpose of ts.

So i need to trace out like a dozen steps to see how the permission mode gets populated. But this comment is... concerning...

holy shit there's another entire fallback tree before this one, that's actually an astounding twenty two times it's possible to compress an image across nine independent conditional legs of code in a single api call. i can't even screenshot this, the spaghetti is too powerful