Thoughts on culture
In recent years, I’ve come to appreciate the importance of good culture at work. I’ve thought about it quite a lot, and in this post, I’ll try to digest some of my thoughts. First: what is culture? Let’s run with the following definition: Culture is the shared set of values, beliefs, customs, and creations—both physical and intangible—that a group learns and hands down over time. Clearly, any workplace has a culture. But: ...
The tools that I love: Tailscale
In this series, I will briefly talk about tools that I love and that I use often. I will keep things brief, as there is already a lot of good content that goes into more depth. I often have to traverse networks with e.g. SSH to work on something on some server or on a different computer. This could be simply reaching a computer at work from a home computer. To do this, I would traditionally need to use a VPN service or establish a reverse ssh tunnel from my work computer. Or something similar. Since 2022, I’ve been using Tailscale. Tailscale is like a simple VPN service1 that makes it easy to achieve secure connections between computers in my private network. For instance, if I install and configure Tailscale both on a server I host somewhere and on my home computer, then I can immediately ssh myserver from my home computer. It just works, almost like magic2: ...
The first time I upgraded a PostgresSQL database
Upgrading a live PostgreSQL database in a Kubernetes environment can be a daunting task. Earlier this year, I faced this exact challenge: migrating an important PostgreSQL 15 database to version 16. As this was the first time I tackled an upgrade of this nature, I realized I would gain more from the experience by documenting it. Additionally, I hope to share insights that might help others navigate similar upgrades. Fortunately, I collaborated with a knowledgeable colleague who was already well-versed in both PostgreSQL database maintenance and Kubernetes. His support was invaluable—thanks Robin! ...
A first look at Claude Code
I recently got access to Claude Code. So, I installed it and decided to test it on one of my hobby projects, VimTeX. Specifically, I wanted to do two things: Have it analyze the project and let me know what it thinks. Have it help me resolve an issue. This is a short writeup of my experience. First, for reference, VimTeX is a Vim and Neovim plugin. It consists mostly of Vimscript, but also a few other things, as is shown in the output of tokei: ...
The tools that I love: web feeds
In this series, I will briefly talk about tools that I love and that I use often. I will keep things brief, as there is already a lot of good content that goes into more depth. How do you follow and consume web content? Are you manually checking news sites, blogs, and similar sources for updates regularly? If so, you might be interested in learning about news aggregators and web feeds like RSS and Atom! ...
My transition from researcher to developer
Disclaimer: This post is also published at the Sikt blog. I began my research career at SINTEF Energy Research after finishing my Master’s in numerical mathematics in 2008. My main area of research throughout my career was computational fluid dynamics (CFD)1. I finished my PhD in 2013, and I stayed at SINTEF working as a research scientist until March 2022. In April 2022, I started working as a senior backend developer at Sikt — this is where I’m currently still working. In this post, I want to express some thoughts about what I’ve learned after my transition from being a researcher to being a developer. ...
The tools that I love: My personal wiki
In this series, I will briefly talk about tools that I love and that I use often. I will keep things brief, as there is already a lot of good content that goes into more depth. People who know me know that I am very fond of using text both as a help for thinking clearly and for communication. I take a lot of notes. Most of these are in my own personal wiki. In this blog post, I’ll explain how I write and maintain my personal wiki. I’m not going in depth, instead I’ll highlight some of the essential parts of my workflow. I might write some in-depth posts about certain parts at a later time. ...
Load testing of "Søkerportalen"
The last couple of years I’ve been working in a team at Sikt on the admission services for Norwegian universities and colleges1 2. As part of this work, we’ve been performing load tests of the applicant portal. The first times my team and I did this, we followed a well-defined manual procedure that were executed two times each year. We figured it would be relatively easy to automate this and have the load tests run daily in our pipelines. ...
The tools that I love: Anki
In this series, I will briefly talk about tools that I love and that I use often. I will keep things brief, as there is already a lot of good content that goes into more depth. Anki is a flash card tool to help with remembering things. In their own words: Anki is a program which makes remembering things easy. Because it’s a lot more efficient than traditional study methods, you can either greatly decrease your time spent studying, or greatly increase the amount you learn. ...
The tools that I love: mise-en-place
In this series, I will briefly talk about tools that I love and that I use often. I will keep things brief, as there is already a lot of good content that goes into more depth. mise-en-place, or mise for short, is a tool for setting up well-defined development environments. To use it, I simply specify which tools or dependencies I want in a file named mise.toml inside a project. Then, when I work on that project, mise automatically ensures that I have the specified tools at the specified versions available. ...