I am a PhD student at Princeton University. I study Computer Science and am interested in Networks and Systems.

I am spending the summer at Stanford working with Phil Levis. On my first day at the Gates Hall, Phil pointed me to something interesting in the basement of the building - the original Google storage (image on right). Its fascinating to think that the multi-billion dollar search giant came out of THIS machine. n511689122_119153_7454.jpg

WSNblog.com

| | Comments ()
wsnblog.JPG

Why have I been quiet for a while? Well most of my entries related to sensor networks are now posted on WSNblog.com instead. WSNBlog.com recently got featured on M2M magazine (although they got some information wrong about us). Some comments on this issue of the M2M magazine:
  • I am keeping an eye out for ArchRock's IPv6 solutions. Lets see how the industry responds to the idea of running IPv6 on sensornets.
  • I recently attended a talk by Bob Metcalf at Cambridge, MA. It seems to me that Bob and Ember believe that they have found the "killer app" in energy management. I wonder how Metcalf's law will scale in that market.

Eric Brewer and Inktomi

| | Comments ()
Computer History Museum has this talk by Eric Brewer (UC Berkeley) where he goes over the rise and fall of Inktomi. I highly recommend watching this talk for folks interested in the history of the Internet, case studies of startup companies, insight into the Internet bubble, or technology research in general.

Inktomi was founded in 1996, by Eric and a Berkeley grad student, and went onto the Nasdaq 100 before it was bought by Yahoo! in March 2003. Yahoo search and MSN search are still powered by the Inktomi engine. At one point, Eric actually got a little emotional while talking about Intkomi and I can clearly relate to why.

At the end, he talks about the time when his 10% shares in Inktomi were worth a billion USD and he got interested in doing something for the "third world countries". Eric (along with Umar Saif) is the program co-chair of the NSDR workshop that I am organizing. NSDR'07 is specifically aimed at bringing the benefits of networking technologies to the third world.

Below is the GoogleVideo embedded video of the talk:

Moteiv on Discovery Channel

| | Comments ()
Joe Polastre, CTO of Moteiv (one of the co-authors of our recent MAC editorial) recently got featured on Discovery Channel and Science Channel. Below is a YouTube embedded video of the Discovery Channel broadcast. The story was later picked up by CNN as well.


I was a visiting researcher at SICS (Sweden) last fall where I had an amazing time working with Thiemo Voigt and Adam Dunkels. Adam's work on Protothreads recently got accepted at ACM SenSys 2006 and I am listed as a co-author on the paper. SenSys is the premier conference in sensor networks. Much like what SIGCOMM is for networking folks.

acm-logo-small.png
"Threads vs. Event-Driven Programming" is an age-old debate in computer systems research. The late Roger Needham (Cambridge) tried to settle this debate with the "duality argument" in 1979 (essentially saying that threads and events are inter-convertible and are the same thing), but the Threads vs. Events remained a hot debatable topic e.g. Ousterhout (creator of the Tcl scripting language) made strong arguments against Threads in his "Why Threads Are A Bad Idea" invited talk at 1996 USENIX Technical Conference. An example of arguments in favour of Threads can be Eric Brewer's (UC Berkeley) "Why Events Are A Bad Idea" HotOS IX (2003) paper.

Protothreads are extremely lightweight stackless threads designed for severely memory constrained systems. One way to think about Protothreads is that they are a proof-of-concept of the 1979 Roger Needham "duality" argument. They are "something in-between" threads and event-driven programming. Maintaining state-machines makes event driven programming hard, but threads take too much memory to make them feasible on memory-constrained systems (e.g. sensor networks). Protothreads reduce/eliminate the need for maintaining explicit state-machines while keeping the memory overhead very low. Protothreads, unlike traditional threads, are stack-less and their memory overhead is very small (only two bytes per protothread).

For more details, read the Protothreads SenSys'06 paper. Also, you can download and use the Protothreads library.

Protothreads are already gaining popularity (checkout the Google hits). Here are a few interesting links:
Picture of Muneeb