Rasmus Olsson

Using dotTrace to identify and improve performance
February 13, 2024

Today we will explore how to enhance the performance of a poorly performing .NET REST API using dotTrace. Specifically, we will delve into an IO-bound problem and leverage dotTr...

Setting up DB migrations with .NET running in kubernetes
December 15, 2023

In this guide, we'll start by developing a universal .NET application designed for managing database migrations with DbUp. Our goal is to encapsulate this application within a D...

Why you might want a custom roslyn analyzer
October 23, 2023

Roslyn analyzer is a tool built on the .NET Compiler Platform which allows developers to perform static code analysis on their .NET projects. These analyzers inspect code for an...

Behavior driven development with specflow
August 25, 2023

BDD is a technique that enables teams to grasp project requirements clearly through a shared language. This approach ensures that all project participants collaborate effectivel...

Creating a .NET template with template.json
June 15, 2023

In this article, we're going to craft a .NET template together with template.json. Initially, we will develop a simple template for a WebAPI. After that We will introduce an opt...

Getting started with LangChain
April 27, 2023

LangChain is a tool that helps in the creation of applications that want to fit into an existing Large language models (LLMs). While an LLM is good at answer a general question...

OpenAI launches GPT-4, plus subscription and plugins
March 24, 2023

Introduction OpenAI is launching new features super fast right now and we as developer can benefit greatly in keeping up to date with this generative ai trend. This pos...

Tracking nuget licenses with dotnet-project-licenses
February 21, 2023

Introduction When developing software application we include NuGet packages which in turn has software licenses. This license describes how your company should comply w...

How I Use and Choose Not to Use ChatGPT
January 24, 2023

Introduction So much have happened when it comes to generative AI lately and a huge part of this is due to the launch of ChatGPT. I have been using it on a daily basis ...

Advent of code 2022
December 28, 2022

As I wrote in my previous post, I would like to test ChatGPT for advent of code challenges this year and this post is about my initial thoughts. Alright, let's dive strai...

ChatGPT is launching!
November 30, 2022

ChatGPT is launching today and in a perfect timing for Advent of code that begins tomorrow. I would like to try if its smart enough to solve advent of code for me. I've r...

Enforcing Architectural rules with NetArchTest
June 30, 2022

Independently where you work, there is solution architectural standards that need to followed and enhanced. There might be guidelines, such as avoiding the inclusion of contract...

Increase your productivity with Tampermonkey
March 25, 2022

In earlier posts, I've discussed enhancing productivity with PowerShell and Git, and Tampermonkey is yet another valuable instrument to include in your arsenal of productivity t...

Stay productive with formatted code
February 25, 2022

It has always surprised me that the demand for a unified code format is not that desirable in dotnet. In Node with the support for eslint and prettier, setting up formatting and...

Advent of Code 2021
January 05, 2022

Advent of Code 2021 has come to an end. I decided to go with TypeScript on Deno, the same approach as last year, which I think works great for these kinds of puzzles. I d...

Extend your toolkit with benchmarks
December 25, 2021

Performance issues inside applications comes in many forms and in the best of times they can be easily identified. But they can also get you real stuck and impossible to get you...

dotnet watch in .NET 6
November 14, 2021

dotnet watch run is a command that can be very handy while developing .NET applications. Its similar to Nodemon in Node.js in that it watches for file changes and r...

Getting started with github copilot on rider
October 03, 2021

About two weeks ago I got access to github copilot and I couldn't wait to explore it more in depth. To get access, you first have sign up and then wait for a licence. I signed u...

Git client hooks for dotnet
September 12, 2021

I recently added some git hooks to my git hook folder for dotnet related work. Its a nice addition to my daily development which makes me more productive. Basically on every tim...

Powershell autocomplete with PSReadLine
July 30, 2021

As of powershell 6 you have a module called PSReadLine installed by default. This module changes the editing experience of powershell and is customizable. One thing that I reall...

Increasing TypeScript Type-Safety
June 30, 2021

Even though TypeScript have type-checking and type-safety you can opt out by using the type "any" for a variable or function. This "any" type have both upsides and downsides as ...

Creating a dotnet template project
May 31, 2021

This post has been updated and is now available at: <a href="https://rasmusolsson.dev/posts/creating-a-net-template-with-template-json">https://rasmusolsson.dev/posts/creating-a...

Visualizing dependencies in React
April 21, 2021

At some point in time, it might become handy to visualize your dependencies. Maybe you have a refactoring initiative and want an easy way to display or grasp how things look. In...

CSS Modules vs Global CSS
March 22, 2021

There are many ways to style a website with css. In this post I will share my findings migrating from global css to css modules. Before we start comparing, lets have a quick loo...

Moving from wordpress to gatsby
March 14, 2021

I few weeks ago I decided to move on from wordpress and build my own site. Wordpress have served me well for the past 2 years but as a developer it has always felt a bit to much...

Productive with the Terminal
February 07, 2021

When I’m working on a long-running project, It’s not unusual to be working in a specific area of the code base for a while. Being productive with the terminal and take time to s...

Productive with git aliases
January 31, 2021

When I started working as a developer I didn’t actually start with git but with TFS. Nowadays, everywhere I go git is standard and based on google trends (picture below) and my ...

Advent of Code 2020 – TypeScript & Deno
December 25, 2020

I’ve been quite busy the past month attending Advent of Code 2020 and spent a lot of time to do the assignments. Advent of code is a puzzle game that occurs ...

Redux Toolkit Typescript Example
November 30, 2020

In my previous post, I wrote about the new standard of using Redux Toolkit and the beauty it gives on integrating the Redux guidelines into a framework. In Redux Toolkit ...

Redux toolkit the new standard
October 14, 2020

As a developer, we regularly read and learn about new frameworks. We read the API documentation and start implementing. After that or in the best case before we even start, we d...

Why Docker.DotNet changes the way we test our applications
September 27, 2020

Docker.Dotnet is a library that you can use to interact with the docker host Remote API. It’s a great library to use if we want to dynamically create containers that need to be ...

My Pop_OS! & System 76 Laptop
August 27, 2020

A few months ago I was looking for a new laptop. My demands were quite high… I wanted a super light, easy to carry around laptop that I can do programming on. I also wanted it t...

Quality matters – Setting up Sonarqube
July 17, 2020

As a developer you regularly find bad code. The definition of bad code is a very broad topic and many books have been written to cover different techniques to write better code…...