Adding a mode switch to my Minitel 2

In a previous installment of me messing around with Minitels, I modified a Minitel 2 to run alternate firmware from an EPROM. This resulted... | Continue reading


@blog.jgc.org | 1 year ago

Pimping my Casio with Oddly Specific Objects' alternate motherboard and firmware

Some time ago I bought a replacement motherboard for my classic Casio F-91W from Crowd Supply. The project keeps the original Casio LCD but... | Continue reading


@blog.jgc.org | 1 year ago

Updated my weather forecasting Totoro to use the Portuguese weather service

Five years ago I built a Totoro with an ESP8266 that downloads weather information from the UK's Met Office. Having moved to Portugal a whi... | Continue reading


@blog.jgc.org | 1 year ago

Behind The Screens has a new home away from YouTube

For five years I've had a YouTube channel called "Behind The Screens" dedicated to digging into source code seen in films and on TV. Here's ... | Continue reading


@blog.jgc.org | 1 year ago

GNU Make Standard Library Project Moved to GitHub

For 17 years I maintained a project called the "GNU Make Standard Library" on SourceForge. The project continues to be popular but every int... | Continue reading


@blog.jgc.org | 1 year ago

I ended up with so much Hacker News karma (2012)

On the Hacker News leaderboard I'm currently in position #12 with 32,360 points. I was curious to find out how I ended up in that position... | Continue reading


@blog.jgc.org | 1 year ago

A self-contained AVR programmer using an Arduino Uno

For a project, I need to be able to program an ATtiny84 microcontroller but I don't own an AVR programmer. Happily, I did have an Arduino Un... | Continue reading


@blog.jgc.org | 1 year ago

Guest WiFi using a QR code

On my home network I have guest WiFi configured and when guests come round they need to know the password. Happily there's a way to make thi... | Continue reading


@blog.jgc.org | 1 year ago

The parable of the form request form

One of my first jobs after college was at a "startup". Of course, 30 years ago in the UK no one talked about startups, but it was a small te... | Continue reading


@blog.jgc.org | 1 year ago

The mysterious behaviour of the Flying Tiger Countdown Clock (and the bug))

Flying Tiger is a Danish "variety shop". It sells all manner of inexpensive trinkets, utensils and runs through stock quickly so there's al... | Continue reading


@blog.jgc.org | 1 year ago

Ripping old mini DV video tapes on a Mac

I have an old Panasonic DV-GS500 camcorder and a bunch of videotapes. The only way to preserve digital media is to keep moving it to new ver... | Continue reading


@blog.jgc.org | 2 years ago

Setting up and running the MAME emulation of the Minitel 2

In a previous post I showed how I modified a Minitel 2 to run arbitrary firmware . The firmware I used came from a chap who has played aroun... | Continue reading


@blog.jgc.org | 2 years ago

Voiding the warranty on a 1993 Minitel 2 to run arbitrary firmware

In a previous post I wrote about using a Minitel 1b as a serial terminal . In this post I'm going to look at modifications I made to a Minit... | Continue reading


@blog.jgc.org | 2 years ago

Using a Minitel 1B as a serial terminal

So you've got your hands on a late 1980s Minitel 1B (or something slightly later) and then you realize that the entire Minitel network shut ... | Continue reading


@blog.jgc.org | 2 years ago

Resurrecting a Dataman S4 Prom Programmer

The Dataman S4 is a lovely piece of 90s' kit: a PROM programmer and emulator launched in 1992. I recently bought one from a seller on eBay ... | Continue reading


@blog.jgc.org | 2 years ago

The “Roman Holiday” teleprinter code

Some years ago I wrote about the Morse code heard at the very start of the first episode of the TV series Downton Abbey. That Morse turned ... | Continue reading


@blog.jgc.org | 2 years ago

Speeding up HTTP with minimal protocol changes

As SPDY works its way through IETF ratification I began wondering whether it was really necessary to add a complex, binary protocol to th... | Continue reading


@blog.jgc.org | 2 years ago

All Symmetrical Watch Faces (2020)

If you ever look at pictures of clocks and watches in advertising they are set to roughly 10:10 which is meant to be the most attractive (sm... | Continue reading


@blog.jgc.org | 2 years ago

Making an old USB printer support Apple AirPrint using a Raspberry Pi

There are longer tutorials on how to connect a USB printer to a Raspberry Pi and make it accessible via AirPrint but here's the minimal one ... | Continue reading


@blog.jgc.org | 2 years ago

More deep dives into source code in TV and film

After my initial videos were somewhat popular, I've made a few more exploring Westworld (new and old), Knight Rider and more . | Continue reading


@blog.jgc.org | 2 years ago

The Elevator Button Problem

User interface design is hard. It's hard because people perceive apparently simple things very differently. For example, take a look at th... | Continue reading


@blog.jgc.org | 2 years ago

Last name contains invalid characters

My last name is "Graham-Cumming". But here's a typical form response when I enter it: Does the web site have any idea how rude it is to c... | Continue reading


@blog.jgc.org | 2 years ago

Receiving the WWVB time signal in Portugal (by accident)

For many, many years I've owned a Sharper Image clock that sets itself from the WWVB time signal in Fort Collins, CO. Well, it used to set ... | Continue reading


@blog.jgc.org | 2 years ago

Moving jgc.org to Cloudflare Pages

At work there's a cool product for deploying websites that has great integration with GitHub, it's called Cloudflare Pages . I use and pay ... | Continue reading


@blog.jgc.org | 3 years ago

Aeronear: An ambient device showing nearby aircraft

Here in Lisbon it's common to see aircraft because the main airport is in the city rather than being on the outskirts. And for a long time I... | Continue reading


@blog.jgc.org | 3 years ago

Dividing n elements into groups of at least size g minimizing size of each group

At work there's a little project to break up groups of employees into random groups (size 4) and set up Zoom calls between them. We're doing... | Continue reading


@blog.jgc.org | 3 years ago

A publishing experiment about source code in cinema and TV

I was persuaded by buddy Mr H to make a YouTube channel out of my Source Code in TV and Film Tumblr. The Tumblr shows the source code tha... | Continue reading


@blog.jgc.org | 3 years ago

All the symmetrical watch faces (and code to generate them)

If you ever look at pictures of clocks and watches in advertising they are set to roughly 10:10 which is meant to be the most attractive (sm... | Continue reading


@blog.jgc.org | 3 years ago

The difference between parentheses and curly braces in GNU Make

One of the problems/perks of having written a book about GNU Make is that people ping me with questions. This morning someone said to me: "... | Continue reading


@blog.jgc.org | 3 years ago

The difference between parentheses and curly braces in GNU Make

One of the problems/perks of having written a book about GNU Make is that people ping me with questions. This morning someone said to me: "... | Continue reading


@blog.jgc.org | 3 years ago

Write Verbose Commit Messages

Over the years I've become more and more verbose in commit messages. For example, here's a recent commit message for something I'm working ... | Continue reading


@blog.jgc.org | 4 years ago

The effectiveness of Turing's Vigenère cipher breaking technique

In Turing's paper The Applications of Probability to Cryptography he describes a technique for breaking the Vigenère Cipher using Bayes T... | Continue reading


@blog.jgc.org | 4 years ago

The Search for the “perfect” Advent Calendar (involves Python and Processing)

I grew up with Advent Calendars , and they are very common in the UK. Shops across the country sell calendars with typically 24 doors on th... | Continue reading


@blog.jgc.org | 5 years ago

Turning a cheap 'police light' into an IoT device

If you've read my blog in the past you'll know I like to make ambient devices: mixtures of electronics and physical objects that blend into... | Continue reading


@blog.jgc.org | 5 years ago