Mar 26, 2019

It may seem incredible, but COBOL was first specified in 1959, before commercially available silicon transistors. To celebrate 60 years, I thought it would be nice to build a REST API in COBOL.
Read more »
Mar 19, 2019

I've done a fair bit of work with the CMP protocol, and the complexity of getting it to work has often caused issues. I recently had a reason to use EJBCA PKI server again, and thought it'd be a great opportunity to write a simple CMP library for Java.
Read more »
Mar 17, 2019

In this first of a new series of articles on the dodgiest of dodgy programming language features, we discover 'variable variables', and a slew of fun and exciting security vulnerabilities which you can introduce to your code if you choose to use them!
Read more »
Mar 15, 2019

Using Jekyll has made maintaining my website a hell of a lot simpler, but I did miss the ability to edit documents online that I got from a CMS. But with Gitlab CI/CD hooked up to my server, I can use the Gitlab interface as an online CMS interface..
Read more »
Dec 20, 2018

Today's drone mischief at Gatwick Airport represents a unique problem. I'm going to argue that the question of how bad actors can be prevented from causing trouble with drones poses an existential threat to open code.
Read more »
Jan 29, 2018

Here's an example of a simple API server with Jetty, written in Kotlin. This is the first part of my Kotlin diary, in which I'm building a simple Certificate Authority server with Kotlin, learning about its new features along the way.
Read more »
Jun 2, 2017

A couple of weeks ago, I decided that I'd like to keep up with cutting-edge research, at least in a very small way, and in a few specific areas. I thought it would be a good thing to read a paper each day, to give me something to think about, and give me ideas which might inspire me to find new solutions for work problems.
Read more »
Mar 8, 2017

A few years ago, I was wondering how easy it would be to learn, or at least *experience*, every type of programming language style. So I ran a quick experiment, and the results formed the basis of a fairly popular article on this site. So recently, when I came to republishing it, I wondering how things have changed in the 3-4 years since.
Read more »
Feb 9, 2016

I love a good text adventure. Some of the first games I played were early 8-bit texties. Like radio vs. television, the pictures were a lot better, even when they consisted of early vector-built forests as well as whatever my imagination could conjure up. When I started programming, the first thing I wrote was a text adventure, and to this day, I think that the best way to get to grips with a new computer language is to do exactly that.
Read more »
Jan 9, 2016

Just like every other sane person on the face of the Earth, I'm a big fan of Commander Riker, from Star Trek. Since the release of the utterly brilliant "Riker Ipsum", I've been using it for Ipsum text generation on a fairly regular basis. But I needed more. I needed a service which would give me a RESTful Riker on demand, to generate regular sample dialogue excerpts as required. Well, here it is.
Read more »
Jan 2, 2016

I recently got my copy of RISC OS Pico, and the very first thing that I wanted to try was running some software from the BBC Welcome Disc. Now, my favourite item on there was a game called Yellow River Kingdom. Here's how to get it running on RiscOS Pico.
Read more »
Mar 1, 2014

Earlier this evening, I was wondering how easy it would be to learn (or experience) *every* programming paradigm out there. I've tried functional programming, object orientation and so on, but what about Array Programming, or Reflective Languages? The first one fills me with terror (thanks to APL), and I don't even know what the latter is. Well, I figured out a way to find a small set of languages which comprise all programming paradigms. It may not be the *best* list, I banged it together in a hurry, but I certainly found it very interesting, especially given the results.
Read more »
Oct 3, 2013

Well, I've had a frustrating weekend! The EEPROM programmer which I bought from China turned out to be a load of rubbish, so I've sent it back and I'm building my own EEPROM programmer with an Arduino Uno. I'm also taking the opportunity of the time it'll take to get that working to get some new kit in. I'm still sticking with the Z80 for the time being, I don't want the additional trouble of wiring in the 6809 for the moment. Read more for component list and the first program written for the COLLIER-1!
Read more »
Aug 1, 2013

I'm sure lots of you out there remember the excellent DOS game Sleuth, which was written by Eric N. Miller in the 1980s. I absolutely loved it, and still play it at Christmas with the family. Unfortunately, it requires an emulator to run nowadays, which can be a bit fiddly. I recently had a little bit of free time, so I coded up a clone of Sleuth that works in Javascript, so anyone with a vaguely decent browser can play it.
Read more »
May 16, 2013

There seem to be a few people out there attempting to predict the Eurovision this year using this technique or that, from the Guardian's tongue-in-cheek averaging out of past results, to Cold Hard Facts using a Bayesian predictive model. I thought I'd throw my hat in the ring, with yet another equally fuzzy model. I don't expect to do as well as CHF, as I banged mine together in 5 minutes.
I'm backing Norway this year.
Read more »
Feb 9, 2013

So! This morning, I built a clock circuit, and wired it across to the Z80. The breadboard on the left hand side is the clock circuit. All those black leads on the left of the Z80 are the data bus, which I've wired to the ground to set up a NOP, instruction 0. By constantly providing NOPs each time the processor requests an instruction, the system ought to start at address zero, go all the way to address 65535, and cycle around again. The LEDs are wired to the address bus, to give us an idea of the behaviour of the CPU as it cycles through the address range.
Read more »
Feb 2, 2013

Okay, so, small steps first. To begin with, I'll use a battery power source. This is the breadboard set up for everything else to go in. The 5V regulator seems to work fine. You'll also notice that the supply of chocolate biscuits is also still in good order (v. important). So, the plan today had been to set a Z80 up for a free run. Alas, it was not to be.
Read more »
Feb 1, 2013

I'll have 64Kb of address space to play with on the COLLIER-1, and this is how I plan on playing with it, from bottom to top.
Read more »