Friday, February 29, 2008

MixCD

I have volunteered to be part of Andy's MixCD project. This seems like an easy enough proje with an interesting goal.

The idea behind the project is to make a website that people use to track Mix CD's they've left lying around for other people to discover. When someone finds the CD they can go to the address trackthismix.com on the CD and see what mix is on there. The person who left the CD can then be notified that their CD had been found. We feel this is an interesting if not entertaining way of sharing music. Not only do we get to see who and where the CD was left, but track it's progress. This is very similar to the Where's George website. There are some complications to it; will people actually burn CD's and be willing to leave them? Will the RIAA decide to sue us?

This project seems fun, but most importantly, easy to do. I'm one for challenges, but when you're in your Senior year in college, easy projects are very tempting. :D

On a side note, I would love to see this project done on Facebook. The reason being, it already has a set userbase and would be easier to spread the word through the website. But right now, we already have our website and we'll be given some freedom with our project.

We'll see where we go from here!

Mindstorm-XO fails

My proposal for this class almost past muster, but didn't make the cut. I'm not too surprised, it is a difficult project and would have taken a lot of work. The project was tied with two other projects - with two other projects having more votes than ours. The vote came down to a secondary vote and MXO only got 3 votes total. Like I said before, I'm ok with the project not being chosen, and frankly, I thought some of the other ones were more interesting than mine. However, I do think Chaz gesture project would have been a lot of fun to do (and useful) and Vince's Karma project also - much to Vince's chagrin.

All posts following this will cover the project I am on...which will be the topic of my next post.

Wednesday, February 13, 2008

I prefer a hefeweizen, but a draft will do

The rough draft has been completed. I'm not completely and totally satisfied with it but, I think it's decent. Prof. Bridges suggests that I make some corrections, add previous work like LabView into the main proposal, and make a more thorough time-line. Easy stuff that can be done rather easily. He also suggested having a back up plan unless we have trouble developing for the XO. Some kind of simple program for High School students or maybe even elementary students. Hopefully it won't come to that and we wont' have to worry about there being too much trouble with the XO.

Here are some excerpts from the draft:

On Motivation (suggested improving this section):
Currently there no is research or development for NXT on the XO. There has been a report that LEGO Education will be working with OLPC in Brazil [link], however, there is no indication – or guarantee – that they will port their current Microsoft Windows and Mac OS X compatible NXT software to the XO. LEGO Mindstorms NXT is an incredibly popular robotics kit with many schools from elementary to Universities utilizing the tools available.
On Background:
The One Laptop per Child (OLPC) association is non-profit organization whose goal is to develop a low-cost laptop – the “$100 Laptop” or XO-1 – to revolutionize how we educate the world’s children. Their goal is to provide children around the world with new opportunities to explore, experiment, and express themselves [link].
Background continued...
LEGO® Mindstorms NXT is a programmable robotics kit released by LEGO. The LEGO Mindstorms NXT software enables a user to program and upload instructions to the NXT – an intelligent computer-controlled LEGO brick and the brain of the Mindstorms robot –via USB or Bluetooth connectivity [link].
Finally, on System Description:
The graphical user interface (GUI) will consist of large, easy to understand icons indicating what the Mindstorm robot will do. This icons will be laid out along one of the borders of the application, while the main window will display how or what the robot will do i.e., a road map, so to speak.
Initially a user can select multiple actions and specify the duration of the actions. For example, a child can select a forward motion and she will be prompted to specify the length of forward motion – either in seconds or distance. The child can then stack the instructions so it can do multiple actions in succession. As the child progresses and learns more about actions, sensors can be added and the child can decide what the robot will do. Continuing the previous example, the child has added a touch or ultrasonic sensor and she can now give the robot instructions to turn 90o whenever it bumps into something or comes within a certain distance of an obstruction.
So where do I go from here? I need to revise my draft so it's a little more coherent. Add some positive spin as per Prof. Bridges suggestions and, well, pray I can make more heads or tails out of this.

I like the idea I've come up with (although, I have to give a lot of credit to Jared Quintana for the original idea, I've essentially run with it). I was a little worried about it when I first wrote my concept paragraph, but now that I've fleshed out more ideas, it's kind of starting to grow on me. I really do wish I could have done some sensor network stuff, but this will be good too. I'll be honest with anyone actually reading this, it would be really cool if this project worked out so well it became part of the main packages or programs for XO. That would be awesome, but I'm certainly not going to hold my breath. (There are other issues with Mindstorms that come into play... i.e. the price.

Thursday, February 7, 2008

A proposal

I finally came up with something to propose, I'm not entirely satisfied with what I went with or with what I wrote, but it may work. Here is what I currently wrote:

LEGO Mindstorms for the One Laptop Per Child Project

I propose developing software that allows LEGO Mindstorms to work with the laptops created through the One Laptop Per Child (OLPC or XO) project. LEGO Mindstorms is a programmable robotics kit released by LEGO. Currently, Mindstorms is only programmable through NXT, software developed by LEGO that only runs on Windows and Macs. This project is aimed at the end-users of the OLPC, primarily children and teachers, so it would remain relatively simple to program and use. Currently there is no software or on going development for LEGO Mindstorms and OLPC although it has been suggested on the OLPC website wiki that a low cost version of LEGO Mindstorms system be built around the XO.
LEGO has various libraries and Software Development Kits (SDK) available on their Mindstorms website. There has also been some work done to make NXT UNIX compatible. The OLPC itself is UNIX compatible; it uses components from Red Hat’s Fedora Core 6 version of the Linux Operating system, so that may ease the development cycle. The biggest challenge for this project would be trying to get the Mindstorms hardware to communicate with the OLPC, however, if the Bluetooth and hardware libraries written by LEGO are thorough enough, it may prove to be simple.

The last line is probably the most telling. If the libraries are well written and easy to add into an implementation then the project will (hopefully) go smoothly. But then one still has to worry how the XO laptop can handle something like this. Well I guess I will soon find out as I am now tasked with doing some in depth research on all of this for the big proposal due Monday.

Another idea I wish I could have proposed was working with sensor networks. Apparently Prof. Bridges has equipment that can take remote measurements. I wanted to do something like this but I didn't have a solid ideas at the time the proposal was due. However, typical for me, the ideas have poured into my head immediately after turning in the proposal up there. Although it's too late to actually submit this idea, I still would like to throw it out there for anyone to read.

The project I thought of was to use a sensor network around the UNM campus to determine how much second hand smoke was in and around the buildings. For the past year or so, there has been a lot of debate about smoking on campus and how close people should smoke to a building. While, I am neutral on the issue, a system detecting second hand smoke, and possibly other types of hazardous gases, will help people make the proper decisions.

The main aspect of the program would be to gather and produce data. Then it would be presented in a beneficial way to the end user. A large portion of the time to develop the system would be spent on a graphical user interface to present this data.
In hindsight, I like this idea a lot more. It would have been a lot better for me since one of the graduate schools I'm looking at, has a program with monitoring ice flows using sensor networks. But, now that I've already turned in the LEGO thing, I'll stick with that and see what the other people have done.