Inspired by the format found at The Setup:
My name is James MacMahon. I graduated from the University of Waterloo’s Computer Engineering program in April 2010, and have been working at IBM since October 2010 on Testarossa, an optimizing compiler.
I’ve been writing software for most of my life, starting at 12 programming games like pong and asteroids with C and Allegro on Windows.
I experiment with technology constantly. I am a hacker.
I’m also an avid gamer.
First, to clear up any confusion, my computer naming scheme is last names of top chess players, following Wikipedia’s Comparison of top chess players throughout history article. Second, I probably have too many computers.
My primary terminal / workstation is fischer. It is a Lenovo Thinkpad T400 running Debian unstable. I bought it for the keyboard, and have since replaced the screen with a 1440x900 IPS panel after the original panel’s backlight stopped working.
My two file servers are capablanca (primary) and alekhine (backup). Files created on various devices are pushed onto capablanca and then replicated on alekhine. This is a manual, messy process which I hope to automate and organize. Both file servers use ZFS: capablanca runs FreeBSD on a Supermicro board with ECC ram, providing a solid kernel ZFS implementation, while alekhine runs Debian 6.0 with ZFS on FUSE. Unfortunately, alekhine’s hardware was bought when I was a poor student, so it’s the least expensive stuff I could find at the time. However, this has not been a problem - ZFS scrub operations have never found a problem on it.
My two Windows (read: gaming) computers are botvinnik and karpov. botvinnik runs Windows 7, karpov runs Windows XP.
I have an Acer Aspire One netbook which travels around with me running Windows 8 called morphy. Sometimes I swap the HDD out and it boots Debian unstable off of a SSD.
I also own two Raspberry Pis, one of which is always on and connected persistently to various things (irc, twitter through bitlbee), while the other is used intermittently.
Recently I also spun up smyslov, a Sun Blade 100, as an OpenBSD PPPoE client / router / firewall.
I have always collected keyboards, and I rotate them depending on the task:
I highly recommend Monoprice’s 2560x1440 IPS monitor. I have one and the screen real estate is excellent.
Nothing out of the ordinary:
I like to treat most of my computers as terminals - store the data mostly in one central place, and use the terminals to access / interact with it. I’d like to extend this to everything: I want to be able to play a game in my office, save and quit, walk to the living room, and pick it up on the desktop connected to the TV there. Sort of like how Plan 9 works, and how I hope the new SteamOS will work.
I think a lot about better file system organization, and how to structure backups. I have no good answer yet, except that you shouldn’t let it get as bad as mine :)
While I’m dreaming, I’d like a full 20U rack with 20 1U 4x 16 core number crunching iron for computation projects. For now, AWS will have to do.
Also, no one sells a laptop equipped with ECC RAM, so put that on the wish list.
Occasionally I dream of consolidating all functionality onto one powerful laptop and getting rid of every computer I have except that one.
I am starting this blog as a repository for articles that I write to live. It will contain all sorts of things that I think would be useful outside of my head. My hope is that the articles on this site are helpful, as many blog posts have been helpful to me.
I used Jekyll to generate this blog.
Procedure:
$ gem install jekyll
$ jekyll new
.. edit _posts/ ..
$ jekyll --watch serve
Markdown syntax is found here.
That’s all there is to it. I don’t have a comment system or require anything more complex than straight text and images.