Posts

Showing posts from 2011

My Robot Friend

It's been a bit since I've posted, but fear not! Things are going well, and some exciting things are taking shape! Work is as exciting as ever. There are new challenges almost every day it seems, yet nothing that seems to be impossible. Our systems environment is ever-changing, and the causes and motivations are numerous, but it's all in a day's work. I've also taken it upon myself to start implementing measurable quality metrics in my work, and that has been an interesting journey. I'm starting to learn a number of tools and techniques for automated building, testing, and deployment, and those are skills that should serve me anywhere on any project. Outside work, I got the itch to do some engineering mentoring, and so I got a hold of my local high school. They don't currently have any programs like the old "computer club" that I attended when I was there (it was really just 3 or 4 of us that would hang around in the computer lab after school).

Ten Years Ago, Today

I was in the 10th grade. The morning started off as any other, with my morning bike to school. My first class was Spanish. There were rumors of confused news reports about a small plane accidentally glancing off of the World Trade Center, but our teacher would allow no distractions. Our class plowed through the planned material. But when I arrived at 2nd period chemistry, it was clear that this was no normal day, no small news story, and no accident. Our chemistry teacher didn't say much, and didn't attempt to teach class. We listened to the radio reports from shocked and confused journalists in New York. We heard that commercial airliners had been hijacked and crashed into the towers and the Pentagon; that both towers had just fallen; that the streets of Manhattan were rivers of dust and ash; that tens of thousands were injured, trapped, or dead. It took time for the magnitude of the reports to crystallize in my head. This had happened on American soil? The shock was profo

Google Map Maker

Image
For those that don't know, Google Maps just opened up the Google Map Maker web application to allow normal users to enter data into Google Maps. After a review process, those edits can be published into the public Google Maps for the world to see. I was pretty excited when I learned about it in April, and I've been pretty active. Recently I received an e-mail from the Google Map Maker Community Team. Because I'm "one of the top mappers in the United States," they offered to send me a free t-shirt, and invited me to the Google Geo User Summit in Mountain View. I had to regretfully decline the offer to attend the summit, but the t-shirt is pretty awesome. From July 2011 My friends and I were trying to figure out what the map on the front is showing. At first glance, it looks like a map of the world's lights at night , but some major countries, like the US, Canada, UK, France, and Russia are not lit up. So what do the white areas represent? My speculatio

Graduation Videos

Image
Check these out! Courtesy of Munchkin, thanks friend!

Exploring Google App Engine with Restlet and Objectify

Warning: this post is excessively geeky for my usual audience. Non-programmers, feel free to skip. I've been doing a little more exploration with Google App Engine. I've used it before, first for my Weasley Clock, and also for one of my classes, Object-Oriented Analysis and Design. In that OOAD class, my team and I had a short amount of time to build an Android app backed by a RESTful web service on GAE. We ended up using JAX-RS/Jersey as a RESTful framework, JAX-B for server-side XML serialization, and JDO for the datastore API. Then on the Android client, we used the Apache HTTP client and SAX parsers. That worked out alright, but recently I've wanted to explore what other options are out there. I've been interested in  Restlet  for a while; in OOAD, I explored that first before moving to JAX-RS. It seems to be a pretty comprehensive solution. They provide both server and client libraries for many platforms, with flexible configuration for many needs, such as filt

Hit the Ground Running

Image
My time between finishing school and starting work was relaxing, but too short, of course. I did keep myself busy with projects, planning for our first camping trip of the season, and preparing for work. I was able to get some stepping motors to ressurrect the Wesley clock. I finished all of the software last summer, but still haven't gotten around to building the darn thing! I started work the week before Memorial Day, so it was a fairly relaxing time to come in. So far I like the people, and the work is interesting. My co-workers are a pretty tight-knit group and have some nice traditions. "The Phat Club" is an agreement among about a dozen people to bring in breakfast for everyone else once a week on a rotating basis. Every day at a certain time, everyone who isn't busy with something will take a short walk down to the "snack room" to stretch our legs and shoot the breeze. Some of us even took an afternoon off to see a Rockies game. That was a lot of fu

On Endings and Beginnings

I forgot to mention a couple of other interesting notes concerning graduation and the like. The most exciting news is that I've transferred out of active drilling status in the Army Reserve and into the Individual Ready Reserve, otherwise known as inactive reserve. That mean's I'm essentially out of the Army; they can still call me up if I'm needed, but the circumstances would have to be extraordinary. I don't have to go to monthly drills, I just go for a once-a-year "muster" to make sure I'm still alive. I have to say, it's bittersweet leaving the Army. I really enjoy doing my job there, and I enjoy the camaraderie. If I were keeping myself in better shape and moving forward in my military career, I would have a strong reason to stay. But on the other hand, it's really the right thing for me right now. My entire life is changing; I'm moving from primarily being a student to the working world. My situation in the Army was also supposed to

Alma Mater

Apologies for the late post, but I've been a madman up until last week. After spring break, I had to kick all three of my class projects into high gear. In senior project, I had been spinning my wheels on a particular problem, and finally called in our Google sponsor, Scott, to help me out. We and the rest of the team had a couple of late-night hackathon sessions, and really made some huge progress. After Scott showed me how to incorporate my own PaintWeb tools the right way and started me on a selection system, I was able to make some nice enhancements to our 2D canvas and toolset. In the end, we handed off a senior project that I'm proud to put my name on, and proud that AgentSheets will carry forward. In Object-Oriented Analysis and Design, our group wrapped up our design and did our three week-long iterations of development, and ended up with a decent proof-of-concept; an Android app for managing chores, along with a RESTful web service backend. We had planned a lot more,

The Internet Game

I've been thinking about how to teach fairly young kids about how the Internet works, and I've come up with a game. I think this would be appropriate for 3rd to 5th grade or so. I call it "The Internet Game." Begin by separating about a third of the class to be "computers," then the rest are "routers." (This could also be half and half, which would make it easy for the two groups to switch roles after a while.) The computers get into a large circle, with the routers all standing inside. The computers get to write simple "packets" on index cards, addressed with To, From, and Message. These packets have to be sent to other computers. These could be free-form, write messages to whoever you want; or there could be a rule that you must send a message back, which would simulate a client/server request and response. The routers must pass the packets so that the packets get closer to their destinations. The routers aren't allowed to move

Release Mode

School is in full tilt, with no sign of letting up through Spring Break. In senior project, we're now into what we software engineers call "Release Mode." We're coming up to The Big Deadline, and we're churning out code and documentation as quickly as we can. We have a number of big features in Volumizer that are still not quite the way we want, but we don't have time to really do all of them justice. It's not for lack of trying, mind you; I don't function as well without sleep as some of my fellow students, but I haven't been getting my full, comfy 8 hours a night for the past couple of weeks either. I get up, start working on this or that project, maybe go to class, program more, and roll into bed. There's just too little time left to make any more huge changes. We tested with users, found our weak spots, and we'd be golden with two or three months more. But that's the breaks, I guess. Software has one distinct similarity to fine ar

Pet Pictures

Image
I present you with some shameless animal pictures: Apollo really enjoyed the mud pit at the dog park. Until he got home, that is. Marley thought my drink was delicioso! A pile of sleepy. Can you tell that these two like each other? Al hasn't been posing for as many photos, but worry not, he's still stalking around the house.

Hyperconnectivity

Image
My wife says I have a problem. She may be right. During tonight's project to get all of my electronics charged and software updated, I discovered that I've collected an astounding array of "computers" in the last few years. When I think about it, I use all of these on a somewhat regular basis, because they all have their particular niche. From left to right:  HP Pavilion dv9700 gaming laptop (dual-boot Win7/Ubuntu) Barnes & Noble nook e-reader (Android) custom-bui lt gaming desktop (Win7) (same screen) VNC session to media server in living room (Ubuntu) G1 smartphone ( Android) Apple Macbook 13" mid-2010 model (OSX Snow Leopard) Asus Eee PC netbook (Ubuntu netbook edition)

Beginning of the End

I'm finally into my last semester at CU. I've been working toward my BS in Computer Science for a total of six and a half years now, and I will finally have my piece of paper in a couple of months. It's a great feeling to be this close, and yet somehow I've avoided catching Senioritis, that contagious feeling of apathy that sometimes hits high school and college students towards the end of their studies. I think the things that are really keeping me grounded are a) our senior project, which has been interesting and challenging, and b) the fact that I have a job waiting for me. My team's senior project, Volumizer , has seen some fairly major progress in the last two months. We've swapped out our rudimentary, homebrew 2D canvas for an open source solution called PaintWeb , and that gives us a lot more tools and functionality. The downside is that trying to interface with PaintWeb is a little difficult for what we're trying to do with it. It's very tightl