Configuration Files

I've just put up all the config files I use at

I'm not particularly proud of the .vimrcs. They're a giant mess, as of now. I should clean them up into one good one soon.

Site updates

In case anyone's noticed, I changed a couple of things.

I just realized that all the comments were chock full of spam, so I erased all of them and I've put a captcha in place. Sorry about that.

There's also a git script thingy running in the background to upload my entire site to a remote git server. If anyone's interested, let me know and I can put the script up. It's pretty trivial, though.

Visually navigate through dependencies between RFCs

Here's a small side project I've been working on for the past couple of days. Hopefully, this is almost done.

Visually Navigate through the dependencies between RFCs

git cheatsheet

Here's a cheatsheet of a few git commands I find useful. Nothing revolutionary, just the absolute basics:

Client commands


 git config --global "Firstname Lastname"
 git config --global "[email protected]"


Alternatives to the Raspberry Pi

If you have been involved in amateur electronics in any way at all, or even just visited tech blogs/aggregators of late, you have probably heard of the Raspberry Pi. This amazing little device (now shipping for $35, eventually targeted to ship for $25) took the world by storm. Retailers were completely overwhelmed, and The first shipments finally went out last month.


Installing TinyOS from the TinyProd repositories

Instructions for setting up the latest TinyOS from the tinyprod repositories on Ubuntu 11.10.

Updated on 1st March 2013


Hacking in C/embedded devices - tips and tricks

This is a running collection of tips and tricks that I've picked up over time in C/C++ development on many devices. I expect this will be a live document that I will add to as I continue to work. Read more...


Check this out - me and a few other people put together a cool service called Scribe! Scribe adds real-time speech transcription to a web-based video conferencing system.

We designed Scribe to enhance the conferencing experience for users collaborating across the world. With speech transcription, Scribe opens up a huge world of possibilities ranging from automatic text mining to event tracking and "minutes of the meeting" generation.

See more at the Scribe website.

Engineering and programming contests list

A list of the engineering, design, etc contests that I know of here, for future reference.

This focuses on contests that are among one or more of the following categories

  • Students/Corporates/non-students
  • Allow international participation
  • Have some kind of prize associated with them


Paper summaries - BCP


This is a brief summary of "Routing Without Routes: The Backpressure Collection Protocol".


Traditional routing protocols, such as link state or distance vector routing protocols work by explicitly calculating a route in the network from one node to another.

While these protocols work very well (as proven by the fact that they are deeply established in today's networks), they are not the "ideal" protocols for all network topologies. Specifically, they do not necessarily provide a globally optimum distribution of congestion in many-to-one transmission topologies, often leading to possible bottlenecks.

BCP is an implementation of Backpressure Routing - a completely different routing mechanism - for wireless sensor networks. BCP implements backpressure routing on wireless sensors to try to achieve the globally optimum distribution of traffic across the sensor network.