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 |
October 13 |
How I implemented Oembed Proxy for GitHub
in: programming, software
|
July 30 |
Powering a blog with Notion and Netlify
in: notion
|
23 |
How I reverse engineered Notion API
in: notion
|
18 |
Advanced web spidering with Puppeteer
in: programming
|
January 31 |
Fuzzing Markdown parser written in Go
in: go, programming
|
2017 |
December 24 |
57 MicroConf videos for self-funded software businesses
in: business
|
November 20 |
How to install latest clang (6.0) on Ubuntu 16.04 (xenial) / WSL
in: unix
|
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
|
2 |
Experience porting 4.5k loc of C to Go (Facebook's CSS flexbox implementation Yoga)
in: go
|
July 23 |
Using MySQL in Docker for local testing In Go
in: go
|
20 |
Rotate log files daily in Go
in: go
|
17 |
Simple serialization format for logging and analytics in Go
in: go
|
13 |
Embedding build number in Go executable
in: go
|
9 |
3 ways to iterate in Go
in: go
|
2 |
HTTPS for free in Go, with little help of Let's Encrypt
in: go
|
June 23 |
Solo founders with profitable businesses, collected stories
in: business
|
23 |
Advanced command execution in Go with os/exec
in: go
|
21 |
Generating good unique ids in Go
in: go
|
February 11 |
Blueprint for deploying web apps on CoreOS
in: devops, go
|
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 |
June 3 |
Extracting files from .7z archives in Go
in: go, programming
|
February 12 |
Accessing GitHub API from Go
in: go, programming
|
12 |
Go package for better guid generation
in: go, programming
|
2014 |
December 11 |
Improving speed of SMAZ compressor by 2.6x/1.5x
in: go, programming
|
3 |
Tip for per-test verbose logging in Go
in: programming, go
|
October 29 |
SumatraPDF 3.0 released
in: releasenotes, sumatra
|
May 14 |
SumatraPDF 2.5.2 released
in: releasenotes, sumatra
|
2013 |
October 30 |
Using Fabric for deploying server software
in: programming
|
29 |
Pigz windows port 2.3.1 released
in: software, releasenotes
|
27 |
The Silver Searcher windows port
in: software
|
3 |
SumatraPDF 2.4 released
in: sumatra, releasenotes
|
March 20 |
How I ported pigz from Unix to Windows
in: programming
|
19 |
Pigz windows port
in: software
|
2012 |
December 31 |
Thoughts on Go after writing 3 websites
in: go, programming
|
25 |
SumatraPDF 2.2 released
in: sumatra, releasenotes
|
16 |
Design and implementation of translation system for desktop software
in: programming, sumatra
|
November 26 |
Speeding up Go with custom allocators
in: go, programming
|
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: sumatra
|
3 |
SumatraPDF 2.1 released
in: sumatra, releasenotes
|
April 15 |
Buying a certificate for signing windows applications
in: programming
|
2 |
SumatraPDF 2.0 released
in: sumatra, 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: sumatra, releasenotes
|
September 18 |
SumatraPDF 1.8 released
in: sumatra, releasenotes
|
July 17 |
SumatraPDF 1.7 released
in: sumatra, 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: sumatra, 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: sumatra, releasenotes
|
March 12 |
SumatraPDF 1.4 released
in: sumatra, releasenotes
|
10 |
XML is really, really slow
in: programming
|
February 8 |
My social marketing failure
in: software, business, sumatra
|
7 |
SumatraPDF 1.3 released
in: sumatra, releasenotes
|
6 |
Writing a custom installer for Windows software
in: sumatra, programming
|
2010 |
December 19 |
Executable compressors comparisons: upx 3.07w vs. mpress 2.17
in: sumatra, programming
|
5 |
Which technology for writing desktop software?
in: programming
|
3 |
SumatraPDF 1.2 released
in: sumatra
|
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 25 |
Comparing program versions (in C# and Python)
in: programming, c#, python
|
24 |
Searching for available DBA name in San Francisco
in: business
|
23 |
Introduction to PartCover - a short manual
in: .net
|
23 |
Converting PartCover results to html
in: .net
|
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: sumatra
|
5 |
How to accept online payments
in: business
|
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
|
18 |
BitTorrent-based, large file distribution for HTTP
in: idea
|
January 4 |
You have to implement to understand
|
2 |
Best captcha is exotic captcha
|
2009 |
November 18 |
SumatraPDF 1.0 released
in: sumatra
|
1 |
15minutes for mac updated
in: software
|
July 20 |
Sumatra 0.9.4 release
in: sumatra
|
June 4 |
Network drives, .net, security and virtualbox
in: .net, c#
|
March 14 |
Forcing basic http authentication for HttpWebRequest (in .NET/C#)
in: .net, c#
|
13 |
Setting up s3 logging
in: aws
|
8 |
Parsing s3 log files in python
in: aws, python
|
7 |
Compacting s3 aws logs
in: aws, python
|
5 |
How content-based addressing can help web performance
|
February 24 |
ssh tips
in: ssh, unix, svn, reference
|
24 |
Where do bugs come from?
in: programming
|
22 |
Summary of David Ditzel talk on binary translation
in: talk, summary
|
20 |
Exporting data from EverNote
|
18 |
App Engine as generic web host
in: appengine
|
18 |
Profiling tools for C/C++ on windows, mac and linux
in: debugging, profiling, programming
|
2008 |
December 13 |
Mac program scheduling (like crontab)
in: mac
|
October 2 |
SumatraPDF 0.9.3 released
in: sumatra
|
August 24 |
SumatraPDF 0.9.1 released
in: sumatra
|
11 |
SumatraPDF 0.9 released
in: sumatra
|
11 |
Results of tweaking compiler flags before 0.9 release
in: sumatra, optimization, programming
|
July 27 |
realloc() on Windows vs. Linux
in: programming, optimization
|
May 28 |
SumatraPDF 0.8.1 release
in: sumatra
|
April 16 |
Remapping Page Up and Page Down on Mac to move a cursor
in: mac
|
7 |
gflags - a debugging story
in: programming, debugging, win32
|
4 |
Variadic Macros (C++)
in: visual studio, c++
|
March 27 |
making unix user a sudoer
in: unix
|
20 |
Reverse DNS lookup
in: unix, networking
|
19 |
backtrace_symbols() and -rdynamic in gcc
in: programming, mac, gcc
|
15 |
Objective-C patterns
in: objective c, cocoa
|
13 |
Valgrind basics
in: unix, debugging, programming
|
13 |
enabling coredumps
in: unix, debugging
|
January 6 |
Logging in WinDBG
in: debugging, windbg
|
3 |
Sumatra 0.8 released
in: sumatra
|
2007 |
July 29 |
Sumatra PDF 0.7 released
in: sumatra
|
June 24 |
Sane #include hierarchy for C and C++
in: programming, c, c++
|
April 29 |
SumatraPDF 0.6 released
in: sumatra
|
29 |
A debugging story
in: debugging, windbg
|
13 |
Few things I’ve learned when writing Sumatra PDF
in: sumatra
|
11 |
2 great books and one not so great
|
March 4 |
SumatraPDF 0.5 released
in: sumatra
|
February 19 |
SumatraPDF 0.4 released
in: sumatra
|
15 |
memset() considered harmful
in: programming
|
2006 |
November 26 |
Sumatra PDF 0.3 released
in: sumatra
|
22 |
Talk on designing good APIs
in: programming
|
September 21 |
Navigating source code in large programs
|
6 |
Gdb basics
in: gdb, unix, programming
|
2 |
On how I improved Sumatra performance by ~60%
in: sumatra, optimization, programming, profiling
|
August 17 |
A simple captcha scheme
|
16 |
Paradox of bad comments
|
14 |
Performance optimization story
in: programming, optimization
|
7 |
The missing msvcr80.dll story
in: programming, msvc
|
6 |
Sumatra PDF 0.2 released
in: sumatra
|
June 6 |
Short tutorial on svn propset for svn:externals property
in: svn
|
3 |
Sumatra PDF is born
in: sumatra
|
March 17 |
Designing web forums software
|
11 |
Document your software
|
February 11 |
C portability notes
in: c, programming
|
January 29 |
Embedding binary resources on Windows
in: win32, c, programming
|
25 |
Make C code safe for C++
in: c, 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 |
Local DNS modifications on Windows (/etc/hosts equivalent)
in: windows
|
30 |
Accurate timers on Windows
in: win32, programming
|
27 |
Another lesson in entrepreneurship
in: business
|
27 |
Serialization in C#
in: c#, .net
|
October 26 |
Code-name Monad and the value of different perspective
|
2004 |
July 1 |
Review of “Hot text - web writing that works”
in: book, review
|
2003 |
December 7 |
Making money with shareware software
in: business
|
2 |
Royalties in game business
in: business
|
October 20 |
Marketing and shareware articles
in: business
|
13 |
A shameless rip-off, or what did you expect?
|
September 7 |
Not as happy as you thought you will be
|
July 9 |
How much can you make writing computer books
|
3 |
O’Reilly on software
|
June 30 |
Programmers don’t steal enough
|
27 |
Software can always be better
|
12 |
Writing to sell
in: business, writing
|
11 |
On difference between amateur and professional shareware
in: business
|
May 10 |
Carmack on creativity
in: quotes
|
2002 |
November 17 |
Good programming practices
|
6 |
How to refuse features
|
5 |
How to sell software
|
September 17 |
You’ll have a job
|
9 |
You won’t make money blogging
|
August 27 |
The future is here, it’s just not evenly distributed
|
July 26 |
Principle of good design: discoverability
in: ui design
|
23 |
Open Source is Philanthropy
in: quote, business
|
19 |
Bugs and eyeballs
in: quote, programming
|
17 |
Laws of marketing #22 (resources)
|
16 |
Laws of marketing #21 (acceleration)
|
16 |
Laws of marketing #20 (hype)
|
14 |
Laws of marketing #19 (failure)
|
14 |
Laws of marketing #18 (success)
|
13 |
Laws of marketing #17 (unpredictability)
|
13 |
Laws of marketing #16 (singularity)
|
12 |
Laws of marketing #15 (candor)
|
12 |
Fine interview with Marcelo Tosatti
|
12 |
Laws of marketing #14 (attributes)
|
11 |
Laws of marketing #13 (sacrifice)
|
11 |
Laws of marketing #12 (line extension)
|
11 |
Laws of marketing #11 (perspective)
|
10 |
Laws of marketing #10 (division)
|
10 |
Laws of marketing #9 (opposite)
|
7 |
Laws of marketing #8 (duality)
|
7 |
Laws of marketing #7 (ladder)
|
7 |
Laws of marketing #6 (exclusivity)
|
6 |
Laws of marketing #5 (focus)
|
6 |
Laws of marketing #4 (perception)
|
5 |
Laws of marketing #3 (mind)
|
4 |
Laws of marketing #2 (category)
|
2 |
Laws of marketing #1 (leadership)
|
June 16 |
On “The 22 Immutable Laws Of Marketing”
in: book
|
1 |
Summary of the book "The 22 Immutable Laws of Marketing"
|
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
|