| 2026 |
|
|
Optimizing memory use in a Markdown parser
|
|
Letting AI agents drive a GUI app with -dbg-control
|
|
Finding active GitHub forks from the command line
|
|
Speeding up JavaScript function with AI help
|
|
How to run msvc cl.exe from command-line (powershell)
|
| 2025 |
|
|
Benchmarking JSON vs TOON in Go
|
|
From JSON to TOON
|
|
Ideas for faster web dev cycle
|
|
Zed debug setup for go server / Svelte web app
|
|
lazy import of JavaScript modules
|
|
Using await in Svelte 5 components
|
|
vite /rollup manualChunks
|
|
File sync is very slow
|
|
Desktop UI frameworks written by a single person
|
|
Calling Grok, OpenAI, Anthropic, Google, OpenRouter API from the browser
|
|
Implementing UI translation in SumatraPDF, a C++ Windows application
|
|
Case study of over-engineered C++ code
|
|
Explaining nil interface{} gotcha in Go
|
|
Size textarea to content
|
|
All about Svelte 5 snippets
|
|
C++ engineering decision in SumatraPDF code
|
|
Bugs I fixed in SumatraPDF
|
|
Implementation of optimized vector of strings in C++ in SumatraPDF
|
|
Automatic Chrome Dev Tools workspace setup
|
|
How I made SumatraPDF crash less
|
|
Compressing for the browser in Go
|
|
Implementing nested context menu in Svelte 5
|
|
Optimizing calling Windows DLL functions in Go
|
|
Simplest C++ callback, from SumatraPDF
|
|
Why Go iterators are ugly, clever and elegant
|
|
Showing UI on mouse move, in Svelte 5
|
| 2024 |
|
|
Man vs. AI: optimizing JavaScript (Claude, Cursor)
|
|
Modern C++
|
|
Implementing Notion-like table of contents in JavaScript
|
|
Porting a medium-sized Vue application to Svelte 5
|
| 2023 |
|
|
How I implemented wc in the browser in 3 days
|
|
Advanced markdown processing in Go
|
|
Persisted Svelte store using IndexedDB
|
|
Programming articles
|
| 2022 |
|
|
Tech note: speed of iteration in programming
|
|
Extreme #include discipline for C++ code
|
| 2021 |
|
|
Using Go instead of bash for scripts
|
|
Using GitHub Actions with Go
|
|
Pure Bash Bible
|
|
siser
|
|
Hide header on scroll in Svelte
|
|
Logging HTTP requests in Go
|
|
Lessons learned from 15 years of SumatraPDF
|
| 2019 |
|
|
The things we do to ship desktop software
|
|
Lessons learned porting 50k loc from Java to Go
|
|
Trade-offs in designing a versatile log format
|
| 2018 |
|
|
Portable Executable File Format
|
|
How I reverse engineered Notion API
|
|
Advanced web spidering with Puppeteer
|
|
Fuzzing a Markdown parser written in Go
|
| 2017 |
|
|
Guide to predefined macros in C++ compilers (GCC, Clang, MSVC, etc.)
|
|
Analyzing browserify bundles to minimize JavaScript bundle size
|
| 2016 |
|
|
Optimizing JavaScript by using arrays instead of objects
|
| 2015 |
|
|
Extracting files from .7z archives in Go
|
|
Better unique id generation than UUID
|
|
Accessing GitHub API from Go
|
| 2014 |
|
|
Improving speed of SMAZ compressor by 2.6x/1.5x
|
|
Tip for per-test verbose logging in Go
|
| 2013 |
|
|
Using Fabric for deploying server software
|
|
How I ported pigz from Unix to Windows
|
| 2012 |
|
|
Thoughts on Go after writing 3 websites
|
|
Design and implementation of a translation system for desktop software
|
|
Speeding up Go with custom allocators
|
|
How I sped up Go by 20% (or is Go really slower than Java?)
|
|
Buying a certificate for signing Windows applications
|
| 2011 |
|
|
Showing HTML from memory in an embedded web control on Windows
|
|
Experience porting 4k lines of C code to Go
|
|
Easy vs. probable or how to make money with software
|
|
XML is really, really slow
|
|
Writing a custom installer for Windows software
|
| 2010 |
|
|
Comparison of executable compressors: UPX 3.07w vs. MPRESS 2.17
|
|
Using averages - a common performance measurement mistake
|
|
8 habits for becoming a better programmer
|
|
Preventing duplicate posts in forum or blog-commenting software
|
|
Tools that find bugs in C and C++ code via static code analysis
|
|
Summary of talk on continuous deployment
|
| 2009 |
|
|
Where do bugs come from?
|
| 2008 |
|
|
realloc() on Windows vs. Linux
|
|
gflags - a debugging story
|
|
Variadic Macros (C++)
|
| 2007 |
|
|
Sane #include hierarchy for C and C++
|
| 2006 |
|
|
How I improved SumatraPDF performance by ~60%
|
|
Order of #include headers in C/C++
|
|
Performance optimization story
|
|
Embedding binary resources on Windows
|
|
Compile-time asserts in C
|
| 2005 |
|
|
High-resolution timer for timing code fragments
|
|
Accurate timers on Windows
|
| 2002 |
|
|
Bugs and eyeballs
|
|
Engineering school (summary of Rick Catell talk)
|