Code like song

Free Tools

Here are some tools I've written. Everything is Copyright (c) 2010 by Paul Jungwirth, but you are free to use what you like.

Maven Launch4j Plugin

Launch4j by Grzegorz Kowal wraps a jar file in a Windows executable to ease deployment of Java desktop applications. The Maven Launch4j Plugin lets you run Launch4j from Maven, optionally inferring things like classpath from your dependencies. Read more.

PaletteBuilder jQuery Plugin

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 Script

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.

Savings Bond Calculator

Here you can find a free savings bond calculator. It can handle both I- and EE-Series U.S. savings bonds.

Character Encodings

Encoding changer. 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.

Solar System Simulator

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.

Unix Utilities

Here is a list of handy Unix tools I've written over the years:

Man Pages

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. I tend to put these notes into Unix man pages, which I store under the made-up pj section. I keep them all at ~/man/manpj/, with these commands in my .bash_profile:

  export MANPATH="$MANPATH:$HOME/man"
  export MANSECT="1:n:l:8:3:2:3posix:3pm:3perl:5:4:9:6:7:pj"

Not all these files are actually in man-page format, but most of them are:
X: view download
amazon: view download
bash: view download
bc: view download
bibtex: view download
camera: view download
cd: view download
convert: view download
css: view download
date: view download
dvd: view download
find: view download
fonts: view download
fortune: view download
gimp: view download
gnupod: view download
http: view download
httrack: view download
info: view download
j2ee: view download
js: view download
jstl: view download
latex: view download
launch4j: view download
lib: view download
log4j: view download
mac: view download
man: view download
maven: view download
mp3: view download
mysql: view download
nc: view download
ndiswrapper: view download
od: view download
oracle: view download
printer: view download
printing: view download
ps: view download
python: view download
rpmbuild: view download
screenshot: view download
snoop: view download
sql: view download
struts: view download
svn: view download
tcpdump: view download
terminfo: view download
tex: view download
truss: view download
unicode: view download
wireless: view download
xslt: view download
yum: view download