Let’s Get Ready To Roombaaaaaaaa!!!!!

So, lately I have been spending some late nights on campus. I mean LATE nights, 1….. 2….. almost 3 in the morning. Have I been spending late nights working on my schoolwork? Ok, you can stop laughing now. No, instead I have been doing some hardware/software hacking with a Roomba. My friend Oliver and I have been busy putting the Roomba together and doing cool stuff with it. Ok, ok, Oliver did most of the hardware work, I just provided ideas and suggestions along the way. End result: A Roomba being controlled using a USB Gamepad over the wireless network in the Computer Science building. Over the break, several individuals from tech support came to take a look at it cause it sounded cool, and we even showed it off to the high school students that showed up at the Open House last Saturday (they also thought it was cool. Right now, we have the movement controlled via one of the analog sticks, though we have a lot of cool ideas (which I am sure I will write about as they are accomplished).

More information (as well as pictures) can be found at Oliver’s site here

Additionally, Make Magazine has already featured it in their Make Blog. How cool is that?

Because All Good Things Come To An End……

Today, I finally worked my last shift at Satlantic. Due to various time considerations, I told my boss I couldn’t realistically do any more work for the rest of this term, due to my erratic schedule. This week I spent cleaning up issues that I had experience with, and basically finished it today. Funnily enough, the last few days I have felt more productive than I have normally been as of late, and I was even the last person to leave the office today.

Ah, Satlantic, I will miss thee. You were definatly one of the most fun jobs I have ever had, and you taught me a lot. May we meet again some day (and don’t forget to call me in the spring).

Degree Requirements

At the start of this term, I thought I had one more degree requirement: one second year or higher course that was from Mathematics, Science, Engineering, Management or Commerce. ‘Crap’ said I, ‘I most likely won’t be able to complete that until next fall’.

Today, however, I checked over what I needed to graduate and all I will need after this term is any one course. ANY ONE COURSE. I forgot that I signed up for a 3rd year commerce (Entrepreneurship) course at the last minute this term. Which means I can basically take anything this summer if I wanted to.

Funnily enough, this discovery comes just after having a talk with Dr. Scrimger regarding the directed studies course. Sure, at the time I didn’t think I would be able to take this course. However, it is my opinion that simple course work doesn’t really cut it for preparing students for their post university experience. Sure there is Co-op, but that is more ‘ok I need a job, any job, and maybe I will like it or not’ where Directed Studies is supposed to be more of ‘Yeah, this stuff really excites me, I want to try it’. Sure, there is Honours as well, but Honours has additional requirements.
Additionally, it is my understanding that there are Faculty members that have work that needs to be done, but that isn’t really of graduate thesis calibre, or is really some small project that is tangential to things being worked on, but needs to be done at some point to support other work, or just stuff that needs to be done to create a proper infrastructure for further work to be done on. Wouldn’t it be great to match interested undergrads with interesting things that actually need to be done?

Now, an argument against all this is that the professors are volunteering their own time to supervise a student. However, they also have final say on if a student is able to perform directed studies or not. So, making more individuals aware of directed studies (and honours technically) might cost them a little more in meetings up front, but the pay off is that their is a greater possibility of attracting motivated students who have interesting ideas that in turn, might interest the professor and there is also the chance of finding people that are willing to do things that are actually needed.

So, we’ll see how things go in both regards. Can I set something up, so Professors have a larger pool of candidates for doing interesting things? Can I come up with something interesting enough that I can enroll in directed studies in the near future? I am certainly interested in finding out.

Because Screwing Up Only One Server At A Time Is Child’s Play……..

So the Dal-ACM hosted another Installfest on Saturday. Rather than be a simple spectator of cool stuff and mooching off the nice spread of snacks, I decided to be an actual PARTICIPANT this time.
So, the Dal-ACM has this ‘development server’ (of the desktop machine variety) called mblast. In times past (2 Installfests ago) Gentoo was installed on it for some reason. Every time this was upgraded, something broke. More importantly, since almost everyone could sudo su - for root, packages were installed and upgraded with impunity, resulting in things breaking often. Funnily enough, the DSU opt-out site was run from this machine, and someone actually upgraded it while the opt-out period was running.

So, flash forward back to the present. Since the Dal-ACM aquired slammer, more people have shifted their user accounts to that machine, leaving mblast somewhat underused with the exception of some of my own work. I figured, since with the exception of a few Ruby On Rails Cookbook tutorial instances, I was the only person using the machine, I could wipe it and play with a few things I have been thinking about for a while (and yes, I asked to make sure there was nothing critical and performed a backup anyway).

So, what did I end up doing? I decided to try my hand at virtualization. Set up Debian Stable as a host machine, installed Xen, set up a host server from disk, and started that up………. two machines running on one machine’s hardware. It was pretty sweet to get running. Of course, it wasn’t as easy as reading those lines. I somehow screwed up a minimal Debian install, had problems with mblast’s hardware, some misinterpretation of the hardware, and oh yeah, the pain in the ass of backing up everyone’s data before wiping that sucker the first time.

In the end it was done, it was cool, and as soon as I figure out how to install other operating systems besides Debian (since I used debootstrap for that) and to have the virtual hosts actually accessible to the internet, I will be able to set up any operating system (well, linux or bsd really, unsure about Solaris) for people, and then they can screw it up to their heart’s content without affecting someone else’s work (assuming that work is on a different virtual server). Yeah, learning all that is what reading week will be partially for.

The other cool thing at Installfest was Roomba hacking. Several people in the CSB, including my friend Oliver, bought a Roomba (a programmable robot vacuum cleaner) a wireless router, and other items. Their goal is to power the router from the Roomba, install linux (WRT Firmware) on the routers, and then be able to control the Roombas remotely via wireless. Add in some USB ports on the router and you can do a lot of things with that.

At the installfest, most of the time was spent deconstructing the Roombas without breaking them. Towards the end, they actually experimented with powering the router from the Roomba. One problem: the router partly starts up and then…. dies. The Roomba is currently blamed, the theory being that, while the specs say 2 amps of current can be drawn from the Roomba, there is probably some regulator somewhere that doesn’t allow more than a percentage of that out of the power interface they are using. A set back to be sure, and I am looking forward to seeing how they solve it, and having those Roombas running around the CS building.