Go Trie Benchmarks

After writing a trie I wanted to better understand its performance, so I wrote some benchmarks against various other Go implementations for storing UK postcodes. At some point since the new year I entirely replaced the implementation from my last post with one that more closely matches the “pure” trie described at the start of TAOCP 6.3; i.e. a table of nodes, consisting of a list of entries, where each node entry can be either a link to another node, or a key (that is, an entire string stored in the trie)....

Golang Trie

A trie (pronounced either “tree” or “try”) is a data structure typically used to store a set of strings in a way that allows looking up by prefix efficiently - i.e. unlike a hashmap where the keys are randomly ordered - this makes it a reasonable choice for an autocompletion system. A possible advantage over binary trees is that the keys are not stored in full in each node - so if you have a large number of strings which often have overlapping prefixes (e.g. “cat”, “cats”, “catastrophe”) then you may be able to save memory. ...

Focusing on Ingenuity

I am led to believe that New Year’s Resolutions seldom work, and that a more effective approach to goal setting is to choose a theme for the year. This makes sense to me, as in hindisght 2020 threw up a few surprises. Last January, buoyed by my success in gaining various technology-related certifications, I wrote that I would focus on learning; at that time I intended to engage in more formal study, but subsequently rediscovered how little I enjoy essay writing!...

December 28, 2020

Bin Calendar

Around this time each year it is especially useful to know when the rubbish is due to be collected by the local council, since the schedule is inevitably disrupted by the holidays until well into January. In fact where I live we have fortnightly collections, with different types of bin collected on alternate weeks, so I never find it easy to remember which bin is due to be put out....

seL4 on Raspberry Pi 3 in AArch64 mode

Several references exist that document how to run seL4 on the Raspberry Pi 3 in 32-bit mode. One annoying paper cut encountered when getting this working is the need for a custom u-boot - either a binary distributed by the authors of seL4, or reverting a particular commit in u-boot. A recent release of seL4 mentioned AArch64 support for RPi3. I’ve got it running, and it appears to avoid the need for a custom u-boot....

Lockdown

It seems right that I should mention the pandemic on my personal blog; I doubt very much that I will say anything original or interesting, but it would seem strange to look back on my writings from 2020 and see nothing about COVID-19. I had to check this, but I have been staying at home since Monday 15th March, save for occasional walks around the park. (UK schools closed on 20th March, and we officially announced the lockdown on 23rd March, but our house started a bit early due to having a mild cough....

2020

Life comes at you fast. Since changing jobs three months ago, I have earned several cloud-related certifications, and started an assignment as a cloud security architect with a large financial services client. Consulting is quite different to ordinary employment; a great deal of emphasis is placed on making connections, and building a personal brand. I’m enjoying the variety of work, and the opportunity to develop my skills. My focus this year is on learning; I intend to spend more time reading and writing, especially as a way to distill and clarify my ideas....

January 2, 2020

PA Consulting

In early October, I will be saying goodbye to my colleagues at CV-Library after 7.5 years, and joining PA Consulting in London as a Principal Consultant. Over the course of my time at CV-Library I have got married, had a child, and moved from Southampton to Bedford. I am happy to have played a part in the growth of CV-Library as a leading recruitment brand in the UK, especially helping to make the site more reliable - I can tell more than a few war stories....

September 4, 2019

My Free Software Activities for Jan/Feb 2019

I have done a small amount of free software work! However, I’m going to cheat and list it since the start of the year. ...

February 28, 2019

Blog Migration

This evening I’ve migrated my blog to Hugo, and made it look a bit prettier. I apologise if I’ve broken any links - in particular, I don’t think listings of blog posts in a particular day or month are working.

February 27, 2019