How has everybody been?  It sure has been a while, I was in China and have recently returned.  
During the summer I decided to transfer to the University of Michigan and will be carrying 
out the remainder of my studies there concentrating in CS!  I have been following the CatTrack email thread for
a while and thought I would run in, violently chuck two copper monetary units and run back.

At UMich there is something called "Magic Bus" something that sounds a lot like what you
guys are looking into.  I thought I would share it, post some links, and maybe add a bit to the
discussion.  Disclaimer:  i obviously have had no involvement with this Magic Bus project besides
being a very happy recipient of its services.  If you want to know in-depth technical details about
how they went about making this project, I can attempt to put you in touch with the people involved.

Main Link to the Magic Bus website:

A little more information:

We havn't started school yet over here, but, I will be seeking out club membership at UMich's CSSA
equivilent (as if theres a CS club that can equal the CSSA) and hope that we can do some cross-border
hack-a-thons over the intarwebs.  

Live long and prosper,


From: Computer Science Student Association [[log in to unmask]] On Behalf Of Michael Evan Karpeles [[log in to unmask]]
Sent: Saturday, September 05, 2009 2:25 AM
To: [log in to unmask]
Subject: CatTrack Updates - Positive Polly

First off, excuse my spelling, in advance. It's kind of late. There
are a few sections to this email. First part is for Chris (and all
others interested in reading). Second part is updates -- what we've
done on the project so far. Third part are FAQs (questions and answers
from Andrew and Chris's emails). The last part is for everyone on how
we should proceed.

You definitely have valid points. There are a few reasons why I think
live tracking would still be a good idea (but know I am very open to
persuasion and we should continue to discuss this). My arguments are
as follows...

Even if the buses stay pretty close to the schedule, it would be nice
to be able to go online and check the buses location instead of
waiting outside during the winter. I know of a lot of people who get
out of classes and wait for more than 10 minutes for the bus to come.

Secondly, the project can definitely reach a wide audience, would be
fun to do, and wouldn't be overly difficult (or too expensive). In
addition, I am sure people would benefit from the live bus tracking
for the buses that take the off campus route during weekends
(considering they only make cycles every half hour or so).

I really don't think people would want to spend the time to check an
estimation of the bus's current location, online. The point is having
the convenience of being able to plan. Imagine just missing a bus (and
not knowing it) and waiting 20 minutes in the cold because you thought
it was just running a few minutes late. It would be much nicer to
continue hacking in the lab and then run down to the bus stop 1
minutes before it was due for arrival.

The project also has a cool factor which has the potential to attract
new students, lead to future research and funding opportunities, and
get the CSSA some publicity. This has been the first project that
people have really been excited about and it would be nice to (in some
shape or form) get a project of this magnitude and significance
completed. That said, I'd be just as happy to put my time in another
project (instead) that has the potential to reach a large number of
UVM students, will be a challenge, and will get CSSA-ers excited.

Friday night we did get some work done that would be useful for us to
reach our goals no matter which implementation of this project we
choose (totally simulated or live tracking). Leif and I managed to get
a mercurial repository set up and discussed plans for designing a
testing interface. The repository can be found on Deadowl @
/home/css/projects/CatTrack. So far, I haven't done too much with the
website interface -- just worked on creating a basic framework. I did
manage to hack together a really crappy threadable client script in
python which emulates several cell phones concurrently submitting
realistically generated data at set time intervals. So far the
multi-threading has not been completed. It just emulates a single
phone session. The actual thread spawning shouldn't take more than 20
minutes to get up an running based on the existing framework.

Leif was working on creating a parent application which could send the
generated pseudo cell phone data as a text message to the cssa@cems
email account (via python twisted pop3). He also got a great start on
a database schema.

I tried to make very verbose messaged for commit logs (in hg) and keep
documentation of my thought process but it would still be really nice
to get a wiki page up. I'll look into Redmine and see what I can do.

- We could hook the phones up to a permanent power source or find a
way to hack them into a low power usage mode (sleeping with wake-up
- We could find a way to "hibernate" them either via cron job or
remotely (by software hacking cheap phones.
- Students can send a text with a number representing a bus stop and
get a message back with a time (ETA).
- Could test it with just one or two phones and see if anyone uses it.
- We can hide the phones on the bus or create an enclosure to prevent
tampering or have it be near the bus driver(s).

I'm open to anything. Let's do some testing to see how accurate the
pre-determined schedule is before continuing. If the buses are as
accurate as we suspect, no reason to go overboard. Everyone agree? If
nothing more, we at least have a good place to start.

Cheers and congratulations if you made it this far!

- Michael E. Karpeles

UVM ACM Chapter
CSSA Vice President
CSSA Secretary