Monday, July 26, 2010

Summer Class Ends, Job Begins?

Last Thursday was my last day of class for the summer, and I'm glad to be finished with this Matrix Methods and Applications class. I was really looking forward to the applications, but it turned out to be all methods. Once again, I've learned a lot of math techniques and I'm left with no idea when they're useful. Brilliant. I don't have my grade back, but I'm pretty sure I passed at least.

A couple of weeks ago, Ashley and I and some friends took a camping trip up to Kelly Dahl campground near Nederland. We did a lot of catching up, and a little hiking and geocaching. You can check out our photos on Picasa. We took Apollo, and he had a blast.

It was great to get outdoors and remember that I can tear myself away from computers when I need to. I spend a lot of my time using my computers. Even when I go out around town, I have my G1, which has more processing power than our family's first computer, and constantly keeps me connected to the internet. When I think about it, I realize that my children will probably never know a life without computers or the internet; it will always be a part of their lives, and probably a daily part, at least as soon as they start learning to read. Will they know how to moderate themselves? Will they know how to get away? Only if I teach them, I guess.

Anyway, I've had a couple of "interviews" for programming gigs, though neither of them was a formal interview. One of them is a short-term contract that involves revamping a website with educational programs; the other is a startup company in Boulder that has a great idea for a new website. I don't know if either gig will hire me at this point, but I'm still crossing my fingers!

Monday, July 5, 2010

Intro to Arduino

In other news, I've been bitten by a curiosity for electronics, robotics, and "physical computing." A while ago I discovered a microcontroller platform called Arduino, and finally decided to try it out! I ordered a kit from the Maker Shed, their Advanced Arduino Starter Kit, and have been trying a few simple things. The kit contains a book, Making Things Talk by Tom Igoe, which contains a lot of projects that demonstrate how systems of electronics communicate. I've built a rudimentary version of the first project, called Monski Pong, using the parts from the kit. The microcontroller acts as a joystick that controls a game of Pong on the computer.

From Arduino Projects

The book actually calls for two flex resistors that get sewn into a plush monkey, but the kit didn't come with those parts. Actually, the kit didn't come with parts to complete any of the projects in the book. It's a little strange, but this kit wasn't really designed as a step-by-step introduction, but more like a sandbox "go have fun" experience, with the book thrown in as ideas for next steps. It seems a little bizarre, and the only problem I have with the kit.

Going forward, have a couple of projects I'd like to try and build. First, I'm inspired by John McKerrell and Ed Parsons to build a Weasley Clock. If you're familiar with the Harry Potter series, you might remember that the Weasley family has a clock-type object that doesn't tell time; it tells where each of the family members are located, using places like Home, School, Work, Garden, Lost, and Mortal Peril. I don't have magic to drive my own version, but I do have Google Latitude, a service that runs on my phone. Latitude publishes my location to friends that I approve to see it, and can tell me when I'm unexpectedly nearby one of them. Using that information, I could hack together a system that checks with Latitude, then updates the position of hands on a reworked clock. Sounds pretty neat, huh? I've got some other ideas, but I think I'll stick with one at a time for now!

Dog Days of Summer

Once again, I've neglected posting for a while, but I've certainly been busy. The end of the spring semester was hectic as usual, but I feel pretty good about my performance. I was able to scrape decent grades in 4 classes, but unfortunately I couldn't keep up in my probability class and failed it. That seems to be the norm when I take math classes; so far, I've had to take every college math class twice in order to pass. It's not great, but I'll manage. In fact, that probability class is not required for my Computer Science major, only the Applied Math minor I'm going to try and scrape out.

After the end of the spring semester, I took some time to visit with family and friends. I wasn't able to find an internship immediately, but that's not such a bad thing. I think I should try to enjoy what should be my last summer before I enter the workforce full time.

After a couple weeks of relaxing, I started back at school for summer classes. I initially started with two classes; Matrix Methods and Applications, and Computer Graphics. Matrix methods is required for my major, and computer graphics was going to be just for fun. After a couple of days, I decided to drop computer graphics to focus on the math class. I realize that I normally have trouble with math classes, so it makes sense to spend more energy concentrating on that class.

The other reason I dropped the computer graphics class is that I wasn't impressed by the teacher's style. He hates Java and loves global variables. Since I just finished Software Engineering Methods and Tools, I've just learned more modern techniques, and the code from his examples had several bad "smells." Basically, I think his coding style and language preferences haven't changed in 15 years. I anticipated being forced to decide between learning bad habits to please the teacher, or doing it the way I think is right and risking being marked off, and I really didn't want to make that choice.

For the Army, I took a week-long trip a few weeks ago for a computer security class. The goal was to become CompTIA Security+ certified, and I passed with flying colors! That certification should help me doing my network administration job for the Army.