Leaf the Red Ones

November 4th, 2008

After returning home today, I hopped out of the car and saw our next door neighbor’s little girl raking leaves. The small child-sized rake still towered over her by a good foot, but she was doing her best at the apron of the tree. Nearby was a small colorful pile.

“Make sure you only do the red ones.” I pointed at our tree, which was bright orange and that’s the only cover we have scattered over our unraked lawn.

She looked up at her red sugar maple, which was littered in bright red and orange leaves, down at her pile, and pushed the rake away, “Why didn’t something tell me that? I’ve been working all day!”

I quickly went inside. Mission accomplished.

Paper or what?!?

November 4th, 2008

So, I go to the polls to vote today, show my id, and the woman wants to know what kind of ballot I want.

“Paper or plastic?”

“Excuse me?”

“I’m sorry. Paper or electronic. I keep doing that.”

“Let’s do paper, it’s better for the environment.”

Garmin WebUpdater

November 2nd, 2008

I own a Garmin GPSmap 60CSx in order to geoencode my photography using HoudahGeo.

Garmin now has a means up updating the firmware in their GPSs by using a WebUpdater, of which I use the version for the Mac.

I Got Myself Into Trouble
In retrospect, I got myself into trouble by starting the program, it failed to detect the GPS, to which I turn on the GPS, and plugged it into the USB port. While the WebUpdater saw the device and went to update, it stayed in the “Erasing… Do Not Unplug” state for about two hours before I got brave.

What I Did, And Boy Was I Lucky
I couldn’t cancel. I couldn’t Quit. So I had to Force Quite by using Command-Option-Escape, that at least got WebUpdater to stop. The GPS was still stating “Loader Loading…” when I pulled the USB, and when that didn’t change anything, I turned off the power to it. I wasn’t so sure I was going to see much of anything when I powered it back on.

I got lucky. I turn the power back on and I was still at the old revision. Then plugged in the USB to the computer. Then started WebUpdater, which again noticed the GPS version, downloaded the firmware again, and had no problems installing it. Seems doing things in this order works just fine.

My Plans If I Was Unlucky
Over on Bill Turner’s site, he’s written an article about Fixing a Dead Garmin GPSMap 60CSx. It seems he’s learned holding down the Power Button and the Up Arrow at the same time while starting the WebUpdater software (I think he has three hands to pull this off), he’s able to force the GPS to identify itself to the updater. Problem is, according to his instructions, you have to keep holding down these button chord during the update; some comments on the blog state it isn’t necessary, and there’ve been mixed results as to whether this works universally or not.

I’m not sure I would have had the bravery to just go killing processes plain outright, but since Bill did such a nice job of providing an alternative, I felt it was worth the risk — even if I didn’t have to go that route. Thanks Bill for blogging your GPS recovery notes.

Halloween, I Got The Door

October 31st, 2008

Halloween around our place is a lot of fun, and not just because we like drinking goat’s blood while standing in a pentagram. No, it’s actually because when I was little, I usually got horribly sick and had to stay at home while others got to trick’or’treat. A few times I actually went out sick, so there are some fond memories of having free run of a neighborhood late at night, collecting candy from households.

It didn’t take long, however, to realize that the cost/benefit ratio wasn’t working in my favor. The amount of work it required to collect a plastic pumpkin of glucose was pretty intensive. Visiting a grocery store’s candy aisle with a ten spot would result in more quantity and variety than I could deal with. Somewhere it became much more fun to dress up at home, make a haunted house, build a talking pumpkin, or just scare the kids silly. In later years, with more resources, we’ve had raging fires in the front yard, mist machines, special effects, and other things that draw the kids.

This year, however, was different. No costume. No special effects. No party. Not even a carved pumpkin. Just me and a bucket of candy.

And it was great. This year the name of the game was social engineering; in what ways could I mess with the kids, psychologically, to get them to accept absurd situations. It turns out the answer is… a lot.

Role Reversal


For this one, when I see the kids, I step aside and let them ring the door bell. When I go to answer it, they yell “Trick or Treat!”

I pause, pondering seriously, as if they’re offering me a choice and say, “I’ll have a Treat please!” and hold out my hand.

The look on younger kid’s faces is priceless. Some look to each other for validation. Some tentatively start to reach in their bags. Older kids challenge me on my misunderstanding, to which I offer the bowl of candy behind me as evidence of prior contributions.

Things eventually get sorted out, but they go home with stories of the nice guy who didn’t quite get how this was supposed to work.

What Was I Doing?


While sitting on my stoop, I watched as a two trick’or’treaters were running full pace from door to door, clearly trying to maximize their gains. My goal, as soon as they arrive on my door step, is to see just how long I could keep them there by interaction alone. Could I make them forget they were on a critical mission?

It didn’t take much to hear which households were the best candy givers, why they picked their costumes, what candy they liked, to eventually unrelated to Halloween topics, and ending with this year’s personal favorite, a chronological list of all their grossest personal injuries.

Eventually their parental escort came looking for them, nice for him to take so long to notice, and they actually told him to wait. We talked for another five minutes beyond that.

Clearly they were having far more fun talking than trick’or’treating. Feeling guilty, they each got a massive pile of loot before I sent them on their way. Yeah, that’s me, keeping inspired kids from earning candy.

Let’s Trade


My favorite interaction with kids is something I invented that helps me get rid of candy fast, while at the same time diversifies what I have to offer, and makes the kids feel like they’ve found the best house on the block. It works like this: I tell the kids as they approach “You can have a piece of candy, OR, I’ll make you a deal, trade me a piece of candy you don’t like, and you can take two of any you do.”

Kids jump all over this. They’re quick to dump something, anything, to get the larger take.

What’s cool is that the picky kids all out score, while the greedy kids get stumped and have to go searching for what they don’t like, if there’s anything at all. No one’s been smart enough to put done one, then pick it back up with another — which is perfectly legal.

What’s funnier is that the next group of kids will come by and snag the discards.

Horrible Flavor


Every once in a while, you’ll catch a discussion of kids coming up the walk lamenting what a neighbor is giving away. Coconut, butterscotch, and mints are flavors that should be banned in the eyes of a child, especially on Halloween.

That’s why I offer worse choices, to help them appreciate what they’ve got.

I palm some candy, and as they approach, I say absolutely gleefully, “Would you like Broccoli or Spinach?” This puts on some pressure, as they don’t want to rude, and each child picks the lesser of two evils. Then they feel something drop in their bags.

Older children realize what’s going on, and it’s a game they can join in on. Back at home, no one’s disappointed — the icky candy has turned into something wonderful.

What you’re after here to appreciate is the intonations in their tone of voice; it’s fun to hear a kid try to sound excited about bitter leafy greens. This is not what mom said it would be.

The out here, should there be tears, is “Oh, I’m sorry… I seem to be all out. All I have left is chocolate, you can have that if you want.” They’re usually pretty happy about your misfortune.

The Scariest House on the Block


This one works when there’s a group of kids. They arrive in a group, and I tell them “I’ll give you a piece of candy, but if you all scream on the count of three, I’ll give you each two pieces. If it’s real loud and I can still hear you with my fingers in my ears, then three. Deal?”

Group peer pressure gets acceptance, and I plug my fingers. At that point the loudest screams come out, and I pay out. They leave happy, if not hoarse.

However, the next group of kids are really hesitant about approaching, and hyper paranoia sets in — they’re all expecting something to jump out and scare the willies out of them. And then, …nothing. Which makes departing all the more creepy, because there has to be something lingering. Yes?

Turns out this effect was even more chilling on the neighbors, who want to know what’s going on over next door, not to mention the adults standing at the street who have the (bleep!) startled out of them when all their kids scream in unison for no perceived reason. It also adds a nice mood to the neighborhood and shrills pierce out of the darkness unprompted, apparently these can be heard the next street or two over.

Revenge on the Greedy Kid


Of course, ever so often you’ll get group with a kid who can’t keep their hands out of their candy and arrives with their mouth full. At that point I quickly start throwing out questions!

“Who wants candy, say me!” All but the greedy kids can speak, and I start dropping into their bags.
“Who wants seconds? Say Trick Or Treat!!!” The kids all scream out, and I drop into their bags.
…meanwhile, the kid with the full mouth is chewing like crazy trying to swallow, for they did not get any, because they did not answer.

Often the other kids start to run off, and I get the lone child chewing rapidly on my doorstep, trying to race through. You’d be amazed at the hoops this kid will jump through in order to catch up to what the others got. I sometimes get my best screams this way.

Dinner Time


We ordered Chinese food, so I’ve got a big bowl of noodles in my hands. When I see the kids coming, I turn my back and wait for the doorbell to ring so they “catch me off guard.” At this point, the entire dialog is visual and not a word is spoken.

I turn around, as if they caught me having dinner. Then I look down at their bags, then at my dinner, and then back at them. With all sincerity, I use a fork full to gesture offering them a little bit, with a slight questionable but compliance look as if that’s what they came knocking for. I try to look really concerned about how I’m going to divide all this up fairly and if I’ll still have enough to finish my dinner.

Eventually someone catches sight of the candy bowl off to the side. I look down at it, then at my meal, and a burst of understanding happens in a Oh-You-Want-THAT kind of look, followed by a wash of relief that they actually don’t want my dinner.

I grab the bowl and pass out treats, and at this point they are all in giggles at how I almost really messed things up.

Glass Door


Our storm door is made of glass, and if there are three or more kids on my stoop, then when I go to open it, at least one child gets trapped behind it. So, I pass the bowl in front of the kids at the opening, and then pretend I can’t see the glass and pass it in front of the others. Perhaps my door is too well polished.

By placement of the bowl, and politely offering seconds, I can keep the other kids rooted in their spot, while I keep affirming though the glass with body language that it’s okay, go ahead and take one. But they can’t.

Eventually someone will actually try, but, no, the glass is there. Only after I hear the thump do I catch on that they can’t. Then I look at the blockers in a get-moving-along glance, as if they’re the ones being greedy pushing the others out of the way; I sympathize with those who were trapped.

Amusingly, I’m never blamed for the glass door; after all, I tried. It’s the kids that were blocking their way that get the blame. If there are relations, I usually get an under the breath comment which tells me how they really feel about their siblings and this kind of injustice always happening.

Closing Time


This one works around eight o’clock in order to be plausible. A group of kids arrive, and I pass out candy to all but the last kid, looking at my watch as I skip him starting to put the bowl away.

“Uh, you missed me,” I’ll quickly be corrected.

At that point, with a straight face, I check my watch again, and say, “Sorry, we just closed. Could you come back tomorrow when we open?”

Depending on age, this gets different reactions varying from “How can you close, you’re holding a big bowl of candy?!” to “I don’t think my mom will let me.”

After a little exchange, I bend the rules and give some candy, but I ask them not to tell anyone cause I don’t want to get fired. Of course, he runs off and that’s the first thing he blabs.

Now that’d be funny…

October 29th, 2008

So, we’ve just finished eating at Arby’s and are backing out of the parking space when suddenly we see white van whip behind us at incredible speeds, clueless that we were in motion backing out.

“He almost hit us!” exclaimed our driver.

I looked out the rear view matter and read the sign on the van, which as now in drive thru. Point it out to the others, I stated “wouldn’t have mattered, it’s a Progressive auto insurance evaluator — we’d be reimbursed on the spot.”

What I meant to type was…

October 14th, 2008

I just had another keyboard mishap moment this afternoon.

A keyboard mishap moment is when you go to press one key, and you get two. Or you type one letter, and you’re off by a keystroke. Or, perhaps, you press the key, but it doesn’t register. Either way, you’ve hit the return key and the message is sent before you notice what actually was typed.

eMail saves us from such events. Instant Messaging, however, makes such mistakes permanent.

Here’s my earliest KMM memory, followed by today’s.

Back in college we had a classic computer room, with a mainframe sitting behind glass, run by operators, while the students were at lab benches working on terminals. I was friends with a number of the assistants. Of particular notice was one named Shelaine, who was a good computer scientist and an even better biologist that happened to have long blonde hair, legs to match, and who was one of the few people I ever knew who’s figure made spandex look good.

Each time she’d sit down at the console, someone would come up to the divided door and ask for a printout off the line printer. This continued for a quite a while, and at was apparent we were not going to be able to hold any real-time conversation at the time.

What I meant to type was: You look busy!

What actually happened was… my finger hit the Y key just to the left, and what I ended up typing and sending was: You look busty!

Of course there was no undo, my face turned red, and she grinned as she erected the most perky and flattering posture in my direction. She knew exactly what had happened, and played up every moment of it. Pretty evil, as neither of us ever had a thing for the other.

Today’s KMM might have been worse.

I work with an intern named Paul, and he’d been tasked with a very demanding job and and even more demanding deadline.

So, rather than bothering him for a status report, I thought I’d have a co-worker check on Paul without disturbing him.

What I meant to type was: How’s Paul doing?

What actually happened was… my finger hit the key, as I rolled off the O, but it didn’t register, and what I ended up typing and sending was: How’s Paul dong?

The answer I got back was along the lines of, “I don’t think that’s a very appropriate question for a work environment.”

Clever Bulk Rename Trick in Windows

October 7th, 2008

Ever want to rename a bunch of files to the same prefix, but have an incremental count after them?

From Explorer, select all the files that you want to bulk rename, right click, and select Rename.

While all of the files will be selected, only one is editable. Give the file a name, let’s pretend for the sake of discussion you typed ABC.jpg.

All of the rest of the files will be renamed ABC (1).jpg through ABC (n).jpg, where ‘n’ is the number of files minus one, since the first one doesn’t get a number.

Knowing this, you can do some clever stuff. Create one bogus file renamed to ZZZZZZZZ.TXT at the end of your list; select all the files, and bulk rename them as shown above. Then delete the bogus file, it should be the only one without a number, and you’ve just made a sequence of files.

Is AVG killing windows Remote Desktop?

September 26th, 2008

This morning Anti-Virus Guard,AVG (not the free version), decided that TRMSRV.DLL in the System32 directory was threat and copied it out of the directory.

The result was that Terminal Service no longer works. That means that software like Remote Desktop Connection 2 (RDC), can’t connect, although the machine responds to pings and Samba requests.

Placing a exception in AVG to not check that directory (sounds bad, eh?), and restoring the file from another machine seems to have temporarily address the problem.

I wonder if AVG knows about this.

We’re also seeing that Cygwin and the System Restore Point is also among the collateral damage.

UPDATE 11-Nov-2008: Looks like AVG is now flagging Windows as a virus.

Selenium: HTTP Status 404

September 22nd, 2008

Warning, another geeky log entry.

Today I was working with Selenium, the free web testing tool.

I ran into an interesting problem where I was trying to connect to an SSL connections, but I got this error:

HTTP Status 404 - /selenium-server/core/RemoteRunner.html

If you don’t know why /selenium-server/ is being stuck onto your destination URL, or why you are passing a URL to the class constructor DefaultSelenium in the first place, then you need to go read the Selenium RC: Tutorial and not casually browse it, specifically the section entitled The Same Origin Policy.

  • Advice about certificates wasn’t working.
  • I discovered Firefox 3 Beta wasn’t working with Selenium IDE, and switch back to Firefox 2.0.0.16, which at least allowed http connections to work.
  • I used my own Firefox profiles with *custom instead of *firefox

I even installed the Cyber Villians CA certificate, which is mentioned in the Selenium RC: Tutorial under Support for HTTPS.

Still, I was getting the 404 Error when using https, but not http.

Then I found it.

Firefox’s profile got messed up as I was switching between versions. Under Tools / Options…, Network Tab, Settings…, Manual proxy configuration, while HTTP Proxy had localhost and port 4444, the “Use this proxy server for all protocols” became unchecked. It should be checked.

Made sense, too. If https is not going through the proxy, then Selenium couldn’t do it’s magic.

Also, make sure that No Proxy for is blank, this is normally localhost, 127.0.0.1, and other local resources; only in this case, you do want to go through your local Selenium proxy.

LIBLDAP2 Not Installable

September 17th, 2008

Warning this is a very geeky entry aimed at apt-get users of Ubuntu, readers seeking humorous content should skip this post. Remember, this is a technical blog.

If you’re still with me, then I suspect you’ve just been plagued by the message:

Depends: libldap2 (>= 2.1.17-1) but it is not installable

I’m using Ubuntu 8.04 LTS Server Hardy Heron, specifically on a 64-bit AMD system.

Normally, when I do an $ sudo apt-get update things go very smoothly, but not today. Here’s what I got.

The following packages have been kept back:
alpine dovecot-common dovecot-imapd dovecot-pop3d libpq5 postgresql-8.3 texlive-base-bin trac

The following packages have unmet dependencies:
alpine: Depends: libldap2 (>= 2.1.17-1) but it is not installable
dovecot-common: Depends: libldap2 (>= 2.1.17-1) but it is not installable
Depends: libpq4 (>= 8.1.4) but it is not installable
libpq5: Depends: libldap2 (>= 2.1.17-1) but it is not installable
postgresql-8.3: Depends: libldap2 (>= 2.1.17-1) but it is not installable
texlive-base-bin: Depends: libpoppler0c2 (>= 0.4.2) but it is not installable
trac: Depends: python-genshi (>= 0.5) but it is not going to be installed
E: Broken packages

Unfortunately, where ever I went, I didn’t find a solution. [1] [2] [3]

The ‘recommended’ solution is: $ sudo apt-get -f install
This did not work for me, nor others.

Neither did: $ sudo apt-get dist-upgrade

At this point, I went on an apt-get remove and apt-get autoremove binge. This didn’t help either.

This got me into a horrible loop, where packages sysvinit-utils, sysvinit, and initscripts needed to be installed, but could not because:
Unpacking sysvinit-utils (from …/sysvinit-utils_2.86.ds1-47~bpo40+1_amd64.deb) …

dpkg: error processing /var/cache/apt/archives/sysvinit-utils_2.86.ds1-47~bpo40+1_amd64.deb (–unpack):
trying to overwrite `/usr/share/man/man1/mesg.1.gz’, which is also in package sysvutils

I even tried manually installing packages one at a time. Didn’t work. I was even so desperate as to move the file mesg.1.gz elsewhere. That didn’t work.

Then I tried the following and things got a little better:

$ sudo apt-get clean
$ sudo apt-get autoclean
$ sudo apt-get check
$ sudo apt-get purge
$ apt-get -f upgrade

But I now had a problem where packages, specifically alpine, depended on on libdlap2, and it was telling me that it couldn’t install it, so upgrading wasn’t possible.

I made the mistake of $ sudo apt-get remove alpine, which would not let me undo that mistake by reinstalling.

My hunt brought me to libldap2-dev, but while this installed, it didn’t help alpine’s dependencies.

Even with the super-duper do-everything command, nothing helped:

$ sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y

Then it dawned on me, perhaps some of the repositories that I added to /etc/apt/sources.list were giving conflicting dependencies. Luckily, I annotated heavily what I had ever added to this file.

There were only two things: Subversion, and Mono. Here they are. You want to comment out these lines:

## Subversion obtained from https://edge.launchpad.net/~clazzes.org/+archive
deb http://ppa.launchpad.net/clazzes.org/ubuntu hardy main
deb-src http://ppa.launchpad.net/clazzes.org/ubuntu hardy main

## Mono added by request of FogBugz installation
## http://www.fogcreek.com/FogBugz/docs/60/topics/setup/UnixGettingYourServerRead.html#deb
deb http://www.backports.org/debian etch-backports main contrib non-free

Then, I did a $ sudo apt-get updatee, followed by a $ sudo apt-get dist-upgrade, then a $ sudo apt-get dist-upgrade.

All of my problems were solved. No package dependency problems what-so-ever, and I was able to install alpine, and all the others, bringing me up to the latest and greatest.

Finally, I uncommented my sources.list file back to the way it was and tried the upgrade again. No errors. Everything was fine.

The solution was that something, and I don’t know which one, was causing conflicts. Reverting back to the virgin sources.list file state was enough to get Ubuntu happy to do the upgrades.

Unfortunately, since re-commenting the lines didn’t reintroduce the problem, I’m unable to tell you which repository caused the problem in the first place.


Bad Behavior has blocked 2523 access attempts in the last 7 days.