Originally traditional networks really caught my attention because of the way they bind everything together. With networks, people can exchange ideas, software, or anything else with people around the corner as easily as people around the globe. Networks can be used to join computers together, allowing them to solve problems as a group much faster than any individual computer ever could. And in the networked world of a college campus or the Internet, there is no concept of "here" and "there" -- everything is accessible from everywhere. Networked computers can tell you the news of wars on another continent or how many Cokes are left in the soda machine. Of course, asking your computer to tell you how many Cokes are left in the machine will never replace the experience of walking to the machine and finding a friend there who wants to chat. The network should never replace human interaction, but only augment it.
Broadly speaking, CENS explores the architectural challenges posed by massively distributed, large scale, physically-coupled, and usually untethered and small-form-factor computing systems. Through simulation, prototype implementations, and ultimately fielded systems, CENS explores such issues as data diffusion protocols, localization, time synchronization, low-power wireless communications, and self-configuration.
My work has fallen primarily in two areas. The first is time synchronization, which is a crucial problem in sensor networks, but is actually much more difficult in that domain than in traditional areas such as the Internet. I've also been exploring programming models that make it easier to deal with the complexity inherent to building complex systems that must be robust enough to adapt to changes in their environments without a user around to fix problems.
Working in sensor networks is exciting because it's still such a wide open field compared to the traditional Internet space. Everyone knows what the Internet is now, and tons of people are doing research in it. It's too crowded; for research to be original, it often has to be so esoteric that it is almost irrelevant. Sensor networks feels more like uncharted territory.
My main outside work at the time was as a part-time engineer for a startup called Sensoria. They fit nicely with my thesis because the work is very complementary; in fact, Sensoria and our ISI lab have collaborated on projects in the past as part of DARPA's SensIT program. Sensoria is building embedded systems products and applications similar in concept (and often similar in detail) to much of the sensor-network research that comes out of our embedded systems labs at ISI and UCLA. It's nice to get the best of both worlds: working both in graduate research on problems with a 5-10 year horizon, and at a startup where fast turnaround on ideas and instant gratification is the norm.
I was involved in a lot at the NIH. My official project was the Radiology Consultation Workstation, an ATM-based telemedicine environment to support remote consultation with voice, full-motion NTSC video, and diagnostic quality digital images with a shared cursor and tracing tools. (I have several papers describing the system.) I also taught C++ classes there, and wrote various network utilities for the NIH network people.
While I was an undergraduate at Johns Hopkins, I was a teaching assistant for the semester-long C and C++ classes about 5 times, from 1994-1996. While working at the NIH from 1996-1998, I was the instructor for a 4-day C++ seminar three times a year. After returning to school in Fall of 1998 to pursue a Ph.D., I was the teaching assistant for Undergraduate Operating Systems for two semesters.
I learned a great deal about UNIX system administration from this job; unfortunately, it was also the most thankless job in the Universe. This is one of the precious few jobs in which your employer shouldn't notice your job if you're doing it correctly, and therefore thinks you aren't doing anything. You come in at 3AM to fix something so that no one ever realizes that it broke, and nary a word is said; your boss walks in one day and can't log in to his workstation, and all Hell breaks loose.
jelson at circlemud dot org