Week 1: Principles, Practices, Project Management

January 25, 2017

Process

Version Control

In my previous career, I worked for both large and small tech companies building scalable systems and user interfaces. Along the way, I learned how to use various version control solutions like CVS, Subversion, Mercurial, and ultimately Git. Although the whole process of version control can be intimidating to beginners, I've seen what happens to files in the absense of strong version control, and it's not pretty. I'm glad FabAcademy settled on Git as the one true system.

Development Environment

The office mate at my first job was a command-line guru. He could make magic happen from the terminal, and I picked up many of my habits from him. To this day, I still prefer editing text in VIM, using git through the CLI, and coding without a graphical IDE.

Web Development

While I've written my fair share of websites from scratch, I wouldn't recommend it - that path leads to a purgatory of cross-browser/device compability issues. Browser normalization frameworks like Bootstrap (used on this site) are invaluable for the sanity that they restore to modern web development.

Final Project Idea

Cardboard Industrial Robot Arm

A couple years ago, I watched a video showcasing what creative people did with heavy-duty industrial robot arms. Ever since then, I've been on the lookout for refurbished arms on Ebay, but they are either prohibitively expensive or in questionable conditions.

For my final project, I would like to build an affordable 6-DOF robot arm with a reach of more than 2 metres. However, instead of relying on high-powered motors and over-engineered materials, I would use off-the-shelf servos and cardboard. Instead of relying on dead-reckoning or encoders for positioning, I would use a computer vision system so that it can adjust to what it sees, just like a human would.

Existing Robot Arm Approaches

Baxter

Desktop Picker

Soft Arm