Tag: programming
-
Did I Cheat?
I solved a puzzle geocache in an unconventional way: by writing a program to permute all the possible solutions and check them for me. Was that cheating? I can see arguments either way...
-
Non-exhaustive list of things I'm doing when I'm writing code, that don't look like "writing code":
- thinking
- researching
- contextualising
- testing
- measuring
- documenting
- communicating
- planning
- future-proofing
- educating
- learning
- expressing
- anticipating
- discovering
- inventing
- experimenting
- debugging
- analysing
- monitoring
For all its faults, an AI agent might "write code" faster than me.
But that's only a part of the process.
My typing speed is not the bottleneck.
-
Subverting AI Agent Logging with a Git Post-Commit Hook
I keep hearing from developer friends who are 'expected' by their employer to demonstrate that they're using AI, even for tasks at which the AI is demonstrably a suboptimal choice. So - as a joke - I came up with a git post-commit hook that makes it look like they're doing so, even when they're not.
-
Today, an AI review tool used by my workplace reviewed some code that I wrote, and incorrectly claimed that it would introduce a bug because a global variable I created could "be available to multiple browser tabs" (that's not how browser JavaScript works).
Just in case I was mistaken, I explained to the AI why I thought it was wrong, and asked it to explain itself.
To do so, the LLM wrote a PR to propose adding some code to use our application's save mechanism to pass the data back, via the server, and to any other browser tab, thereby creating the problem that it claimed existed.
This isn't even the most-efficient way to create this problem. localStorage would have been better.
So in other words, today I watched an AI:
(a) claim to have discovered a problem (that doesn't exist),
(b) when challenged, attempt to create the problem (that wasn't needed), and
(c) do so in a way that was suboptimal.Humans aren't perfect. A human could easily make one of these mistakes. Under some circumstances, a human might even have made two of these mistakes. But to make all three? That took an AI.
What's the old saying? "To err is human, but to really foul things up you need a computer."
-
Highlight of my workday was debugging an issue that turned out to be nothing like what the reporter had diagnosed.
The report suggested that our system was having problems parsing URLs with colons in the pathname, suggesting perhaps an encoding issue. It wasn't until I took a deep dive into the logs that I realised that this was a secondary characteristic of many URLs found in customers' SharePoint installations. And many of those URLs get redirected. And SharePoint often uses relative URLs when it sends redirections. And it turned out that our systems' redirect handler... wasn't correctly handling relative URLs.
It all turned into a hundred line automated test to mock SharePoint and demonstrate the problem... followed by a tiny two-line fix to the actual code. And probably the most-satisfying part of my workday!
-
Why does SSH send 100 packets per keystroke?
Nolen Royalty wrote an interesting piece about diagnosing a quirky SSH-related issue, and I found it both interesting and inspiring.
-
Nostalgia, Music, and Computers
It turns out that I get nostalgic about technology in the same way as I get nostalgic about music. Here's some things that take me right back to being nine, eleven, thirteen and fifteen years old.
-
DOCTYPE
I received my copy of DOCTYPE magazine, a genuine 'type this program in and run it'-style programming magazine but for a modern world, and enjoyed writing, debugging, playing, and then considering refining Stuart Langridge's puzzle The Nine Pyramids.
-
How I Learned the Pythagorean Theorem
I clearly remember the day I first learned the Pythagorean theorem, because I had a problem I wanted to solve and a practical application that I wanted to use it on. Let's re-create the experience, and see if I can take any lessons about how to support my kids in their own mathematical journeys.
-
Are you closer to Ireland or Scotland?
A throwaway comment in a WhatsApp group lead me to a deep dive into geodata encoding and drawing a big old line all the way across England (and a little way across Wales!). It's nerdsnipe time!
-
The Scroll Art Museum
The Scroll Art Museum demonstrates a surprisingly cool way of generating animation using ASCII art in a scroll buffer and... look, it's just cool, okay? And it inspired me to dust off a copy of QBASIC for a moment, too...
-
Lowriders & websites
Praise for a blog post by Adam Stoddard, defending the handcrafting of software even where it serves no direct purpose other than the satisfaction of its creator.
-
Four perspectives on AI
Sean McPherson shared a "four quadrants" diagram for people's beliefs about AI, with a specific focus on LLMs used for coding assistance. Here's where I sit on it, and why.
-
Just a Little More Context Bro, I Promise, and Itβll Fix Everything
Based on my experience of 'vibe coding', I think Jim Nielsen's analogies are absolutely spot on.
-
In my first few weeks at my new employer, my code contributions have added 218 lines of code, deleted 2,663. Only one of my PRs has resulted in a net increase in the size of their codebases (by two lines).
Alt
GitHub change summary showing +218 lines added, -2,663 lines removed.
I need to pick up the pace if I'm going to reach the ultimate goal of deleting ALL of the code within my lifetime. (That's the ultimate aim, right?)








