Blog Closed

This blog has moved to Github. This page will not be updated and is not open for comments. Please go to the new site for updated content.

Sunday, August 31, 2008

McCain's Veep

I normally try not to talk about politics here on my blog, but my sense of cynicism superceeds any political beliefs I may harbor.

I think McCain's choice in VP, Sarah Palin, is a big mistake. This is for a few reasons:
  1. Longevity. I don't mean to be morbid or anything, but seriously: John McCain is old and in non-optimal health. You may claim he's in "Great health", but "great" is relative to age. Great health for a 72 year old man is far different from great health in a 40 year old man. His odds of being incapacitated due to age-related health issues or his reoccuring skin cancer, indicate that whoever he chooses to be his VP is more likely then normal to be president within a 4 year term. This is the reality of the human condition, and it's irresponsible to blindly assume that McCain will make it through a 4-year term on his feet at this point.
  2. Hypocracy. The republican's most common attack so far has been directed at Obama's inexperience. Now, McCain has picked a VP with far less experience. At the very least, the Republicans lose this important attack vector. At the worst, the direction of attack is reversed because now the Democrats can attack the low experience level of Governor Palin.
  3. Pandering. Tell me that this doesn't smack of pandering? John McCain is trying to attract disenfranchised HRC supporters, so he picks a woman running mate. This rings of the failed "Anybody but Bush" compaign from 4 years ago: If you're willing to vote for anybody, it's hard to rally behind anyone. Palin is exactly what McCain thought he needed: any woman. So what he gets is just any woman. I think it's disrespectful, and I hope intellegent women throughout this country see that.
  4. Palin was selected to tow the party line: Anti-abortion, pro drilling in alaska for oil. In fact, in days of hearing her analyzed on the news, I have no idea what else she believes in. What McCain wants to say is "Look, I've found an alaskan who agrees with drilling in alaska", or "I've found a woman who is pro-life". It's as if finding one counterexample proves his point. It's telling just how deep he had to look to find a person who fit the bill. I doubt her's is the majority opinion among Alaskans (in terms of drilling) or women (in terms of abortion).
I'm not all lovey-dovey about Obama either, and maybe I'll level some criticisms in his direction a little later. What people need to really think about is this: because of his age, the probability is good that if McCain is elected, Palin will be president within the 4 year term. With that in mind, we need to think about whether she was selected because she would make a good president, or whether she was selected as some kind of token woman so McCain could pander to both women and the conservative right. I'm not sure that we need a president who's only value is being able to pander to very specific groups of voters. In fact, I'm sure we need somebody better.

Correction: I erroneously put that McCain was 82 earlier. This was an arithmetic error on my part. McCain is 72.

Saturday, August 30, 2008


NIN absolutely rocked tonight. It was killer, they played a ton of songs from all their albums, all the way from Pretty Hate Machine up till Ghosts. The visual effects were amazing, the energy of the band was fantastic. It was a show that I will never forget, and I recommend that any NIN fans catch a live show sometime.

Friday, August 29, 2008

Nails Tonight

For my birthday, Dana surprised me with tickets to an NIN concert. The concert is tonight, and I'm waiting for Dave to get here so we can hit the road. The weather is lousy, but I'm not letting that get me down. I'm heading out to Dana's tomorrow morning for the three-day weekend. We got the delux package too: catered box seats, preferred parking, the works.

Got paid yesterday too, and payday is always the best. Unfortunately, since I only get paid once a month, these moments are few and far between. My next job will not pay monthly (I've said that at least once before), but I dont know when this mythic next job is going to appear.

I'm off now to eat and prepare.

Wednesday, August 27, 2008

Version Control Woes

I'm hardly an expert on version control, but I've been using it now pretty regularly and I think I've picked it up pretty quickly. I use SVN every day, between Parrot and some of my other projects. Even if it's just a quick update or merging in the day's changes to a local branch. I use Wikis too, which I realize now to be a very large and elaborate version control system with a very specialized interface.

At work we use version control too, although it takes the form of a large and disorderly mismash of various filesharing and group collaboration tools. Microsoft Groove is one of the major tools that we use, and I've written about it before. Groove is interesting because it allows quick intra-office communications, it allows distributed file sharing, and a few other easy-to-manage tools and forms. We use Groove for a lot of things around the office, including keeping track of the calendar and making purchase requisitions. I'm still very interested that we keep using Groove though, it's a program that I don't find to be particularly good at anything, other then mashing together several functionalities that otherwise would be handled separately.

The way we use Groove to organize files at work is terrible, literally terrible. If you don't already know where something is, you will never find it. Files are versioned manually, so when I make an update to a file I have to rename it. So we have folders with "file_version1" and "file_version2", etc. Our software is stored in a subfolder of the software documentation folder. The software documentation folder also contains documentation for all other aspects of our project including hardware, installation, application notes, etc. These are just a few examples but trust me, it's bad. Also, the choice as to whether to use email or groove to send somebody a message is usally pretty arbitrary, and the fact that I am expecting communications through both vectors regularly means I need to pay attention to them both. Every day I wish there was some kind of plugin to interface Groove and Outlook to help demultiplex my messages into a single inbox. Somehow, I doubt it's ever going to happen like that.

We have a file sharing server in the office that we can use to store large files that are not suitable for use in Groove. There are some problems with the default permissions on this, however. We can add and modify files and folders, but we cannot delete them remotely. I also don't know where the server is physically located (nobody else seems to know either) so I can't manage it locally either. Without being able to delete things it's quickly become cluttered and obnoxious. However, it's still a very fast way to move things between computers in the office, especially those computers without groove. All the flash drives in our office seem to have been infected with some obnoxious virus too, making this file share all the more important. Virus writers, as I've said before, are the scum of the earth.

We also use regular source control, we have two source control programs that are in use. One is used by the engineers, poorly, and one is used by the website people. I say the engineers are using the source control poorly because they are: Groove is used to store current revisions of our software (manually named by version number, as I mentioned above), while our source control is only used to store current production versions. This is because the projection and manufacturing devision take the current version of the software out of source control when they commission a new unit, so we can't have anything in there that isn't "perfect".

It's amazing to me that so many people, especially so many decision-making engineers are so inept when it comes to using tools like these. I know this kind of stuff isn't taught well in school, but it only takes a little bit of experience using them to learn what best practices (or at least better practices) should be. I realize people are probably paralyzed with the intertia of the status quo, but if I had the opportunity I would rip it all out in a heartbeat and start over.

Monday, August 25, 2008


Turn on my laptop today, and start up with my daily routine. I log in, check some email and stuff on my family computer, and then click the icon in the corner telling me I have software updates to install.

I open the update manager and read through the list of updates, like I always do. I actually take the time to read through the updates I install unlike most users, I'm sure. The update has something to do with the kernel development header files, and maybe some update to a library (I don't remember now). It looked relatively harmless, so I clicked install. Install goes quickly, and then I'm prompted to restart my laptop so the changes can take effect.

Restart. Boot up. log in. blackness. Nothing appears on my screen for several seconds, then I get an error message from GNOME: "The GNOME session manager was unable to lock the file '/home/andrew/.ICEauthority'. Please report this as a GNOME bug. Sometimes this error may occur if the file's director is unwritable, you could try logging in via the failsafe session and ensuring that it is." I click OK, and it kicks me back to the login screen.

So I try again, same error. I try logging into the failsafe session, same error. Good. I try logging in to a different user account, and that works but it's not what I want. I don't like having my one administrator account locked because of a software problem. So I go looking through the internet and find a series of people who have also received this error, and a series of unhelpful responses. People offer solutions and I try every single one. I create directories, I throw around chmod and chown. nothing works. More then one person suggests the solution to the problem is a fresh install. I find that to be severely upsetting

It's a few minutes later and I'm still fighting with this issue. I'm going to be very upset if I can't get my laptop working again without having to do a complete system reinstall.

Sunday, August 24, 2008

Genuine Confusion.

I keep getting spam emails to join AARP, emails about Cialis, and emails about mortgage relief. What exactly is the target audience for these people? The poor, impotent, and elderly must be more gullible online then I can even imagine. Add gullible to the list of problems these people have.

Friday, August 22, 2008

That's retarded.

"Do you mind if I say something crass?" he asked as he looked around to make sure nobody else was in the office.

"No". I said it with a suppressed smile, thinking about some of the particularly crass things I've said in my life.

"Well, if you're going to fuck somebody", he said without hesitation and without breaking even the slightest smile, "you fuck them as hard as they let you fuck them."

This particular conversation was not about sex as it might appear immediately, but was actually about work. His point was a simple one: You take what they let you take, you work as little as they let you work. You slack off as much as they let you slack off. As Peter Gibbons famously said in Office Space, "work just hard enough not to get fired". It's an interesting point of view for a worker at such a small company. People tend to work at startups if they are energetic and, dare I say, passionate. It doesn't surprise me that people seem to work so hard or work such long hours. It feels like there is always so much to be done. However, it does take some real discipline to realize that there is more to do then can be done in a day, and to put things down for continuance tomorrow.

Speaking of crassness, my boss is a really funny lady who says the word "retarded" when she gets's angry or frustrated. She always drops to a whisper when she says it, covers her mouth and giggles a nervous giggle. Like it's the worst thing a person could possibly say. Retarded, literally, means delayed in development. It's frequently used to describe people who are delayed in mental development, especially those with Downs Syndrome. This second use is a slang use of the word. However, there's another popular slang use of the word: A person who is inebriated with alcohol. With this third use, saying that something is "retarded" is really no worse then saying that the creators of that something were "drinking lots of alcohol", and nobody would call that particularly obscene.

I propose therefore that we divorce the use of the word "retarded" from pertaining to people with stunted mental development. It isn't nice and isn't particularly apropriate. Instead, we use the word to describe people who function as if they are loaded with alcohol, or things which are created by such people. Saying "This printer is retarded" or "Those people at company X are retarded", or "My kids can be so damn retarded sometimes" isn't bad or obscene, and it certainly isn't necessary to say it in a whisper.

That's just my two cents anyway. But who knows, I may just be retarded.

Thursday, August 21, 2008

Work Miscellania

Got a spam email today with the subject "More flesh on your pole". I didn't open it, but it did make me laugh. The lengths that some spammers go to so they can avoid the spam filter. What's more funny, I think, is that the business of embiggening [sic] one's penis is such a huge business that all these spammers pursue it so ferociously.

At work, we've sold just one unit. One. It was supposed to be tracking a train that traveled from PA to NM. However, somewhere after Midville Ohio the unit stopped transmitting entirely. This was two days ago now. Geometrically, it should have a clear line of sight to two satellites, so transmission shouldn't be a problem (notice my judicious use of words like "should" and "shouldn't" here). The potential reasons for this are many: Improper assembly, incomplete waterproofing, hardware defect, software defect, out-of-spec temperature changes, being covered by a box or blanket or something, interference, a hobo hitting it with a sledge hammer, the incompetent department of homeland security hitting it with a sledge hammer, theft, crushing, avalanche, tornado, atomic explosive, or spontaneous combustion. We're sending a guy out to intercept it in Colorado and replace it with a unit that hasn't been sledge hammered. Needless to say that when we get the first unit back (if we get it back) that I'll have to spend a lot of time dissecting and diagnosing it.

One of my coworkers at work today said that the job posting that I responded to was very misleading. I agree with him. The original job posting was titled "Software Engineer" and listed as skills "Assembly language" and "C Programming". I don't use either of those two skills in my job. I don't really write any software, except for a few tools I've written for my personal use to facilitate my job. Before I got there, engineers used to spend hours in the morning going down rows in a table and counting messages. Now, I type in a single command and hit enter, and everything is counted and compared and graphed for us. My job description is more like a "Systems Engineer" or "Embedded Systems Engineer" because of the sheer scope of what I've been doing.

I got new business cards this week, "Andrew Whitworth, Software Engineer". Unfortunately, as soon as I get my cards, I had to move to a different desk that's closer to the lab. So, we had to rush around to get my phone number moved to my new desk. I would have just changed phone numbers except I now have a whole box of business cards with the old number on it. Plus, my cards now say "Software Engineer", even though I'm thinking that I'm really not a software engineer right now. Maybe things will change, however, in a case of life imitating art. Would sure be nice.

Monday, August 18, 2008

The Daily Grind

Today was another in a series of days where it seems like the amount of work to be done is overwhelmingly large compared to the amount of time available in which to do it. Perhaps this is why they call it "the daily grind", because it's like I'm grinding my gears and never moving forward.

The problem isn't that I'm not getting anything accomplished at work. Quite the contrary, I'm busy as a beaver and I get all sorts of things done. What it is, is a problem of milestones. It appears that nothing ever gets accomplished because nothing ever gets checked off my to-do list. Nothing ever gets checked off the list because all the things on the list are huge things. Then, when smaller problems pop up and need to be overcome, it seems like the goal is never reached. By setting a series of smaller goals, I try to fix this problem, and towards the end of the day I felt like the strategy was working.

Spent part of the day in a sales meeting. Our sales department, Marjorie, wanted to get the various people together and standardize some of our lingo and our practices. I was there because I'm a very central part of the whole production flow process. It's my job to get newly-produced terminals installed with the necessary software, get the terminals properly tested, get them registered with our satellite tracking system, and get them assigned to various serial numbers. It's a lot of hands-on work, and I'm hoping I'll be able to aggressively automate it with some of my mad programming skillz. That's the plan, at least.

Tomorrow we're starting testing on a new hardware unit with more bells, whistles, and doohickies. I've also got some more software features to test, and some cables to make and run. going to be another fun day.

I think today marks the end of the Google Summer of Code project, so I'm wrapping up my work there. I'm not "done" with the project by any stretch of the imagination, but as far as Google is concerned it's pencil's up time. I'm going to stay a regular contributor to Parrot, and I'm going to work to ensure that my project gets finished eventually, but my monitary incentives are gone now. Maybe I'll be like some of the other big-time Parrot developers and get in on some grant money for my work. It's unlikely, but would be nice.

Sunday, August 17, 2008

Things I've learned from Commercials

With the Olympics on now, I've been watching a lot more TV then usual. With TV, of course, comes the commercials, an onslaught of all sorts of companies trying to sell things that you don't know that you want or need yet. The techniques that some companies use in their commercials is so bizarre sometimes that I have to wonder whether any thought has gone into them at all. Sometimes, misfortunate secondary messages are made more obvious in a commercial then the primary "Buy our shit" message that commercials should be focusing on. Here are some examples:

  1. Geico: It's okay to discriminate against people who look different from you, especially if it helps you sell your shit.
  2. AT&T: The mother has to slave away in the kitchen and nag at people while the rest of the family gets to sit, eat, and disrespect her. Go Mom!
  3. M&Ms: You are what you eat, so don't you want to become short, fat, compulsive, and disgusting?
  4. Fiber One Cereal: People who work retail are idiots. That, or maybe the fiber really is "hiding in the honey clusters".
  5. Volkswagon: Drive a Volkswagon and get pulled over. It seems to happen every time. At least this particular cop doesn't appear to be a total jerk about it.

These are just some of the few I've seen and care to remember, I'm sure there are a lot more comemrcials that are this poorly written.

Wednesday, August 13, 2008

Software Engineering Hardware

My business card will, once it arrives, list me as a software engineer. The job posting that I responded to was labeled "Software Engineer", and in my interview I was questioned almost entirely on my programming skills and history. Besides some of the personal scripting work I've been doing, however, most of what I do is hardware.

And therein lies the truth of small companies: With so few people, everybody has to do a little bit of everything. I spent much of the morning today working on three basic projects:

  1. I was migrating all my "stuff" to a new laptop that my boss bought for me. No longer am I working on a little Eee PC, now I'm working on a nice Lenovo Ideapad. I'll talk more about this later. Getting the essentials (Perl 5.10, Notepad++, Firefox) goes relatively quick, getting all the other garbage I need (Microsoft Office and Groove, a series of proprietary design tools, satellite monitoring tools, and web authoring tools) takes much longer.
  2. Hardware testing and analyzing. We were using the battery voltage as a pullup bias for our input pins, but the trickle current makes our low-power goals infeasible. Now, we're looking to use one digital output as the bias for the other digital input, and using a regular polling function to read input instead. Saves power, but definitely not software-related.
  3. Cabling. I had to scavenge some old cat-5 cable that was strung up around the air conditioning vents, strip the ends, solder on new connectors, run them up to the roof and set up monitoring stations.
I spend the day working with the hardware engineer who used to write software, the software engineer who is becoming a manager, the manager who writes web applications, and the mechanical engineer who installs our electrical devices. My boss has a funny little pantomime where she takes off one imaginary hat and puts on another. It's quite fitting, really.

The truth is that in embedded systems, it's impossible to separate the software work from the hardware. To verify proper software operation I have to set up cables, pull out the multimeter and the oscilloscope, warm up the soldering iron, and start flipping switches. In a computer without a monitor, a keyboard, or a mouse, how else are you going to test and debug it?

Wednesday, August 6, 2008

Completely Sidetracked

I was planning on getting some good programming work done tonight on Parrot, but that's flown out the window now. Geoff is down in Mexico and decided that the most economical way to keep in touch is through Skype. So, he dutifully set out to buy himself a headset and a webcam so he can have videochats with his friends and family.

The problem is, of course, that his family doesn' t have Skype, a webcam, or a headset. That isn't the problem so much as it is a symptom of the general level of computing incompetence around here. Not just the people, but the computer itself is incompetent: One of those lousy spur-of-the-moment purchases-gone-wrong that my Father seems to specialize in. If corporations hired consultants for impulse shopping, my Father would be a millionare. I don't need to list out all the specs here, but suffice it to say that the computer (which is about 6 years old now) is not going to represent the USA in the computer olympics.

So I install Skype, and I have to say that the process was quick and painless. Skype's website was friendly and easy to navigate, the software installed painlessly, and I was up and running in an instant. Gave Geoff my number, he called me, and we started chatting. He had a webcam--I hadn't installed ours yet--so we could see him but he could not see us. This much should have been obvious. Here's the conversation, more or less as it happened:
  • (Mom, standing behind me. I was wearing the headset and had the unplugged webcam in my hands) Hey Geoffrey! *waves* *Waves HARDER* Can you see me?!?!
  • (Me) He can't see you, the camera isn't installed yet.
  • (Mom) Oh okay Geoff, Andrew says he hasn't installed the webcam yet
  • (Me, to geoff) Mom says hi, she says I haven't installed the webcam yet.
  • (Mom, leans in closer to the computer monitor and starts yelling) GEOFF, HOW'S MEXICO? Andrew, Where's the webcam?
  • (Me, I hold the webcam up) Right here, I haven't installed it yet.
  • (Mom, Looks into the webcam that is unplugged and in my hands) Hi Geoff, Can you see me? Can you hear me? I can't hear you!
  • (I put the webcam down on the floor where mom can stop yelling at it, unplug the headphones from the computer but keep the mouthpiece plugged in, and plug in the computer's speakers so everybody can hear).
  • (Me, to geoff) I plugged in the speakers, everybody can hear you now
  • (Geoff) Hey everybody!
  • (Mom, leaning in to the monitor and yelling) HI GEOFF, CAN YOU HEAR ME!?!
  • (Me, to mom) No, the microphone is right here. Hold on.
  • (I hand the headset to mom, she puts it on and adjusts the mouthpiece)
  • (Mom, into the mouthpiece) CAN YOU HEAR ME NOW?
  • (Geoff) Yeah, too loud. You don't need to yell I'm right here.
  • (Mom) Oh, you couldn't hear me before.
  • (Me) That's because you didn't have the microphone
  • (Dad) Where's the webcam, is it installed yet?
  • (Dad, leaning into the monitor) Hi Geoff, can you see me?
  • (Me, pointing to where the webcam lays on the floor, unplugged) It's not hooked up yet, I haven't had a chance to install it.
  • (Dad) Can you install it now? I want to talk to geoff
  • (Me, pointing to mom who's engrossed in conversation with Geoff) I can't right now, I would need to shut down skype, and I would need to get onto the computer to install it.
  • (Dad, yelling at the monitor) Okay Geoff, we can't install the webcam right now, Andrew will do it by tomorrow. Can you hear me?
  • (Me) Dad, you have to talk into the microphone
  • (Dad) Where's the microphone?
  • (Me) It's on the headset that mom's wearing.
  • (Dad, yelling at mom) Geoff, can you hear me?!?!
Seriously, I can't make this kind of shit up. I got the webcam installed soon after and, lo and behold, our computer can barely operate it. Whatever, it's not really my problem. I don't need people watching me work on the computer anyway.

Tuesday, August 5, 2008

Things and stuff

I'm sensitive to light now, and my vision is a little blurry. So, if you see any serious typos in this blog post it's not because I didn't proofread first. Soome misttakkes Looookk righht to mee. I just got back from my exam at the optometrist, and it turns out my vision is the same as it's ever been. I feel like they could have just asked me, "Are you having problems seeing stuff?". Instead, I have to sit through a whole battery of tests: some which are fun and the rest which must build character.

I now, for the first time ever, have a nice pair of sunglasses. Over the weekend Dana and I meandered into the Sunglass Hut, tried on a few pairs, and each walked out with some nice shades. The last pair of sunglasses I had I got from the mall kiosk for 10$. The pair before that was bought at Bonaroo for two beers and a promise to do some guerrilla advertising. But now I've got myself a great pair of glasses, one more major life purchase to check off my to-do list.

Work today was uneventful. Everybody who I normally work with is out of the office. Susan, my boss is out for the week on vacation. Steve, the EE who seems to know the most about our hardware system, is in Chicago on business. William, the manager who seems to have plenty of engineer in him, is with Steve in the windy city.

I spent much of my day hacking around on my Perl scripts. I can do now with a click what used to take hours every morning. Where we used to have pages of hand-scribbled results, we now have full-color graphs and automatically generated spreadsheets.

Chatted with Jason today. It's amazing to me how we're still on the same wavelength. We glide effortlessly in and out of 1337, Lol, conversation-enhancing XML () and ordinary english. We always have plenty to chat about in the realm of gadgets, programming, and life. Jimmy is coming over tonight and has every tuesday in recent memory. We've been getting together to watch the new show Wipeout. If only I could get dave out from under his bridge not feed him after midnight (That's right dave, you've become both a troll and a gremlin) it would be like highschool all over again. That is, it would be highschool if we added some alcohol.

Sunday, August 3, 2008

Can I haz bugz plz?

To put it short, we're having a bug problem. Out front we uncovered a subterranean yellow jacket nest. It was right outside our frontdoor and was causing a number of problems. They stung my mom's ankle yesterday morning, while she was doing some routine weeding out front. They also stung our new dog, Jack, but that doesn't matter as much because I don't like Jack. That's another rant for another blog post, however. I use the past-tense when discussing the yellow jackets because one whole can of Raid later, they appear to have moved to the great bug hole in the sky.

Walking out my garage yesterday morning, a pine cone fell at my feet. At least, I thought it was a big pine cone, but it was actually a huge mamma-jamming cicada. These bugs are huge and disgusting, and they're absolutely obnoxious with their noises. However, they aren't the most huge and disgusting bug in the yard anymore....

The award for most creepy gigantic bug goes to the natural predator of the cicada, the cicada killer wasp. These are the biggest freaking wasps I have ever seen.

Wikipedia claims they are solitary creatures, but there are dozens of them in my back yard, burrowing little holes in the ground all around the path between my driveway and the back door to my house. You can't go walking around outside there without getting swarmed, although people assure me that they do not sting. That's good to know, but I'm definitely not going to put the theory to the test anytime soon.

Besides all the bugs, this has been a good weekend. It was a little boring at times, however. Kara hung out with us for a few days after Geoff left, which is good because she's a good guest to have: Polite to a fault, creative with her cooking, and willing to put up with the unique brand of shit perfected by my brothers and I.

Tomorrow starts another week of work. However, next week my boss Susan is away on vacation and I'm in charge of the testing work we've been doing for the past few weeks. Hopefully it's not too hard a week.

The images from this post are from Wikimedia Commons.