Author Archive

Getting Pulled Over

September 9th, 2010

You’re just cruisin along, thinking of your latest killer app idea, when lights start flashing behind you. After the initial burst of adrenaline pierces you to the core and shortens your breath, you briefly stop to consider the technology of the trailing officer’s light bar (rotating beacons or LEDs). But then you manage to pull yourself out of your internal dialog, which was going over LEDs superiority as a light-bar technology, given its better visibility, no moving parts, and more efficient energy usage. What do you do next?

The first part is relatively straightforward:

catch(RetardException e)
    Officer.Arrest(You);  /// Do not pass go, do not collect $200

The next part gets a little more complex:

float getTicket()
    float fine = officer.GetFine(you.Speed - context.SpeedLimit);

    while (officer.IsTalking)
        try {
            if (you.Gender == "Male")
            else if (You.Gender == "Female")
                /// ?

            if (officer.LetOffWithWarning(you))
                fine = 0;
        catch (UncooperativeException e)
            if (e.MyTaxesPayYourSalary == true)
                fine *= 2;
                fine *= 1.2;
    return fine;

The elusive black box that is the officer’s LetOffWithWarning() function (highlighted above) is probably of particular interest. It’s probably a combination of factors involving the mind set of the officer as well as your behavior and is probably worth much deeper research. The dramatic sobbing attempts (which, as seen above, only work if you’re a woman) are an attempt to incite a true return value for LetOffWithWarning. Everything else is pretty much targeted at keeping you out of jail.

A Coder's Guide to Life

Disc vs. Disk

August 29th, 2010

Today I was listening to “Say’s You,” which is a radio program I’m partial to. Yeah, a radio program…big whoop, wanna fight about it?

At any rate, their regular panel was being quizzed on computer terms, among which were “head crash,” “flashing your firmware,” “bricking,” and some others. Slaving most of my life away slaving in front of computer type machines, I was pretty familiar with all the terms, but one of the questions I didn’t know the answer to:

What is the difference between a disc and a disk?

Give up? Well, as it turns out, the term “disc” is used for optical media, including CDs, DVDs, LaserDiscs, etc., and “disk” is used for magnetic media. Who knew?


Trials in Mice

August 25th, 2010

Fifty years from now, I’ll wager that mice will outlive us as virtually indestructible beings thanks to numerous medical advances.

What’s that you say? Your pet mouse lost a leg and has brain cancer? Sure, we can fix that. Oh, and your other mouse is dead? We’ll just reanimate him. What? You have carpel tunnel syndrome? Sorry, not much we can do about that…


An Automagic Interweb Bromance and Other OED Noobs

August 20th, 2010

The OED has recently added some new words to the English language and I’d like to personally welcome them:

  • Interweb, you rightfully claim this spot at the top of the list. Soon I hope to welcome your brother “The Tubes.”
  • Defriend, in the unlikely event that I find myself overwhelmingly popular (really any degree of popular), you may be my savior.
  • Bromance, may you clear up emotional awkwardness with your one armed man hugs for years to come.
  • Automagically, you are so mysterious and delightful! Like “automatic” but with five times the showmanship.
  • Microblogging, netbook, paywall, tweetup… I think the rest of the techie buzzwords are in the back trying to chat up the angel investors.

Some of the new recruits seems like they were just late to the party…probably off pre-partying somewhere:

  • Hater, steampunk, overthink, buzzkill…I’m looking at you.
  • And turducken, I understand the need to be fashionably late, but the party really can’t start until you show up!

And then some words really kinda snuck in under a thinly veiled argument that they weren’t, in fact, phrases.

  • Chill pill, exit strategy, social media, and national treasure, even if you were words the only reason you’d be here is that you’ve been hanging outside the door for so long.
  • Wardrobe malfunction, you get a pass as you are the spice of life.
  • Soft skills, presumably you came from the void that a lack of hard skills leaves behind, and I can respect a word (i.e. phrase) that started from nothing and has made it this far. Lose the space and we’ll talk.
  • Cool hunter, the irony you bring is mind boggling. Anyone with any semblance of coolness would never use “cool hunter,” as that is undeniably lame. Go back to the 80’s where you might find a good gig as a Jean Claude Van Damme movie title.
  • Dictionary attack, you could be cool if you tried a little harder. At least find a hyphen.

Some other words this new generation have great utilitarian value, but are unfortunately configured, so I begrudgingly invite them in, like an annoying younger brother:

  • Staycation, as someone who thinks that organizing vacations is more work than…well…work, I am prone to enjoy going nowhere on my vacations. I just wish you didn’t convey that message with such a “high-school-blonde” vibe.
  • Frenemy, you also describe an otherwise nebulous concept quite concisely…but you also sound like the invention of those infernal tweens.
  • Cheeseball, you have the amazing talent of sounding both juvenile and like you belong in the 70’s.
  • Vuvuzela, you are annoying, but you play a good game of Scrabble. I guess you can come in, but try to keep it down.

A number of words came out of the settling dust of the latest economic collapse.

  • Bargainious, you are hard to say and a completely unnecessary “adjectivization” of bargain.
  • Deleveraging and overleveraged, just because leverage is so easy to get with doesn’t mean you should encourage that kind of behavior. I hope you at least used protection.
  • Toxic debt, again, that space means your not a word, but “toxic” is such a good word to roll with that I just might let you slide by. Quantitative easing, you on the other hand are neither a word nor cool. You remind me of difficult calculus. Go away.

And some of the noobs are just plain annoying…

  • Freemium, like staycation and frenemy, your rhyme scheme places you one level above puns, which leaves you on thin ice indeed. Don’t mistake witty repartee for desperately trying to be rebellious an individualistic. Leave that to the teenagers.
  • Fussbudget, the senior citizens home is down the road.
  • Catastrophizing, you can’t just put on a new hat and pretend you’re a new word. That’s just a ridiculousification of the process.
  • Matchy-matchy…just…no.

And for some words, well, I’m not really quite sure where they came from and how they got in:

  • Hikikomori, I believe Japanese is down the hall and to the left.
  • LBD, you are an acronym, not a word. Words need vowels. What so special about a little black dress anyway?

And finally:

  • Carbon capture and storage, I’m not even sure where to start. You aren’t a word…you even barely pass as a phrase. You’re damn near a whole sentence! Not only that, you aren’t in the least bit interesting. I don’t care if the OED is vouching for you…you killing my buzz. And I used to be such a nice guy.

Oh, before I forget, this was my first time meeting many of these words. For those of you who haven’t been introduced properly, here is the complete, uninterrupted list of new words and their definitions.


Public service announcement

August 15th, 2010

I overheard someone saying the “coupe de grass” recently. At the extreme risk of appearing scornfully arrogant, I thought I would offer up some clarification which, at the very least, would have benefitted me at times in the past:

  • Coup de gras == “coo-de-gra” && !”coupe-de-grass”
  • For all intents and purposes != “For all intensive purposes”
  • Dog eat dog world != “Doggy-dog world”
  • I couldn’t care less != “I could care less”
  • Peruse == To go over something in great detail.


Watch it…or don’t

June 1st, 2010


May 20th, 2010

I try to head on over to whenever time permits, having found it to be an invaluable resource in teaching by counterexample.  The articles, while sometimes painfully soul-crushing to read, can implant cautionary tales into the heads of developers who find they may be starting a journey down a WTF-y path.

But the articles at the The Daily WTF also highlight a problematic aspect of professional life: some how, some way, incompetent people work their way into key positions.  How they manage to get into these positions is not of key importance right now (although it would be good for a future post).  No, what I’m wondering, at the moment, is how to deal with incompetent people when you find you need to deal with them.

It’s a fairly complex question, I believe… lot’s of in’s… lot’s of out’s… some what have you’s.  There are psychological aspects to consider.  Do they inspire a dissonance within you that can only be described as mind-shattering?  There are issues of personal reputation and interpersonal dynamics at play, as well.  Do they incite a blind fury deep in your core at having to protect yourself from being associated with their sub-elemental understanding of their claimed expertise?  Are they, god forbid, in a position of power over you?

Perhaps there are productive ways to traverse these workplace hazards.

function encounterIncompetentPerson(event)
	self.patience -= self.senseOfMoralJustness * event.person.responsibility;

	if (self.patience < 0)
		// Murder, self-lobotomize... whatever gets them out of your memory.

Initially, the prescribe encounterIncompetentPerson() method was much less elegant, but I realized things pretty much boil down to ones sense of moral justice and the extent of his or her patience. So if you wish to avoid more drastic means of dealing with incompetence, you’ll either have to lower your sense of moral justice (and presumably your own integrity) or Jesus out your patience. Alternatively, you could try to reduce the responsibility of said person, but that’s whole other subroutine…


Employee Satisfaction

May 18th, 2010

A while back, I heard something on NPR.  Some study (I forget exactly where it came from) found that the three most important things behind employee satisfaction are, in order:

  1. Being proud of the work you are doing.
  2. Enjoying (or not hating, I suppose) the people you work with.
  3. Believing that upper management is doing the right thing.

Personally, I tend to agree with this—particularly with number 1.  I don’t know how big the initial data set was, but my subscription to the ideology is only based on a single bit of data—me.  So, by all means, give me your two cents.


Out of the bag

May 17th, 2010

How to program your way out of a paper bag:

function exitPaperBag()
    yourself.location = "outside the paper bag";

Obviously this is not the only way to do this–every language has it’s own paradigms to contend with.

A Coder's Guide to Life

Who are you?

May 12th, 2010

Who, who…who, who? I really wanna know…

Initially, this was going to be a post introducing myself.  If you’ve made it this far, you’re probably entitled to some kind of explanation.  I just have to refer you to my about page, which I will have hopefully created by the someone clicks that.  I guess the important things to know about me are:

  1. I am a “Silicon Valley” software engineer…a web developer, primarily.
  2. I have special interests in natural language processing, data visualization, and the seemingly requisite AI and computer graphics.
  3. I tend to enjoy “turning a phrase” or employing an esoteric word here and there, which is often interpreted as arrogant, though certainly not meant that way…  And I also ramble.

But this isn’t about me, it’s about you…oh gaping void that is my audience.  What is your job title?  What would you actually call yourself (on a business card)?

Rhetorical Question?