Archive for the ‘Personal’ Category

A new job on the other coast

Friday, May 23rd, 2008

After spending most of my life in school—I’m now in the 21st grade—and working for the last half-decade on a Ph.D., my career as a student is nearly at an end. It’s time to find a new one.

For a while, I seriously considered life as a professor, but as a graduate student I saw how the sausage was made, so to speak. It’s not all teaching and research. Professors spend a large portion of their time searching for funding, performing administrative tasks, and struggling with departmental politics. For some, these chores are a small price to pay for the chance to live on the cutting edge of science, train talented students, and possibly become famous in their chosen field. For me, however, having to write grant proposals and surrendering to the publish or perish system takes the fun out of academia.

Instead, I decided on an industry job. It wouldn’t offer as much flexibility and independence as being a professor, but it pays a little more and the hours are more predictable. (I’d never have to kill a weekend grading papers, for instance.) Plus, industry offers something academia can’t: instant gratification. With academic research, I may have to wait ten or even twenty years to see whether my ideas lead to a genuine scientific advancement or just another chapter in the annals of obsolete academic research. I can’t be sure that my hard work will ever have an impact on people’s everyday lives.

An industry job, on the other hand, offers immediate impact. Think about the engineers who built, say, Gmail or the iPhone. These products aren’t exactly technological breakthroughs, but their creators have the satisfaction of knowing that their work benefits millions of people every single day.

I had that feeling once, many years ago, when I worked for a tiny startup company in St. Louis. We were building a handheld medical device for early diagnosis of hearing problems in newborns. It was a remarkable feeling to know that my work would soon end up in the hands of pediatricians all over the country.

In January, I started on a journey to get that feeling back. First, I updated my résumé and uploaded it to a few of the mainstream job sites like CareerBuilder and Monster. Soon my inbox was full of email from staffing agencies, but most of the offers were for web development, user interface design, and application programming, nothing particularly exciting.

Next, I contacted a few companies directly. I’ve always admired products from Google, Apple, and Sun, and just as importantly, they have a company culture that appeals to me. All three are very open-source friendly, for example. I sent them a copy of my résumé and was lucky enough to get a call back from each of them for a job interview.

My luck ended there. After the interviews, Apple said that my “interests and skill set lie elsewhere”; Sun told me that “your work and our needs don’t really match”; and Google somehow decided on the basis of a phone interview that my computer programming skills weren’t on par with their standards.

Eventually, I secured offers from a few other companies, but I wasn’t really fired up about any of them. By now it was April and I was running out of time. Not only was my fellowship funding set to expire, but I was nearly finished with my Ph.D. anyway. I needed to make a decision soon, so I pulled out my job hunting notes for one last look. Maybe I had missed something.

Mixed in with my list of prospective companies was a curious entry that sounded like something out of an Isaac Asimov novel: Perrone Robotics. I wondered why I hadn’t contacted them before. I knew I had planned to, but somehow I never got around to it. I sent them my résumé.

The next day, Paul Perrone called me, and we spoke for an hour about his company, my background, and where the two intersect. Soon afterward, he invited me to Charlottesville, Virginia, where Perrone Robotics is based, to meet the team and learn more about the projects they were working on. One week later, Paul offered me a job, and I accepted.

Even if Google, Apple, and Sun had all offered me a position as well, I probably still would have chosen Perrone Robotics. Getting paid to build bots and autonomous vehicles is more or less my dream job. The opportunity for this kind of career is exactly what brought me back to school as a graduate student in the first place. The work is also a good match for my skills because the company’s technology is built entirely around real-time Java, which happens to be the focus of my Ph.D. dissertation.

I’m not the only one excited about Perrone Robotics. Paul’s choice of technology has recently caught the eye of Sun, the company that created Java. For each of the last three years, Sun executives have invited Perrone and his team to present their work at JavaOne, the annual developer conference for all things Java. The executives probably believe, quite rightly, that remote-controlled helicopters and driverless cars are a more exciting demonstration of Sun’s technology than the usual fare of web services, mobile phones, and enterprise frameworks that have traditionally been Java’s purview.

You can judge for yourself by watching the videos below, where Paul gives the JavaOne audience a taste of real-time robotics. (The MC in these videos is none other than James Gosling, best known as the father of the Java programming language.)

Perrone Robotics — JavaOne 2006

Perrone Robotics — JavaOne 2007

Perrone Robotics — JavaOne 2008

The next step for me is to pack up my belongings and get ready to leave Irvine, California, which has been my home for the last five years. The trip will take me to the opposite side of the country, more than 4000 kilometers away, to a new home and, I hope, the start of a satisfying new career.

The Kansas City standard

Friday, March 16th, 2007

During episode #66 of This Week in Tech, host Leo Laporte reminded his fellow pundits that August 2006 marked the 25th anniversary of the IBM PC. It cost $1565—a fairly inexpensive computer in those days—but Leo noted that’s because it didn’t come with a hard drive, only a cassette port. John C. Dvorak immediately asked, “Does anyone remember if that used the Kansas City standard?”

My reaction was the same as Leo’s: Kansas City standard? Is that a joke? I grew up in K.C. and have lived there most of my life, and yet I’d never heard of such a thing.This thirty year-old standard was actually fairly revolutionary. According to Wikipedia, it was one of the first standards to allow consumer-quality audio cassettes to store computer data. It was thus a catalyst in the rise of the personal computer, offering home users inexpensive data storage at a time when floppy disk drives cost around $1000.An example comes from personal experience. I recall my dad’s old TI-99/4A having a cassette port to which he had hooked up an even older portable tape recorder. I’d use it to save my little BASIC programs and whatnot. I could turn off the computer then come back the next day, playback the tape, and pick up where I left off…hopefully. (As Leo says, those cheap tapes weren’t particularly reliable.)Despite reliability issues, the Kansas City standard remained influential. It even spawned a completely new type of computer data storage: vinyl records! That’s right; old-fashioned 33⅓ RPM records were once used for recording high-tech digital data—formatted according to the Kansas City standard, of course.

Kansas City floppy

And all this time I thought my home town was known only for its barbecue and jazz

A tourist trap in Ghana

Tuesday, January 23rd, 2007

It’s not every day one hears about Ghana. Most Americans don’t know where it is, and many don’t even know it exists. The only mainstream media that gives Ghana any attention is the BBC News, but their stories are almost always soccer-related: a Ghanaian player transfers to a European club, a coach for the Black Stars gets fired, that sort of thing. As a returned Peace Corps Ghana volunteer, I’m a little disappointed the country doesn’t get more press.

That’s why, when watching ABC World News Tonight last December, my mouth dropped open. Charles Gibson suddenly started talking about Ghana! The story, from London-based correspondent Mike Lee, was all about Paga, a small town far in the northeast that is famous for one thing: crocodiles.

Note that Mike mispronounces the town’s name: It’s pägä, not pāgä. (Surprising, given that he actually visited the place.) Otherwise, it’s a nice segment that provides a fun glimpse into Ghanaian-style tourism. If you’re interested in even more scenes from Paga, check out the videos Straddling a Crocodile and sight n sound from the jungle.

These videos are especially fascinating for me because I’ve never actually been to Paga, even though I lived for twenty-six months in Tumu, a town less than 100 kilometers away. And I would often pass through Navrongo, a town just 10 kilometers from Paga, for my trips south. (If you use Google Earth, see just how close I was.)

So why did I never end up in Paga? At the time, I was much more interested in using my vacation days to head down to Accra, the only place in the whole country where a guy can get a burger, a shake, and a movie! But the next time I visit Ghana, I’ll definitely be swinging by Paga.

Name games

Wednesday, October 25th, 2006

Hello. My name is Trevor Harmon.

Tervor Time

“Trevor” comes from a Welsh surname that originally meant “big village” or “great settlement.” It’s derived from the Welsh words tref (“village” or “homestead”) and mawr (“large”). “Trevor” is also a name of Irish descent, an Anglicized form of Gaelic Ó Treabhair, meaning “wise” or “prudent.” Alternate forms include “Trefor,” “Trevar,” and “Trever,” and it is closely related to the names “Trevis” and “Trevin”. Here it is in Chinese:

Trevor in Chinese

Famous Trevors include baseball player Trevor Hoffman, actor Trevor Howard, television presenter Sir Trevor McDonald, and pro wrestler Trevor Murdoch. “Trevor” is also the star of a cartoon and is saving young lives. As a baby name, “Trevor” was virtually unheard of in the United States until the 1950s. Its popularity grew rapidly in the 70s and 80s, hitting a peak in the early 90s.

Trevor baby name

“Harmon” is an Anglo-Saxon name, originally derived from the Old French hermant and Old German Herreman, both meaning “warrior.” A common spelling variation is “Harman.” Famous Harmons include model Angie Harmon, cyberneticist Leon Harmon, and actor Mark Harmon. The Harmon Trophy is a prestigious aviation award. The Irish coat of arms for the Harmon family looks like this:

Harmon family crest

My pirate name is Black Tom Flint.

My rap star name is General Killa.

My scammer name is Sithole Tungay, a high-placed officer of a Prime Bank in Africa, Lome Branch.

My bunny name is Humphrey Bogart Stretch-Hop-A-Long.

My cyborg name is Transforming Robotic Exploration and Vigilant Observation Replicant (T.R.E.V.O.R.).

My monkey name is Fingers Knuckle-dragger.

My Japanese name is 猿渡駿. (“Saruwatari shun”, monkey on a crossing bridge, fast person.)

My Mormon name is Trevier Caramon.

Trevor cheer

My poet name is Oberon Dingleberry.

My spammer name is Gratis F. Griddle.

My spy name is Trevor “Intrigue” Harmon.

My squirrel name is Nibbles Smallnuts.

My Star Wars name is Treha Taola, Nommaxima of Halls.

My vampire name is Count of The Great Oceans.

My fluffy kitten name is Sprinkles Merryweather.

My Santa’s little helper name is Lovable Dancing-Tummy.

Bullet with my name on it

SERVO Magazine publishes my fanmail

Monday, October 16th, 2006

Last summer, I sent a quick e-mail to the editors at SERVO Magazine thanking them for their online service. Free to all subscribers, the service provides electronic copies of back issues, which is great for when I see an article that’s relevant to my research and I want to archive it.

Other publishers provide electronics copies, too, but you usually get a weak HTML conversion, or you have to pay extra to get the full back issue database, or both. SERVO, on the other hand, offers high-res, fully searchable PDFs of every issue, and they match the printed version exactly. Not many publishers go that extra mile.

When the October issue of SERVO arrived, I found a reprint of my little email on page 7.

SERVO letter

My new computer: smokin’ fast

Tuesday, October 10th, 2006

My computer upgrade cycle is 2.5 years. That’s about how long it takes for technology to improve to the point where new computers, with their faster chips, bigger hard drives, and more RAM, make the upgrade cost worthwhile. And since I’ve had my PowerBook since April 2004 (about 2.5 years ago), I’ve really been itching to upgrade.My eye has been on the MacBook Pro, but with Intel’s announcement of the Core 2 Duo chip, I knew an upgrade of Apple’s flagship portable was imminent. I decided to put off my purchase until the very day the Core 2 Duo MacBook Pro was announced.So I waited. And I waited. And I waited some more. While I was waiting, I saw countless news stories of PC manufacturers announcing Core 2 Duo laptops. But Apple? They were silent. During this time, my PowerBook felt as if it were getting slower and slower and slower.And then, one day in September, my PowerBook got really slow. In fact, it stopped. Completely. Something had gone horribly wrong with the main logic board, and I had to send it to Apple Support for repair. I didn’t want to be without a computer for the next 7 to 10 days, and I certainly didn’t want to wait who-knows-how-long for Apple to announce a Core 2 Duo laptop. So I bit the bullet, walked into an AppleStore, and walked out with a brand new 15-inch MacBook Pro.After upgrading the RAM from 512MB to 1.5GB (almost a necessity with Mac OS X) and upgrading the hard drive from 80GB to 120GB (did the upgrade myself, aided by Other World Computing’s instructional video), I ended up with a pretty smokin’ fast laptop. How fast is it?

  • It’s so fast, it finishes compiling my code before I type it.
  • It’s so fast, it requires two halt instructions to stop it.
  • It’s so fast, it executes an infinite loop in six seconds.

(Ah, the oldies but goodies. I love computer jokes.)Of course, the true measure of a computer’s speed is BZFlag. My new MacBook Pro is so fast I can pump up all the detail settings to the max, and the game still runs smoothly. That was impossible on my old PowerBook. In fact, I didn’t quite realize how much I was suffering with my PowerBook’s aging G4 processor until I saw a Geek Patrol article that chronicled Mac performance through the years. Their graph clearly shows the huge jump in speed that Apple is getting by moving their laptops to Intel processors, not to mention how severely the G4 has stagnated in recent years.But speed isn’t the only thing I’m getting with my new MacBook Pro. It includes some nice bonus features, too:

Nifty remote for listening to music and watching DVDs

Apple remote

Backlit keyboard for low-light situations (airplanes, midnight snacks, etc.)

Backlit keyboard

Built-in iSight video camera

iSight

Full-size DVI port

DVI port

(My old PowerBook had a mini-DVI port, so I had to remember to bring an adapter whenever I was to give a presentation. Very annoying.)One final note: My new MacBook Pro has a 15“ display, pleasantly roomier than my old 12” PowerBook. Web surfing, coding, and almost everything else I do is more comfortable with the increased screen real estate. Of course, that also makes the laptop itself much wider and thus a bit harder to squeeze into a carry-on bag. Still, it’s thinner than my old PowerBook and only one pound heavier. It could always be worse.

A bowling robot helps me choose a career

Wednesday, October 4th, 2006

Nate Anderson wrote an excellent article for Ars Technica about the recently released version 2 of the Robosapien. This humanoid robot is just a toy, but it’s supposedly one of the most advanced toys ever. After all, the manufacturer claims that the Robosapien V2 is a “highly evolved robotic fusion of technology and personality, combining fluid biomechanical motion with a multi-sensory, interactive humanoid personality.”

That’s quite a statement! But how does it compare with reality? The answer can be found in one of Nate’s videos. Here, Robosapien demonstrates a new ability: bowling.

ROBOSAPIEN BOWLING
(turn your sound up)
Copyright © Ars Technica

Wow-wee! (Sarcasm.)

Yes, I realize Robosapien is just a toy, but I think the video perfectly illustrates the state of robotics today. There’s an enormous disconnect between the kind of robot we want to build:

Data from Star Trek

…and the kind that’s actually available to us:

Robosapien Bowling

In other words, the field of robotics is wide open. There’s so much work to do, so much more we’ve yet to accomplish! In fact, the robotics industry looks so compelling and full of promise that I’m seriously considering making a career of it. I’m convinced this century will come to be known as The Robotics Age, and I want to be ready for it! In fact, I’m already finding myself focusing on robotics as the major “motivating example” for my doctoral thesis.

Who knows? Maybe one day I’ll learn enough to create a robot that can actually bowl…

orbit burp

Monday, September 4th, 2006

After discovering Spamusement, the website of cartoons inspired by actual spam, I began to notice that some of my junk mail would make pretty good cartoons. Though I’m no artist, I thought I’d try my hand at making some “spamusement” of my own. Here’s my first attempt:

orbit burp

orbit burp

Yes, I actually received some spam titled “orbit burp.” It was an ad for a penny stock, but the subject line was randomly generated, obviously.

I posted my drawing in the Spamusement forums, and it was surprisingly well-received!

A comeback game in Warcraft III

Wednesday, August 23rd, 2006

This summer I’ve gotten into the habit of playing Warcraft III online. Unlike certain other online games that are all the rage these days, WC3 isn’t a timesink. Games only last about twenty minutes on average, and they’re self-contained, so you don’t feel like you have to keep playing to build up your character’s experience points or inventory or whatever.

My favorite format is the three-on-three pick-up game, in which the server selects six random people and forms them into two ad hoc teams. One such game was a bit more interesting than most, so I saved it as a replay. (You can play it back if you happen to own a copy of Warcraft III.) Here’s a play-by-play:

11:30 The opposing team masses an army of Level 2 units and rushes Orange.
14:15 Orange’s base is toast, and Teal delcares his team the winner. Orange gives up and leaves the game. It’s over! …or is it?

Orange faces destruction
Orange faces destruction.

17:00 The opposing team now sets their sights on me. Purple advises that I retreat to his base, so I teleport there.
18:00 As my base is being destroyed, Purple and I counter-attack Red.
20:00 Caught off-guard, the opposing team tries to defend Red, but it’s too late. Red is annhilated, leaving Green and Teal. Armed only with Purple’s base and my five Chimeras, is victory possible?
20:30 I send my Chimeras for an end run around the back of Green’s base. He has no AA, so the Chims destroy his base easily. Only Teal remains!
22:30 My Chimeras make another end run, this time to the back of Teal’s base, destroying his gold mine.
27:00 Teal and Green attack us in a last-ditch effort, sending everything they’ve got. It’s a battle for the center!

Battle for the center
It’s a battle for the center!

27:30 The opposing team’s Level 2 units are no match for our Level 3 Chimeras and Tauren! Green and Red give up.
28:00 Teal, deprived of gold by my Chimeras, has no units and admits defeat.
28:18 Victory! What a comeback!

Nisley’s Notebook

Saturday, August 12th, 2006

I’m a regular reader of Dr. Dobb’s Journal, a monthly magazine covering the world of software development. One of my favorite columns in Dr. Dobb’s is “Nisley’s Notebook” because it mainly deals with my favorite topic: embedded systems. You can imagine my surprise, then, when I reached the end of the July 2006 column and saw my name:

Speaking of Windows ME, alert reader Trevor Harmon reminds me that it still allowed direct, user-mode I/O port control. Read more on FAT and the Microsoft patents at en.wikipedia.org/wiki/File_Allocation_Table.

I read that paragraph several times, thinking there must be some other Trevor Harmon who reads Dr. Dobb’s and had written to Ed Nisley. Then I suddenly remembered: I had, in fact, emailed Ed some time ago about his April 2006 column. Here’s how it went down:

In your April article in Dr. Dobb’s Journal called “Tight Code,” you state:

“The notion of a user program directly controlling an I/O port pretty much died with Windows 98.”

Why Windows 98? I thought it was architecturally almost identical to Windows 95. Was there some significant difference in the Windows API that I’m not aware of? In any case, I thought direct control of an I/O port died much earlier, way back in the 1970s with the advent of UNIX and its abstraction of I/O hardware as a /dev file.

Thank you,

Trevor

To which Ed replied:

Direct I/O control died -with- Win98: that was the last Windows flavor allowing that sort of thing. WinME sorta-kinda did, too, but MS was revamping the driver model and (IIRC) discouraged using the Olde Versions.

Or maybe I just have a picket-fence error…

Indeed, the various Unix-oid systems did bring protected hardware to the university level, but the vast bulk of Windows boxes pretty much overshadowed all that. As far as the mass market goes, programmers were doing direct I/O from DOS right up through Win98 (or ME?), at which point everything they thought they knew went wrong.

Ed

I responded:

Ah, I read that as “was killed by Win98”, as if Microsoft had developed some revolutionary product that nullified anyone’s desire for direct hardware access.

Yes, I believe ME, not 98, was actually the last Windows version to support direct hardware access. That’s one of the main reasons I was confused: It was the NT kernel, not Win98, that changed things in the Microsoft world.

Also, you used the word “notion,” and I would say that the notion died long before Windows ME even existed. Nobody (except maybe for game developers) supported the notion of direct hardware access, even though it continued to exist in legacy operating systems like Windows 9x. So I was doubly confused.

Trevor

And Ed concluded with:

Part of the job here is to write so that sort of thing doesn’t happen… I’ll drop a correction in the bitstream for the next column.

Thanks for keeping me straight!

Ed

So, this other “Trevor Harmon” mentioned in the column was me after all! I had completely forgotten about my conversation with Ed. Although I’ve published in Dr. Dobb’s before, it was still fun to see my name in print, especially in such an unexpected way.