6094 comments
2357 subscribers
6252 on Twitter
Subscribe! Feed reader E-mail

Working with LEGO

Thanks to Calum Tsang, I’ve been able to play around with the LEGO
Mindstorms robotics kit without actually having to mess around with
anything that requires spatial visualization. I’ve never really gotten
the hang of getting gears and whatnot to work together. Fortunately,
Calum is absolutely brilliant when it comes to that sort of stuff, so
all I really need to worry about is just making sure that I produce
the right output given the input.

LEGO presents quite a challenge. We use Not Quite C (nqc) to program
the robot, and it _really_ is not quite C. I’ve run into the parser’s
limitations a gazillion times, from wondering why on earth some of the
binary operators don’t accept variables to wishing I could define a
function that returns a value instead of having to pass everything
around in global variables. It’s fun working within those constraints,
though.

Debugging is a mission, too. No println debugging here! Numbers and
beeps are all I have, and the compile-download-run cycle can be a bit
slow. We’re still having problems with the infrared communication
between two of the control modules, but Calum thinks it’s because I’m
flooding the communication buffer. We’ll try twiddling that on Friday
to see if we can get it to work before the competition on Saturday.

Maybe he can teach me how to put together some of the really simple
assemblies – the bumper, perhaps? I’m completely pfft when it comes to
spatial things, but that could be a way for me to ease into it. Just
as Kathy’s circus stuff helped me learn coordination and rhythm, maybe
LEGO can help me learn how to hold spatial structures in my head. In
the meantime, I actually enjoy working within the constraints of the
system.

It’s also a refreshing break from the kind of programming work I
normally like doing. As Calum pointed out earlier, I’m one of the
near-mythical programmers who actually prefers maintaining other
people’s code and (gasp) writing a little documentation here and
there. For these little LEGO contests, all I need to do is hack
together some code that will be thrown away afterwards. It feels more
like a logic puzzle than a proper program. I don’t have the feeling of
working on something that makes someone’s life easier and better, but
I do feel that it exercises my brain and keeps me limber.

So, yeah. LEGO is fun. =)

On Technorati:

Short URL: http://sachachua.com/blog/p/3292

On This Day...

  • 2013: Weekly review: Week ending March 1, 2013 — Lots of cooking this week! I spent the weekend making nine different banchan recipes, and it really paid off in [...]
  • 2012: Visual book notes: 6 Secrets to Startup Success — (Click on the image to see a larger version, which could be good for reading my teeny-tiny handwriting. If you [...]
  • 2010: Thoughts on preparing an Ignite-style presentation — Creativity loves constraints, and the Ignite style of presentations has lots of constraints. Your speech has to fit into five [...]
  • 2009: Want to grow as a speaker? Look for inspiration! — In a previous reflection on presentation and public speaking, I mentioned how I’m looking for inspiring role models who can [...]
  • 2008: Weekly review – week ending March 2, 2008 — I feel a little flushed today, and I’ve been sniffling all weekend. After I finish this blog post, I’m going [...]
  • 2008: Internet experiment #2: Ordering clothes – success! — There are some things that most people would never think of buying from the Internet because they require such a [...]
  • 2006: Income tax info — From the Graduate Students Union digest: Your T2202A (the tuition fee receipt from U of T) is not mailed out – [...]
  • 2006: One-man Linux army — My boyfriend is a one-man Linux army. While all the rest of the people talk about promoting Linux, he actually [...]
  • 2004: Why am I interested in short stories? — Flash Art Who can paint summer in fifty brushstrokes and three colors? Brushes and palettes clattered throughout the warehouse, artists bent on [...]
  • 2004: nowikilink — It would be nice to have a tag that turns off implicit wikiname linking…
  • 2004: LEO — http://leo.sourceforge.net I think this is a pretty cool idea, but I want it inside Emacs, not as an external application – not [...]
  • 2004: CS21B meeting — - Design patterns - Make your own questions: 2 questions, 10 points - Composite (shapes), Observer (listeners), Strategy (sorting), Decorator (files) Procedure for [...]
  • 2004: NetHack progress — Another new character. Now level 11 and camping near an altar. Have picked up a couple of magic markers, blessed two [...]

Get the highlights as a PDF!

Stories from my Twenties: Highlights from a Decade of Blogging

Free sample!