"When I went to school, they asked me what I wanted
to be when I grew up. I wrote down 'happy.'"
—John Lennon

Schoolwork

I'll put a list of most of my classes at the bottom of the page, but this page will mostly be focusing on classes that included interesting projects to which I will be linking. These are in no particular order.

Multiplication Dissassembly

Going through a C++ multiplication step by step

Seeing the equivalent assembly code behind a single C++ multiplication was pretty amazing; as many of my classes, it feeds my astonishment that computers work at all, let alone as reliably as they do. We only looked at a single line, z = x * y;, which ended up giving about 50 lines of assembly code. We did it on a BeagleBone Black because its processor is ARM and RISC.

BeagleBell

A doorbell that takes photos

My group and I decided to make a "doorbell" that took a photo of the person pressing it and sent it via text message to the homeowner. If you pressed a push button connected to the BBB, it would take a photo with the attached USB webcam, attach it to an e-mail, and send it to your phone company's SMS gateway. We only managed to get it working with Verizon and AT&T, but it was still pretty cool.

Lab Kiosk

Website for students to lookup lab equipment

One of our professors had acquired a bunch of hotel kiosks, and wanted to station them in the electronics labs so students could look up equipment details, MSDS, safety info, etc. To have it accessible from anywhere, we decided to do it as a website. The result is linked above, albeit only about halfway done.

XMPP Server

XMPP Server for use with IoT sensors

I helped on a project whose goal was to use Raspberry Pis in an Internet of Things way as networked temperature sensors. For message passing, we wanted to use XMPP, which is what initially prompted me to setup my chat server. Although it was originally OpenFire, I've since changed to Prosody due to problems with getting OpenFire to import SSL certificated. Also added a web client, namely Kaiwa, which is what I linked to above.

Genetic Algorithm

Implementing a real-valued genetic algorithm in python

Can't talk about engineering without hitting on optimization right? In particular, I found Evolutionary, AKA Genetic, Algorithms fascinating. By modelling Natural Selection as mapped out by biology, we can actually optimize real-world problems. So cool. In this project I wrote my own algorithm, vaguely guided by existing literature, and tested it on a bunch of artificial 2D test functions.

Optimmizing WiFi

Finding the best place for a wireless access point

Later, as some independent study in service of my Computer Science minor, I really wanted to continue doing something with the genetic algorithms I began working on above, specifically applying it to a real world problem. Ended up mapping out my apartment and trying to find the best place for the router for optimal coverage. Coincidence or not, my solution ended up being almost exactly where the designers had screwed it to the wall when constructing the building.