Here are some tools I've written. Everything is Copyright © 2010–2012 by Paul Jungwirth, but you are free to use what you like.
For major projects I've completely successfully, please take a look at my portfolio.
db_leftovers is a gem to help you manage your database indexes and foreign keys in a Rails 3 project.
Here is a tool to compute your tax in all 50 states. It includes income tax, property tax, sales tax, and gas tax. This was one of my first jQuery projects, and I'm proud of the sortable table and the URL hashtags that let you bookmark your results.
Launch4j by Grzegorz Kowal wraps a jar file in a Windows executable to ease deployment of Java desktop applications. The Launch4j Maven Plugin lets you run Launch4j from Maven, optionally inferring things like classpath from your dependencies. Read more.
SliderGroup is a class that links sliders from jQuery-UI so they all sum up to a constant value. When you move one slider up, the others go down, and vice versa. This project is hosted on github, though you can find a demo here.
PaletteBuilder is a jQuery plugin for helping designers try out color combinations on new web pages. It causes a color palette to hover over your web page, and you can attach different parts of the page to color wells via jQuery selectors. Whenever you choose a new color for that color well, all the associated elements on the page change color.
Upload is a script for maintaining small web sites (like this one) via FTP. It reads a local version of the site and uploads whatever files have changed since it was last run. It knows how to exclude files/directories like .svn
.
Here you can find a free savings bond calculator. It can handle both I- and EE-Series U.S. savings bonds.
Encoding converter. Reads and writes over 150 character encodings. Can convert one file or many, based on location, extension, regular expressions, and more. Supports a graphical user interface for easy use and a command-line version for power users. Runs on Windows, Macintosh, Linux, Solaris, or anywhere with Java 5.
This is a simulation of gravity for our solar system, built with Objective C and Cocoa. I call it solsystem. Distances are to-scale, but the size of the objects are greatly increased and proportional to the log of their radius. If you look closely at this shrunken screenshot, you may be able to see the blue earth behind its gray moon.
Here is a list of handy Unix tools I've written over the years:
svnstart
makes it as easy as possible to keep them in source control right from the beginning.range
command, but for the command line. Built with C to support both Linux and MacOS X. Supports letters, decimal, binary, octal, and hex.du -h
.xargs
. By default, xargs
splits on whitespace, so it gets confused when filenames contain spaces. But since xargs -0
splits on null bytes, you can use this script to convert newlines into nulls. (Surprisingly, there is no option in the standard xargs
command to split on newlines.)foo | tee - | bar
, if tee
could support that notation. (It is a bit of a contradiction if you think about it.) Using this script, you'd say foo | echoin bar
, and echoin
will pass its input on to bar
while also printing it to stdout. This lets you eavesdrop on the data getting piped from one command to another, which can aid in debugging shell command chains.pbcopy
command to let it take filename arguments.I once read some advice that if you ever figure something out that you might have to do again, especially if you only do it once or twice a year, then you should write it down. Here are the notes I've accumulated over the years, in man-page format.