Musings on Quo Vadis

I’ve been thinking a lot lately. With the current state of my bank account, thinking is a very inexpensive pastime. I’ve reached a point where I know quite a lot about myself, my profession and living in general. What I’m still trying to come to terms with is translating what I know into action. I’ve also had problems reconciling what I know with what I feel. My psychologist tells me that is because the limbic system takes much longer to achieve stability than the frontal cortex does. This means when you’re angry, you stay angry long after you’ve resolved the issues that made you angry in the first place. I suppose there was probably some kind of survival benefit of this at one time but it doesn’t seem to be nearly as useful in the modern world.

I am approaching a time when I can take early retirement from my job and draw a pension large enough to pay most of my bills. I’m too young, IMHO, to consider really retiring, as in quitting work and living the life of Riley. I don’t think I’ll ever really want to retire in that sense. Instead, I am considering what I want to do now that salary is not a major consideration. I have been thinking about what I enjoy doing most as well as what I can contribute to the world. I still haven’t achieved my initial goal of financial independence. I really don’t want to be rich. I just want to have enough money so that money is not hampering me from doing whatever it is I want to do. Perhaps that is at the core of why I am not financially independent yet :-).

Whatever I decide to do, I have this gut feeling that blogging is going to be part of it. Blogging is a way of getting your thoughts out where you can see them and doing it in a public forum helps keep you honest with yourself. I need to get in the habit of writing something here every day. It doesn’t have to be big, just regular.

Web Development is Just Plain Fun!

I’ve been reading a good book lately. It’s called RESTful Web Services and it’s by Leonard Richardson and Sam Ruby, O’Reilly Media, Inc, May 8, 2007, ISBN 0-596-52926-0. It got me past an old obstacle that I basically ignored when I initially encountered it, which is how to access the web through a proxy from Ruby. I updated my Rails homepage, a private affair intended to give me quick access to a number of links that I access frequently. While I was at it, I figured out how to display the RSS feed of this blog in the center column of the homepage.

So, how does this make me feel? Totally empowered and back on my game. I haven’t done any web development in so long that I was beginning to think I wouldn’t be able to catch up with all the new developments. I guess I knew better deep down but it was still exhilarating to finally update my homepage after literally years of not changing anything on it but the content.

I also started looking in to Amazon Web Services but that’s a topic for another post.

Powered by ScribeFire.

Adventures in Robot Building

It’s all about learning, right? I’ve been building a robot from scratch, as you may know if you’ve read some of my previous posts. I started out with only a vague idea of what I wanted to do. I started by saving the miniature balsa crates that the grocery store sells tangerines in. That is a good size for a robot, I thought to myself.

Then I discovered the Arduino. I knew immediately that I wanted the robot to have an Arduino for a brain. Next, I bought a dual gear motor kit and some wheels. I assembled the kit and discovered that it wasn’t going to mount very easily on my tangerine crate. So, I thought about it a while and discovered that if I took the crate entirely apart (it was only stapled together), the side panel was exactly the right size to mount my wheel assembly on.

Originally, I wanted to build a robot with wheels front and back. My BOEbot uses a rear roller for stability instead of having two sets of wheels so I wanted to try something different. After some more thought, I decided to compromise and buy an omni-directional caster for the stability point of my robot. By this point, I had mounted the wheels on one end of the side panel and the caster on the other. I had also purchased an H-bridge motor driver shield to control the wheels (shields are the daughter boards that plug on top of the Arduino so conveniently).

The motor shield came as a kit and I assembled it per the instructions. Try as I might, I never got it to spin my motors. I spent several afternoons troubleshooting the problem and decided that I probably burned out one of the chips on the motor shield. I decided that I should have installed a socket instead of soldering the chip directly to the board as the kit instructed. So, I ordered some replacement chips for the board and proceeded to try to desolder the chip in question. That was harder than it sounded. I haven’t yet managed to desolder the chip in question.

While I was ordering the replacement chips, I discovered an already assembled H-bridge controller that cost less than half what I paid for the motor shield kit. The mini-controller wasn’t as capable as my motor shield but it was adequate for driving the two motors on my robot. All it required was that you solder two, eight pin headers to either side of the board. I was sold. If I could repair the motor shield, I could use the little controller board for another project. If I didn’t get the motor shield fixed, I would still be able to get my robot rolling on it’s own power with the new controller. That was the plan anyway.

When the parts came in, I soldered the headers to the board and plugged it in to the solderless bread board to give it a try. I wired it up and checked my wiring several times. I wrote the code for the Arduino to control the new board. I plugged it all in and uploaded the code and nothing happened.

I spent most of the evening troubleshooting. I still haven’t figured out what is wrong. I will give it another try this weekend. I still have several things I can try. I suppose it wouldn’t be nearly as much fun if it wasn’t so challenging. And like I said at the beginning of this post, it’s all about learning, right?

Powered by ScribeFire.

I’m Using ScribeFire to Write This Post

ScribeFire is a Firefox plugin that allows you to edit a blog post in your browser. When I installed it, I thought it would encourage me to post more. Well, so far, it hasn’t. I was thinking about why that is and it occurred to me that it is analogous to why it took me so long to get back in the habit of walking. I spent the better part of a year intending to walk daily but not doing it. That is the key to solving the problem. I have to take the time to do it. Now I understand that there is going to be a certain amount of blank page syndrome at first. It is going to take discipline to decide that I am going to write at least one blog post every (day? week day? week?). I’ll have to give it some thought. It is more important to do it regularly than how frequently you do it.

Powered by ScribeFire.

Arduino Mania Strikes Elkton

It all started innocently enough. I had $50 worth of Amazon gift certificates so I bought an Arduino Duemilanove from Hacktronics with part of the money. It came and I was thrilled to start blinking LEDs with it right out of the box. I wrote a little program that flashed “SOS” in Morse code. My wife said, “That’s kind of depressing.” So I changed it so that it sent “LOVE” in Morse code instead.

I don’t know why I am so surprised when things work the way they are supposed to. I think it probably goes back to all the times I built electronics kits and had to troubleshoot them for days to get them to work (if they ever worked at all). In any case, the bug had bit me. I started scouring the Internet for Arduino based projects.

One of the reasons that I was drawn to the Arduino in the first place was the concept of shields. Understand that this was not a new concept to me. The robots at work had been expanded through the addition of daughter cards that plugged into the motherboard. But the Arduino had dozens of shields that interfaced to all kinds of interesting hardware. And the best thing of all was that they were affordable on my next to non-existent budget.

I decided that I was going to build a robot from scratch. I had built a BOEbot and I still love to tinker with it but I had the urge to create a unique robot that was my design from the ground up. Oh, alright. I intended to assemble it from parts but I intended to build many of the boards as kits and assemble all the various pieces to make a unique final product. And what is really exciting is that it wasn’t just possible, it was down right easy.

I decided to build my robot around a chassis consisting of a Clementine tangerine crate that I had saved. I decided to use Google SketchUp to build a scale 3D drawing of the crate so that I could better visualize how I planned to transform it into a robotic vehicle. I managed to draw the crate itself fairly quickly but I’m still working on drawing the rest of the parts of the robot.

I drew up a prioritized list of parts that I thought I would need for the robot. At the top of the list was a Proto Shield. A Proto Shield is a board that has many uses but is often used as a place to mount a mini breadboard for experimenting with various hardware interfaces. The other major item on the list was a Motor Shield. The Motor Shield that I bought has connectors for 2 PWM servos and can control up to 4 bi-directional DC motors.

While I waited for my new hardware to come in, I decided to play with the hardware that I already had. I took one of the Infra-red receivers that came with my BOEbot and an old Sony CD player remote that I found laying around (the CD player had gone to hardware heaven years ago) and decided to see if I could get them to work together using the Arduino as the controller for the IR receiver. I got the circuit hooked up pretty quickly. Note: when building a circuit on a breadboard of one battery operated robot for control by another battery operated device, make sure you use a common ground. I eventually decided to just use the USB power from the Arduino.

Now I was ready for software. I Googled Arduino and IR and found RTFA‘s video on YouTube. I followed the link to his site and downloaded his code as a starting point. I hacked it to work with the particular remote that I was using and before my Proto Shield had even arrived I had created my first Arduino based hardware hack.

Then the hardware arrived. As I was soldering the power plug on the end of the wires coming out of the  9 volt battery holder with switch that I had bought, I decided that I was going to need a better soldering iron than the little pencil style iron that I had used for 30+ years.

The two criteria that I had were that it had to have a switch so that I didn’t have to bend over to plug it in and unplug it every time I used it and it had to have a shielded stand so that I could safely set it down while it was hot. The next day, I want to my friendly neighborhood Radio Shack and decided that the difference in price between the iron that met my minimal requirements and one that was variable digitally temperature controlled was small enough that I couldn’t justify not buying the fancy one.

It took me two evenings working about an hour an evening to assemble and test the Proto Shield. It took about 5 minutes to move the IR receiver circuit over to the Proto Shield and get it working.

Stay tuned. More mania is on the way.

Blog Post from ScribeFire

I download Firefox 3.5 today. While I browsed through the add-ons trying to replace the functionality of the add-ons that 3.5 made obsolete, I came across ScribeFire. It scratched an itch that I didn’t even know I had. Maybe this will help me start posting to my blog on a regular basis again.

Facebook May Be Good For Something After All

I have to say, I’m ecstatic. I re-established contact with one of my cousins last night. I have talked to him on several occasions since we have been grown but I hadn’t heard from him in quite a while. I recently added my brother, Truett as a friend on Facebook and last night, I noticed that he had added several new friends. As it turns out, many of them were our cousins and their offspring. I went through friend chains finding and friending many of them. I didn’t friend those who hadn’t met me at least once as I didn’t want to be some creepy old man that they never heard of asking to be their friend. I have had two very brief (a la instant message) interactions with my cousin Randy (or is it Randall now). I was always Joe Kellie to them and now I have dropped the Joe to be called Kellie by friends, family and colleagues alike. I will probably ask what he prefers. Times change but, hopefully, people are still essentially who they always were.

I don’t particularly like Facebook but I am so glad that it helped me re-establish these ties to my past. I was just starting to miss them a lot. I guess I’ll put up with the things I don’t like about Facebook (too many to enumerate here and besides, this blog is to praise Facebook, not find fault with it). So much for my pseudo-monthly blog post. Stay tuned… you never know when I might post again.

Trying out Flock 2.0

I downloaded the brand new, fresh out of beta, version 2.0 of Flock. I’ll have to try it on the MacBook at home tonight. It looks like they have improved it somewhat. Give it a try if you’re in to social networking. I’m going to explore the RSS reader capabilities tonight myself. I think the drag and drop photo uploading is going to be useful too.

I will be blogging a little more frequently now. I’m doing an experiment in therapeutic writing. If I express myself here in writing, maybe it will help me work through issues and relieve some of my stress.

Blogged with the Flock Browser

Tags: , , ,

Me and My MacBook

I love my MacBook but I spend all day every day that I go to work using the Dell PC laptop that my company provides me. It seems ironic to me that I have to endure the frustrations inherent in using Windows XP when I know there is a better way. I know that there are people that love Windows. My good friend, Jim is one of them. I just have a different opinion. I’m not a fanatic, just a satisfied user. I like other Unix based operating systems almost as much as I do OS X. As time goes by and all the operating systems improve (we’ll ignore Vista as an anomoly), it is getting less important than it once was. I guess I feel about my computer the way car lovers feel about their cars.

There are lots of features of my computer that I haven’t had time to discover yet. I am a professional programmer but I barely know the basic components of the OS X programming libraries. I also want to learn Objective C, one of the core programming languages on the Mac. The Ruby scripting language is another topic I’d like to explore more deeply but I rarely have time to play with it. From the little that I’ve been able to use the development tools on the Mac I’m convinced that they are far superior to any other tools that I’ve used on other platforms.

Another thing that I want to use my computer for more often is to write. I have several ideas for screenplays. I like to blog, as you can tell if you are reading this. I also think I have a novel and maybe a few textbooks that I want to write. I just installed Dave Winer‘s OPML editor on my MacBook and I’m using its WordPress tool to write this blog post. I’m trying to exercise some discipline and write something every day. I’m hoping that the OPML editor will help with this.

What’s Up?

I went to the Huntsville, Alabama Hamfest on Saturday. I walked from around 10:00am until after 1:30pm. My feet were sore. I didn’t buy much. I bought an RCA Victor stuffed Dalmation for Riley and a bamboo cutting board for Pam. I bought me a little dual band (2m and 70cm) mag mount antenna with an SMA connector. It worked great. I got ready to go to work this morning and discovered that the main radiator had come loose and fallen off the antenna sometime since Saturday. I was angry and sad.

Also, this morning the sherrif was outside my neighbors house with a bull horn telling her to come out or call them on the phone and tell them her side of the story. Pam called later to say that she had come out of the house and gotten in the police car without handcuffs and of her own volition. We’re worried about her dog. We’ll call the sherrif’s office later and see if arrangements have been made.

I’m anxious about my trip to Huntington Beach this week. It’s not that I’m afraid of flying or anything. It’s just that flying to the west coast exhausts me. I have apnea and so I have to carry a CPAP machine with me. I can’t sleep without it so I  refuse to check it. I also have to carry a laptop to do my job while I’m there. The laptop the company provides me is a Dell M70 that weighs in at over 7 lbs. I am really excited about the training that is the reason that I’m going. I’m just dreading the travel process.

If any one is actually reading this, drop me an email. I am jkelliemiller at gmail dot com (you know the drill). I’d love to hear from you. Or comment here. Comments are moderated so it may take a little while for your comment to be approved. But I do read all the comments (even the spam).