How I approach learning new concepts
My friend Jakob wrote a very interesting and insightful post on competence and learning (Whether you think you can, or think you can’t). In his post, he requested that I share some thoughts. I won’t assume everyone reads his post, even though I recommend it, so here’s a brief summary of his main points: Software engineering is a field where constant learning is more or less a requirement throughout one’s career. As a consequence, software engineers should come to terms with “feeling stupid”. There will always be new challenges with unknowns and situations where you won’t immediately understand what you are doing. He writes about how building competence and skill requires that you embrace the uncomfortable situations where you are in the dark place. Where you don’t know what you are doing. Next, he observes that it may be very useful to be equipped with what he calls intellectual confidence. That is, a confidence that one will be able to understand things even though one is currently in the dark. I believe he correctly points out that this intellectual confidence is a feedback loop; a chicken and egg-problem. He also mentions that there’s another ingredient for building competence and to enhance the before-mentioned feedback loop: discipline. And then he goes on to implore me to write about discipline and on my approach to learning1. There’s a lot of interesting stuff here! But in this post I want to focus on two things: intellectual confidence, and of course, the requested thoughts on discipline and my approach to learning. ...
The tools that I love: Vim
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. There is probably no single tool that I love more than Vim. It is strange to think about how much it has ended up meaning for me. Vim has been a part of my entire career both as a student, researcher, and a developer. Needless to say, it is hard to sum up my thoughts and feelings about Vim in a short blog post. So I’ll allow it to be slightly longer than the average “The tools that I love”-posts. ...
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. ...