Back to Vim

30 March 2007

About eight months ago, I switched back to vim as my main editor. I had been using TextWrangler for a few years, but before that I was a vim user, and somewhat of a power user as well. I think the main reason I had moved away from vim was the lack of tabs, or perhaps it was simply the un-maclike experience. TextWrangler offered a familiar interface and had a nice feature set (for the price). But, I was interested in an editor with more power and better syntax highlighting. I briefly tried TextMate, but wasn't impressed enough to switch. So I came back to vim, which now has tabs and can become somewhat maclike with plenty of customization.

Organized Research

05 January 2007

Over the last few years, I've developed a way of organizing my research that works quite well for me and may work well for others. I've decided to document it in hopes that it will help other students organize their research. Before I get into the details, here are the fundamental ideas behind my system.

Subversion

02 December 2006

I recently decided to put all my files under a real version control system. I've always had an ad hoc version control system anyway, grouping my files into experiments and keeping a journal of notes and results for each experiment, but there was no easy way to track the history of files and view recent changes. Also, I felt it was important to check-in the exact set of code and experimental data that produced published results and to be able to return to that state at any point. And finally, I run the same code on multiple computers (laptop and cluster) and version control is an easy way to sync files. So I spent an afternoon a few weeks ago setting up svn on a remote server and uploading projects. It wasn't completely painless though, and I've jotted down a few of the issues that came up in the process.

Build Jar with Externals

14 October 2006

In several different Java development projects, I've needed to create a single jar with my project classes and also bundle the external jars my project requires. A while ago, I wrote an Ant build script to do this and I figure this script could be useful for others.