- Front page   My .plan     My Articles   ESBuild rocks     TIL verbose console logging     HTML tree with a single line of CSS     TIL executing commands in Windows explorer     WordPress REST API     Unfriendly dates     Minimalistic SVG library     Full-text document indexing - part Ⅰ     Playwright, didn’t know I missed it     Software engineering, een volwassen vak?     Minimalistic slides     Syntax low-lighting     PicoSearch - TF-IDF in 50 lines     Critical questions for nocode projects     Fast! Fast. Fast?     My .sqliterc     Low effort/risk/impact anti-spam?     Generating media test files     SQL injection demo     Weight     Open Graph hints       Audio things   CCC - A code pattern for Web Audio     Vibrato vs. tremolo       Biography     Microblog   Lastcrud!       C=64   Accelerally C=64     Flappy Dino C=64     Line-Square-Dot C=64     Snake Escape C=64     Octettenpletter     Commodore 64 emulator     Hextris C=64     Tetris inner loop MOS6510 / C=64     KASM     Tetris for Commodore 64       Compression   Data compression 101     Minimal ZIP file – part I     Minimal ZIP file – part II     Minimal ZIP file – part III     Minimal ZIP file – part IV       Contact     Credits     CSS experiments   Adding line-numbers to your code     CSS word wrap indicators     CSS white-space property       Games   ESNextTris     TETRIS.COM     JavaScript Tetris in 1.5 kB     Sirtet     Hextris     KotlinTris     Duotris     Scaltris     TypeTris     GoTris     Elmtris     Reactris     Blaztris     Pytris     Delphi Tetris       golang   Overriding methods in Golang     Running Go tests in VSCode with CGO     io.MultiWriter gotcha!       Graphics   Rascal     Creating SVG from JavaScript     One SVG to rule them all     JavaScript port of 40 C=64 graphics       About me     lastcrud   Lastcrud logo       Beautiful mathematics   WebGL Mandelbrot     Pythagoras theorem     Game of Life and Death     Fixed point explanatorial       News   Gopher enabled     I have a .plan!       nimma.codes     Price list 2026     Projects   Niensje’s Theaterzolder     (Y)our project here?     Sierpinski fractal in 28 bytes     getmockupdata.com     FLAC player     Stachys     Colossus PoC     Lastcrud     Hacker News Client     Conspectus dashboard     shakehands     Dropzone GPX preview     Boring reports     Upgrade application without source code     Faddy webserver     snor     http2gopher       My SQLite knowledge     My SVG knowledge     My talks   What’s HIP in MMXIII?     Angular in 60 minutes     Bash completion     Bouwblokken om een nieuwe taal te leren     Writing an Commodore 64 emulator     Colors - how do they work?     Introduction WebAssembly (WASM)     Computer graphics     C.R.A.P. design principles     container2wasm     Wat is hip in MMXIII?     What’s HIP in MMXXVI?     Timing attacks     Lisp introduction     [Talk] Midnight Commander     Vuetify     OAuth2 & OpenID Connect     Scratch introduction     6510 CPU introduction     Vue 3     [Talk] SQLite <3     [Talk] <svg> - made by thee     [Talk] tmux     [Talk] Datacompressie     [Talk] Tetris4life     Modernizing Web Forms.NET       Tetris     Tools   Exeplorer (beta)     JWT Decoder     Convert CSV and TSV       usability   Expertise spectrum UIs       Wonderings   Think in problems     reading > writing?     Developer litmus test     Software as a commodity     DOM ≠ SOLID     Rat race     More code!     Metrics     AI     Government economics     Weight loss     Where lies the truth?     Rolschaatsen in Lent     He who says A must also say B     No code paradox     Search’n’replace     Locked out!     Productivity     End users     Rolschaatsen in Lent - part deux        
       - My .plan    
 (DIR) My .plan
       - My Articles   ESBuild rocks     TIL verbose console logging     HTML tree with a single line of CSS     TIL executing commands in Windows explorer     WordPress REST API     Unfriendly dates     Minimalistic SVG library     Full-text document indexing - part Ⅰ     Playwright, didn’t know I missed it     Software engineering, een volwassen vak?     Minimalistic slides     Syntax low-lighting     PicoSearch - TF-IDF in 50 lines     Critical questions for nocode projects     Fast! Fast. Fast?     My .sqliterc     Low effort/risk/impact anti-spam?     Generating media test files     SQL injection demo     Weight     Open Graph hints      
 (DIR) My Articles
       - ESBuild rocks    
 (DIR) ESBuild rocks
       - TIL verbose console logging    
 (DIR) TIL verbose console logging
       - HTML tree with a single line of CSS    
 (DIR) HTML tree with a single line of CSS
       - TIL executing commands in Windows explorer    
 (DIR) TIL executing commands in Windows explorer
       - WordPress REST API    
 (DIR) WordPress REST API
       - Unfriendly dates    
 (DIR) Unfriendly dates
       - Minimalistic SVG library    
 (DIR) Minimalistic SVG library
       - Full-text document indexing - part Ⅰ    
 (DIR) Full-text document indexing - part Ⅰ
       - Playwright, didn’t know I missed it    
 (DIR) Playwright, didn’t know I missed it
       - Software engineering, een volwassen vak?    
 (DIR) Software engineering, een volwassen vak?
       - Minimalistic slides    
 (DIR) Minimalistic slides
       - Syntax low-lighting    
 (DIR) Syntax low-lighting
       - PicoSearch - TF-IDF in 50 lines    
 (DIR) PicoSearch - TF-IDF in 50 lines
       - Critical questions for nocode projects    
 (DIR) Critical questions for nocode projects
       - Fast! Fast. Fast?    
 (DIR) Fast! Fast. Fast?
       - My .sqliterc    
 (DIR) My .sqliterc
       - Low effort/risk/impact anti-spam?    
 (DIR) Low effort/risk/impact anti-spam?
       - Generating media test files    
 (DIR) Generating media test files
       - SQL injection demo    
 (DIR) SQL injection demo
       - Weight    
 (DIR) Weight
       - Open Graph hints    
 (DIR) Open Graph hints
       - Audio things   CCC - A code pattern for Web Audio     Vibrato vs. tremolo      
 (DIR) Audio things
       - CCC - A code pattern for Web Audio    
 (DIR) CCC - A code pattern for Web Audio
       - Vibrato vs. tremolo    
 (DIR) Vibrato vs. tremolo
       - Biography    
 (DIR) Biography
       - Microblog   Lastcrud!      
 (DIR) Microblog
       - Lastcrud!    
 (DIR) Lastcrud!
       - C=64   Accelerally C=64     Flappy Dino C=64     Line-Square-Dot C=64     Snake Escape C=64     Octettenpletter     Commodore 64 emulator     Hextris C=64     Tetris inner loop MOS6510 / C=64     KASM     Tetris for Commodore 64      
 (DIR) C=64
       - Accelerally C=64    
 (DIR) Accelerally C=64
       - Flappy Dino C=64    
 (DIR) Flappy Dino C=64
       - Line-Square-Dot C=64    
 (DIR) Line-Square-Dot C=64
       - Snake Escape C=64    
 (DIR) Snake Escape C=64
       - Octettenpletter    
 (DIR) Octettenpletter
       - Commodore 64 emulator    
 (DIR) Commodore 64 emulator
       - Hextris C=64    
 (DIR) Hextris C=64
       - Tetris inner loop MOS6510 / C=64    
 (DIR) Tetris inner loop MOS6510 / C=64
       - KASM    
 (DIR) KASM
       - Tetris for Commodore 64    
 (DIR) Tetris for Commodore 64
       - Compression   Data compression 101     Minimal ZIP file – part I     Minimal ZIP file – part II     Minimal ZIP file – part III     Minimal ZIP file – part IV      
 (DIR) Compression
       - Data compression 101    
 (DIR) Data compression 101
       - Minimal ZIP file – part I    
 (DIR) Minimal ZIP file – part I
       - Minimal ZIP file – part II    
 (DIR) Minimal ZIP file – part II
       - Minimal ZIP file – part III    
 (DIR) Minimal ZIP file – part III
       - Minimal ZIP file – part IV    
 (DIR) Minimal ZIP file – part IV
       - Contact    
 (DIR) Contact
       - Credits    
 (DIR) Credits
       - CSS experiments   Adding line-numbers to your code     CSS word wrap indicators     CSS white-space property      
 (DIR) CSS experiments
       - Adding line-numbers to your code    
 (DIR) Adding line-numbers to your code
       - CSS word wrap indicators    
 (DIR) CSS word wrap indicators
       - CSS white-space property    
 (DIR) CSS white-space property
       - Games   ESNextTris     TETRIS.COM     JavaScript Tetris in 1.5 kB     Sirtet     Hextris     KotlinTris     Duotris     Scaltris     TypeTris     GoTris     Elmtris     Reactris     Blaztris     Pytris     Delphi Tetris      
 (DIR) Games
       - ESNextTris    
 (DIR) ESNextTris
       - TETRIS.COM    
 (DIR) TETRIS.COM
       - JavaScript Tetris in 1.5 kB    
 (DIR) JavaScript Tetris in 1.5 kB
       - Sirtet    
 (DIR) Sirtet
       - Hextris    
 (DIR) Hextris
       - KotlinTris    
 (DIR) KotlinTris
       - Duotris    
 (DIR) Duotris
       - Scaltris    
 (DIR) Scaltris
       - TypeTris    
 (DIR) TypeTris
       - GoTris    
 (DIR) GoTris
       - Elmtris    
 (DIR) Elmtris
       - Reactris    
 (DIR) Reactris
       - Blaztris    
 (DIR) Blaztris
       - Pytris    
 (DIR) Pytris
       - Delphi Tetris    
 (DIR) Delphi Tetris
       - golang   Overriding methods in Golang     Running Go tests in VSCode with CGO     io.MultiWriter gotcha!      
 (DIR) golang
       - Overriding methods in Golang    
 (DIR) Overriding methods in Golang
       - Running Go tests in VSCode with CGO    
 (DIR) Running Go tests in VSCode with CGO
       - io.MultiWriter gotcha!    
 (DIR) io.MultiWriter gotcha!
       - Graphics   Rascal     Creating SVG from JavaScript     One SVG to rule them all     JavaScript port of 40 C=64 graphics      
 (DIR) Graphics
       - Rascal    
 (DIR) Rascal
       - Creating SVG from JavaScript    
 (DIR) Creating SVG from JavaScript
       - One SVG to rule them all    
 (DIR) One SVG to rule them all
       - JavaScript port of 40 C=64 graphics    
 (DIR) JavaScript port of 40 C=64 graphics
       - About me    
 (DIR) About me
       - lastcrud   Lastcrud logo      
 (DIR) lastcrud
       - Lastcrud logo    
 (DIR) Lastcrud logo
       - Beautiful mathematics   WebGL Mandelbrot     Pythagoras theorem     Game of Life and Death     Fixed point explanatorial      
 (DIR) Beautiful mathematics
       - WebGL Mandelbrot    
 (DIR) WebGL Mandelbrot
       - Pythagoras theorem    
 (DIR) Pythagoras theorem
       - Game of Life and Death    
 (DIR) Game of Life and Death
       - Fixed point explanatorial    
 (DIR) Fixed point explanatorial
       - News   Gopher enabled     I have a .plan!      
 (DIR) News
       - Gopher enabled    
 (DIR) Gopher enabled
       - I have a .plan!    
 (DIR) I have a .plan!
       - nimma.codes    
 (DIR) nimma.codes
       - Price list 2026    
 (DIR) Price list 2026
       - Projects   Niensje’s Theaterzolder     (Y)our project here?     Sierpinski fractal in 28 bytes     getmockupdata.com     FLAC player     Stachys     Colossus PoC     Lastcrud     Hacker News Client     Conspectus dashboard     shakehands     Dropzone GPX preview     Boring reports     Upgrade application without source code     Faddy webserver     snor     http2gopher      
 (DIR) Projects
       - Niensje’s Theaterzolder    
 (DIR) Niensje’s Theaterzolder
       - (Y)our project here?    
 (DIR) (Y)our project here?
       - Sierpinski fractal in 28 bytes    
 (DIR) Sierpinski fractal in 28 bytes
       - getmockupdata.com    
 (DIR) getmockupdata.com
       - FLAC player    
 (DIR) FLAC player
       - Stachys    
 (DIR) Stachys
       - Colossus PoC    
 (DIR) Colossus PoC
       - Lastcrud    
 (DIR) Lastcrud
       - Hacker News Client    
 (DIR) Hacker News Client
       - Conspectus dashboard    
 (DIR) Conspectus dashboard
       - shakehands    
 (DIR) shakehands
       - Dropzone GPX preview    
 (DIR) Dropzone GPX preview
       - Boring reports    
 (DIR) Boring reports
       - Upgrade application without source code    
 (DIR) Upgrade application without source code
       - Faddy webserver    
 (DIR) Faddy webserver
       - snor    
 (DIR) snor
       - http2gopher    
 (DIR) http2gopher
       - My SQLite knowledge    
 (DIR) My SQLite knowledge
       - My SVG knowledge    
 (DIR) My SVG knowledge
       - My talks   What’s HIP in MMXIII?     Angular in 60 minutes     Bash completion     Bouwblokken om een nieuwe taal te leren     Writing an Commodore 64 emulator     Colors - how do they work?     Introduction WebAssembly (WASM)     Computer graphics     C.R.A.P. design principles     container2wasm     Wat is hip in MMXIII?     What’s HIP in MMXXVI?     Timing attacks     Lisp introduction     [Talk] Midnight Commander     Vuetify     OAuth2 & OpenID Connect     Scratch introduction     6510 CPU introduction     Vue 3     [Talk] SQLite <3     [Talk] <svg> - made by thee     [Talk] tmux     [Talk] Datacompressie     [Talk] Tetris4life     Modernizing Web Forms.NET      
 (DIR) My talks
       - What’s HIP in MMXIII?    
 (DIR) What’s HIP in MMXIII?
       - Angular in 60 minutes    
 (DIR) Angular in 60 minutes
       - Bash completion    
 (DIR) Bash completion
       - Bouwblokken om een nieuwe taal te leren    
 (DIR) Bouwblokken om een nieuwe taal te leren
       - Writing an Commodore 64 emulator    
 (DIR) Writing an Commodore 64 emulator
       - Colors - how do they work?    
 (DIR) Colors - how do they work?
       - Introduction WebAssembly (WASM)    
 (DIR) Introduction WebAssembly (WASM)
       - Computer graphics    
 (DIR) Computer graphics
       - C.R.A.P. design principles    
 (DIR) C.R.A.P. design principles
       - container2wasm    
 (DIR) container2wasm
       - Wat is hip in MMXIII?    
 (DIR) Wat is hip in MMXIII?
       - What’s HIP in MMXXVI?    
 (DIR) What’s HIP in MMXXVI?
       - Timing attacks    
 (DIR) Timing attacks
       - Lisp introduction    
 (DIR) Lisp introduction
       - [Talk] Midnight Commander    
 (DIR) [Talk] Midnight Commander
       - Vuetify    
 (DIR) Vuetify
       - OAuth2 & OpenID Connect    
 (DIR) OAuth2 & OpenID Connect
       - Scratch introduction    
 (DIR) Scratch introduction
       - 6510 CPU introduction    
 (DIR) 6510 CPU introduction
       - Vue 3    
 (DIR) Vue 3
       - [Talk] SQLite <3    
 (DIR) [Talk] SQLite <3
       - [Talk] <svg> - made by thee    
 (DIR) [Talk] <svg> - made by thee
       - [Talk] tmux    
 (DIR) [Talk] tmux
       - [Talk] Datacompressie    
 (DIR) [Talk] Datacompressie
       - [Talk] Tetris4life    
 (DIR) [Talk] Tetris4life
       - Modernizing Web Forms.NET    
 (DIR) Modernizing Web Forms.NET
       - Tetris    
 (DIR) Tetris
       - Tools   Exeplorer (beta)     JWT Decoder     Convert CSV and TSV      
 (DIR) Tools
       - Exeplorer (beta)    
 (DIR) Exeplorer (beta)
       - JWT Decoder    
 (DIR) JWT Decoder
       - Convert CSV and TSV    
 (DIR) Convert CSV and TSV
       - usability   Expertise spectrum UIs      
 (DIR) usability
       - Expertise spectrum UIs    
 (DIR) Expertise spectrum UIs
       - Wonderings   Think in problems     reading > writing?     Developer litmus test     Software as a commodity     DOM ≠ SOLID     Rat race     More code!     Metrics     AI     Government economics     Weight loss     Where lies the truth?     Rolschaatsen in Lent     He who says A must also say B     No code paradox     Search’n’replace     Locked out!     Productivity     End users     Rolschaatsen in Lent - part deux      
 (DIR) Wonderings
       - Think in problems    
 (DIR) Think in problems
       - reading > writing?    
 (DIR) reading > writing?
       - Developer litmus test    
 (DIR) Developer litmus test
       - Software as a commodity    
 (DIR) Software as a commodity
       - DOM ≠ SOLID    
 (DIR) DOM ≠ SOLID
       - Rat race    
 (DIR) Rat race
       - More code!    
 (DIR) More code!
       - Metrics    
 (DIR) Metrics
       - AI    
 (DIR) AI
       - Government economics    
 (DIR) Government economics
       - Weight loss    
 (DIR) Weight loss
       - Where lies the truth?    
 (DIR) Where lies the truth?
       - Rolschaatsen in Lent    
 (DIR) Rolschaatsen in Lent
       - He who says A must also say B    
 (DIR) He who says A must also say B
       - No code paradox    
 (DIR) No code paradox
       - Search’n’replace    
 (DIR) Search’n’replace
       - Locked out!    
 (DIR) Locked out!
       - Productivity    
 (DIR) Productivity
       - End users    
 (DIR) End users
       - Rolschaatsen in Lent - part deux    
 (DIR) Rolschaatsen in Lent - part deux