Software
Writings
Contact Me

Recently I wrote
Man vs. AI: optimizing JavaScript (Claude, Cursor) in: programming ai
Implementing Notion-like table of contents in JavaScript in: programming, javascript, webdev
Porting a medium-sized Vue application to Svelte 5 in: svelte, programming
Changing font size in Windows dialog in C++ in: SumatraPDF, c++, win32
How I implemented wc in the browser in 3 days in: svelte, programming
Advanced markdown processing in Go in: go, programming
Persisted Svelte store using IndexedDB in: programming, svelte
Find programming work by increasing luck surface area in: business
Extreme #include discipline for C++ code in: programming, c++, SumatraPDF
@levelsio and survivorship bias in: business
Lessons learned from 15 years of SumatraPDF, an open source Windows app in: SumatraPDF, programming
How I use Roam Research
The things we do to ship desktop software in: programming
Lessons learned porting 50k loc from Java to Go in: programming, go
Trade offs in designing versatile log format in: programming, go
Powering a blog with Notion and Netlify in: notion
How I reverse engineered Notion API in: notion, programming, go
Advanced web spidering with Puppeteer in: programming
57 MicroConf videos for self-funded software businesses in: business
Guide to predefined macros in C++ compilers (gcc, clang, msvc etc.) in: programming, c++