Posted by turbogeek
on July 2, 2005 at 2:32 AM PDT
Take a look at the second place winner for the t-shirt chucking contest at JavaOne.
Tossing a t-shirt is not as easy as it looks. Especially if you are a software developer. That is at least what the Swing Set 3 team tells me. Looking at the flesh wounds of one of the members, it is a bit dicy (or rather the launcher bytes).
The Swing Set 3 team only garnered second place this year. I was quite surprised. The winning entry was closer to the Bluetooth of Danish Viking and King, Harald Blåtand, not the Bluetooth related to Java ME device (BTW Java ME is the new branding for J2ME). Swing Set 3 on the other hand was a marvel of electronics, old bycycle parts, and sharp pointy bits that together flung t-shirts to the back of the auditorium.
Ok, here is the team:
o Matt Quail (http://madbean.com ) - The software guy and master of the GUI interface
o Brendan Humphreys (http://opencurly.com ) - Aluminum expert, T-Shirt Artisan
o Conor MacNeill (http://codefeed.com ) - Electrical engineer and cranker (Stopped the barrel with only a small loss of blood)
o Pete Moore - Fearless leader, tool guy (in charge of the sharp pointy bits)
Just a bunch of software guys trying to hardware, the same way they do software. That means bugs and crashes, right? But let's look at the technology now because it is quite impressive.
o Long Blue Canisters - Low-range/high-volume release mechanism.
o Secondary low-volume/high-range t-shirt release boom - This one sent a t-shirt to the back of the room.
o Bike rims - Main axis of the barrel (hand cranked). Spins at a max of 250 RPM with the right pizza fed volunteer
o Separate 12 and 24 volt power busses on the main barrel - used for sensors and relays
o Infrared RPM sensor - Measures the speed
o Mac 15 inch 1.5gHz PowerBook - Command and control center
I love their visual interface. But as you can see by their photos, they really should stand a bit farther back from the imager.
Based on the speed, the software calculates the best time to release. That's the theory anyway and the hardest part.
Time for physics. A 200 gram t-shirt, spinning at 200 RPM, at a radius of 80 centimeters has an effective weight of 10 kilos. So forty kilos of t-shirt! That is a lot of shirt. The latches have to hold the 10 kilos and still be able to open in milliseconds or the trajectory will be wrong.
Now for the real problem. Inadequate code coverage unit testing in a real environment. The highly precise infrared sensor set to 850 nanometers are key to making the device wok. In fact testing in the auditorium was done to be double sure. Unfortunately these super accurate sensors were susceptible to broad spectrum source (like a reporter's camera flash). The end result was that the system did not have an accurate idea of where all the spinning bits were and let fly whenever a reporter's camera went off.
Another manifestation of Murphy's law and perhaps one to remember. If you have a very accurate measurement tool, the world will throw noise at you that looks like clean and accurate data.
Beyond the 28 hours a day that each member contributed to the effort to chuck a shirt, they also work for Cenqua. Cenqua has two tools; Clover and FishEye. Clover is a code coverage tool for Java (a great product but lousy for t-shirt launch testing). it tells you what parts of you code are not being tested by your unit tests. FishEye is a tool that provides a web based interface into your source code repository, allowing sophisticated searching, RSS feeds and much more. http://www.cenqua.com/
The build pictures are here http://flickr.com/photos/pte/tags/tshc