Saturday, July 27, 2013

Update

For many months my blog has been left idle. Ever since I started working full-time, I have been unable to blog about many of the projects I work on. When I get off work for the day, I have little desire to work on Apple-related technologies. However, I have been working on other personal projects. These projects don’t fit the mold of what I usually blog about here. Here are a few of those projects.

I have been involved with robotics for years. It’s a field that has always fascinated and is what got me into programming. While attending Brigham Young University, I didn’t have the time nor the financial means to support my hobby in robotics. In the last year I have built a couple robots. The first is a hexapod. For the most part, I used a kit from Trossen Robotics. The default code is open source. I found the inverse kinematics engine most fascinating to study. I reprogrammed the hexapod with simple autonomous navigation using a sonar sensor. I also built a dashboard and control system for running and controlling the hexapod from my laptop.

The second robot I built is a quadcopter which I have named Tetra. I designed the frame using Inventor Fusion and printed each of the pieces using my 3D printer. The electronics are from ArduPilot. After many flights, both successful and unsuccessful, I learned a great deal about multi-copter flight and structural integrity.

I already have a third robot lined up. This one is a hexcopter made of carbon fiber. The main idea behind this one is to have a greater ratio of flight time to repair time.

As I previously mentioned I have been working with 3D printing. Not only have I printed Tetra, but I have also printed many trinkets. 3D printing is a young and exciting field. It’s especially great for robotics since I can quickly and easily make any parts I need. I have a few larger ideas lined up, which I may post later.

Outside robotics, I have been working on other projects. I have been teaching myself Erlang and Elixir. I am fascinated with parallel processing. Quite some time ago, I reached the peak of all I could learn about parallel processing from Grand Central Dispatch. Now I am expanding into more advanced techniques. In order to learn these languages, I started work on a simple wrapper around Forecast.io. I have also been using Elixir to solve problems in Project Euler. Elixir makes many of the problems trivial relative to other languages. It’s great for heavy computation, and makes it easy to take full advantage of all my laptop’s cores. As cloud computing continues to expand, I expect that Erlang, Elixir, and similar languages will play a great role.

Hopefully in the coming months my blog won’t be as silent. Though, the topics may be different from those I have done in the past.