ArticlesSoftwareAbout

Articles

Self-hosting a web font

2026-04-06
What I did to reduce the size of a font file to use it in a website without resorting to external cdns.

TailwindCSS color palette for Inkscape Update

2024-10-22
An update for getting a current tailwindcss palette file for inkscape.

Do not use todo lists to drive your work

2023-07-26
What problems can occur if you use To-do lists as the main driver of your work and what you should do instead.

Global HotKeys for Windows Applications

2021-03-08
How to get global HotKeys working in your .NET Windows Application, including some a Message Loop detour.

Desktop Apps with AvaloniaUI and FSharp

2021-02-11
Why you should consider switching from WPF and C# to AvaloniaUI and F# when developing desktop applications.

TailwindCSS color palette for Inkscape

2020-12-20
If you are in love with TailwindCSS and you want to use it's color palette in your inkscape designs.

How to get a Block Caret in Visual Studio

2020-10-07
Getting a Block Caret in vscode and Rider is trivial - in Visual Studio you can do it with an extension.

Native Bindings in CSharp

2020-04-19
Native Bindings in C# and how to invoke native libraries when you don't know the library name at compile time.

How to run cron inside Docker

2019-10-13
What you need to do know to be able to run cronjobs inside a docker container, complete with an example Dockerfile.

Image Artifact removal in CSharp

2019-08-19
Using C# and OpenCV, image artifacts are algorithmically detected and removed.

How to use OpenCV with CSharp

2019-07-29
Learn how to get started with developing OpenCV Applications in C#, e.g. for image detection and conversion.

Dotnet Cheatsheet

2019-06-28
I've created a cheat sheet for the dotnet cli in different colors. It's available as a pdf file that you can download.

You should be using using in CSharp

2019-06-11
Find out why the using keyword is so useful in C#. Hint: It protects against three different ways how an instance can escape it's Dispose() call.

Using Timeboxing to achieve Workplace Happiness

2018-10-21
Timeboxing is a time management strategy that can be used to improve autonomy, which is a key factor in achieving workplace happiness.

Create Svg Badges with CSharp

2018-08-24
I've written a small commandline tool that uses SkiaSharp to generate svg files in C#.

Docker Cheatsheet

2018-08-15
I've created a docker cli cheatsheet in different colors that you can download as a pdf.

A look at OAuth 2.0

2017-10-31
I've read through the OAuth 2.0 rfc and summarised my findings in this article.

Get Contributor stats from git

2017-08-15
This article shows how to retrieve stats like commits and lines changed per contributor from git using the commandline.

Use a XBox Controller to control your Angular2 app

2017-05-07
By using XInput and calling native Windows APIs you can use an XBox Controller to control any application.

Hotkeys in Angular2

2017-04-29
Thanks to the mousetrap javascript library you can easily create a reusable HotkeysService including configuration.

Using Windows Built in OCR from CSharp

2017-04-12

Fixing ORA 06502 in CSharp

2016-09-16

Binding your View to your ViewModel in Wpf

2016-08-28

SkiaSharp with Wpf

2016-04-01

Custom Knockout Bindings

2016-03-24

JavaScript debugging in VisualStudio with Chrome

2016-01-28

M-Files mass file export

2016-01-15

M-Files Backend Databases

2016-01-05

Fixing Razor Intellisense

2015-11-24

Keep an open mind when choosing a software solution

2015-10-29

Implementing an Update Check for an Application

2015-09-25

AvalonDock 2.0 with MVVM

2015-09-07

M-Files mass file deletion

2015-07-19

M-Files mass file import Part II

2015-07-09

M-Files Class Exporter

2015-06-26

M-Files mass file import Part I

2015-06-18

Implementing INotifyPropertyChanged

2015-06-12

Compiling a kernel module for the raspberry pi 2

2015-02-25

Why write a blog

2015-02-20
Copyright Martin Kramer 2026
Impressum / About