4 Comments
Mar 14Liked by Benjie Holson

I love your writing and this is no exception. I recently got off the sidelines and purchased my first real robot: a uFactory XArm-6. The specs don't compete with the big name brands, but it was a quarter of the price of a name brand option. More critically, though, I sat through the software demos of some of the big name brands and I was horrified. Their IDEs are meant for an expert who can spend weeks programming a robot to do one task on a loop forever. My robot's job changes from day to day, and I'm the poor sap stuck programming it.

So my decision wasn't driven just by dollars, nor by open source, well-documented APIs, but also by the GUI that I could download, connect, press record, wave my robot arm around, and play back the action in 30 seconds of work. From there, everything else is learning.

I can't wait until I've got RoboGPT and layers of neato software abstract away object recognition, path planning, and the other stuff and I can talk to it like Jarvis. But in the meantime, I've got Blockly, Python, and physical collision detection keeping me up and running.

Expand full comment

A small nitpick:

> I like python’s default-argument syntax for this because it means you can write APIs that can be used like:

That's strictly speaking not the default argument syntax of python. That's default values for keyword arguments. Great article!

Expand full comment

Hi Benjie. :)

Well written! I laughed at your jokes. They were funny. And spoken like a true engineer.

I don't do robotics, but I do build APIs from time to time.

"Design your APIs for someone as smart as you, but less tolerant of stupid bullshit." <--- This right here!! Brilliant way to summarize so much of good API design.

Keep it up! Hope you're doing well.

Expand full comment