Joshua Lehan's Portfolio
This is my portfolio. I have definitely noticed a change in the industry: when attempting to get work, programmers are now oftentimes expected to have a portfolio of their previous work, to prove they can do the job. This is already how artists, writers, designers, and other creative professions operate. I like this! I think it is a good change in the industry, and Open Source makes it possible.
Documentation explaining how to create a
Bootable USB Key from a Knoppix CD
The Knoppix Linux distribution was one of the first self-contained "live CD"
distributions, making it ideal for booting from a
USB key. In addition, because it was designed to run from CD, Knoppix is read-only, which
helps greatly to preserve the useful life of USB flash media.
I wrote instructions on how to create a Knoppix bootable USB key, and supported it throughout
a very long thread. Evidently it became popular, as the thread has over 45,000 views!
My documentation has since been augmented by many
other people, but the majority is still my work. Unfortunately, the site
has been under a spam attack recently, so if the page appears strange,
that is probably why.
Made as a personal project, 2006, with occasional ongoing cleanups and
updates
Cluster network utility MPI Grid Ping
This tool measured the bandwidth and latency of the network connections
within a cluster of computers, displaying the results as a grid.
This was useful for an administrator to quickly see all nodes within
a cluster, evaluate network performance, and detect any failing nodes.
The long-term goal was to provide an Open Source clone of Microway's
commercial "Link Checker" product. When I ran out of time to work on it myself, with
permission I released the project on SourceForge.
Made while at Scyld Software, 2006
Boot utility PXE-On-A-Disk
This is some Perl scripting to combine two Open Source utilities: Etherboot (PXE
client software and BIOS-compatible network driver)
and SYSLINUX (boot loader and PCI network card detector).
The combination proved very synergistic, as it allowed completely automatic
and unattended PXE booting to be done for all cards supported by Etherboot,
bringing PXE support to over 250 older network cards that lacked built-in
PXE BIOS.
This was well-received by both the Etherboot and SYSLINUX mailing lists.
Made while at Scyld Software, 2005
Shell script to reliably perform CD burning
There were a lot of subtleties with CD burning on older Linux kernels, which
this script neatly solves. It takes an ISO file and burns it to CD, autodetecting
the CD burner device, calling the cdrecord program to perform the
burn, and later verifying that the CD was burned correctly. I later
provided a README file as documentation.
I gained permission to Open Source this script, as it was useful both in-house and to others.
Made while at Scyld Software, 2004
Documentation explaining the myriad of domestic
and international
package shipping
choices
Made while at Bay Area Amusements, 2004
Patch to StreamRipper, to enhance relay streaming and add features
An extensive patch that was fairly well-received!
I listen to a lot of online radio stations, often recording them for
later use (now called "podcasting"). This patch cleaned up StreamRipper's
relay streaming code and made it more stable, and added the ability
to multiplex the stream to multiple listeners (handy when in an
office, to save bandwidth). It also paved the way for others to later
add buffering support and other enhancements.
Made as a personal project, 2004, released as of Streamripper 1.60.9
Perl scripts
These scripts were made for my personal use, but are generally
useful.
They have helped others, so I am including them here.
Made as a personal project, 2002-2003
Contributions to
drivers for Adaptec ANA-7711 TCP accelerator cards
This is a major project containing code from a large number of people.
To find my work, untar this file into a
new empty directory on a Linux system, and grep for "Josh".
This will reveal my comments, placed near
areas of the code that I touched.
In addition, the following two files were essentially 100% written by me:
ana7711/vega/driver/procsnmp.c
ana7711/toe/linux/scripts/install-ana7711
Made while at Adaptec, 2001-2003
Patch to CVS, to fix a minor bug regarding handling of the val-tags file
This solved a problem that occurred when this file was configured read-only, as was often done for security.
The patched tree can be viewed
here and
here.
Made while at Platys Communications, 2001
Patch
to net-snmp, to add an option to prettyprint binary data as human-readable text
This came in handy when debugging, and when gathering information from unknown SNMP devices.
Made while at EFI, 2001
Documentation and mini-website containing
changes
to Open Source software, made public
as required by the GPL
Made while at Splash Technology, 2000-2001