Introducing OwnCDN
OwnCDN is self-hosted CDN server software running as an IIS website on your own Windows computer/VM/VPS. It does caching...
Filter CouchDB query results with arbitrary JavaScript - like SQL WHERE...
CouchDB has a "List function" feature which allows you to transform query results. This can be used to filter results...
Evaluating VB.NET to C# converters - Follow Up
A year ago, I evaluated 4 tools for converting VB.NET code to C# ( see blog post ). At that time, I decided on "Instant...
Why I am moving to CouchDB
Update April 2026 I am still a big fan of CouchDB, but I no longer use it after making OwnCDN . Indeed CouchDB was a big...
Evaluating VB.NET to C# converters
Update Jan 11th 2025: see follow up post I am converting several projects from VB.NET to C#. In preparation for this, I...
Revisiting site search + SQLite as a search engine
Back in 2017, I researched adding search functionality to our websites ( blog post ) and ended up going with Zoom Search...
My thoughts on Mithril.js
Mitril.js is a client-side JavaScript framework (similar to React, Vue, Svelte, etc.) My current go-to client-side...
Tasty Vanilla JS - 4 tips
[ Definitions: "Vanilla JS" = plain old JavaScript with no framework, and no build tools etc., "Big-framework-X" = React,...
Deep reactivity in Svelte
What is "deep reactivity"? you ask From the Vue.js documentation : In Vue, state is deeply reactive by default. This means...
Facebook page not showing business hours - How to fix
Adding business hours to a facebook page (in the "About" section), should be simple enough. The process is described in...
Svelte vs. Vue.js
Updated February 18th 2022 to reflect new features of Vue 3 and stuff I've learned from experience in the meantime. I have...
Custom validity helpers for Vue.js and Svelte
HTML5 comes with a nifty feature to show custom form validation messages on form submission (see cover image). This looks...
Simple Deploy
Today I launched a new open source project "Simple Deploy" - an IIS webhook endpoint for GitHub / GitLab / BitBucket for...
Mit-Budget.dk
Today I launched a new open source web-app for making personal and business budgets (Danish language). This project was...
Review: TP-Link - Deco M9 Plus
A single Wi-Fi router doesn't quite cover my entire house, so in the past I had several Wi-Fi routers in different...
Why I chose Vue.js over React and Angular
What did it for me, was not any specific functionality, syntax, etc. but rather the entourage of required tools. My tech...