Blog

Hunting an Idris2 Codegen Bug

I accidentally discovered a bug in the Idris2 codegen. Let's explore how to narrow it down, and hopefully fix it.

Tue, 25 Apr 2023

Functional Programming Nomenclature Intro

A brief (ish) overview of common terminology and syntax used in FP, with the aim of getting you to think in words rather than weird symbols.

Mon, 24 Apr 2023

Glove80 First Impressions

Glove80 is an ergonomic split contoured keyboard designed and produced by MoErgo. I backed the Kickstarter just over a year ago and got the parcels Friday afternoon. I haven’t yet had a chance to look at them, so without further ado, let’s see how it is!

Sun, 26 Mar 2023

A month of Zen

I finally got around to configuring my tiny Corne-ish Zen r3 keyboard. This is a discussion of the advantages, challenges, ease-of-use, etc. of using a 42-key split keyboard. It's definitely portable and very useable, but there are some caveats.

Fri, 24 Mar 2023

Writing a PRNG using ChatGPT

What do you do if you need a pseudorandom number generator but don't know anything about how to implement that and, crucially, don't care how good it is? You _could_ read some papers, but ChatGPT had been making waves for a while, so why not try that?

Thu, 16 Mar 2023

Dai Station: an Idris Constraint Solver

As part of my Ph.D. exploration on how we know the types we're using model what we think they do, I decided to try to implement a constraint solver in Idris (technically Idris2, but Idris1 is deprecated at this point, so I use 'Idris' and 'Idris2' interchangeably).

Thu, 16 Feb 2023

Booting from a USB on an Odroid N2

If you've flashed an ISO to a USB-drive rather than the boot card of your SBC, is there any way to load the thing? Yes, but it requires a bit of digging around in a weird pre-boot environment...

Thu, 15 Dec 2022

Earthquake near Basel!

Well that was wild! I was sitting in bed when it suddenly started wobbling from side to side. My first thought was that the fan had made it shake, but that didn’t really make sense in terms of the amount of shaking that was going on. Then it kept going, and wobbling like someone was actively oscillating the bed; it was like the flat had been placed on top of a giant washing machine on a spin cycle!

Sat, 10 Sep 2022

Type You an Idris – Part 1: Warmup

The best way to learn & understand a thing is to implement it. So let's implement (a subset) of Idris2! This part is an introduction and covers some function exercises that will help later.

Fri, 2 Sep 2022

Applying for a UK EHIC

With Brexit, etc. health insurance when travelling has gotten a bit complicated and the application process is slightly confusing. So I thought I'd document my experience.

Tue, 24 May 2022