Welcome to my Blog
Hi, I’m Chris!
I’m a software engineer, with a passion for open-source projects and I try to contribute to one on a daily basis. I write most of my software in Go these days, but have worked with C, C++, Java, ES, Lua, PHP, Pascal and a seemingly ever-growing list of other languages in the past.
Previously, I was VP and CTO of Hatchet Industries and worked as a senior developer at last.fm and Nokia.
On this page you will (hopefully) find blog posts, additional documentation or insight, and talks about the projects I work on.
Latest Posts
-
Self-hosting VSCode
5 min read -
Jun 19, 2021
As so many others, I’ve switched to VSCode as my go-to IDE in recent years. I won’t go into the details as to why I made that switch, but I really enjoy using it and find it to be a rather productive tool. It’s another Electron app for the desktop, and while that typically bothers me a bit, in today’s post we’ll actually use that to our advantage. VSCode in the Browser Electron is a framework for creating native applications with web technologies like JavaScript, HTML, and CSS.Read the entire post...
-
Installing Arch Linux with Full Disk Encryption
4 min read -
May 27, 2019
Let’s create an encrypted Arch Linux installation! You can follow this tutorial whether you plan to install Arch on an internal disk, a USB flash drive, an SD card, or an external drive. You will have to boot from either the official Arch ISO or an existing Arch Linux machine. This tutorial assumes that you’re working in a root-shell and that you’re already familiar with installing Linux distros and working on the command-line.Read the entire post...
-
Remotely Installing a Fully-Encrypted Debian Server
4 min read -
Jul 10, 2018
So you’ve just rented a new server, in some random data center, from one of the popular hosting providers. You don’t have physical access to the machine, but you rely on your data to be stored securely on the server. You probably want to encrypt the entire system, even the swap partition. The server needs to be able to decrypt the filesystems to boot, but you don’t want the encryption key to be accessible by it, so nobody with physical access can access your data or even tamper with it.Read the entire post...
-
Gamut, a Go Package to Manage Color Palettes
5 min read -
Jun 6, 2018
I have talked about using an algorithm to generate color palettes in my previous blog post and as promised I set aside some of my time to work on gamut, a Go package to manage and generate color palettes & themes. The original scope of the package was to provide a more Go-idiomatic and convenient interface to the color generator I presented in the post. Working on it, it became painfully obvious that Go’s standard color package is fairly minimalistic by design.Read the entire post...
-
An Algorithm to Generate Color Palettes
7 min read -
May 29, 2018
So you’re looking for a beautiful color palette for this website you’re working on? Maybe you recently equipped your house with RGB lighting or you’re about to paint your living room walls with some fresh colors? You just got this shiny new LED keyboard and want to make full use of its features? In my case it was a combination of all of these. Whatever your situation might be, if you are just a tiny bit like me, you feel like you’re constantly tweaking your color schemes.Read the entire post...
-
A 'Shiny' New Keyboard
2 min read -
May 20, 2018
I’ve recently switched to a Razer Ornata Chroma, a “mecha-membrane” keyboard, which comes with individually controllable RGB-LED backlights for each key. There are a few GUI tools that let you configure the lighting settings on Linux already, like RazerGenie or RazerCommander, but I really wanted to control it from the command-line and Beehive instead: imagine your keyboard indicating new notifications and events by a cheer- and colorful illumination. go-razer Naturally, this meant firing up my editor and hacking on a new Go library, which I’ve aptly named go-razer.Read the entire post...