Monthly Archives: October 2010


MultiWord is a program I wrote WAY back in High School to speed up the mundane process of defining words for English class. Basically you can define multiple words at once. Just put in a comma separated list of words and press Define.

Download MultiWord The file is about 25 megabytes because it contains an English WordNet dictionary.

It’s a standard Java project that should run on JRE 1.4 or higher. You probably already have a java virtual machine installed (who doesn’t?) but just in case here’s a link: To run the Jar file you can look up instructions on wikiHow.

I’m fairly sure this program is no longer needed, but if someone finds it useful then contact me. If I know someone uses it then I’ll add more features and just generally make the program better/simpler.


Hello all Whitespace enthusiasts!

Here you can find information about my whitespace endeavor.

This is a whitespace interpreter written in C++, it has a little more features than the original interpreter written by Edwin Brady. I wrote this because I wanted a bit of C++ practice and had some free time over the summer. You can find out more information about the original idea on the whitespace website.


I used type long to represent all the stored data and memory. This means that if you try to store a number greater than LONG_MAX it will wrap around and be negative. Same goes for memory, you can’t address memory higher than LONG_MAX. Hopefully this won’t impede on any programs, although the factorial program hits its limit at 25! 🙁


Download the source
Download the x86_64 binary

Everything is GNU/GPL of course!

I realize that I have almost no documentation about it posted right now. If anyone wants to know the specifics, I’m on the whitespace mailing list. You can reach me from there. Please ask if you have questions, it will encourage me to put up more documentation.

Keeping a Desktop & Laptop in Sync

This post is tagged as backlogged, so the stuff I’m writing here isn’t exactly “new”. Anyway a few years ago (2) I became an owner of a 12″ laptop which was useful to take to class but needed to be constantly synced with my desktop.

Fortunately Gentoo had Unison in its repository. This program works very well and presents a graphics merge window when conflicts arise. After searching for a Sync solution for a while, this is the best that I could find. Emerging unison on Gentoo gets you an executable with a version number to it. A quick

ln -s /usr/bin/unison-2.27 /usr/bin/unison

fixes that inconvenience.

Below is an example unison config in case anyone finds it useful. I saved the file as default.prf in the unison directory.

# Unison preferences file
root = /home/cogent
root = ssh://Turm
# Paths that I want to sync

path = my_stuff
path = school
path = workspace
#path = work
path = .ssh
path = .purple
path = .gnupg
#path = .thunderbird
path = archive/music

ignore = Name *~
ignore = Name .purple/status.xml
ignore = Path .purple/accels
ignore = Name .purple/blist.xml
ignore = Name .purple/prefs.xml
ignore = Name .purple/accounts.xml

log = false
height = 40

Having done that, running

unison default

resulted in a purely automatic sync. To get the process as smooth as possible, you should add your ssh keys to the respective machines. That way you won’t be asked for the password each time. Also, be sure to connect to the machine at least once before connecting with unison. If I remember correctly, it doesn’t present the “add this machine to know ssh hosts” dialog correctly. Possibly resulting in a silent failure.