For the last few weeks, I’ve been developing a small robot using the Arduino electronics prototyping platform. This is something I’ve been trying to accomplish for a year or so, but with no luck. I tried manipulating sensors, sweeping servo motors, driving DC motors, and even operating simple switches, but none of them would work, so I put the project on the backburner to work on other things. Recently, I was bitten by the robotics bug again, and decided to give it another go. I decided to move from the Netduino platform, which I was using before, to Arduino simply because there’s a much bigger community and an entire ecosystem of Arduino makers and engineers that provide support and open source contributions.
It didn’t take long to figure out why my previous attempts at basic robotics never yielded any results. The first time in this attempt that I started wiring up components, none of my circuits were good. I determined that the breadboard I was using since I started working with microcontrollers was bad. Unbelievable. So I realized it was time for another attempt. This one, I’ll call “Nixon,” after Lewis Nixon, the inventor of the first SONAR device, since my robot essentially uses SONAR to avoid objects.

Memorial Day Weekend in Georgia was amazing. We drank beer. We climbed mountains. Pretty standard for a Jesse-infused weekend.
We started the weekend off by heading up to Helen, GA for a night, where copious amounts of beer were consumed. Helen is a small Bavarian-looking town in the foothills of the Georgia mountains. It was pretty corny and filled with irritating Harley bikers, but we made the best of it. The first order of business was to grab a bite to eat. We headed up to the top rated German restaurant on yelp in the area. It was absolutely awesome. Schnitzel, sausage, noodles, and assorted types of sauerkraut were consumed. Not to mention, the place served German beer by the liter. After that, we headed out to find something to do. We just ended up bar hopping with random people we met around town until we ended up at the hotel, where we hung out with a random couple staying in the next room until 3am drinking on the porch.

I haven’t taken a day to myself since arriving in Georgia, so I decided to take Friday off and head up to the Smoky Mountains for a weekend of hiking, exploration, and camping. As always, it was incredible.
After leaving work in the afternoon, I swung by the apartment to pick up Sabrina, the gear, and Ruby. After a quick plot on Google Maps, we were on our way. Google took us on an interesting route to Bryson City, NC. We got to see most of Nantahala National Forest and the rolling hills of the Smoky Mountain Expressway with classic roots Reggae as the soundtrack along the way.
After arriving in Bryson City, we checked into the hotel and prepared ourselves to hit the brewery, which is my favorite place to drink in the Smokies. The Nantahala Brewing Company is pretty special place. It’s a large, open area in what looks like an old airplane hangar. They brew several types of amazing beer, and it’s a great place to hang out. I like any place that combines craft beer with 2×4 Jenga.
I’ve always been intrigued by the Bitcoin. It’s this magical crypto-currency of the nation of the Internet. The concept is absolutely remarkable. I’ve always wanted to get involved in the Bitcoin economy, but have never really made the leap due to it’s recent devaluation to something like $5 per coin. Now that it’s risen to [as I type], $248 per coin, it’s safe to assume that it has my, and many others’ attention once again.
I first learned about Bitcoin in early 2010, and explored different options for mining. At that time, the difficulty factor was much lower, so BTC mining was actually quite profitable. I never really got started mining as I was too busy with other ventures. Looking back on this, it would have been the single most profitable venture I would have ever undertaken. I don’t plan on making that mistake again.
I want to learn some LOLcode. If you aren’t familiar with LOLcode, review the following.
|
1 2 3 4 5 6 7 8 9 |
HAI CAN HAS STDIO? I HAS A VAR IM IN YR LOOP UP VAR!!1 VISIBLE VAR IZ VAR BIGGER THAN 10? KTHX IM OUTTA YR LOOP KTHXBYE |
It works alongside the “Brainfuck” compiler.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
require 'twilio-ruby' puts "Who do you want to send this shit to?" number = gets.chomp puts "What do you want to say to them?" message = gets.chomp message.gsub!(/\s/,'+') receiver = number phone_number = '' # Twilio Account Phone Number account_sid = '' # TWILIO ACCT SID auth_token = '' # TWILIO AUTH TOKEN client = Twilio::REST::Client.new account_sid, auth_token client.account.calls.create( :from => phone_number, :to => receiver, :url => 'http://twimlets.com/echo?Twiml=%3CResponse%3E%3CSay%3E' + message + '%3C%2FSay%3E%3C%2FResponse%3E' ) |
The code is ridiculously simple, and was intended to be so. I find it remarkable how far the web has come. In ten minutes, you can write a program that makes calls. That was a huge undertaking a few decades ago. Oh the joy of programming.
I tossed it up on Github, so feel free to play around with it– LOLcall
I’ve released one open source project, but it’s mostly useless and terribly written as it was a spontaneous project that was needed quickly, so it was rapidly built and terribly insecure. The security wasn’t really that big of a deal, due to it only being used internally. The application, which I called “BortBot,” is a PHP-based service order tracking system with customer management and admin features for a local computer store in the city I used to live in.
To illustrate exactly how poorly it was written, here’s code for the customer list page:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
<html> <head> <title>Customer Database</title> <link href='http://fonts.googleapis.com/css?family=Actor' rel='stylesheet' type='text/css'> <link rel="stylesheet" type="text/css" href="style/style.css" /> </head> <body> <?php include './includes/adminnav.php'; echo "<br>"; $dbhost = "localhost"; $dbname = "bortbot"; $dbuser = "root"; $dbpass = "root"; mysql_connect($dbhost, $dbuser, $dbpass) or die("MySQL Error: " . mysql_error()); mysql_select_db($dbname) or die("MySQL Error: " . mysql_error()); $name = $_POST['name']; $phone = $_POST['phone']; $email = $_POST['email']; $device = $_POST['device']; $issue = $_POST['issue']; $customerquery = 'SELECT * from customers'; $customers = mysql_query($customerquery) or die(mysql_error()); if (mysql_num_rows($customers) > 0) { ?> <table cellspacing="15" cellpadding="2"> <thead> <tr> <th>ID</th> <th>Name</th> <th>Phone</th> <th>Email</th> </tr> </thead> <tbody><?php while ($row = mysql_fetch_assoc($customers)) { ?> <tr> <td><?= $row["id"] ?></td> <td><?= $row["name"] ?></td> <td><?= $row["phone"] ?></td> <td><?= $row["email"] ?></td> </td> </tr> <?php } } else { echo "<br />"; echo "No customers. Is it raining?"; } ?> </tbody> </table> <input type='submit'> </form> </body> </html> |
Yep. It’s that bad. Oh, the malformed nesting. Oh, the whitespace. Fortunately, quality wasn’t really a requisite of this project.
This being said, I still really enjoyed the act of tossing it up on Github for others to modify and redistribute, though I don’t know why anyone would in BortBot’s case. As soon as I committed the code, I decided that I needed to make open sourcing projects a thing that I do. Check my Github, and I might have some new projects ready for forking.

I had another wonderful weekend in the woods, and to be honest, I didn’t take any pictures. I really didn’t care to. The last thing my site needs is more pictures of me in the woods. Instead, to ease your monday blues, I present the Grim Fandango soundtrack.
What is Grim Fandango?
Grim Fandango is a dark comedy neo-noir Window sadventure game released by Lucas Arts in 1998, primarily written by Tim Schafer. It is the first adventure game by Lucas Arts to use 3D computer graphics overlaid on pre-rendered, static backgrounds. As with other Lucas Arts adventure games, the player must converse with other characters and examine, collect, and use objects correctly to solve puzzles in order to progress.
Grim Fandango’s world combines elements of the Aztec belief of afterlife with style aspects of film noir, including The Maltese Falcon, On the Waterfront and Casablanca, to create the Land of the Dead, through which recently departed souls, represented in the game as calaca-like figures, must travel before they reach their final destination, the Ninth Underworld. The story follows travel agent Manuel “Manny” Calavera as he attempts to save Mercedes “Meche” Colomar, a newly arrived but virtuous soul, during her long journey.
Jesse and I went on a 2nd trip out to Munson over the weekend. This time I wasn’t sick as hell. We got a nice early start on our trip out there, picked up some whiskey, grabbed some supplies and headed out to Munson. The first site we went to was strangely full of people, so we decided to take the Jetta down a few trails to find a new spot.
After driving about 1/2 of a mile down a dirt path, we arrived at a small clearing. We walked into the woods down a trailhead and arrived at a small clearing in the trees with a path to a beach formed on a bend in Juniper Creek. We set up camp and went swimming.
All in all, it was a great trip. We met a few people on the journey, had a great night, and concluded with the traditional steak and egg breakfast at Ace’s on the way back.
]]>
Jesse, Ian, and I took a trip out to Munson, FL to explore the expansive pine forest and rivers. We set out from Jesse and Ian’s place and headed toward Big Lagoon State Park. We figured this would be a nice place to camp and maybe do some hiking. Along the way, we got a bit hungry and stopped at the only store we could find for food… a Tom Thumb. I made the unbelievably stupid decision to get a buffalo chicken hot dog monstrosity and eat it. We finished our food and headed to the park entrance. After driving all the way to Big Lagoon, only to be told that the campground was full, we turned around and drove the additional hour out to Munson. About 3/4 of the way to Munson, I started to feel like I had a fever.
When we arrived at the site, all I wanted to do was lay down, so I popped up my tent, and tried to take a nap. That didn’t work out so well. We hung out at the camp site and built a small fire. We sat around the fire until about 11pm when we retired into our tents. I unfortunately laid awake all night with a fever and promptly woke Ian and Jesse up at about 6am so we could pack up and leave. On the way home, we stopped into a place called “Ace’s Restaurant” in Milton, FL. AMAZING. Our breakfast consisted of steak, eggs, biscuits, gravy, grits, and potatoes.
All in all, it was a great trip, aside from being sick and not sleeping all night.
]]>