I write software for a living. Since most of it is for one customer (a client), and it's often confidential, I can't show it here.
I've been doing Java development almost exclusively since early 1998. Sure, I may write a Makefile, a few shell scripts, etc. to support an application, but my main gig is Java. Sadly most of it is copyrighted and considered highly confidential so I can't share it.
Back in early 1998, I wrote a SQL Tool as a Java servlet, which I am slightly proud of. It's a good example for anyone trying to learn Servlets and/or JDBC.
I wrote a little GNU Makefile for Java (.jar format), if you like make. It could use some work but I took care of the hard part. At Viant I took it much, much farther and it became the build system for several large client projects.
Makefile FAQ: Yes, I have seen Ant, and it's different, not better. You have to learn a new syntax (and a yucky XML based syntax at that) and give up shell commands to use it, and I use make specifically to tie together shell commands. (I like shell commands.) I usually don't care about building applications on platforms other than NT and Unix, even if the application is for a Palm device running the KJavaVM. (Yes, I have actually used a variation of this Makefile to build a Java application for the KJavaVM on Palm.) I have no intention of installing a JDK on my Palm V, I'd rather do that on a more full-featured OS (Linux, for example) and then deploy to the little wierd OS. It's called cross-compiling...
I've done a ton of Perl 5 CGI's (for Unix), for various clients, from 1996-early 1998. I haven't written any Perl 5 modules but I have hacked others' modules to death. Go to The Perl Home Page to become enlightened.
I really enjoy doing batch script type stuff, from importers to file movers etc., most of the time in Perl. It's not just useful for CGI's; it's really good at doing what it was designed to do (imagine that) which is batchy type stuff.
DBM file dumper called dbmdump.pl.
A web-based tool for executing SQL statements against and arbitrary ODBC database. It is implemented as a Win32 Perl CGI script, and it uses the Win32::ODBC Perl module for ODBC access. It is called odbc-sql-tool.pl.
An HTML IMG tag tool that figures out the HEIGHT and WIDTH of the image and rewrites all the tags that don't specify the image size, called imagesizer.pl.
I've written exactly one Mac app and it was all work, no pretty stuff. It kinda sucks but it did the job. The amazing thing was, because I released it as freeware and submitted it to all the relevant Mac shareware archives, a bunch of Japanese shareware CD makers contacted me and asked very politely if they could include my pitiful little app on their CD. Of course I said yes, and asked for a free CD. In one case I got one, and I still have it. Thousands of Japanese Mac users have my name printed on a little info booklet that came with their CD. I find this perversely satisfying. It makes me want to do more but I don't have any ideas at the moment nor do I care veyr much to learn more about programming for the MacOS. I am more interested in writing pure Java apps instead.
CSV-to-HTML is an open-source Macintosh application that converts "Comma Separated Values" text files, which can be exported from Microsoft Excel, to HTML tables. It was originally something I wrote for myself but it turned into "learning Mac programming basics" project. The user interface is more or less nonexistent; I used the "SIOUX" ANSI C console based UI that CodeWarrior provides, and it's not very Mac-like. (Later I removed the UI altogether.) It didn't matter at the time b/c I was going for results, not style. I have some ideas on where to take it in a more general application sense, but after learning about Perl regular expressions, Java, etc. it seems pointlessto write a Mac-only text file converter. I could rewrite that app in Perl in 5-10 lines of code, total. Now that I have discovered cool Java Regular Expression package I might take another shot :).