Software-Related Projects of Heikki Toivonen

Open Source Software Projects of Heikki Toivonen

Personal public GitHub projects
All new open source projects will appear under my personal public GitHub profile: github.com/heikkitoivonen
GitHub contributions under Quixey
Public GitHub contributions when I worked at Quixey: heikkiquixey.
CaltrainPy and CaltrainJS
CaltrainPy is a Caltrain schedule application written with Python + Tkinter. I made it originally for my Windows Mobile device, but it also runs on desktops. CaltrainJS is another Caltrain schedule application written in JavaScript, and it is accessible from caltrain.heikkitoivonen.net. This also is meant primarily for Windows Mobile (Interner Explorer Mobile) but runs of course in desktop browsers, iPhone and so on.
Chandler
I participated in the Chandler project between 2003 and 2008 doing lots of different things, but my main code contributions were in adding SSL/TLS support to Chandler. Programmed mostly in Python. I also localized Chandler into Finnish.
ChandlerQE for Android
I got the idea for ChandlerQE for Android from an iPhone version, and wrote the Android version in 2009 in Java.
Django-Solu
Django-Solu is a port of my Solu (see below) web application to Django. I used it as a way to gain practical experience with the Django Python web framework. I used the Django templates and database layer. I also did some additional front-end coding using JavaScript and the jQuery Javascript library.
Xmarks (formerly Foxmarks)
Xmarks is not really open source, but I localized Xmarks to Finnish using the BabelZilla service.
M2Crypto
I was the maintainer of M2Crypto for 9 years. M2Crypto is the most complete OpenSSL wrapper for Python. Parts are programmed with C (and SWIG), as well as Python.
m2secret
An M2Crypto-based encryption/decryption module and CLI utility written in Python.
Mozilla
I participated in the Mozilla project from 1998 to 2004. My main contributions were in (X)HTML, XML and especially XMLHttpRequest features and improvements. I programmed mostly with C++, with some JavaScript and XUL thrown in.
Pan
I started working on adding SSL/TLS support to Pan2, a news program. At this point I have only added the GUI parts using GTK and C++.
PyDev
PyDev is an Eclipse plugin which makes developing Python a joy in Eclipse. I submitted two patches that were integrated into 0.9.4. Written in Java.
PyEGADS
I wrote a Python wrapper for EGADS, which is a cryptographically strong pseudo-random number generator and entropy daemon. EGADS seem to be very resource heavy, so it was great there was no need to use it after all. Python, C, SWIG.
silmut (website gone)
Silmut is a TICKET, CMP etc. compliance testsuite for Cosmo, the Chandler Server. It is in fact one of the first test suites for Cosmo. I wrote it in Python, and the main idea is that you write tests in Python doctests. The silmut module has convenience functions for common operations.
Solu
Solu is a small web application meant to make it easy to find resources in an office. It started as a way for me to learn about doing REST with Python, and ended up with me scratching my itch to find my colleagues, printers, meetings rooms and so on in my new job. Written in Python and Javascript using the Werkzeug Python web framework, Mako Templates, SQLAlchemy and the jQuery Javascript library.
Twiki
I started the Finnish localization effort of Twiki. It is not yet completed.
XPN
I made a patch to add SSL/TLS support to XPN news program, written in Python.
Zanshin
Zanshin is a library for collaboration over HTTP, WebDAV and CalDAV. I started the access control module for it. The access control code is not finished, and I am not happy with the approach I took, so I would probably restart from scratch if I were to take another stab at it. Written in Python.

Other Software-Related Projects of Heikki Toivonen

Bacon Rank (website gone)
Bacon Rank is a tongue-in-cheek project where on one hand I learned about Turbo Gears 2 Python web application development, and on the other hand about writing graphically appealing Android applications that deal gracefully with networking. You can read more about this and other Android projects here.
Caltroid
Caltroid is yet another Caltrain schedule program, this time for Google Android devices. An additional feature is that it can use GPS to locate the nearest station. Written in Java. Caltroid was Open Source through versions 0.1-0.3.
d20 Ability Calculator for Android
A little utility for people who play role playing games using the d20 System, like Dungeons & Dragons. Written in Java.
horsetrailratings.com (website gone)
In order to learn Pylons (a Python web framework) I created horsetrailratings.com. The first version went live after one week of development. Besides Pylons, I had to learn SQLAlchemy, Paste, Beaker, Paginate, Routes, Mako Templates, FormEncode, FastCGI, WSGI and refresh up on SQL and MySQL and how to deploy Pylons applications on Dreamhost. You can read more about it here.
www.svsuomikoulu.org
I volunteered as webmaster for the non-profit Finnish Language School of Silicon Valley for 8 years. I moved the site to Dreamhost, which offers free hosting for non-profits, put the code in Subversion and made it so Subversion updates get automatically pushed to live site. Additionally, to enable the staff to easily update the site made it so WebDAV enabled software can be used to do updates, like the cross-platform Seamonkey WYSIWYG HTML editor. You can read more about this project here.

Patents

System and Method for Event-Based Synchronization of Remote and Local File Systems, US US20140040197 A1, Issued Aug 2, 2013
A method for synchronizing a file system (FS) and a remote file system (RFS) includes monitoring the FS for FS events, generating FS event records, receiving RFS event records of RFS events, generating file system operations (FSOs) based on the FS and RFS event records, and communicating the FSOs to the FS and RFS to synchronize them. A method for generating the FSOs includes accessing a plurality of FS and/or RFS event records, processing the accessed records to generate processed event records, generating the FSOs based on the processed event records, and outputting the FSOs to cause synchronization of the FS and RFS. Systems are also described. The invention facilitates event-based, steady-state synchronization of local and remote file systems.