About:

Robin Kåveland is a software engineer and consultant interested in technology, team culture, and data, with hobbies in fishing and photography.

Website:

Specializations:

Interests:

Debugging Technology Rust Java Python PostgreSQL Machine learning Team culture Data exploration Data engineering
Subscribe to RSS:
The text discusses the declining quality of search engines and the impact of SEO on search results. It compares the modern internet to a vast library and the librarian to a search engine or targeted ad service. The author also exp...
The author discusses a problem with direction information in public transit data and how to fix it using SQL. They discovered that the direction information is not stable over time, and they propose a solution to map the most comm...
The post is part of a series on no-ops linux deployment. It covers a more challenging deployment with jobs and rolling restarts, and discusses the strengths and weaknesses of this approach to hosting. It introduces the kollektivka...
The post is part of a series on no-ops linux deployment. It covers the installation and configuration of podman, a tool for running containers, and caddy, a web server. It also discusses the deployment of a simple container and th...
The author discusses automating the setup of a Linux server for hobby projects, covering topics such as reproducible infrastructure, updating packages, running a caddy proxy, using podman for containers, and setting up monitoring....
The text is a personal note about prioritizing wisely and optimizing for mental health. The author discusses the importance of creating, learning, playing, and educating over passively consuming content. They also talk about the e...
The text provides a tip for designing data models with composite keys in SQL to make it less painful to handwrite SQL for them. It suggests introducing a consistent naming standard for all columns that take part in a primary key. ...
The author discusses the importance of trying new things and building psychological safety in a team. They emphasize the value of experimentation and learning, and the need to create an environment where people feel comfortable to...
The text discusses the importance of using a content delivery network (CDN) like BunnyCDN to improve the speed of loading web pages by geographically distributing assets. The author explains the difference it makes and the process...
The author provides an update on eugene, a CLI tool for SQL migration scripts for postgres. The tool has improved with faster syntax analysis, proper documentation, Git integration, and more. The author also discusses future plans...
The author discusses their experience with finding a European cloud provider for their hobby projects, the requirements they had, the setup they landed on, and the costs involved. They also mention future plans and areas for impro...
The text discusses the importance of having indexes for foreign keys in a database system, particularly in PostgreSQL. It provides examples and explains how to identify missing indexes using system tables and views. It also covers...
The post discusses constraint propagation and mutual recursion as a way to solve constraint satisfaction problems. It includes an explanation of how to solve Advent of Code puzzles using Rust code and an algorithm for solving sudo...
The author has been experimenting with DuckDB and has found it to be a great tool for analysis and ELT. They have compared it with postgres and found that DuckDB is faster and more efficient for analytical queries on big data sets...
The blog post discusses the use of DuckDB for analytical queries and the author's experience with it. The author also discusses the Entur Real-Time data set of Norwegian public transport and the process of setting up the BigQuery ...
The team is in distress due to a reorganization and the sudden departure of a key employee. They are tasked with taking over a critical service without any new resources for maintenance.
The author reflects on the impact of large language models (LLMs) in software engineering, discussing the use of LLMs in his work, the effects of inline code completion, and the value of chatting and sparring with LLMs. He express...
The author shares a personal story about getting a contact lens for the first time and how it relates to the experience of using observability tools. The post introduces OpenTelemetry and its benefits, emphasizing the importance o...
The text discusses the complexity of code and the difficulty of understanding it when there are multiple variables to keep track of. It delves into the limitations of working memory and the challenges of managing multiple booleans...
The author discusses the use of array operators over the SQL in operator. They explain that the two queries have the same query plan and should have the same time cost to execute for the database. Parsing SQL is fast, and the big ...
The post discusses the use of composite keys in PostgreSQL over JDBC for batch operations. It explains the challenges of using composite primary keys and provides a solution using the unnest function in PostgreSQL. The author also...
The Norwegian government has decided to close down salmon fishing in most rivers in southern Norway, including Trøndelag, for the summer of 2024, effective from June 23rd. This decision has huge economic implications for many farm...
The text explains how to set up short-lived postgres servers for testing purposes. It describes how to create a new directory for the data, set up the data directory, start and stop the server, and configure the server. It also ex...