A rabbit hole I went down yesterday was this article on The New Stack and it went deep into places I don’t ever want to frequent1. In the article, it talked about the sustainability in open source, particularly when large corporations that turn over huge profits view contributions as “here’s a bug, fix it”. I don’t want to believe it, but it does seem like open source is only a viable business solution when somebody gets screwed somewhere down the line.
The XKCD comic you legally must share when talking about open source development.
I remember when I started getting “security researchers” reporting bugs in my plugins, and it got exhausting when individuals came with their cap in hand to my free plugins, putting the bug behind a bitcoin paywall. Oddly since my plugins have joined the Patchstack Vulnerability Disclosure Programme these updates have pretty much stopped.
It got frustrating and stressful for me to push security updates when I was getting a couple every month, and I don’t have Google’s finest security researchers and AI breathing down my neck because my code probably isn’t being used internally in Google, or in Amazon, or Meta. I can understand why people who maintain these libraries are quitting when these are corporate entities are overwhelming volunteers, often with no compensation.
I saw an interview with one of the developers of ZSNES – one of the first truly great emulators. One of the key points, highlighted by PC Gamer and Time Extension was this great quote – how a developer achieved rollback netcode in 1997.
“30 times a second, I do a secret save state. The emulator plays ahead, maybe 30 milliseconds, and whenever it gets a packet saying the controller has changed, it rewinds to that frame and replays the emulation until the current point with that new input buffer.”
Rollback netcode, even nearly 30 years later, is still a sticking point for many online games. It’s fine for first person shooters where you don’t need millisecond accuracy, but for things like fighting games like Street Fighter, it’s crucial. Really the only first enjoyable experience on fighting games online for me was Super Street Fighter II Turbo: HD Remix which was released in 2008, and even now the first thing many fighting game enthusiasts talk about was how it’s like to play online.
The fact that the problem was solved in 1997 before it is even a thing is so joyful.
I did manage to play ZSNES online in Business Studies class back in the day. Usually we were playing Bomberman or Mario Kart. Never got it working over dialup, but for a free version over a decent network, it is probably better than a lot of rollback netcode today.
What’s with all the folks online tearing down other people’s stack?
I’ve read many a post in the past few weeks where people have been complaining about WordPress. There are justifiable complaints, obviously. However I feel like some developers and designers have made their entire existence about hating WordPress. Celebrating people moving off the platform. There are folks who post 2,000 word articles about how they hate Wapuu’s, sharing it as critiques on the community at the whole. But if you read the article fully, they simply hate Wapuu.
Obviously, everybody is entitled to their opinion. But I find it a bit strange. Making your entire personality on hating anything is weird, but especially for hating something as benign as a tech stack. Mate, Node.js won’t sleep with you. I also think it’s strange that people openly post on company blogs this. At least I try and keep it a bit separate. It’s woefully unprofessional and I can’t imagine it gets many customers.
Of course WordPress has problems. The block editor is a bit clunky still, and I am cheering on Fair to succeed. But nothing else is perfect. Shopify has problems2, Next.js has problems3, Webflow has problems. Different tools have positives and negatives. Being wedded to one system is always limiting. Be curious of other things4, explore the bubble outside, recognise which tools are best for the job, and go with them.
Never one of the Cool Kids
For me, I find the tool the most comforting to be WordPress. It’s creaky and clunky at time, but the sites rank well enough and do okay, plus I can make changes easily. There’s a reason why it’s been popular for so long. Same way COBOL has been around for so long. WordPress doesn’t attract the cool kids, but do you want your bank account to be cool5? Or traffic light systems to be cool? I don’t know about you, but I’d rather they work. I think WordPress is in the same place.
I find it similar to a patriotism. Usually the ones who I deem to be the most patriotic I find the ones who don’t bang on about it and recognise there are problems along the way. Whereas the folks who make their whole personality around a flag or a leader just a bit weird. Like they have nothing else to offer bar a piece of fabric from a flagpole. Because their piece of fabric is in their mind is better than your piece of fabric. And they want you to know about it.
I think developers who make their whole personality of “Hating on WordPress” similar. It’s text in a file that you open on a computer. We don’t have to be so emotional about it.
Finally – I’d like to draw your attention to the heading of the post. Do you know how difficult to find a roundabout that hasn’t been defaced in the UK in the year of our Lord 2025? To use as a base for my top image? Surely that’s worth a share just for that.
I may have assumed the gender of Wapuu. In which case, I apologise. ↩︎
Shopify is a nightmare for redirects. Like really bad. I had to use my friend Shane’s approach to redirects with it. As redirects in Shopify is completely unusuable. ↩︎
Have you ever tried to use Next.js to put anything in the header – like JSON+LD? And for it to work? Impossible. ↩︎
Last night I was working on this site, and wanted to change the banner at the top of the page to be more inkeeping with the rest of the site, I wanted a pixellated sky towards the top (which I’m still not 100% happy with), so after creating a gradient in Aseprite1, I loaded up the CSS file of this site in Visual Studio Code, as part of the project.
I use VS Code to do all my coding. I love the tool, it just works, but lately I’ve noticed the AI Code completions picking up a lot more hallucinations. Here’s one that was suggested to me last night.
Notice on line 160 the AI Code Completion the line suggests the background image to be a file that doesn’t exist.
You can see the image within the “images” folder of the theme called top-bar-background.webp, but the AI Code completion suggested the file to be top-bar-bg.webp. It was late, I’m developing my cold, and it’s my site – so I accepted it, without proper checks and uploaded it.
It didn’t work.
Now there is the point where AI proponents should say “It’s AI! You should check this”, but here’s the thing – I really shouldn’t. Copilot already has access to my theme and file library. Surely a “check if that file exists” with the returned data should be done? You don’t need AI. There’s a function in most modern languages, here’s PHP’s for example. Surely AI can check if a bloody file exists?
Other AI proponents will say “Cursor (for example) won’t do this”, but that’s my point. Cursor is built on VS Code, but there’s probably some weird quirks that are different that I would have to learn.
That friction adds time, and slows me down.
And that’s me as an 20+ year developer who can spot things. I shudder to think what those who blindly vibe code miss.
Aseprite is one of those programs that really should be three times the cost, it does one thing and one thing very well. I’ve never glided through a graphics program like it before. ↩︎
If you visited the site on the last post, you’ll notice that the site has had a bit of a makeover. Or a makedown.
I’ve talked aboutAna Rodrigues’ talk at Loopconf before, on how personal websites should make a comeback. It was inspiring. So inspiring that I spent a good 20 hours wrestling with Twenty Fifteeen to make it a bit more modern behind the scenes. I think I’ve succeeded, and it plays well with the block editor. Were nearly there. Gaps still don’t work, for example. And there’s a bug list.
The joy of web crafting
Could I have done it faster? Sure. but here’s the thing, I had fun. Every evening for a few hours I listened to BBC Radio 3 Unwind with a Bird and Blend tea and crafted. Crafting is fun. Doing pixel art with Aseprite is fun. Building and creating is fun, and this was a fun project that I dedicated my evenings to for a couple of weeks. My blood pressure dropped. I relaxed. I zoned out. And I created this.
Sure it’s a bit creaky, the same way the bathroom lock I installed wiggles a bit. It is dated, but so are my curtains. This site is my home on the internet. I want to make it homely. Sure it’s not the nicest, or the one that sells my skills the best. But the displays in Ikea are designed to sell the product, not live in. This is my home. It is mine. It is unique1. I also wasn’t wrestling with AI prompts2 and getting angry at creating something soulless.
Go Explore!
I also recently ticked off another 50 of my 50 list – I went to The Cave. One of the things that does so well is that you’re encouraged to explore, pick up, interact, read, play, and just discover things. I want a similar experience to that here. I am fighting with attention with everything else on the internet. I want to make this website a joyful experience that makes you smile. To encourage discovery of the whimsical web. My Trello board is bursting with idea. When will they get implemented? I dunno, but there’s a few here already. Go and explore! Things may appear in the upcoming weeks! Come back!
I want this website to do that as a love letter to internet culture. I also will try and blog more. I have enjoyed it. Though I’ve found myself becoming more grumpy at the state of the internet, with AI, and enshittification. I am reminded how things were. Were things perfect? No. But they were better. I want a place where I can be grumpy online. After all, I am a white middle aged man on the internet. Of course I have opinions. I want to share them with the world. So whilst the site may be whimsical, the posts may be a bit grumpy.
So this the new layout of my site, hopefully for the next wee while. Where I’m probably going to post a lot of grumpy posts. Hope you like it!
As much as a Twenty Fifteen child theme can be, obviously. ↩︎
For full disclosure I used one piece of AI on the site – I wireframed the structure of me stealing a traffic cone, because I struggle with drawing humans that look somewhat realistic. The colouring and shading was done by me – this video is a great guide to get into pixel art, by the way. ↩︎