Shrutarshi Basu

I like building things. Mostly I build virtual things -- software, poetry, stories, digital art pieces. Sometimes I build physical things too. This page contains my computer science and electrical engineering projects. My writing projects are on the Writing page. Projects here are listed roughly in reverse chronological order - latest and current ones are at the top, followed by older, completed ones.

Computer Science Projects

Metaphor

Metaphor is the attempt to create a tool that brings the automation powers of computers to visual artists. The idea is to help artists to describe their images as relationships between image components which then get translated into a wide space of possible images. Artists can then choose the images that they like and further refine their rules.

The current implementation of Metaphor is as a Python program built on top of the Python Image Library and the POV-Ray raytracer. My experiences with Python and graphics libraries have led me to question the usefulness of Python for an interaction and graphics intensive project such as this. I'm considering porting it to JavaScript and leveraging both the increasingly fast runtimes in current browsers and the flexibility of the HTML canvas element.

The project is in the process of being open-sourced and I'm in the process of putting together code and enough documentation that I don't have to personally coach everyone who wants to use it (something that worked great as part of a research project, but doesn't scale well at all).


Dam Tycoon

This is a group project created as part of our software engineering class. It's a small game designed to teach children the basics of water resource management. The code is currently a mess of a Subversion repo, but one of these days I will have both the time and the inclination to clean it up and release it.

Electrical Engineering Projects

WimpFi

This is my senior design project to create a transceiver for a simple wireless network. We implement a decentralized communication protocol based on the IEEE WiFi standard. We're implementing the transceiver as a set of hardware modules defined in Verilog and synthesized to an FPGA. It interacts with a computer via standard RS 232 to send and receive messages.

As part of the project we're required to provide working Verilog code as well as extensive documentation. Here's what we've done so far: