I have commit bits to dozens of free and open source projects and have been actively contributing to projects for about twenty years in a dozen languages.
PDX Git Together is the worlds first Git user group, centered in Portland, Oregon and founded by Duke. It meets on the last Wednesday of every month. Paris and Berlin now have Git user groups. Is your city next?
I helped write open source code for SolGenomics which was used in publishing the genome of the Tomato plant (Solanum lycopersicum) in Nature.
Before this work, all regular expressions in the Firefox Javascript engine (Spidermonkey) were compiled and put into memory on startup, even if they are never used. I helped Chris Leary to make regular expressions “lazy” which means they are only compiled (and hence use memory) when they are first used. This greatly reduces the startup memory footprint, which makes Firefox start faster as well. I was also added to the about:credits in Firefox for this work.
parrot-libgit2 are bindings for Parrot Virtual Machine to libgit2, the reimplementation of Git as a cross-platform, thread-safe and re-entrant C library. It is written in Winxed, a typed Javascript-ish language that runs on Parrot. This blog post goes into more details.
Helped add Perl 5 support to Travis CI.
CASH music is new kind of web software for musicians to present, socialize and sell their music. I have been working hard on making the software developer friendly, in addition to being well-tested and flexible. NEWS: The CASH Music team has recently been selected by Mozilla to be some of the first WebFWD fellows and our Kickstarter was funded!
Over ten years of history across two version control systems was converted, and large parts of the configure subsystem and test suite had to be refactored to use Git instead of Subversion. This also involved writing developer documentation on the new Git workflow for Parrot Developers , as well as a document describing Git terminology.
I am currently involved in redesigning the very core of Parrot so an efficient JIT can be implemented on top of it.
One of my current projects is writing an extremely well-tested web application for bioinformatics researchers to align sequence data from the comfort of their web browser.
This involved reading and understanding the entire source code of the Perl 5 debugger. I can’t say that I have ever been the same since. This bug would cause any failing test to pass, under certain versions of the Perl debugger, at my previous job. Fixing the bug involved fixing a bug where undefined symbols were being created and writing tests for the Perl 5 debugger to make sure this kind of thing doesn’t happen again.
This was no minor feat, as Parrot supports Linux, *BSD, Windows and Solaris. It also involved writing tests which dealt with the different kinds of IPv6 error conditions that various operating systems return and allowing the tests to be run in parallel.
This makes PIR, Parrot Intermediate Representation, available as PostgreSQL stored procedure Language (PL). It also allows for any language running on Parrot to easily become PL.
This uses PL/Parrot to embed Rakudo Perl 6 and allows writing stored procedures in Perl 6. For instance, a Perl 6 grammar can be defined once and then every call to a stored procedure can see if it parses in that grammar.
I originally got involved with Perl 6 by adding many tests relating to mathematical functions in Perl 6, including logarithm, complex numbers, and finding arbitrary roots of real and complex numbers.
This CPAN modules allows access to the GNU Scientific Library, written in C, from Perl 5. This allows scientists and researchers to access the thousands of scientific computing functions in GSL from a quick-to-write dynamic language. This module uses SWIG to generate wrappers to the massive GSL C library, and contains thousands of tests to verify that the various functions and algorithms are working correctly.
This CPAN module uses the GNU Multiprecision library to implement advanced prime-checking or primality functions. It can be used to do number theory research in Perl 5 efficiently. It also contains thousands of tests to ensure that researchers can trust their calculations.
This is a pure Perl implementation of the 4th Order Runge-Kutta algorithm to quickly solve systems of ordinary differential equations. Contains various tests which verify the numeric solutions are within the expected tolerance of known exact solutions.
This continuous integration system currently runs test suites and emails on build failures. It currently knows how to run tests for Perl 5/6, Parrot and Makefile-based projects. Running Python and Ruby are features that will come soon. Currently Jitterbug drops in as a post-receive hook on Github, but it can also be used with pure Git.
Phylobox.com is a web app on Google App Engine that helps evolutionary biologists visualize phylogenies, which are graphs of how species and groups of species are related. This was written at a hackathon at the National Evolutionary Synthesis Center (NESCent), which is an NSF-funded research center for aggregrating evolutionary data.
I enjoy being the leader of a team of very smart people and solving hard problems.
Founded PDX Git Together.
This program draws the smartest college-age students from around the world to hack on free and open source projects.
This program draws the smartest high-school students from around the world to hack on free and open source projects.
Mentored Bob Kuo on Math::Primality, a CPAN module implementing advanced primality algorithms.
Managed 9 students and 9 mentors on many Parrot/Perl projects.
I enjoy writing technical specifications, publishing academic papers and writing about open source.
This short, easily-accessible and free book describes what a Platform-as-a-service (PAAS) is, how Cloud Foundry compares to other PAAS solutions and how to use, maintain and contribute to Cloud Foundry.
I had the pleasure of writing a chapter for Lydia Pintscher’s upcoming book called “Open Advice”, which contains a plethora of amazing information from many dozens of awesome people about getting involved in Free and Open source software.
This blog post appeared on the Google Open Source Blog.
A document that describes the entire process of using Git to hack on Parrot, along with a list of git terminology explained in terms that mere mortals can understand. This includes cloning a new repository, merging branches, keeping branches in sync and accepting pull requests on Github.
A Creative Commons licensed manual for prospective students that describes how to integrate into open source communities.
A Creative Commons licensed manual for mentors and admins on how to be effective and avoid common pitfalls.
This publication describes http://solgenomics.net, which is one of the main projects that I currently work on.
This paper arose from my masters thesis and describes brand new, exact closed-form solutions to nonlinear partial differential equations, using the theory of reversible operators and bilinear operators. Finding solutions to equations that nobody has ever solved before is quite fun.
This is an applied mathematics paper that uses the theory of differential equations to prove the existence and uniqueness of certain equations arising in engineering applications for dams which are subject to temperature gradients. I am responsible for all the numerics in this paper, which was part of an undergraduate research grant I worked on.
This is an applied mathematics paper that uses the theory of differential equations to prove the existence and uniqueness of certain equations arising in industrial applications relating to non-Newtonian fluids. I did all the numerics in this paper and actually wrote the CPAN module Math::ODE to solve the equations numerically.
This article is a HOWTO about assembly programming for beginners, and gives example code for NASM.