eaburns
Kingsbury Hall Room w236
Department of Computer Science
University of New Hampshire
33 Academic Way
Durham, NH 03824
email
My name is Ethan Burns. I am a graduate student at the University of New Hampshire in the Computer Science program. I am a member of the UNH Artificial Intelligence Group. I am currently working with Prof. Wheeler Ruml in the area of heuristic search. I am also occasionally a teaching assistant for Introduction to Artificial Intelligence (CS730/830) and Algorithms (CS758/858).

My CV (PDF)

Papers

Experience

Palo Alto Research Center

During the Summer of 2011 I worked as a summer intern at the Palo Alto Research Center (PARC). While there, I did research in parallel search for model checking with the Spin model checker.

Teaching Assistantship

I have been a teaching assistant at the University of New Hampshire:

  • Algorithms (2010)
  • Introduction to Artificial Intelligence (2009)
  • Object-oriented Methodology (2006-2008)

University of New Hampshire InterOperability Lab

I worked for the UNH-IOL for most of my undergraduate and master's degrees. I am no longer at the IOL, but while I was there I worked in the following consortia:

  • iWARP - Here I worked on development for UNH-iSCSI (with iSER) and SoftWARP (a software iWARP implementation for the Linux kernel).
  • iSCSI - I did some of my work on the iSCSI Extensions for RDMA (iSER) in the iSCSI group.
  • IPv6 - I worked in the IPv6 consortium adding support for IPSec and IKE over IPv6 to an in-house testing tool.
  • IPv4 - I worked in the IPv4 consortium adding support for the Border Gateway Protocol (BGP) to an in-house testing tool.

Code

  • SPT is a simple plotting tool written in Objective Caml. SPT serves as an OCaml library for plotting and it comes with a tool called spt-it-out for plotting from the command-line using a simple input file format.

None of the following projects are very actively maintained:

  • Mid is small adventure game that I worked on for a bit with Steve McCoy. It is a 2d platform game, however, each 'level' has doors leading back and forth between z-layers making for a 3d-style maze. The automatic content generation uses a pipeline allowing you to plug in different programs to generate the different level features such as the maze, interactive environment objects, items and enemies. Steve did all of the art so it looks better than any other games that I have ever worked on.
  • liblinuxkernel is a small library that Dr. Russell and I wrote while I was working on my Master's thesis. Basically, it implements some of the Linux kernel API in user-space to allow some kernel code to compile completely in user-space. We used this library to enable the UNH-iSCSI driver for Linux to run completely in user-space.
  • My CS830 final project was a bot that will play the old BSD hunt the wumpus game. The bot uses an algorithm based on maintaining arc consistency along with a tiny CSP solver to make inferences about the locations of pits and the evil wumpus. Using this information, a planner selects rooms to explore that it suspects are safe. Eventually the bot can often locate and shoot the wumpus to beat the game. The bot is better than the average human player who and is about on par with a good human player (but obviously, the bot is much faster than the human).
  • When studying for the compiler design qual., I made a simple lexer generator called lexit. It reads a simple description and builds an automata to do string tokenizing.
  • Glutboard is a project that I started (and have mainly finished working on) while I was an undergrad. It is a 3d chessboard front-end for gnuchess which uses the OpenGL/Glut libraries. It supports two types of shadows (simple and projected), reflections, full-scene anti-aliasing, highlighting of pieces which are in danger, and highlighting legal moves.
  • MCC is a game that I started working on with Tom Fogal. This game aims to be a Super Smash Brothers clone based on the Quake 2 engine.

Files

  • My .screenrc file.
  • My .Xmodmap file swaps the Ctrl and Alt keys (both pairs) and makes the Caps Lock key backspace (who ever uses Caps Lock anyway?). NOTE: you may not be able to use this file directly... use the program 'xev' to find the keycodes on your keyboard.
  • My .emacs file. Automatically does setup for the UNH-AI research machines if you are logged in from one.
  • My .vimrc file. This assumes that you have some filetype plugins that you may not even have access to.
  • tla-mode for emacs ( TLA+). This is a modified version of a file that I found in the tubes. I fixed this because the syntax highlighting was broken. Additionally, this appears to have TLA+ indentation support and a few small functions like "comment-region" and "un-comment-region".
  • tla.vim for TLA+ on vim (thanks to Matt Sherman for most of this and minor modifications/additions by Zoe D.).