Most recent posts


Buggy Stop

Propagating a DNS change … Slowly

I’ve bought a couple of .com domains recently from Namecheap, essentially as ‘placeholders’ in some sense, and such that I would be hosting them purely as single-page static sites on AWS. Dead cheap, I must say, they were around $45 each for five years. And, to be honest, the ten or so static sites I host on AWS that make use of S3, Route 53, CloudFront, and Lambda only cost around $5 a month from Amazon. So, basically free, and adding a couple more domains isn’t going to make any difference. […]

READ MORE

Microsoft Arc Mouse – the older one

OK, I admit it: I’m behind the times, but my fave mouse ever since it first came out is the Microsoft Arc Mouse. It was replaced four or five years ago by the Arc Touch Mouse and I’ve tried that one several times but it and I don’t get along. The older one, though? Like a house on fire. I’ve worn several out and have just about managed to find replacements: new ones in their original boxes sometimes come up on eBay. […]

READ MORE

Are you a web dev? FFS: update your libraries!

I’ve mentioned this a couple of times: I log 404 errors on this, my blogging site. A couple of valid reasons I suppose: to make sure that the content I upload is accessible, and to ensure that my URL redirections to my older blog (on a new domain) are working properly. […]

READ MORE

Backing up an Azure database

This site uses a heavily-modified version of GraffitiCMS, an ASP.NET blog backend that was open-sourced way back when. I moved it to be hosted on Microsoft Azure about 18 months ago, and, to be honest, haven’t really worried about backing up the data contained within. However, over the past couple of virus-laden months, I’ve been considering updating the whole shebang to use DevExpress ASP.NET controls and layouts, and then writing about the experience over several blog posts. […]

READ MORE

Dozy PHP hackers

One of the things I enjoy is reading the log of all 404 errors this site generates when people follow a bad link, mistype a URL, or deliberately try and find holes in the site so that they can hack it. […]

READ MORE

I am 3/7 of a US Citizen

OK, OK, it’s just a joke because in reality, I became a full US citizen way back on January 6, 2014, but in these days of COVID-19 and social distancing, I find myself doing weird mental arithmetic as I walk our dog Sirius through the various neighborhoods around us, as we steer ourselves past other walkers, maintaining that 6ft separation. […]

READ MORE

Westminster Public Baths

A long time ago, in a galaxy far, far away, I was in an amateur dramatics group called the Environment Players, so named because the organizers worked for the Department of Environment. Which no longer exists as such, as it’s now the Department for Environment, Food and Rural Affairs (DEFRA). Anyway… […]

READ MORE

Delphi-Oriented Generics, or, what a DOG.

The other day I got an email from Embarcadero promoting a blog post that Marco Cantu had written about generics in Delphi, and in particular with regard to generic collections. Now, me, I wrote a book a little while ago (first published 19 years ago!) about algorithms and data structures for Delphi, and I’ve been hovering on the fence about redoing it using generics instead of pointers. Problem is, I’ve moved away from Delphi to C# and JavaScript and so would the presence of generics help me to swing back into the fold? […]

READ MORE

486 bag refunds?

So I went into Whole Foods earlier on this week to get something for dinner, clutching my reusable bag. Whole Foods have this scheme whereby if you have a bag to put your shopping in, they’ll refund you 10 cents because they’re not going to have to use one of their paper bags. To which you can then ask for them to put that 10 cents to their promoted charity of the week. It’s called a Donation Bag Refund. […]

READ MORE

Solving Sudoku with backtracking

I’m pretty sure that the puzzle game of Sudoku needs no introduction. A 9x9 grid formed as a 3x3 grid of 3x3 boxes, with some digits from 1 to 9 in there, and you have to solve for the empty cells such that there are no duplicate digits in each row, column or box. I enjoy playing it, sometimes I’m pretty good, sometimes … not so much. Of course, these puzzles are not generated by hand, they’re generated by some program, but how? How do you solve a Sudoku puzzle programmatically? And how, using that knowledge, can you generate a new puzzle? […]

READ MORE