Adventures in Software

Tag Archives: LEGO

I’m in Crested Butte, Colorado, for the Java Posse Roundup 2012. This is my 6th Java Posse Roundup, which means both that I have perfect attendance and that my husband is extremely tolerant of my travel.

The Roundup is a 4-day open spaces experience, dedicated to exploring technologies and open discussion. The mornings are set aside for discussion. Broken into 3 1-hour sessions, with 30 minute breaks in between, these are highly interactive sessions around a variety of topics that the attendees themselves identify and propose.

On Day 1, we held an intro session followed by 3 discussions.

For the first discussion of the day, I chose Tools that Make you Productive. Some tools that I thought were interesting included:

CamScanner – turns your Android or iPhone into a portable scanning device. Most notably, people are using it for high contrast whiteboard images.

Evernote – I already use this for notetaking on the web and mobile devices, but I learned about its browser extension (click to copy) and that you can take notes by voice on the mobile version.

Livescribe smartpens – allow you to record what you write and hear for later playback. Uses special pens and paper.

Desk.com was described as effective for help desk management (integrates with Salesforce!), and Trello and AgileZen were both discussed for agile software project management boards.

Boomerang, a gmail/google apps plugin, was highly regarded for email management and scheduling.

The Pomodoro technique was described (and has high participation in this group), and there was a strong emphasis on providing a distraction free environment with a comfortably large monitor and good keyboard/mouse/trackpad. Communication between team members (and customers) is essential and tools such as IRC, Yammer, HipChat, and Campfire promote communication with off-site staff. Google Talk (particularly with the “go to voice” option) is also highly regarded.

For the last session of the day, I attended a discussion on Continuous Deployment. We contrasted the term with continuous delivery, where you build artifacts and deliver to point where it could be deployed. It is critical that there are no special (different) steps for production. We discussed the challenges around achieving that, both technology and people, and delved into metrics that can be monitored to determine success.

Unlike the first discussion, only a few tools were mentioned (Splunk and AppDynamics) while much of the emphasis was on the process of getting to the point where tools would be meaningful.

Core to the discussion was a mindshift of a release as a big (and scary) event, but rather a regular occurrence of a small bit of functionality rolled out to customers. Spreading out features over time reduces risk and provides value to customers.

Following these sessions, I went to an “off-the-record” session around team dynamics. The off-the-record sessions are held offsite, and are not recorded. This enables attendees to be frank in their discussions without concern about who might hear the podcast. I have personally benefitted from these sessions every year, and their inclusion is one of the many advantages that in-person attendees have over those who stay at home and listen to the podcasts.

Another advantage, of course, is the hallway conversation. While open spaces conferences are organized to make hallway conversations accessible to all, I find that we’re all in non-stop communication mode, and the ample minute breaks between sessions encourage this. Various discussions from work-life balance to pair programming to languages all happened in these “breaks”. We also talked while at lunch, while out snowshoeing, and while at dinner. Others did some more hacking.

In the evening, we all got together for lightning talks (recorded and will be released on YouTube). For some reason (maybe we didn’t post the list fast enough), the list for lightning talks was only half-full when we arrived. Several of us kicked it into high gear and developed lightning talks on the spot, and soon the schedule was full.

I spoke about Raising Geeks, with the key message that we should all buy “cool toys”. My favorites are Snap Circuits Jr (and I saw a bunch of parents in the audience nodding in agreement) and LEGO WeDo. I had been talking about the WeDo to a few other parents at the conference, and they suggested I do a lighting talk, because its availability is not widely known. Kids can build things (like an alligator) with LEGOs and sensors, and then “program them” with a LabView-like visual interface. It’s sold through the LEGO Education division, and it’s been a huge hit at my house.

There were many other lightning talks on a variety of topics, some software related and some not. They’re always enjoyable to watch!

Many of the Java Posse attendees share houses in town and discussion doesn’t really stop when the sessions end. Every year, I go home from this week both energized from the ideas that arise and exhausted from the interaction.

I had a truly fun experience last night at the Ann Arbor Computer Society. Dr. George Albercook of Rocks and Robots came to “speak” … OK, actually do a workshop on building robots. He typically does this for kids, but he did a fabulous job with the adults (there were 4 kids present).

We haven’t had a hands-on workshop at AACS for as long as I can remember. What fun! We sat down in 5 groups of 4-6 people each, and used his “Flutterbot” to build a little robot. This included electronics (putting components together on a breadboard, including a brief introduction to reading schematics), software (C programming, using the free WinAVR compiler (delightfully pronounced whenever), and writing to the EEPROM (using the AVR Studio). Armed with some really good (and sometimes amusing) manual that George wrote, students are able to follow directions to do several tasks, from getting the Flutterbot to display a name on the integrated LCD, to getting an LED to turn on and off, all the way to building a robot that can track a dark line on a white surface.

The adults had a riot (and the kids did too). George teaches home schooled kids during the school year, and does several summer camps as well. His summer camps, as the name suggests, include BOTH the robot-building and an outdoor adventure (rock climbing at Planet Rock, the ropes courses at UM, orienteering, etc.). All of these are targeted to students in a young age group (9-12) and an older age group (13 and above). He uses LEGO robots for the younger kids, and graduates them up to the Flutterbot. All in all, it seems like this is a summer camp experience that kids can really grow with. And the combination of classroom work and outdoor adventure is really good for the kids, I think. Well, it works well with MY learning style, at least.

The parts George uses are all readily available on the internet, but the value he adds is that he puts everything together in an integrated kit, and includes software and instructions. The real added value here is the documentation. His expertise means that you don’t have to be an embedded systems programmer already to figure out how to do a little embedded systems programming. Check out his kit at www.flutterbot.com (and a photo of the robot we built last night is on the site as well).

Ah, my daughter is only 3, but she LOVES doing the climbing walls at playgrounds. And she loves computers as well, at least so far. I just hope that she will want to do a summer camp like Rocks and Robots when she’s a little older … and that George is still teaching it them.

I did ask how many girls he typically gets at his camps. He said that they have averaged about 10-20%, but that he’s going to reach out to organizations like the Girl Scouts and Brownies and try to do some recruiting with them to try to increase those numbers. I know that I will be promoting his camp with the kids in my neighborhood who are of the right age … and with my nephews as well!