Krzysztof Kowalczyk

3388 17th St. #202
San Francisco, CA, 94110


blog.kowalczyk.info
github.com/kjk
code.google.com/u/kkowalczyk
Google+
twitter.com/kjk
linkedin
Status I'm currently employed.
How to contact me Do you want to get in touch? Here's how.
My software Software that I wrote or contributed to, roughly in chronological order. My open-source projects are at github.com/kjk and code.google.com/u/kkowalczyk.
The Silver Searcher windows port
Ported The Silver Searcher from Unix to Windows.
Technologies used: C.
pigz windows port
Ported pigz from Unix to Windows.
Technologies used: C.
Open Garden
As a contractor working for Open Garden, I've implemented a new installer for Windows app, silent auto-update system for Windows app, crash reporting system for Windows app, adapted open-source tap driver for use in Windows app, wrote new installer and silent auto-update system for Mac app, crash reporting system for Android app, wrote continuous integration buildbot for Windows, Mac and Android apps.
Technologies used: C++, Objective-C, Python.
App Translator
Web service for crowd-sourced translations.
Technologies used: Go, Unix.
Volante
Small, fast, object-oriented, embedded database engine for C#/.NET.
Technologies used: C#.
Fotofi
A windows application for finding free stock photographs.
Technologies used: C#, WPF.
VisualAck for Mac
Like grep (or ack) but with GUI.
Technologies used: Objective-C, Cocoa (Mac native UI framework).
OpenDNS Dynamic Updater
Informs OpenDNS server about changes of IP address in a user's computer.
Technologies used: Objective-C, Cocoa (Mac version), C++/Win32 API (Windows version).
OpenDNS Diagnostic App
Diagnose DNS issue.
Technologies used: Objective-C, Cocoa (Mac version), C#/Winforms (Windows version).
OpenDNS Netgear Client
OpenDNS settings management utility for Netgear routers. Shipping with OpenDNS-enabled Netgear routers.
Technologies used: C#/Winforms.
uTorrent for Mac
Took over unfinished code from a contractor. Finished and shipped first version.
Technologies used: C++, Objective-C, Cocoa.
uTorrent for Windows
Contributed code fixes and mac/unix port of the core (non-ui) code.
Technologies used: C++.
BitTorrent SDK for Devices
Principal author of the SDK.
Technologies used: C++.
Blog engine
I wrote my blog from scratch.
Technologies used: Python, Google App Engine.
Fofou
Forum software on Google App Engine. Open-source, hobby effort.
Technologies used: Python, Google App Engine.
SumatraPDF
PDF viewer for Windows. GUI part designed and written from scratch, using raw Win32 APIs for maximum performance. 75+k lines of C++ code, around half written by me. Performance improvements to existing pdf rendering engines. Open-source, hobby effort.
https://www.ohloh.net/p/4623/contributors/19855633811562
Technologies used: C++, Windows API.
WebKit
Engine behind Apple's Safari browser. Contributed Windows and Linux/Gtk fixes. Received commit rights and review rights for the Gtk port
https://www.ohloh.net/p/WebKit/contributors/14027363190890
Technologies used: C++, Linux/GTK+ API.
Pdf viewer for Foleo
Written from scratch by me at Palm for cancelled Palm Foleo.
Technologies used: C++.
Messaging
SMS/MMS messaging application for Windows Mobile-based smartphones, shipped on Treo 750 and later. Part of 3 person team that wrote the application from scratch (60k lines of C++ code in total).
Technologies used: C++, Windows Mobile API, SMS, MMS, COM.
wTail
Small application that implements GUI version of Unix's tail for Windows. Open-source.
Technologies used: C#, WinForms.
scdiff
Small application for previewing CVS and Subversion checkins. Open-source.
Technologies used: C#.
InfoMan
Wireless information manager for Palm OS.
Technologies used: C++, Palm OS API for the client. Python and MySQL running on Linux server for the backend.
iPedia
Encyclopedia for Palm OS, MS Smartphone and Pocket PC (now known as Windows Mobile)
Technologies used: C++, Palm OS API, Windows Mobile API for the client. Python and MySQL with full-text search running on Linux server for the backend.
iNoah
Wireless dictionary for Palm OS, MS Smarphone and Pocket PC.
Technologies used: C, Palm OS API, Windows Mobile API for the client. PHP, Apache, MySQL running on Linux server for the backend.
Thesaurus
Thesaurus for Palm OS.
Technologies used: C, Palm OS API.
Noah Lite, Noah Pro
English dictionary for Palm OS. Implemented very good and fast compression so that definition lookup was fast and yet didn't consume all available memory. At the time Noah Lite was the most popular program for Palm OS (as judged by PalmGear download statistics, more than 500.000 downloads).
Technology used: C, Palm OS API, Lisp, custom-designed compression scheme for dictionary data.
AOL Server
Ported AOL Server (HTTP server like Apache) from Unix to Windows, including an libxml-based nsxml module and PostgreSQL drivers.
Technologies used: C.
Microsoft SQL Server
Part of a team working on XML technologies (implementing XML Schema as part of XQuery query language).
Technologies used: C++, XML, SQL, XML Schema, XQuery..
Microsoft Exchange
Part of a team working on store, a core exchange component.
Technologies used: C++.
French dictionary
Java applet. School project, part of 3 person team. Designed and wrote storage backend for efficient transmission of definitions over HTTP.
Technologies used: Java.
Web-based english-polish dictionary
Web front-end to english-polish dictionary.
Technologies used: perl, CGI, Apache.
Dictionary for DOS
Port of Amiga's english-polish dictionary to DOS, in C.
Technologies used: C, DOS.
Dictionary for Amiga
In high-school wrote an english-polish dictionary for Amiga OS, in 68000 assembly. GUI viewer and editor for editing dictionary database.
Technology used: Amiga OS, 68000 assembly.
Employment history
Triggit 2012/10 - present Software Engineer.
OpenDNS 20/02 - 2010/06 Software Engineer.
BitTorrent, Inc. 2007/04 - 2009/02 Senior Software Engineer. Principal author of BitTorrent SDK. Contributed to uTorrent windows client. Co-author of uTorrent Mac client.
Palm, Inc. 2004/12 - 2007/04 Software Design Engineer. Part of 3 person team that wrote, from scratch, SMS client that shipped on Treo 750w (Windows Mobile version).
Designed and implemented from scratch PDF viewer for Foleo (not released because Folea has been cancelled).
Fixed bugs and stability issues in overall system software on Treo 700w/wx.
ArsLexis 2003/05 - 2004/11 Entreprenur. Designed, developed and sold software for Palm OS, MS Smartphone and Pocket PC: Thesaurus, Noah Lite, Noah Pro, iNoah, iPedia, InfoMan. Developed the website, handled marketing and customer support, sys-admined Linux server etc.
Microsoft Corp. 1999/01 - 2003/05 Software Design Engineer. Worked as a programmer on Microsoft Exchange and Microsoft SQL Server.
Skills Expert software engineering, software design, software construction skills. 13+ years of professional programming experience.

Expert C and C++.

Advanced Windows OS programming.

Mac OS X programming.

Experience programming on Unix.

Advanced in Python.

Programmed in: JavaScript, Java, C#, SQL, Perl, PHP, x86 assember, Lisp, Scheme.

Know about: TCP/IP, XML, networking protocols (HTTP, POP3, TELNET, FTP, SMTP), HTML, web technologies, Unix administration, databases (MySQL, SQL Server, Postgress), web servers (Apache, AOLServer), SMS, MMS, XML Schema

Expert debugging skills: used Visual Studio, WinDBG, cdb, gdb. Assembly-level debugging on x86, ARM and 68000.

Extensive experience with source-code management tools (git, Subversion, CVS, internal Microsoft tool).

Familiar with profilers (used Microsoft's internal profiler tools to diagnose and fix performance problems in Exchange. Used valgrind on Linux and AQTime on Windows).

Good writing skills

Education French engineering degree equivalent to Master of Science
in Telecommunication/Computer Science from ENST de Bretagne, France, 1998