welcome

who

how

where

my stuff:

shiny things:

apocalypse blog:

blue forest blog:

people:

www.flickr.com
This is a Flickr badge showing public photos from romkey. Make your own badge here.

how

As a technologist, I love to talk about the tools I use. Web pages explaining or listing the backing tech seem to be obligatory on personal web sites, so here goes:

This is where I tell you that I'm so cool that not only do I use a Macintosh, but I use Firefox instead of Safari. Only - I don't (I do use a Mac, but I don't shun Safari). There are some things I like about Safari, and some that I like about Firefox. I use Safari more for regular web browsing, and I use Firefox more for web development. I do find that I'm using Firefox more and more; perhaps at some point I'll use Firefox as my primary web browser. I do use Thunderbird as my mail reader.

Apparently I'm not too cool for DRM, because not only do I listen to music on my iPod, but I backup my code on it, too. I have run Linux on a previous iPod in the past but I don't currently.

I use a variety of tools for web development. Perl, Aquamacs, MySQL, Linux, Subversion, Apache, HTML::Mason, dbcoder.

I'm most comfortable programming in Perl these days. I used to be put off by Perl's... lack of tidiness, but these days I'm mostly just happy about how easy it is to do string processing and web development in it. I've programmed in quite a few different languages, mostly though in C, C++ and Perl (if you don't count Z80 and 8086 assembly code, which I'm happy to overlook). My Perl code is very much C (or C++) written in Perl, probably enough to sicken a Perl purist.

Emacs was the first full screen editor I learned, and I've always stuck with it. I've tried BBEdit's Emacs compatability mode, but when it comes down to it, nothing compares. Aquamacs is a Macintosh-ized Emacs, and it's a very nice application. Aquamacs gives you true Emacs (and all its baggage) in a package that is a fairly well-behaved Macintosh application, including printing, and all the normal CMD codes you'd expect. Nice job, Aquamacs folks!

I think the MySQL folks have really hit the database sweet spot. It's lightweight yet powerful; easy to install and easy to administer. MySQL is the Goldilocks of databases.

I doubt much needs to be said about Linux. Either you like it or you don't. Same goes for Apache.

Even though I do most of my software work alone, I found source code control to be essential. Sometimes you just need to roll back to a previous version, or you need to keep multiple copies of a project in sync. I used to use CVS but I didn't really use it the right way, and version numbers often got completely away from me. I decided to try something new, and have been happy thus far with Subversion. I like the fact that it can publish its repository through Apache. It's easy to set up, easy to use, substantially similar to CVS. I haven't pushed it hard yet (and probably never will), but it's worked quite well for me so far.

dbcoder is a project I've been working on for years now. David Silber worked on it for a while with me. It's a database-driven code generator. You point it at a MySQL database and zap you've got code. Its most polished code generators generate a set of Perl classes to encapsulate the database, a set of Perl classes to generate HTML to interface you to the database, and a set of web pages utilizing that HTML to give you a web-based UI to the database. The classes are designed to be customizeable without needing to redo everything if you regenerate them do to a schema change. Unfortunately, dbcoder is severely not ready for prime time, but it's quite usable in my own work. I haven't updated the released version in quite a while, though I've done a lot of work on it recently. I haven't decided what to do with it long term.

Creative Commons is legal technology, and rather than do the norm of just letting my web pages hang out there with ambiguous terms of use, I decided I'd try it out. All of my personal pages are licensed under the Creative Commons Attribution, No Commercial Use, Share-Alike license. This says that you're welcome to copy, build on or redstribute my work but you're not allowed to charge for it, you must attribute it to me, and any derivative works must be available under the same license as my work is.

Finally, these web pages are hand-coded, while my blog is backed by Wordpress and my photo gallery is backed by Gallery 2. Both are very nice, well thought out pieces of software that are very easy to use.

Gallery 2 Badge

technorati tags: technology, macintosh, safari, firefox, thunderbird, ipod, aquamacs, emacs, mysql, linux, subversion, html::mason, apache, dbcoder, creativecommons, wordpress, gallery2

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.

Last modified: Wed Mar 29 00:16:26 EST 2006