What have I done? (2020 edition)

When responding to a recent request for my social media details, I quickly opened my blog and realised that I’ve not published anything here at all in 2020, what have I been doing?!?

While it’s easy to blame the effects of the corona virus for a lack of productivity, once I started to think about it I actually did lots of things that I could have written about, so here’s a quick summary.

FSEQ Parser

For the first three months of the year I worked on a little project in Rust to parse a file format used in the holiday lighting community. There were many goals to this project, in time I was thinking that the code could be useful in an embedded project, but in the short term it allowed me to test out working with the nom parser combinator library, working with web assembly in Rust, learning the basics of Next JS and modern React, and deploying to Google Firebase.

The project code can be found on gitlab: https://gitlab.com/sharebear/fseq_parser

With a fairly unexciting demo here: https://fseq-web.firebaseapp.com/

I also gave a short presentation of the project at the Rust Oslo meetup

Hashicorp Vault Talk

In February I gave a talk at the Drammen Software Developer Meetup about using Hashicorp Vault with Spring Boot. This was a fun little group to present to, so not too intimidating, I’m sure I’ll be back once the group picks up again.

Video production

When Norway closed the kindergartens, I was between projects at work so took the responsibility of looking after the kids. During this time I got the idea of creating some videos to share with the family. This was a learning experience in itself learning about the editing and compositing software that’s available on linux. DaVinci Resolve that seems popular, crashes on startup on my XPS 13 with no dedicated graphics card, which lead me to a combination of Kdenlive and Natron. I’m still considering investing in a desktop machine that can better handle this type of workload.


At the end of May I gave a presentation on the topic of PDF document generation with Angular at the ngVikings online conference. Talking to the computer with no feedback is a strange feeling compared to giving a talk in-person, but the process of creating the demo based on ideas I’d had swimming around my head for a while was fun and perfect timing before my focus moved on to the next project.

Azure Certification

While between projects and looking after the kids I studied for my AZ-204: Azure Developer Associate certification. My motivation for choosing to certify on Azure was that;

  1. Azure was the one of the big three that I hadn’t tried out at all, this was an interesting way of getting started.
  2. Azure having a datacenter in Norway seems to have been a factor in making them more attractive in the public sector therefore this could look good on my CV.

I passed the certification on the first attempt and now have a project that I am delivering on Azure so that investment seems to have paid off.

Kotlin ASN.1 parser

I’ve not published the code anywhere yet, but I did start hacking on the primitives for writing an DER formatted ASN.1 parser in Kotlin inspired by the nom APIs. My motivation for doing this was that the de facto standard for working with ASN.1 on the JVM is the Bouncy Castle library, and while it is solid and well respected some of the APIs feel very aged compared to the functional code I’m more used to writing in recent years. This project also gave me the opportunity to explore the more fun parts of Kotlin before using it at work.

First PRs accepted to the azurerm terraform provider

At work I’m now delivering a project on the Azure platform and starting to fix some small annoyances in the terraform provider in my free time.

Entered HashiCraft Holidays Hackstravaganza

As a fun way to learn more about golang and writing terraform providers I wrote a silly little provider that controls Falcon Player that I use in my Christmas lighting projects. For more details see the forum thread https://discuss.hashicorp.com/t/team-sharebear/18559

xLights 3D viewer

After spending some time with golang I wanted to get back to writing Rust again. As the lady of the house got an Oculus Quest 2 for Christmas I have the crazy idea of building upon the FSEQ Parser I wrote at the start of the year to create a 3D visualisation to experience on the VR headset. This is still in the very early stages so nowhere near functional but there is more information coming in a later post as I want to introduce this project properly.

Looking over the list above I see that I actually managed quite a bit that I could have and should have created companion blog posts for, maybe I’ll manage to rectify that situation as I continue work on the projects I have dreams of completing in 2021.