Fixing a broken Firefox session

27th April 2021

In order to stifle my tab-hoarding habits I have recently set my Firefox install to not recover sessions when I restart the browser. This means that every time I turn my computer off for the day it will delete all the random documenation pages and weird links people have sent me over the course of the day so they don't slowly add up. My habit was so bad that I could easily amass some 100-200…

Video content - Advent of Code 2020

15th December 2020

For NimConf2020, our first virtual Nim conference, I realised how poor my microphone setup was. I have previously toyed with the idea of recording videos for various projects, or just presentations in the same style as the one I did for NimConf. For the conference I borrowed a better microphone from a friend, and recorded my presentation with that. But after the conference I started looking into getting a better microphone for myself and…

Creating condensed shared libraries (Embedding NimScript pt. 3)

23rd June 2020

In the first part of this article series we looked at why we would potentially want to be able to run NimScript embedded into our Nim programs. In part two we dove a bit deeper and looked at how we could do this embedding, and how we could pass data from the scripts to our native code. In this final article (for now) we’ll look at how we can distribute a program that embeds NimScript,…

How to embed NimScript into a Nim program (Embedding NimScript pt. 2)

31st May 2020

In the first part of this three part article series we looked at why we would want to embed NimScript into our Nim applications. Particularly why we would want to use it for configuration. Whether or not that is your goal, this article will explain how this can be achieved. When I started looking into this I started in the obvious place, Nimble. For those of you not very well versed in the Nim ecosystem,…

Using NimScript as a configuration language (Embedding NimScript pt. 1)

31st May 2020


Over the past couple of years I’ve been playing around with creating my own WM. I recently picked up the project again, and I quickly realised that it was time to re-do the configuration system. Up until this point I had been using a TOML file for the configuration. But it was proving a bit clumsy to use, and I found myself using lots of strings with custom formatted content for doing more complex…