Personal Website
I suppose listing my work on this site is a bit meta. I used to have a wordpress site that contained all of my work but I changed that out for my own custom built rails site you see here. Unfortunately I don't have a good reason to explain my switch. As a software developer I just felt if I am going to have a website that I might as well just build it myself. In my career I have also flipped back and forth between using rails and Python for web development. After starting this project off in Django I switch to rails as still think it is the most complete framework out there. No thanks node.js. On this site I spent a lot of time making my web resume look like my latex one and I think it turned out well. Think of this site as my ongoing research platform for putting new ideas and technologies up.
This research is just starting to get under way. I have a strong background in signal processing that I gained in grad school at Tech. My goal was to implement a platform for audio signal capture so I could work on interesting data analysis problems. Working with stock data does really interest me as not having control of the data collection is a huge hinderance to doing really interesting things. So far the hardware portion of this has been quite a bear so we will have to see how far this goes.
Reconfigurable Lexer and Parser for Unstructered Data
For a while now I have been interesting in gaining more information on working software systems. This information could be useful for bug detection, security, or more for use in more advanced formal methods. A while back I wrote some code to parse logs of many different system. One of the hardest parts of this problem is how to deal with the unstructured portion of portions of a log. For the mean time I have put this project on the back burner but would like to pick it back up again.
In grad school I had two specializations. The first was networking and the second signal processing. Networking was my stronger focus at first but working in the DSP group I was determined to make algorithms that could be game changing. I spent many years collecting data, running the data through simulations, and doing analysis of my algorithms. The recent development of data sceince as a highly desired profession sparked my interest in refreshing my data skills. In addition to reading books, I have taken a decent amount of online classes and short courses. Working at Medlytix I was able to do a lot of work on data processing pipelines for batch processes. Maybe all of this will lead to something great, but for the time being I plan on trying to keep my algorithm skills up to date.
Game Networking Algorithm Research
When I first started working in the the signal processing lab my professor was interested in the streaming of 3D meshes since that was what his PhD was on. The first task I was instructed to do was to network together a very rough virtual environment prototype. This project led to me researching the networking done in gaming and virtual environments. Most of the previous research on the topic was done on a technique called dead reckoning. I spent many years researching this and experimenting with algorithms for the transmitter and the receiver to lessen the effects of the network on the end user experience. My research was more specifically done on human hand movement which is different than avatar movement in a typical first person shooter. I collected data, wrote algorithms and simulations, and eventually a few research papers. I always thought this problem was a hard one as the current techniques are good but more advanced techniques are very difficult. My only consolidation to this was in the passing on of my 100 page proposal to a friend working on the networking at the gaming startup Artillery.
In addition to the more algorithm oriented research on network gaming I did various research projects where I wrote networking software. One interesting project was the networking of a sort of treasure hunt game done in the real world with mobile phones. At this point mobile phone development was much more rudimentary that it is now and phone API’s were not close to being as rich. In spite of this we put together a rough prototype which was pretty cool. I learned a lot of things on the practical aspects of game networking and mobile phones. Using the GPS and network on those old phones drained the battery like a college frat boy drains a beer. Between the old phones, the huge battery drain, and the horrible network coverage I would say I learned the most in how the real world often kills good research ideas. If I ever have any free time I would love to reimplement something similar with todays hardware. I did some other research and built some prototypes streaming other media forms, but I think the ideas were less novel and interesting.
Second Screen Semantic Linking Research
One of the coolest research projects I worked on was with Motorola labs. Once again I think we were at the forefront of the idea of a tv linked to a second screen. No one had done anything in the literature at the time and I was teamed up with a researcher at Motorola labs who wasn’t drinking as much of the corporate Kool-Aid as the typical corporate employee. I built a Ruby on Rails application that linked interesting web sites to the current video on the tv. Our prototype was very basic and the idea has since been done, but at the time I thought it was novel. In the course of this project I learned a lot about OCAP as well which led me to later work. Unfortunately the the cable world at that timed cared more for OCAP than cool novel tv centric application ideas. The closed nature of the cable tv system has really soured me on anything interesting happening in this field.