"Horizontally Scaleable Chat Server"working titleA chat server where users are randomly paired to other users. All users are able to talk to each other regardless of which server they connect to. Scaling is done simply by running more instances of the chat server and using nginx to distribute load amongst them. Technologies used:Redis, Nginx, Flask, Gunicorn, Gevent, jQuery, Socket.io, Python, HTML, CSS |
|
Near Duplicate Image DetectionThe project was to check if there exists a duplicate image irrespective to cropping, scaling, compression artefacts and lighting differences.
The final product was an x64 DLL that output probabilities of how similar each image in the set was to a given query image.
Technologies used:C++, Python, Matlab |
|
Using Software Defined Radio to Track Airplanes Over VancouverUsing a toy example as motivation, I tracked planes using the Mode S signal emitted on 1090MHz to obtain their location and altitude. These were then plotted to find the worst places in Vancouver to live that had the most noise from airplanes. You can read about my findings on my blog here. Technologies used:NooElec SDR USB Stick, CartoDB (For plotting) |
|
Photometric StereoGiven an image of a sphere captured under 3 different lighting conditions it is possible to reconstruct the surface normals of any other object placed where the sphere was and create a 3d reconstruction. Technologies used:Matlab |
|
Metta MessagesAn app made for a someone who had too many quotes laying around. I wanted to do a flat UI so this was the perfect kind of app to test it out on, I really liked the way it ended up looking. If you have an Android phone you can download it here. Technologies used:Java, Android SDK, Photoshop |
|
Image Dither + QuantizationThis project was to experiment with various colour quantization methods, colour lookup tables, dithering and create a program that allowed the user to apply various related effects to an image. Technologies used:Java, Swing (For GUI), OpenCV |
|
SoundOutPhonicsIOS app that used text to speech to help kids learn to spell and sound out the words of common objects Technologies used:Objective C, Cocos2D, SQLite |
|
FacerankProject that detected how frontal a persons face was in an image. Implemented into an android app that could take pictures in burst mode and order them according to how frontal a persons face is. Technologies used:Matlab, Java, Android SDK, OpenCV |
|
Maze SolverThis was an ambitious project for me at the time and also my first look at the world of computer vision. The idea was simple, you point your phone at a maze and it will automatically detect the maze, capture a picture and draw the shortest path from one end of the maze to the other. Most of the details and problems I ran into along the way are on my blog. Technologies used:Java, Android SDK, OpenCV |
|
DodgeEmThis was my first real dive into the world of Android. A basic game where you dodge balls flying at you by tilting the phone. If you have an Android phone you can download it here. Technologies used:Java, Android SDK, NoSQL DB, Photoshop |