CSB Course Flowchart

Ed Kay's "Prerequisite Structure of Courses" has been invaluable to students of my major, Computer Science and Business, at Lehigh University. Before each semester, I'd print it out and violently cross out courses I had taken, and then go through and circle courses available to me that semester.

The CSB Course Flowchart attempts to digitize this process. Students just click on courses they have taken and available courses are automatically highlighted - with prerequisites and seasons already taken into account. Students can also hover over courses to read a quick description about them.

NJ Transit Train Map

NJ Transit Train Map is an offshoot of an attempt to make a physical display that would pinpoint the location of New Jersey Transit trains at the present time. I envisioned a glass etched with a map of New Jersey on top of an LED matrix that would light up to represent a train at a certain location. Over the course of the workday, one could see the general flow of people's commute to New York. I never ended up making that display but did create a digital version of the same concept.

The digital version divides the day into 360 timesteps (4 minutes per timestep) and displays the location of the trains at that time. It shows stations as blue squares and trains as red squares. By mousing over these squares you can see the names of stations and NJ Transit's train numbers.

All the data is based off of scheduled train times, so this project is useless for determining if your train is running late today. Getting this information was a task in and of itself: after a citizen filed a Freedom of Information Act request with NJ Transit, the agency released the data in a hard to use format called GTFS (General Transit Feed Specification). Google uses this format for its public transit directions on Google Maps. With some massaging, I imported this data into a SQLite database and made some assumptions including:

  • Every day is a weekday and there are no holidays

  • Trains travel in straight lines at constant speed between stations

With these assumptions, I could get a rough estimate of the location of each train at any given point in time. I computed a list of these locations in 4 minute increments to get the proof of concept linked previously.

Firefox Extensions

A lot of these Firefox extensions and Greasemonkey user scripts are showing there age but I'm still receiving praise about them from my users so they live on:

  • Click Steer is a Firefox extension that mimics Opera's ability to navigate backwards and forwards in your history by quickly pressing the left and right mouse buttons in sequence. Press the right mouse button and then the left mouse button to go back, left first to go forwards.

  • RDoctor is a user script that enables searching by file, class, and method on Ruby RDoc standard template pages.

  • F.I.G.S. (the Facebook Interactive Group Searcher) is another user scrip that allows Facebook users to search through their groups as easily as they do through their friends by adding groups to the AJAX search results on the box. I believe Facebook has now implemented this functionality.