Published: 21 August 2023

Simple Blazor Blog

I recently started exploring Blazor. It's very intersting to be able to build interactive client applications using C# for the front end and use C# as full-stack technology. Something that Microsoft tried to achieve before with SilverLight but this time around we have more mature and standard web technologies to work with. Namely, WebAssembly and WebSockets.

To get more familiarized with Blazor, I decided to try to build a simple blogging platform. I wanted to host it on GitHub Pages, therefore Blazor WASM was the obvious choice as it can be hosted in a static site. I also wanted to be able create my posts as individual pages (Ideally in Markdown), and let Blazor generate the navigation during build process.

First thing that I immediatley noticed is the delayed rendering of the website while the WebAssembly assets are downloaded. That also meant that web crawlers wouldn't be able to render my website if they couldn't load WebAssembly assets properly. And while .NET 8 is going to introduce Server Side Rendering (SSR), that wouldn't work for a static host like GitHub Pages. Luckily I found a solution quickly!

Continue Reading
Published: 10 February 2018

Rolling Shutter Simulation

Propellor with rolling-shutter artifact

Dicklyon, CC BY-SA 4.0, via Wikimedia Commons

In 2017 there was some interst in explaining the Rolling Shutter Effect in cameras including videos by Destin's Smarter Everyday Channel and Matt Parker's Stand-up Maths.

I wanted to explore if I can simulate the effect using D3.js and found a neat way to do it using Canvas clip(). function.

Originally published on and later imported to Observable with help from Mike Bostock himself.

Continue Reading