Welcome!

I.U.R.T - Infrequently Updated Random Things...

About Me


Personal Project


Some ideas / projects, some half-backed, some nostalgic that I have worked on. These are all available on GitHub

AjaxCrypt

AjaxCrypt is a Javascript based proof of concept alternative to HTTPS. It uses a combination of AJAX requests, HTTPS and window.postMessage() to implement a man-in-the-middle resistant alternative to HTTPS. Click here for more information.

Stop AD Blocking

Proof of concept to prevent use of AdBlock Plus. The idea is to encrypt page contents which can only be decrypted with a secret key sent with the AD. In order for this to work you (unfortunately) need support from your AD provider. Click here for demo and more information.

Putty patches

I use PuTTY and WinSCP, one thing I really miss is to be able to open WinSCP from the current PuTTY sesion. I patched PuTTY to implement this feature, you can download the code here.

ebt_vnat patches

This is totally experimental! This module will add a VLAN tag to wireless packets based on the SSID it was received on. I submitted this as patches to ebtables for Linux 2.4. You might have to do some porting to make it work again.

Trajectory Based Forwarding

Trajectory Based Forwarding is a new routing protocol for sensor networks. The nodes in the network are assumed to be location aware and all packets carry an encoded "trajectory" that describes the path the packet must follow. Some obvious advantages are decoupling the node id from the path, which is good for mobile networks. You can read the paper here. Andrew, Mike and me implemented this on Berkeley Motes running TinyOS. You can read the report or download the code [.tgz].

Adhoc Positioning System

Ad hoc Positioning System is a new algorithm to enable Motes to know about their geographic location without using GPS. You can read about the paper here. I have implemented one of these protocols on the Motes. I also designed and implemented a querying protocol which basically enables us to get/set the protocol state on the Mote. There is also a nice TCL/TK GUI that maps out the given sensor field in 2D and it is possible to graphically query different properties of each node in the sensor field. Download the code [.tgz].

SLIP Simulator

Slip Simulator - Motes can be emulated in software and its UART can be accessed via a socket. We also have a working UDP/IP stack for the Motes. While developing protocols, it is useful to have some sort of a simulation framework. Slip simulator does this. Basically, it does FD forwarding between a socket and TTY-pair, one side of which is attached to the SLIP protocol using slattach. Download the code [.tgz].

Colored range searching

Interesting DB project - colored range searching is a problem that arises in spatial databases, network routing, document retrieval, and sub-string indexing. You can read the full report (PDF) or download the code to re-run the experiments.

OS project code

Some naive old code I wrote for the OS course to implement networked file systems. Download the code here.

Mote Gateway

This was my maiden project at The Dataman Lab! Motes are tiny wireless devices with sensors, you can find more information about motes are the Berkeley TinyOS website. This project enables multiple clients to query a Sensor network over the internet. Download the code [.tgz].

Mp3Spider

mp3Spider is a Java based crawler, which crawls all shared files in a windows network, I wrote it so that I can search for mp3 files in my office network.

Some less geeky stuff...


Intro-Churchill's speech (mp3 From Live after Death)

Smiley Ed
Iron Maiden - Title
We shall go on to the end,
we shall fight in France,
we shall fight on the seas
and the oceans,
we shall fight with growing confidence 
and growing strength in the air,
we shall defend our Island,
whatever the cost may be,
we shall fight on the beaches,
we shall fight on the landing grounds,
we shall fight in the fields
and in the streets,
we shall fight in the hills;
we shall never surrender