Code Examples & Open Source Contributions
Advanis programming competition
When: 2013
Tech: Python
Source: shortfunctions.py
Description: Eight programming problems, with a twist: All code in the solutions must be lambda expressions, with a maximum of eighty characters per statement. Readability ended up being the most time consuming part of my solution. I also wanted to allow for a wide range of inputs, since the challenge involved a secret test suite.
My personal website
When: 2013
Tech: HTML5 Boilerplate, Google Web Fonts, NginX, Debian Linux, Let's Encrypt SSL certificates
Source: Right click, view source.
Description: A basic personal profile website. I’ve always had an interest in web development, though I have only worked on a few websites over my career. This turned out to be a nice simple project to gain some experience with HTML5, CSS3, and responsive design on modern web browsers. I also enjoyed the systems administration aspects like setting up and maintaining Debian Linux, Nginx, DNS, SSL, and IPv6.
Python select.kevent patch
When: 2009
Tech: Python, C, Kqueue, FreeBSD, OSX
Source: kevent.patch
Submission: bugs.python.org
Description: As part of an internal telephony application framework I developed at Advanis, I wrote this enhancement to the kqueue API in Python's select module. This is related to kqueue timer facility in FreeBSD and OSX.
LuaSQL memory leak patch
When: 2007
Tech: C, Lua, LuaSQL, PostgreSQL
Submission: luaforge.net, gmane.org
Description: A quick patch for the PostgreSQL driver in LuaSQL, something I caught while doing a code review.
Coldfire Ethernet Driver
When: 2006
Tech: C, Coldfire/68K Assembly, Linux 2.6.17, uClinux, Freescale 528x/520x MCU's
Source: fec.c, fec.h, m520x.c, m528x.c, cache.patch
Description: This is a Fast Ethernet driver that I wrote for the Freescale Coldfire 528x/520x MCU's running embedded Linux. It is a drop-in replacement for the built in Coldfire Fast Ethernet driver, which had serious bugs and performance issues. I have also included a patch which enables the data cache on these MCU's for an additional performance boost.
Coldfire SDRAM tests
When: 2006
Tech: Coldfire/68K Assembly, Freescale 528x/520x MCU's, March Y algorithm
Source: sdram_test.asm
Description: Pre-boot memory testing routines. Can be used as a quick check during system start, or a more thorough check during the QA stages of manufacturing.
Coldfire/Linux SDRAM setup patch
When: 2006
Tech: C, Coldfire/68K Assembly, Linux 2.6.17, Freescale 520x MCU
Source: auto_mem.patch
Submission: uclinux.org, gmane.org
Description: A small patch to auto-detect the memory size on the 520x MCU, instead of having to define this value at config/compile time.
XinC 32 bit math functions
When: 2004
Tech: XinC, XinC Assembly
Source: xinc_math.asm
Description: Early in my career I was fortunate to receive a XinC development kit from Eleven Engineering. This code sample has few 32 bit math functions (XinC is a 16 bit processor) that I wrote for fun.