svn log is a great command to see what's going on in your subversion repository. Unfortunately, at my job we are using a really old version (1.1.4!), a version so old that it doesn't support the --limit argument. This makes the svn log painful to use as it outputs EVERYTHING.

Luckily, svn log is so awesome that it overcomes this weakness and allows you to use a date based criteria for listing log statements. Unfortunately, the syntax is hard for me to remember. Thus, I wrote this little shell script function that'll list activity for the given days in the past. You can put it in your .bashrc and run it like svnlog 14. That'll output logs from the last 14 days.

Did you know that you can navigate Google search results with your keyboard?

It's a Google Labs experiment so you'll have to enable it on any machine you want to try it.

To experience the glory of navigating search results with your keyboard, head on over to Google Experimental Search and click "Join" for the Keyboard Shortcuts experiment. Then it's simply a matter of pressing "J" to navigate down the search results and "K" to move up your search results on Google. Pressing "O" will then open up the link for you. There are a few others that you might like as well so give this experiment a whirl.

The keyboard shortcuts key will also show up on your search results page so that'll help you remember them. (Experienced vi users will of course recognize these keyboard shortcuts.)

Mouseless Browsing (MLB) is a Firefox-Extension which enables you to browse the internet with the keyboard. The basic principle is to add small boxes with unique ids behind every link and/or form element. You just have to type in the id and press enter (there is also an automatice mode available) to trigger the corresponding action i.e. following a link, pressing a button or selecting a textfield.

I could never get w3m working how I liked it so Mouseless Browsing really scratches an itch I have.

Mmkay, this tip is probably a gazillion years late but Google Code Search is a great resource for a budding developer. Heck, I'm a relatively seasoned developer and I use it.

It allows you to search public source code using a variety of methods. You can search for an exact string or a regex. You can search certain files, certain packages and certain languages.

For instance, today I was curious how to use the Perl API for writing a Pidgin plugin as their documentation is a tad sparce. A quick search looking for Purple::Find::buddy and I found a whole bunch of examples. You can also use it for silly things, like looking for quotes from "Hitchiker's Guide To The Galaxy."

I know that in Java, using a try/catch is fairly expensive vs. a if check. Since JavaScript has the same syntax for the most part, I wrote up a simple benchmarking script to test it out. On my box, it outputs:

At my current job, we use a lot of Template Toolkit. Due to some design decisions (that I consider a tad strange), we have to run a shell script on the template files (e.g. files that end with “.tt”) after they are saved in order for them to be displayed on the dev site.

Since I started using emacs about two months ago, I've learned quite a bit. A new thing on the learning heap is the after-save-hook. Emacs to the rescue yet again.

Here's a emacs lisp function I wrote to automate the execution of the script when a template file is saved:

What it does, is first defines a function that checks to see if we have a file name, (which should probably always be true since we are saving now that I look at it). If we do, check to see if the name ends with “.tt.” If it does, pass the name of the file to the shell script and output a message to the user saying the template was updated. Finally, the function is added to the after save hook.