A programmer's notebook

A boy on his bicycle.

Use Contentful's image processing to give every user the best image for their screen size

With responsive websites, the same image can be displayed on screens ranging from several thousand pixels wide down to a few hundred.


Contentful Sanity

Contentful editor of the "blogpost" content type

Contentful migrations: Copy content from one entry to another

In Contentful, the easiest way to change your content model is through the web app on app.contentful.com. This is pretty straightforward if you are doing basic changes like adding a new text field. However, if you are planning more complex changes, migration scripts are probably the best way forward. By using migration scripts, you can add and delete fields like you can in the web app, and you can also create and insert content into existing entries.



Error message when missing certificate: Your connection is not private

Optimizely can now generate certificates for root domains in DXP

In Optimizely's cloud hosting service DXP, Optimizely has for a long time offered to generate certificates for the sites it hosts, giving us the secure https URLs with a reassuring padlock next to it.


Optimizely Optimizely DXP

Contentful: How to avoid messing up your production content using environments

The problem: I have a .NET web application with a separate test and production environment. My content is stored in Contentful. Now I have been asked to create a new feature, which involves changing the content model for my content, and I want to try out this new feature in my test environment without messing up the content in the production environment.


Contentful DevOps

Deploy Sanity Studio with Azure DevOps

Sanity.io is a headless CMS, which means the editor interface is very loosely coupled with the website or interface that is displaying the content to the end user. The editor interface for Sanity.io is called Sanity Studio and in most scenarios you will want to deploy this as a standalone application. Luckily, Sanity (the company) offer to host Studio for you, even on their free plan.


DevOps Sanity

My Windows Terminal setup.

Advanced setup for Windows Terminal

I have become fond of Windows Terminal, but it lacks a few key features.


Increase Docker speed on Windows by setting up Windows Subsystem for Linux 2

Tl;dr Increase Docker speed when developing on Linux containers in Windows by installing a preview version of Windows, installing WSL 2 and by using the Edge version of Docker.



Create and deploy different configurations for different environments in .NET Core

I recently had an issue when I tried to deploy the correct configuration for a .NET Core application. I managed to mix up the environment names used in the application itself, in IIS and in Octopus Deploy. The result was that none of my configuration files worked as expected, with errors everywhere.


.NET Octopus Deploy

Green robot crushing red phone

The struggle to block spam calls on Android

I have had a rough week as a hobby Android developer.


Android Google Play

Build, test and deploy a dotnet core website using Cake, TeamCity and Octopus Deploy

I have just completed setting up a simple deploy pipeline for a dotnet core project where I use TeamCity to build the project and run xUnit tests and then Octopus Deploy to deploy.


.NET C# DevOps

Use WordPress on HTTPS site with load balancer

WordPress by default uses a pretty simple test to check if your site is running on https or http.


PHP WordPress

Xamarin: Reload an iOS CallKit call directory extension from the app

I you want to make a call directory extension for iOS, for identifying or blocking certain phone numbers, you need a way to reload the extension every time you want to add or remove from the list of phone numbers you are blocking.


.NET C# Xamarin

How to create an iOS call directory extension in Xamarin for blocking thousands of phone numbers

A call directory extension is used to block or identify phone numbers on an iPhone, phone numbers the user don't have in their contact list.


.NET C# Xamarin

Use C# interactive in Visual Studio to experiment with your code on the fly

I needed to quickly test a regular expression, and the new feature of Visual Studio 2015 came to the rescue: C# Interactive



Racing green turle typing on a typewriter

Use automatic text replacement to speed up your coding and typing

In programming, and probably in most other lines of work where you work with text on a computer, there are some symbols and special characters that you use a lot, but that are quite difficult to type. Perhaps you need to hit a combination of keys to produce the symbol, or even more time-consuming, you might need to open a menu or tool to insert the symbol.



Live preview of website when editing in Visual Studio Code

VS Code, being extremely lightweight (at least compared to Visual Studio), does not come with its own web server. This can be a bit confusing for those of us used to just hitting F5 in Visual Studio and getting our website launch in a browser.


VS Code

Getting started with TypeScript in Visual Studio Code

This is a super short introduction to start writing TypeScript in Visual Studio Code. This tutorial is written for Windows users, but it should be roughly the same procedure for Linux and OS X users, since all these tools are cross platform.


TypeScript VS Code

Use Subversion revision number as version number with MSBuild (and handle revision numbers larger than 65534)

When using a system for continuous integration to automatically deploy your application, it is important to know what version of your code is deployed. This tutorial will show you how to automatically set the version number of the deployed .dll.


Bootstrap Subversion

How to use Bootstrap or other CSS frameworks on a small part of a page without affecting the rest of the page's style

I'm currently working on a project where I have an AngularJS app (a form), that will be displayed on several different external websites. This means that I have to style the form to fit into several different page designs, with different existing stylesheets.


Bootstrap CSS

AngularJS and .NET MVC: Convert templates from html to javascript and bundle app and templates together

I am working on a project where I have an AngularJS app on my own .NET MVC website, and I will display this app on several remote websites.


AngularJS JavaScript

PowerShell script for creating a content organizer rule

SharePoint: Create a content organizer rule with many content type aliases using PowerShell

Why would I want to add many content type aliases to a content organizer rule? When creating a content organizer rule in SharePoint, the default is that the rule is only valid for a single content type. To get around this limitation, you can add other content type names to the field Aliases (also known as RoutingAliases), displayed as “List of alternate names” in the SharePoint editor.


PowerShell SharePoint

Android: Find a contact by display name

In my app, I wanted to open a specific contact and add another phone number to it. I didn't have the contact id of the contact, only the display name.


Android Java

All blog posts →