Jonathan "Duke" Leto home

Achievements

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.

Contributions


Commit Bits


Root Commit of PDX Git Together

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?

Co-Author on the publication of the Tomato Genome

I helped write open source code for SolGenomics which was used in publishing the genome of the Tomato plant (Solanum lycopersicum) in Nature.

Helped reduce startup memory use in Firefox

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

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.

Travis CI

Helped add Perl 5 support to Travis CI.

CASH Music

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!

Converted Parrot Virtual Machine to Git

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.

Redesigning Parrot Internals: M0

I am currently involved in redesigning the very core of Parrot so an efficient JIT can be implemented on top of it.

Mimosa: Miniature Model Organism Sequence Aligner

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.

Fixed an obscure bug in the Perl 5 debugger

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.

Helped add and test IPv6 support to Parrot

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.

PL/Parrot : Parrot VM embedded into PostgreSQL

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.

PL/Perl6 : Rakudo Perl 6 embedded into PostgreSQL

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.

Perl 6 Spec Test Suite

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.

Math::GSL

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.

Math::Primality

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.

Math::ODE

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.

Jitterbug : Cross Language Continuous Integration for Git

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.

WWW::Phylobox : Perl 5 interface to phylobox.com

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.

Leadership Achievements

I enjoy being the leader of a team of very smart people and solving hard problems.

Root Commit, PDX Git Together 2013

Founded PDX Git Together.

Mentor, FOSSAsia, Google Summer of Code 2015

Mentor/Org Admin, The Perl Foundation, Google Summer of Code 2014

Mentor/Org Admin, Parrot Foundation, Google Summer of Code 2013.

This program draws the smartest college-age students from around the world to hack on free and open source projects.

Mentor/Org Admin, Parrot Foundation, Google Summer of Code 2012

Mentor/Org Admin, Parrot Foundation, Google Code-In 2011.

This program draws the smartest high-school students from around the world to hack on free and open source projects.

Mentor/Org Admin, Parrot Foundation, GSoC 2011.

Org Admin, The Perl Foundation and Parrot Foundation, Google Code-In 2010

Org Admin, The Perl Foundation and Parrot Foundation, GSoC 2010.

Mentor/Org Admin, The Perl Foundation and Parrot Foundation, GSoC 2009

Co-founder of PDX Hackathon, 2008

Mentor, The Perl Foundation, Google Summer of Code 2008

Org Admin and mentor, Parrot Foundation, GSoC 2011.

Org Admin, The Perl Foundation and Parrot Foundation, Google Code-In 2010

Co-mentor, RTEMS, GSoC 2010

Writing and Publications

I enjoy writing technical specifications, publishing academic papers and writing about open source.

The Little Cloud Foundry Book

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.

Test Driven Enlightenment: A Chapter in the upcoming book “Open Advice”

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.

Perl and Parrot Spread Open Source Love

This blog post appeared on the Google Open Source Blog.

Git Workflow for Parrot Developers

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.

Google Summer of Code Student Guide: Flip Bits Not Burgers, Co-Author

A Creative Commons licensed manual for prospective students that describes how to integrate into open source communities.

Google Summer of Code: Mentor and Org Admin Guide, Co-Author

A Creative Commons licensed manual for mentors and admins on how to be effective and avoid common pitfalls.

The Sol Genomics Network: Growing Tomatoes using Perl

This publication describes http://solgenomics.net, which is one of the main projects that I currently work on.

Solitary Wave Families of a Generalized Microstructure PDE

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.

Nonlinear convection at a Porous Flat Plate with Application to Heat Transfer from a Dike

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.

On Solutions of Some Nonlinear Differential Equations Arising in Third Grade Fluid Flows

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.

Writing A Useful Program with NASM

This article is a HOWTO about assembly programming for beginners, and gives example code for NASM.