Marius Gundersen

Dynamic endpoint routing

How to use the EndpointDataSource in September 8, 2021

Template Literal Types

Exploring template literal types in TypeScript for some WebGL fun January 6, 2021


How I rewrote my gulp based static site generator to use mdx May 7, 2020

Type-dictionary trick in C#

Efficient dictionary with Type keys in C# June 30, 2019

Duck-typed Extension methods in C#

Creating magical code by combining duck-typing and extension methods in C# October 21, 2018

Ekkiog followup

Reusable and shareable components in Ekkiog April 7, 2018

Ekkiog: Turing Complete NAND-Simulator

Simulating 65536 NAND gates on the GPU of your smartphone August 3, 2016

Efficient module loading without bundling

Using static analysis, HTTP/2, Service Workers and bloom-filters to efficently load ES2015 modules April 23, 2016

Maintining Docker containers with Samsara

A docker orchestrator for small private production systems December 27, 2015

Why does Twitter freeze when loading new tweets?

An investigation using DevTools February 16, 2015

Early impressions of Docker

I've only used Docker for a few days, here are my impressions January 17, 2015

Other things generators are good for

ES6 generators can be used for more than async await August 13, 2014

Dependency Chain

Dependency chaining is a simple way to extend the functionality of a library using modules February 23, 2014


Tiny project for drawing sparklines December 23, 2013

When can I actually use ES6?

The next version of JavaScript is nearing completion. But when can we actually use it? December 22, 2013

handwritten asm.js

Testing asm.js in Firefox devtools June 6, 2013

Bitcoin OTP

One Time Pad of bitcoin private keys March 11, 2013

Bitcoin Piggybank

A 3D printed piggybank for storing Bitcoins March 11, 2013


Animating the 2D canvas using JavaScript expressions February 7, 2013


Calculating stationary transfer orbits in KSP using SVG and Knockout December 29, 2012


HTML5 demo showing how to use the deviceOrientation API to create a simple compass. May 28, 2012

Multitouch Map

Using HTML5 canvas, multitouch and geolocation to create an interactive map with pan/zoom gestures. May 28, 2012


A Multiplayer Raycasting engine using WebSockets and canvas. March 2, 2012

CSS3 Multitouch

HTML5 demo of CSS3 controlled by multitouch events on mobile devices. February 27, 2012


The Pimponator uses an AVR to control a 16 column by 5 row LED matrix. The micro controller has 64KiB of flash memory available for a 6000 frame animation. April 13, 2011

NES Remote

A remote control for my TV made using an old NES controller. October 26, 2010


A 3D printed mechanical braiding device, created in Blender and printed by August 6, 2010


The CentripetalBox is a 3D printed box with a special lock which only opens if the box is spun quickly. January 15, 2010