I love LEGO.
It has been a tremendous catalyst for my interest in building things; To break down a bigger vision into its components and sub-components, build these, assemble them, and experience the joy of seeing the thing you made up in your mind has come alive.
When I was first introduced to programming (which was pretty late in my life), I thought that it was just like building LEGO - with two critical exceptions:
- There is never “that missing piece”. You can always go off and find a package solving a subproblem or otherwise build it yourself. Therefore, what you can do is almost limitless (for good and bad).
- What you build can solve real problems, be distributed to anyone, and impact something and someone.
Even though I had a couple of detours, some part of me was always convinced that “building limitless LEGO” was a compelling thing to do for a living.
However, returning to the physical space and its tangible constraints has its charm. One of the amazing things about being a parent is to get the chance to re-experience your own discoveries through your kids. Some time back, me and my four-year-old dig up my old “LEGO Technic” collection when she was home sick from preschool. The result: A four-legged, fully functioning robot.
Speaking of limitations, all the pieces used are ~30 years old (must have been assembled and dissembled hundreds of times), and there are only three single-speed, bulky electric motors (no actuators) used. The biggest challenge in this design is that a single mechanical driveline is used to power all four legs (to lock in their phases) and that the torque therefore had to be transmitted through the moving waist joint used to steer the thing.
I must admit that the joy and satisfaction were probably bigger for me, but I’m very grateful for my daughter's engagement ❤️. Good times!