Home
Software
Writings
Contact Me
all 224   
book 1   
business 14   
c 5   
c++ 6   
debugging 2   
go 33   
indiehacker 1   
javascript 4   
marketing 1   
note 1   
notion 3   
optimization 3   
productivity 2   
profiling 1   
programming 57   
python 1   
quote 1   
reference 4   
releasenotes 13   
review 1   
software 2   
ssh 1   
SumatraPDF 39   
summary 1   
svelte 4   
talk 1   
ui design 1   
unix 1   
visual studio 1   
webdev 3   
win32 6   
windbg 1   
windows 1   
writing 1   
117 articles
2024
August 29 Man vs. AI: optimizing JavaScript (Claude, Cursor) in: programming ai
24 Implementing Notion-like table of contents in JavaScript in: programming, javascript, webdev
June 27 Porting a medium-sized Vue application to Svelte 5 in: svelte, programming
April 10 Changing font size in Windows dialog in C++ in: SumatraPDF, c++, win32
2023
March 21 How I implemented wc in the browser in 3 days in: svelte, programming
11 Advanced markdown processing in Go in: go, programming
9 Persisted Svelte store using IndexedDB in: programming, svelte
2022
June 29 Find programming work by increasing luck surface area in: business
April 12 Extreme #include discipline for C++ code in: programming, c++, SumatraPDF
2021
October 20 @levelsio and survivorship bias in: business
July 25 Lessons learned from 15 years of SumatraPDF, an open source Windows app in: SumatraPDF, programming
June 27 How I use Roam Research
2019
May 1 The things we do to ship desktop software in: programming
April 5 Lessons learned porting 50k loc from Java to Go in: programming, go
March 25 Trade offs in designing versatile log format in: programming, go
2018
July 30 Powering a blog with Notion and Netlify in: notion
23 How I reverse engineered Notion API in: notion, programming, go
18 Advanced web spidering with Puppeteer in: programming
2017
December 24 57 MicroConf videos for self-funded software businesses in: business
November 7 Guide to predefined macros in C++ compilers (gcc, clang, msvc etc.) in: programming, c++
August 4 Tutorial for github.com/kjk/flex Go package (implementation of CSS flexbox algorithm) in: go
June 23 Solo founders with profitable businesses, collected stories in: business
January 4 Analyzing browserify bundles to minimize JavaScript bundle size in: programming, javascript
2016
October 23 Optimizing JavaScript by using arrays instead of objects in: programming, javascript
2015
February 12 Go package for better guid generation in: go, programming
2014
December 3 Tip for per-test verbose logging in Go in: programming, go
October 29 SumatraPDF 3.0 released in: releasenotes, SumatraPDF
May 14 SumatraPDF 2.5.2 released in: releasenotes, SumatraPDF
2013
October 30 Using Fabric for deploying server software in: programming
3 SumatraPDF 2.4 released in: SumatraPDF, releasenotes
March 20 How I ported pigz from Unix to Windows in: programming
2012
December 31 Thoughts on Go after writing 3 websites in: go, programming
25 SumatraPDF 2.2 released in: SumatraPDF, releasenotes
16 Design and implementation of translation system for desktop software in: programming, SumatraPDF
October 22 Hiding duplicate content from your site via robots.txt in: webdev
September 16 How I sped up Go by 20% (or is Go really slower than Java?) in: go, programming
May 4 Websites with free ePub and mobi ebooks in: SumatraPDF
3 SumatraPDF 2.1 released in: SumatraPDF, releasenotes
April 15 Buying a certificate for signing windows applications in: programming
2 SumatraPDF 2.0 released in: SumatraPDF, releasenotes
2011
December 9 A list of chm readers/viewers for Windows in: software, windows
November 30 Showing html from memory in embedded web control on windows in: note, win32, programming
24 SumatraPDF 1.9 released in: SumatraPDF, releasenotes
September 18 SumatraPDF 1.8 released in: SumatraPDF, releasenotes
July 17 SumatraPDF 1.7 released in: SumatraPDF, releasenotes
June 30 How to make software crash less in: programming
1 Experience porting 4k lines of C code to go in: go, programming
May 30 SumatraPDF 1.6 released in: SumatraPDF, releasenotes
14 Easy vs. probable or how to make money with software in: programming, business
7 90% of success is showing up - a proof
April 23 SumatraPDF 1.5 released in: SumatraPDF, releasenotes
March 12 SumatraPDF 1.4 released in: SumatraPDF, releasenotes
10 XML is really, really slow in: programming
February 8 My social marketing failure in: software, business, SumatraPDF
7 SumatraPDF 1.3 released in: SumatraPDF, releasenotes
6 Writing a custom installer for Windows software in: SumatraPDF, programming
2010
December 19 Executable compressors comparisons: upx 3.07w vs. mpress 2.17 in: SumatraPDF, programming
3 SumatraPDF 1.2 released in: SumatraPDF
November 24 Using averages - a common performance measurement mistake in: programming
5 8 habits for becoming a better programmer in: programming
October 26 Simple duplicate post detection for your blog, forum or commenting software in: programming
24 Value your time in: productivity
3 Startup management lessons from “The Social Network” in: business
2 Marketing lessons from WebP launch in: business
August 13 SEO is harder than you think in: marketing, business
July 7 Tools that find bugs in c and c++ code via static code analysis in: programming, c, c++
June 13 Go vs. Python for a simple web server in: python, go
May 20 SumatraPDF 1.1 release in: SumatraPDF
3 Summary of talk on continuous deployment in: programming
2 uISV stories in: business
April 20 Productivity ideas in: productivity
19 E-books economics in: business
January 4 You have to implement to understand
2 Best captcha is exotic captcha
2009
November 18 SumatraPDF 1.0 released in: SumatraPDF
July 20 Sumatra 0.9.4 release in: SumatraPDF
February 24 Where do bugs come from? in: programming
24 ssh tips in: ssh, unix, reference
22 Summary of David Ditzel talk on binary translation in: talk, summary
2008
October 2 SumatraPDF 0.9.3 released in: SumatraPDF
August 24 SumatraPDF 0.9.1 released in: SumatraPDF
11 SumatraPDF 0.9 released in: SumatraPDF
July 27 realloc() on Windows vs. Linux in: programming, optimization
May 28 SumatraPDF 0.8.1 release in: SumatraPDF
April 7 gflags - a debugging story in: programming, debugging, win32
4 Variadic Macros (C++) in: visual studio, c++
January 3 Sumatra 0.8 released in: SumatraPDF
2007
July 29 Sumatra PDF 0.7 released in: SumatraPDF
June 24 Sane #include hierarchy for C and C++ in: programming, c, c++
April 29 SumatraPDF 0.6 released in: SumatraPDF
29 A debugging story in: debugging, windbg
13 Few things I’ve learned when writing Sumatra PDF in: SumatraPDF
March 4 SumatraPDF 0.5 released in: SumatraPDF
February 19 SumatraPDF 0.4 released in: SumatraPDF
2006
November 26 Sumatra PDF 0.3 released in: SumatraPDF
September 2 How I improved Sumatra performance by ~60% in: SumatraPDF, optimization, programming, profiling
August 16 Paradox of bad comments
14 Performance optimization story in: programming, optimization
6 Sumatra PDF 0.2 released in: SumatraPDF
June 3 Sumatra PDF is born in: SumatraPDF
March 17 Designing web forums software
11 Document your software
January 29 Embedding binary resources on Windows in: win32, c, programming
13 Compile-time asserts in C in: c, programming
13 Basics of writing DOS .bat batch files in: reference
2005
December 31 High-resolution timer for timing code fragments in: win32, c, programming
30 Accurate timers on Windows in: win32, programming
2004
July 1 Review of “Hot text - web writing that works” in: book, review
2003
June 12 Writing to sell in: business, writing
11 On difference between amateur and professional shareware in: business
2002
November 17 Good programming practices
August 27 The future is here, it’s just not evenly distributed
July 26 Principle of good design: discoverability in: ui design
19 Bugs and eyeballs in: quote, programming
February 11 Engineering school (summary of Rick Catell talk)
January 1 What I've learned from "After the Gold Rush"
2001
August 29 Things I Learned the Hard Way: Engineering and Computer Science in the Real World


Krzysztof Kowalczyk