Northern New England Metropolitian Medical Response System Website

This is a website ( based on Drupal which is designed to serve two purposes. First is the goal of providing information the the public. The second part of the site is designed to provide members of the response team with information on news, upcoming events, training, and other team documents. The theme is based on Jaded with a modified CSS and images, and the site uses a variety of modules linked together. It also contains a number of custom-written Views.

Journal Article Published

Last winter, I wrote a research paper with my classmate Evan Tice ’09 studying the security of computing resources at Dartmouth College. It was very interesting to write, and thanks to Computing Services, we were able to study security logs and do some of our own analysis on the systems to supplement the publicly available information.

A sanitized form of our paper has been published in the Fall 2009 issue of the Dartmouth Undergraduate Journal of Science, and you can read it online here. For ease of reading, I have also posted it in the original PDF format.

Nokia n810 Location-aware Media Blogging

For Computer Networking, COSC78, the final project involved creating a program to run on a Nokia n810 Internet Tablet, programmed entirely in C, to provide a client side to a location-aware, media-enabled blogging system.

My team of myself and two other students, created this program, of which screenshots are included here. It supports posting text, images, and audio to a server, that the program captures. It allows you to draw with the stylus on the screen on a captured image or the canvas. The program displays these posts which are close to the location you are viewing, which is determined by the internal GPS or by you panning on the map. Map images are provided in 3 styles – map, satellite imagery, and a hybrid.

Continue reading

Dartmouth Name Directory

Dartmouth College uses a system called the Dartmouth Name Directory to handle centralized authentication and to serve as an email directory. This system is closely tied to the rather odd BlitzMail system which is used for all students and staff to do email. The BlitzMail system is compatible to send and recieve regular email, however, it is not a regular sendmail or postfix server like is normally used. The specalized servers can accept a name, say “Ryan Speers” in the “to” field, and can translate that into sending it to me. It can also accept “rms” and “rmspeers” as pointing to me as well as I have defined these aliases. This functionality is great, but is only avalible within the BlitzMail client. Other email programs, like Thunderbird, will not allow you to address an email to only “rms”. The LDAP connection to the DND is a step in the right direction, but only works for full names, not the aliases. An ideal system would allow a client like Thunderbird or Apple Mail to fully use the power of the DND. For now, this doesn’t seem to exist. Any thoughts on creating this are welcome.

For now, I use a DND search plugin for Firefox (should also work in IE, etc). This has the full functionality and I suggest installing it if you are a Dartmouth user. You can my implementation here.

Web Tools for German Grammar

I am currently in my eighth year of studying German, and I want to include some of the most useful resources which I use here.

The first invaluable resource is CanooNet, an online grammar guide and inflection dictionary. I use Canoo every time I am using a verb in a strange setting, or need to double-check my inflection of it. The website is, however I have also created a Mozilla Search Plugin (also should work on IE), that allows you to quickly search for a verb without going to the page. Continue reading

Simple JavaScript Toggled Divs

I have chosen to go with a very simple code snippit to begin what I hope will be a useful repository of original code snippits. Unless I note otherwise, you are welcome to use any code in my “Code Snippits” post category. I would greatly appreciate it if you let me know you where using the code.
Without further delay, this code allows you to easily put areas (of the div type) on your site that can be collapsed and expanded by clicking on a heading. This manipulation is done using JavaScript. In my code below, I have used functions from the MooTools toolkit (a great toolkit to use if you do much JavaScript). So, the installation is pretty straight forward:
Continue reading

Firefox for the Web Developer

When I develop for the web, my primary browser is Firefox. It is my main browser overall, and has merits such as being standards-complaint, but there are additional bonuses. Add-ons. I will explore some of these today that I regularly use. Some of these are for web developers, while others I believe to be productive for any person using the web in every-day life.

Continue reading


Thank you for visiting my personal site. I will maintain my portfolio here, but will also attempt to maintain a blog. The exact focus of this blog is not yet clear even to me. It will be centered on technology – probably ranging from web applications and design to breaking edge discoveries and new devices. It may also wander into non-technology subjects every so often. As I develop it, feedback is certainly welcome on my topics and writing.

Please look around this site, and I hope you enjoy.

DebateNet by

During my time in the Junior State of America, a debate organization, I noticed the inefficient method of signing up debaters and manageing debates for conventions. I created a system called PETE, which allowed users to create accounts and request debates, after which administrators would approve users for debates on a debate list which they had entered.

After this system was in operation for six months or so, I had seen many improvements I wanted to make to it, and at the same time realized to make this a great professional product in a short period of time, I needed another developer to work with me. One day, I began coding the new version which is called DebateNet with Mark Bao as my co-developer. We built the current version which has had many revisions, and are marketing it under the company Continue reading