Runar Ovesen Hjerpbakk

Software Philosopher


The entirety of my portfolio can be found on GitHub.

NotifyPropertyChanged.Verifier - test INotifyPropertyChanged

Introducing NotifyPropertyChanged.Verifier, a fluent extension of xUnit for testing implementations of INotifyPropertyChanged in ViewModels. It's a .Net Standard 2.0 library and can be used both in .Net Core and the full .NET Framework.

Xnapshot - automated iOS screenshots

Xnapshot enables you to use C#, together with Xamarin.UITest, to automatically take app screenshots for you. Just derive from the abstract Screenshots class, implement one simple method per screenshot and use your time productively while your computer takes the screenshots.

Jekyll YAML front matter validator

Jekyll YAML front matter validator is a dotnet script that validates Jekyll YAML front matter according to specific rules verifying that a Jekyll blog will build correctly. It checks for issues involving categories, layout, title, description, date, image, and tags.

Open a folder in Visual Studio Code

With this macOS service, you can quickly open any given folder as a project in Visual Studio Code from the Finders context menu.

dotnet-script Docker Image

dotnet-script is the best way to run scripts written in C#. This Docker image makes running the scripts easier than ever, you just need Docker and can run your scripts with nothing but Docker installed on your machine!

Xamarin Forms birthday workshop

This project is a workshop where the participants will create an iOS and Android birthday reminder app using C# and Xamarin Forms. No prior knowledge of mobile development is necessary to complete the workshop. The project contains detailed step-by-step instructions and a slide deck used to illustrate some finer points.

Python script for creating transparent PNGs

With my transparent PNG script, written in Python, you can easily create a transparent PNG of any size using the Terminal. Don't have Python? No worries, use the Docker image instead.

Cloudflare Cache Purger

This dotnet-script purges relevant pages from the cache on Cloudflare when adding a new post to a Jekyll repository.

Comics Downloader

Comics Downloader is a dotnet script that will download comics from It will start with a specified strip and continue until all strips are downloaded for the given comic. It can also optionally combine them into a .cbz-file, a comic archive.

ASP.NET Core workshop

This project is a workshop where the participants will create an ASP.NET core web-app, API, and finally orchestrate the entire solution using Docker and Docker Compose. Branches for each step of the workshop is provided, making sure no student is left behind.

FermiContainer - an IoC container for the rest of us

FermiContainer supports the registration of interfaces and implementing classes. Through constructor injection, the dependencies known to the container are automatically resolved. No attributes or XML configuration are needed. This is simplicity at its best, and FermiContainer is truly a C# IoC container for the rest of us.

Async Method Caller - Easy async Without await

AsyncMethodCaller is used to call methods asynchronously and continue with other methods after execution completes if you cannot use async and await. It makes asynchronous calls easy to understand and test. Very useful in ViewModels.

Workday Countdown - a Status Board panel

Workday Countdown is a countdown panel for Panic's Status Board 2 application for iOS. Different from the stock Countdown panel, Workday Countdown filters out weekends and public holidays. This provides a more realistic countdown in a work setting where people are not expected to come in on weekends.

Command line Tic Tac Toe

One of my first games written in C++ and the first with AI is this command line implementation of good old Tic Tac Toe. The AI is garage level, but it should defeat or draw any player when playing first.