Sunday, May 17, 2015

The Clusterflop Project Continued

Summary of how this third of the thesis is going so far:

So another brutal round of finals have come and gone at UConn. Rather than relax and enjoy my brief week of freedom before packing up and leaving on my next adventure, I tried scrambling to get the first third of my thesis working. Although HORNET hasn't melted down (yet) the grad students and professors who also have access flooded it with jobs the first few days after finals now that the semester's over. Initially I had thought the cluster was down for the summer which resulted in a concerned email from one of my thesis advisors to whoever's in charge of the cluster -- not good.

Fortunately, I figured out how that there were more than just the standard and priority queues in the cluster -- the standard one being the one I needed to submit my jobs. Using some nodes in the sandy bridge queue ended up being the fix although now a sizable amount of nodes on the standard queue have been reopened with the other users seeming to have finished the majority of the work they needed to get done for whatever research they're doing.

Unfortunately, even with all the free time to improve the pattern recognition part of this thesis through better filtering of the signal has been inconclusive. After numerous trials, tweaking, and an insane amount of hours training countless ANNs and SVMs, the correlation between the output and expected value of either algorithm was very minimal. Even just moving the files in and out of the cluster took literally hours. I have arguably the worst internet around considering we still use DSL and these files are so large that my thesis advisor is considering this to be actual "big data".

That's only a result file, some of my input files are well over 100 MB

At one point I was able to get the correlation up to about 0.41 on the ANN (the closer to 1 the better, whereas 0 means no correlation). However, I was unable to repeat this because ANNs, by implementation, are randomized algorithms. 0.35 seems to be the limit of the repeatable correlation I can get but for some reason it's dropped back down to around 0.18 for both despite several filtering techniques I'm implementing. The more I try to fix it, the worse the correlation.

Since I'm leaving to start my new job at Google tomorrow, this part of the thesis will be put on hold... for now.

Saturday, May 2, 2015

Connecticut Invention Convention 2015

Men and ladies, boys and girls, prepare to be astounded, bedazzled, and otherwise stupefied! -Three Dog, Fallout 3
Today was the second time that I've attended the annual Invention Convention held at UConn. As last year's CIC, I did my usual drone demo and it was a real hit with the crowd, only this time there was a bit of a twist. Instead of just using eyebrow raises and smirks, I used mental commands, facial expressions, nods and head shakes to get it to move while airborne, which completely bewildered people.

This year the displays for the departments in the UConn School of Engineering were broken up between the Brick Room (whatever/wherever that is) and the natatorium (which I had no clue where or what that was until just today) while the main event for the kids took place in Gampel pavilion. Supposedly last year's setup on the mezzanine was a fire hazard as large swarms of people gathered around to see the displays and demos. The fact that our table was on the edge near one of the exits probably didn't help.

Arriving bright and early and running on a whopping 2.5 hours of sleep, I managed to find the natatorium to set up. Thankfully, unlike the April Open House, there was no case of unexpected headset startup issues that sent me sprinting back to my dorm for my backup. In fact, connecting all the software components to the hardware components worked well -- too well. Unlike last year (probably because of the different setting), there were no interference/Bluetooth connection mishaps. There was also much more room to fly so I didn't have to worry about ISAAC colliding with innocent bystanders as much.

          "Concentrate.... wait, my hands are hidden"
It kind of looks like I'm standing on the drone while it's flying in the second photo. 
Now that would be a fun yet incredibly dangerous way to get around campus.

The strange contraption on my head and ISAAC sitting out in the open drew curious kids and their families over. For a change, flying the drone was easier than explaining how it worked to people with all the data-passing going on now that I've implemented part of my API for my thesis. Explaining how the signal processing and pattern recognition I've been working on is supposed to work (which it still doesn't right now) was even more difficult so mostly I just skipped that part and said the headset's software does it for me, which it still does for this demo.

The best part of going to these events is seeing how excited the kids get when they see the demo. It shows them that engineering is not some boring field and can have really cool applications. I know when I was their age engineering never really crossed my mind as something I wanted to do, especially programming. I wish someone got me excited about this stuff before college. The reactions from the kids and parents alike make waking up early and missing half a day of cramming for finals worth it. Many even went to tell others "hey, you gotta check out the demo with the mind-controlled drone!" (probably paraphrased). Of course, there were other demos for our table with parity bits, visual encryption, and home automation which were interesting to the kids too. Of all the departments we seemed to have the most visitors.

ISAAC's POV while grounded
I can't demo and use the camera simultaneously -- yet

While the numerous demos were largely successful (sometimes I had to swap batteries from flying the drone so much which required calibrations on relaunch), the event did not quite run flawlessly. The pizza promised for 12 was mysteriously missing until the parade of volunteers with large red boxes came marching up the steps to the natatorium around 1:15 -- 15 minutes before the end of the event. Unfortunately with all the greasy pizza there was a noticeable lack of plates and napkins. Of course, there were no paper towels in the bathrooms either and blowdrying your hands doesn't exactly work on grease. Thankfully by then demos were over so it wasn't a big deal.

Overall this CIC demo was a much bigger success now that I'm relying on my API instead to control the drone. When path planning is thrown in for next spring, who knows what I'll have for the next CIC.