David Whitney

David Whitney

@davidwhitney.co.uk

Director of Architecture @ fintech Consultant. Author. Rum, Alt Culture, Games & Metal. C#, TypeScript, OSS, MVP DevTechnologies. 🔗https://davidwhitney.co.uk/now - Other Socials @david_whitney on Twitter, when that helps the inevitable migration tools.

1.9K followers699 following13.4K posts

Gotta say the explosion of decomp/recomps has made me pretty nervous about not angering the gods of Rockstar with my GTA1 Remaster that uses similar techniques. Will ruminate - it's wonderful, has a fixed / improved camera, uncapped framerate, modern display and multiplayer and gamepad support.

That's the frustration between the "vibe coded slop" and the carefully crafted work. Both can involve AI, but the two things are really not the same genre of thing.

Some really interesting stories in moving DirectDraw to SDL, swapping out the multiplayer, and the incremental process of moving from decompilation style raw pointer memory access to a codebase that is legible, literate and makes sense.

This talk is (obviously) brutally close to home on a number of axis. Change requires us to sit with our discomfort and then do something about it. I want you to watch this.

Jo Franchetti @thisisjofrank.bsky.social

I gave a talk at EMF titled "Men in Tech #YesAllMen", in which I told my experience of being a woman in tech. I was afraid to publish it in case it affected my current or future employment. With all the current news I would like to add my 2¢. So here is the recording: youtu.be/WXL6K1lhvt0?...

Frequently work with teams who are uncomfortable changing software they own because of low test confidence and / or coverage. Generated this small tool for .NET projects (it's written in TypeScript, don't loose your minds) which acts as a meta-harness, instruments a codebase with Coverlet + Stryker

View full thread

It's interesting to use something that I use primarily for human feedback (a TDD style workflow) and take it's *artefact* as a tool for automation. These are not "tests" as I previously understood them, but I'll experiment with any tool to get to strong foundations.

Frequently work with teams who are uncomfortable changing software they own because of low test confidence and / or coverage. Generated this small tool for .NET projects (it's written in TypeScript, don't loose your minds) which acts as a meta-harness, instruments a codebase with Coverlet + Stryker

View full thread

There's a strong focus on purely outside-in tests, rather than unit testing, because anything more granular would lock you into your specific implementation and make your code harder to change.

YMMV, paint dripping so wet my hands are covered in it currently, but I've just done a few runs on some real world apps in a couple of hours that dragged coverage and confidence (resilience to mutation) up from ~60% to 98% in an hour of spinning.

Frequently work with teams who are uncomfortable changing software they own because of low test confidence and / or coverage. Generated this small tool for .NET projects (it's written in TypeScript, don't loose your minds) which acts as a meta-harness, instruments a codebase with Coverlet + Stryker

View full thread

It has canned prompts that do their best to mimic your existing test style and only isolate out of process dependencies, with a deterministic shell that measures coverage and mutation test rules, letting the agents only do the test uplift, rather than an agent judging the work.

These tests, while stylistically "component tests" probably act more like snapshot testing - the idea is that they lock in what the program currently does, using the big statistical dice roll machine to do the thing it's good at (fuzzy matching and replication).

Frequently work with teams who are uncomfortable changing software they own because of low test confidence and / or coverage. Generated this small tool for .NET projects (it's written in TypeScript, don't loose your minds) which acts as a meta-harness, instruments a codebase with Coverlet + Stryker

David Whitney reposted

I've built and rebuilt this "thing" over the past 2.5 years ~4 times. It's finally taking real shape as a thing that other people will be able to use. A code / entire platform inspection tool - that builds code graphs and supports agents with context via MCP. "What if SonarQube was useful?"

View full thread

One of the important differences (to me) about the approach I'm taking with this is it's zero-config by default - you don't wire it into your build pipelines, instead you either connect it to GitHub or point it at a local set of repos and it introspects and builds graphs there.

Other (often excellent) tools in this space require a lot of mapping and configuration and a lot of the many attempted re-takes on this has been getting the right balance of heuristic discovery right. If you have a large estate, the time it takes to configure these tools is often prohibitive.

I've built and rebuilt this "thing" over the past 2.5 years ~4 times. It's finally taking real shape as a thing that other people will be able to use. A code / entire platform inspection tool - that builds code graphs and supports agents with context via MCP. "What if SonarQube was useful?"

I know it might seem like an losing battle to care about how code is composed in an increasingly agentic software dev landscape, but I still believe: -Code is load bearing, better code leads to better systems -The models require structured language to steer true, and that is encoded in quality code

Every time I see someone post this, I wonder if they think the start menu is legitimately opening a WebView? React Native != React.

This post is unavailable.

Plenty of things you can be mad about in the Windows Shell, but the "React Native is webdev!" line seems to get rolled out *so so often* despite it not being how that thing works.

Whilst I clearly have a slightly different position on AI than the author of this piece, I absolutely agree that Omarchy and DHH deserve scorn for their "stop talking about politics, now listen to my hate speech" politics. These people will never be your advocates.

cyber professional@permadeath.com

more people gotta lay it out like this: these people are immoral, incompetent, and corrupt self-dealers. tech will be better if we keep their violent and dehumanizing brand of politics out of it

Agree with a lot of what @robbowley.net is saying here. Then current news cycle about AI safety and slowdown is bullshit - market fixing disguised as regulation. We need two things: - Models trained on public data legislated into the open - Governance as architecture, not a policy and process

Rob Bowley@robbowley.net

A fortnight of headlines about AI killing us all, and the thing actually coming at us is getting little attention as a result. It's not the models getting smarter, it's that we're wiring them up to everything, and nobody has worked out how to do that safely yet. blog.robbowley.net/2026/09/18/t...

View full thread

Example: - Agent hosts model - Model uses tool that access customer data - Models internet access tools are disabled and the sandbox is marked as "tainted" to prevent exfiltration - Agent cab continue interacting with customer data safet This is the future of models and agent governance imo.

Agree with a lot of what @robbowley.net is saying here. Then current news cycle about AI safety and slowdown is bullshit - market fixing disguised as regulation. We need two things: - Models trained on public data legislated into the open - Governance as architecture, not a policy and process

Rob Bowley@robbowley.net

A fortnight of headlines about AI killing us all, and the thing actually coming at us is getting little attention as a result. It's not the models getting smarter, it's that we're wiring them up to everything, and nobody has worked out how to do that safely yet. blog.robbowley.net/2026/09/18/t...

Governance of models and agents only works if it is systemised. Kill switches in sandboxes. I saw an excellent demo a few months ago where agent tools were encapsulated, and surrounded by governance and policy checks, so that once certain things were requested, other tools were shut off. ...

Small hobby project off the side of a hobby project. I'm doing some game preservation/restoration on GTA1. 32/64 bit support, Mac/Linux port, modernized controls and camera. Here's a native Mac port...

I'll work out how to release it and not get litigated to oblivion, probably as source that you run on a real purchased copy. Similar technique as used for the N64 decomp / recomp projects.

Every year when I donate to @wikipedia.org it strikes me that it's one of the things I think is most worthy of it. A website that shouldn't exist, doing something that shouldn't work. Truly the vanguard of the web we actually want.

Had a really fun time speaking at XP Manchester last night. I very rarely do off book / off hand talks, so was a treat to do something a little bit different and kinda "unplugged". Think it's the first time I've ever done a no slide deck at all talk!

I'm foldable Phones 4 lyfe though - looks nice, if you're in the iOS ecosystem that's obviously *the* phone. But... I mean... I have a Galaxy TriFold so I would think that.

The internet has been living through the Eternal September since 1993 and every tech shift exposes the then-current generation of users to that feeling that something intrinsically of value, that only existed digitally, has been lost. It's weird to have lived through many of these Septembers.

Unfortunately AI empowers the "ideas guys" idiots of the world.

Dare Obasanjo@carnage4life.bsky.social

OpenAI’s GPT-6 Astra ad shows why CEOs love AI so much. Giving vague commands that get turned into real results by their staff is how they work. Now with AI they don’t even need people. However if you’re the one doing work with AI, you have to deal with “You’re absolutely right, I messed up” daily.