Sunday, May 30, 2010

Input vs. output accounting

I don't like to write about an aphorism for which I can't cite the source. But I was a baaaaad (recovering) English major and didn't make a note of it at the time. It ran something like, "Measure outputs and you won't need to bother with timesheets." Which, I'll admit, seemed like a good idea at the time--perhaps for no better reason than I read it on Thursday or Friday, when the chore of the timesheet loomed.

There's definitely merit to that sentiment, except that it ignores measuring inputs as well. You know, the whole "bricks without straw" business. I didn't realize that until Dennis & I checked in on the two beehives this afternoon. One hive is going absolutely gangbusters; the other's progress is more modest.

Both hives were started from packages of equal size. Both were given roughly the same amount of existing comb (as opposed to starter foundation). Both had approximately the same amount of food to help them through the fickle month of April. Neither is collecting parasitic mites on its sticky-paper. Both Queens--bless their little ovipositors--are laying eggs wherever they can find room.

By all rights, if beekeeping were a reality TV show, the second hive would be fired or voted out of the apiary or snarkily ripped a new one by a celebrity judge. Or something.

The catch is that one hive is more shaded than the other, particularly now that the red clover & other ground-cover around the cornfield are pushing two feet and the trees of the woods to their backs are in full foliage. In the cooler parts of the year, bee-power expended on keeping the hive--particularly the brood--at liveable temperatures is energy that can't be used for building comb, scouting, foraging, or other productive activities.

The difference in location is something that an experienced/informed beekeeper will doubtless take into account & do what s/he can to tweak the environment. But an inexperienced beekeeper might not recognize the solar heating factor as an "input," because that's not something that s/he deliberately added or has a receipt for. In accounting terms, sunlight doesn't show up in the "operating costs" ledger, so it, in a sense, doesn't exist.

Translating from six-legged workers to their two-legged equivalents, an inexperienced or ill-trained manager could quickly do a lot of damage by blindly following the "measure outputs, not timesheets) mantra. Not accounting for all inputs--particularly if based on the corporate balance-sheets--could theoretically lead to perfectly sound employees being sacked for reasons beyond their control, while less ambitious (though more fortunately-situated) ones are retained during lean times.

Think about the person who always seems to know what's actually going down in the office, plant, etc. and has saved you from being blind-sided by politics. Or the front-office denizen you hit up when you need to know who the heck knows the answer to your question. The person whose job description should be "Minster of Other Duties as Required." The person in customer support who's been around long enough to answer questions about products that--officially, at least--they are no longer supposed to support.

You and I both know how important those folks are. But firing or penalizing them for "less" output does serious damage to the organization as a whole. That will show up on the bottom line, except that there will be no account to which the loss can be charged. And, thus, the root problem will likely not be addressed--at least not by the paint-by-numbers management.

In other words, if inputs are not as accurately and rigorously measured as outputs, the wheels start to fall off the concept of replacing timesheets with units of output. At best, the organization will create a monoculture of folks who won't do anything outside their job descriptions. At worst, the resulting organizational friction will clobber profits, and possibly drive away customers as well.

But, then, I suppose that basing management off a single aphorism you found on the internet is just begging for trouble.

Saturday, May 29, 2010

Mapping the world makes it flatter

(No, not because three dimensions have to be translated into two, either.)

Backstory: Dennis & I are scoping out the kind of vacation that doesn't have a "base camp" for the duration. It's more like a series of bivouac points. But we're talking the kind of places that have a single stop-light. Places that, fifteen years and more ago, would have rated a sentence in a tourism brochure. Maybe. The result was a world that pimped gimmicks in lieu of embracing quirkiness.

Welcome to the world of Google Maps and Google Street View. Of community websites and Wikipedia. Of travel blogs and TripAdvisor. In short, welcome to a world where marketing budgets and brochure space limitations just don't matter. Where the would-be visitor can (and should) use their fingers for query-typing and mouse-clicking in lieu of crossing them for luck when they roll the bones with their vacation budget.

And, while I detest the Flat-Earther mentality all the way down to my toenails, I'm down with living in a world flattened by information.

Friday, May 28, 2010

Frivolous Friday, 05.28.2010: Software superpowers

A bug report from the new QA person came back with four issues. One was a simple misunderstanding of what was supposed to be promoted up the server food chain. One was a matter of a file not being promoted. The other two I couldn't reproduce for the life of me, not even when replicating the login. So I clarified the one, fixed the other, and asked the new person to clear the browser cache & give it another whirl. Failing that, he was of course welcome to invite me over to watch him re-create the issue.

In the name of fairness, I did warn him about my on-again-off-again superpower, which is the ability to make bugs disappear by the simple expedient of standing in close proximity to the miscreant software. (I'm fairly certain that it's a holdover from doing application/desktop support where the gremlin would skip town before I was out of my chair, down the stairs and standing next to its victim.) As superpowers go, it'd be infinitely better if it were more reliable. If it worked remotely, it'd be completely awesome.

It's a given in the comic book world that superheroes aren't given a choice about which power they have. In the end, it all boils down to genetic or circumstantial crap-shoot: Jor-El deliberately chooses Earth for his son (Superman); Spiderman is bitten by a radioactive arachnid; Mr. Incredible & Elastigirl are just begging for trouble when they mix-n-match zygotes.

But if we lived in a world where one was allowed to choose superpowers, I can think of a few I'd take before the one I've been given. Of course, the obvious ones are invisibility (particularly at review-time), time-travel, a Tardis-cubicle, Jedi mind-tricks ("This isn't the design you're looking for. I can go about my business.") & the like. But here's a taste of the more obscure ones I have in mind:
  • Google-fu. Better yet, through Blackle. Then I could call myself a Blackle-belt. [rim shot]. Think about Bruce Lee, David Carradine, Jackie Chan, Chow Yun-Fat--you name it. What I'm talkin' about is the chick/dude who trained them. You know, the one who gets to call everybody "grasshopper." That level of Google-fu would make my life soooo much easier.
  • DLL/EXE/BIN X-ray vision. See, management is prone--albeit not always terminally--to thinking "If we can buy or download this software, we don't have to invest any developer time." In reality, that can be light-eons from the truth. To contextualize: Imagine your parents arranging your marriage to someone you've never met & whose family you've never even heard of. Someone who doesn't vocalize their feelings all too well. That's what the experience feels like. In such scenarios, you barter time & emotional scars for precious insight. As always, "free" has a price-tag. It would be considerably cheaper if I could peek into the clockwork of third-party software.
  • Priority-prognositication. Maybe this wouldn't be so much a super-power as a Q-caliber gadget. My mental image of an organization's priorities isn't far from a Galileo thermometer. Substituting priorities for temperatures would save untold effort, time, annoyance and office karma.
  • Intelligent Data-schlepping. Ideally, this would involve having retractable USB jacks under your fingernails. One jack is plugged into the source computer, the other into the destination. The brain cherry-picks which data actually flows between source and destination with 100% accuracy. In Star Trek terms, this would be a katra-transfer that allows you to filter out the all the annoying personality quirks. As much time as the hoop-jumping of SVN merges & SQLExaminer siphons from every single week, this is a superpower I can totally get behind.
  • Meeting-doppelganger. Maybe not a superpower so much as a creature from folklore (or D&D--your call). Except that the doppelganger transfers its synopsis of the meeting into your brain and its (copious) meeting notes to your workstation before disappearing into whatever dimension it occupies between meetings. Oh, and during the meeting, it knows which questions you'd want to ask. Who couldn't use that, I ask you?
  • Error-message Zen. There is actually a decoder ring for error-messages. It's called "the internet." What I mean is the ability to decode the actual error...not what the software in question is complaining about. As with people, these can be two completely different--yea, even diametrically opposed--things. I think that the usefulness of such a superpower pretty much speaks for itself.
I suppose that the solitary upside of not being a superhero at the superpower buffet is that I don't have to make the choice. That's not to say, though, that I wouldn't put up with an evil nemesis (or two) for the chance.

Thursday, May 27, 2010

Commando-cleaning casualty

Ever been in such a rush to clean the apartment/house/dorm up that you were too effective in getting stuff out from underfoot--meaning that you couldn't find anything you needed later? How many times did you go to the usual place to find something in particular before you broke down and went on closet-safari until you found it?

The sad thing is, this can happen in programming as well. In the process of cleaning completely extraneous/pointless variables from a web page (and herding most of the variable declarations into one place b/c they were sprinkled ad-hoc throughout the page), I accidentally made a function variable global. A recursive function variable, no less. Whoops. (If you have no idea what that means, suffice it to say that the web page basically freaked out for no apparent reason.)

Problem was, during debugging I utterly missed the fact that the (misplaced) variable declaration had moved, simply because I was so darned used to seeing it in its rightful location. By all rights, the (figurative) head-banging and ultimate forehead-slap should have registered on the Richter Scale.

All of which demonstrates that the line between maintaining good (code) hygiene and commando-cleaning can sometimes be only a few pixels wide. Just like in regular life.

Wednesday, May 26, 2010

Aggregation vs. validation

I'm glad that that I've been seeing the sentiment "You're entitled to your own opinions, but not your own facts" cropping up in my online wanderings lately. Mainly because it's a tiny glimmer of hope that folks might be developing a (justifiable) intolerance for a world where the ephemeral fads of celebrities trump years--if not decades--of peer-reviewed science. It can't come too soon, as mainstream news-reporting and, to a degree, political leadership seems, in an alarming number of cases, to be abdicating responsibility to crowd-sourcing.

Apart from the obvious consideration that crowds (in the flesh or online) are notoriously fickle and prone to stampeding in the direction dictated by the loudest--and too often least reasonable--voice, there's no room for nuance. Because, for all the talk of a semantic web, it's just that--talk. Even controlling for sock-puppets, trolls, comment-spam, respondent self-selection, etc., no software in the world can detect sarcasm, irony or satire. Let's face it, there are too many times that political/social reality and The Onion have been virtually indistinguishable.

The bottom line is to never mistake aggregation--collecting information--for validation--verifying that the data back it up.

Tuesday, May 25, 2010

It's code ownership when...

...you're the one checking the website after 10pm to verify that the database upgrade didn't break anything. Because the client has your personal cellphone number in the event it did.

I'm not saying that I don't believe (strongly!) in project cross-pollination. But ultimately, anyone with minimum training can read tombstones; knowing where all the bodies are actually buried...that's another story. So the 10pm touchstone makes for a solid reality-check amid all the theory about team dynamics and leadership and methodology and such.

(It's 10 o'clock: Do you know where your developers are?)

Monday, May 24, 2010

User-herding

The software I'm fighting tonight gives no reason for the error messages it's generating...or, rather, the real reason for the errors. What it says is wrong and what's actually wrong are two different things, which I can confirm both via the web interface and the database.

Unfortunately, consulting such "Help" as there is has long since been an exercise in learned helplessness. So far as I and the algorithmic alchemy of Google know, my version's Help was taken offline, to be replaced by the Help of the newest version. Never mind that the user interface has been extensively overhauled in the interim.

Yes, I realize that sooner or later it makes less than no sense to support versions that might not survive evolutions in platform. Or that really crufty code could leave the user (and, to a certain extent the developer) vulnerable to viruses or other malfeasance. But abandoning users one version back? Who might have darned good reasons for not living on the bleeding edge?

To me, that's mind-blowing. Partly from the standpoint of, well, it's just rude, but also because there is absolutely no gain from doing that. I mean, it's not like older Help files have to be put out to pasture with their very own domain and hosting. The space they take in the existing hosting environment should be negligible. (In fact, if user forums are the main source of support, you can pretty much bet on losing more space to the questions than the answers will ever require.) Moreover, no one expects the old files to be updated once the new version is crowned, so it's not like precious time would be siphoned off for keeping the manual springtime-fresh.

But in the meantime, legacy users--you know, the ones who cost you less to please than potential users--have been informed in no uncertain terms that they will ride with the vanguard or be left for the bandits and wolves to pick off. Now, I don't like to use the "herd" meme, because it implies slow-moving, slower-witted livestock. But the makers of the software I'm working with apparently don't even that high of an opinion of their users. And I fervently hope that they don't actually believe that they're not encouraging any evolution in their customer-base.

Sunday, May 23, 2010

A twist in the software-as-a-service business model

Because one of my extracurricular projects depends on the software, I've had to follow the progression of an open-source package which shall remain unnamed. The package is a set of code that can--with a few tactical edits to a configuration file and some minor knowledge of how hosted databases work--be installed on nearly any rent-a-domain website in the world.

Until recently (in my project's history, at any rate), the developers have been relying on donations to defray the costs of improving the package and making it available to the world. But apparently they've decided to also "eat their own dog-food" (so to speak) by also providing it as a service-for-fee. In other words, they will, for a price, take care of the set-up and maintenance for you.

Not a bad idea, in principle. You can write your own web software and host it for the price of your time plus less than $100 a year, which is a tasty-sounding business model. If you can charge your customers more than the cost of signing them, it's profitable. On the surface, this beats the stuffing out of worrying about folks pirating your handiwork.

But there's one big difference between selling software off the shelf and hosting it. That difference is that the needs & quirks of each customer will pull the software in a different direction. If each customer pays the same price for hosting, then they're all created equal--maybe the pushes will cancel out the pulls and so forth.

But the minute that one customer (by size, reputation, etc.) become more equal than others, the whole game changes. That's a contigency that should be written into the business-model from the get-go. Because as difficult as it is to make complexity simple in software terms, doing the same in business terms is, in my experience at least, much more difficult.

Saturday, May 22, 2010

An unfashionable view of higher education

The big news from the House of FiveChimera is that Dennis will be teaching an introductory programming course this fall at WTC. (Naturally, I'm quite proud that he was asked, and maybe slightly envious--Java being my favorite language and all.) Quite coincidentally, today is the twentieth anniversary of my graduation from college, which has prompted an inventory-taking of sorts, tallying what I actually gained from five years and thousands of dollars. It's a different inventory than I would have made at the ten-year mark, and--perhaps counter-intuitively--the balance has improved.

I realize that it's fashionable to diss higher education, regardless of whether or not you have a fancy bit of paper with your name on it. But I think that this attitude makes the mistake of confusing process with content. Content--i.e. what you paid to have folks try to teach you--is a depreciating asset, particularly in the sciences. Computer Science majors, for instance, expect the technical content to be obsolete in a depressingly short time. So, to a greater or lesser degree, content is simply not the point.

What's important is that you made a commitment, ultimately to yourself, of four+ years. You had to learn the discipline (and risk) involved in making trade-offs, deciding which information you only had to chew on for a fixed amount of time and which should actually be digested. You probably learned when to skim and when to read closely (i.e. distinguishing between signal and noise). You perhaps developed a sense of whom to ask when available information was either scarce or super-abundant. You learned which authority figures actually wanted you to expand yourself, and which enforced conformity. If you had time for extracurricular activities, you might have picked up tricks in interpersonal politics that you didn't master in high school.

And, when it was all said and done, you showed up. Given the choice, most folks would much rather fritter away time at the bar, in front of the tube, playing video-games, what-have-you. And too many of them will, even when they know better. So never, EVER, underestimate the differentiating power of just showing the heck up.

None of these things was taught in any single class. It was the unofficial curriculum for every single program. So it saddens me how much permission society gives to scoff at that on the grounds that the paint-by-numbers exercise merely turns out corporate drones. Exemplified by "Bill Gates never graduated from college!" Which, by the bye, conveniently glosses over the fact that Mr. & Mrs. William Gates Sr. sent their kid to Harvard...and doesn't speculate on whether Bill Jr. might have (belatedly) matriculated, had Microsoft flamed out like so many software companies in the Wild West atmosphere of the early PC era.

Did college teach me everything I needed to know? Heck, no. At least a few of the most important lessons had to be pounded into my stubborn skull by no less than Life itself. But I take full credit for that. Extrinsic motivation will never take the place of intrinsic motivation--that's a given. But as with any intensive training, formal education tends to make the process a programmed response. In this case, the process is acquiring and contextualizing a specialized set of information. Given the rate of turnover in knowledge (a rate that we can fully expect to accelerate in future decades), that's certainly nothing to sneer at.

- - - - -

Oh, and while we're on the subject of education in general, can we pretty-please-with-chocolate-sauce-on-top just lose the "...Those who can't, teach" nonsense? George Bernard Shaw never taught a class in his life. How much do you relish the thought of giving a presentation for an audience? Okay, now do it five days a week, for multiple audiences every day. Probably not your idea of a cushy job, am I right? Certainly not for me. And I used to do public speaking for fun. It's even less fun when you have to create your own lesson plans, remembering that not everyone learns the same way and you have to cover a number of bases to make sure no one's left behind. "Can't," my eye. Try it sometime.

Friday, May 21, 2010

Frivolous Friday, 05.21.2010: "What if?" history...or maybe not so much...

I successfully beat back the temptation to upgrade my pay-as-you go El Cheapo cellphone to a Blackberry, despite the siren-song of GPS and other amenities--namely web/email connectivity that isn't absolutely cheesy.

In a word, convergence. Which only highlights how quickly having both capabilities available in tandem, virtually anywhere in the industrialized world, has become the norm. Yet, convergence sort of implies parallel development...and a certain inevitability besides. But computers, in one form or another, have existed for far, far longer than telephones. Which prompts the thought experiment of "What would have happened if it had been the other way around?"

The short-and-silly answer is that tech. support calls wouldn't have changed much at all. For instance, let's roll back to...

Stonehenge (circa 2500 BCE)

Tech: Acme Megalith Customer Service. How may I rock your world?
Customer: Cute. Look, we've got a problem here. Tomorrow's the Solstice, and I don't think that the heelstone's working right.
Tech: Which model do you have?
Customer: Okay, so we upgraded from Bluestone to the Sarsen edition, and let me tell you, it's been nothing but trouble--
Tech: Have you rebooted since the upgrade?
Customer: What's a "reboot"?
Tech: Well, you need to let the calendar year cycle and use the bluestone to validate the solar and lunar cycles before cutting over to the sarcens. That's on Page 1 of the manual.
Customer: Look. Dude. I don't have time for that. Like I said, the Solstice Festival is tomorrow. This thing cost us a chieftain's ransom: It should just work, okay? Screw your reboot.
Tech: Did you do the upgrade yourself, or did someone else do it?
Customer: Umm, contractors. War captives, mostly.
Tech: [curses under breath] Sir, I'm sorry to inform you that you have more than likely voided your warranty by not using an authorized service contractor for installation.
Customer: Are you kidding me? Do you realize this is the freakin' Solstice Festival, for cryin' in your mead? Great Mother, I've got three Arch-Druidesses breathing down my neck!
Tech: I'm sorry, sir. If you'd like, I can recommend several local authorized technicians who could inspect your Acme Megalith(TM) installation and recommend various recalibration options...
Customer: [hangs up]

And, lest my gentle reader think the Stone Age too primitive, let us fast-forward to...

Rome, (after 100 BCE)

Gaius: Ave. Gaius dicit.
Demitrios: Hey.
Gaius: Demetrios! 'sup, amice mee?
Demitrios: Yeah, so I think I scored the 3G Antikythera device for the boss, but I'm only like 90% positive it's legit. Can you help me out here? There's some serious denari riding on this.
Gaius: Dude! That's not supposed to be out until next calends! Can I scoot over and take a look at it?
Demitrios: Ummm...that might be...problematic. I'm a little ex urbe right now, y'know? This was kind of a big deal.
Gaius: [sighs]
Demitrios: What?
Gaius: Nothing...nothing. We'll do this remotely, then.
Demitrios: So, like, it's metal and has all these chariot-wheel-looking things. With teeth and stuff.
Gaius: [stifling sigh] Right. So far, so good. Where are the date hand, the Sun hand and the Moon hand set right now?
Demitrios: [pause] Which ones are those?
Gaius: Should be right in the front.
Demitrios: Right. Yeah. They're there. [another pause]
Gaius: So...where are they set?
Demitrios: [yet another pause] I'm not sure. Okay, there are these zodiac things on it. Oh, hey, there's Mars. And Venus, too! Speaking of Venus, if you're ever in Aigila, I know this place--
Gaius: Yeah, sounds great. Just...how many gears--I mean things with teeth--does it have?
Demitrios: A lot. Hang on--lemme count. [still another pause] A lot.
Gaius: You know what? I think you've got the real deal there. I say bring it on home.
Demitrios: Kewl. Thanks a lot, man. Tell you what--I'll swing by when I'm back in town & show you, 'k?
Gaius: Sounds like a plan. See ya in a few weeks.

Or, even the much-neglected "Industrial Revolution" of Europe's Middle Ages...

Paris, France (mid-14th century)

Automated Answering: Thank you for calling Acme Astrolabe. Your call is important to us. Please listen carefully to the following options, as they may have changed. For Sales, press I. To speak to a Customer Service Representative, press II. To report a lost or stolen astrolabe, please press III. For all other calls, we'd invite you to press zero, but that hasn't been invented yet. Unless, of course, you're a filthy Saracen, in which case, bugger off.
Customer: [Presses II]
[On-hold madrigals]
Automated Answering: Your call is important to us. All available representatives are currently assisting other customers. Please continue to hold.
[On-hold Gregorian chants]
Tech: Thank you for calling Acme Astrolabe. How may I move Heaven and Earth to assist you?
Customer: Hi. This isn't a big deal, really: I think I just need the Latin manual for this astrolabe I have.
Tech: Milady? I'm not sure I understand.
Customer: I think I have a Greek astrolabe. I just need the Latin instructions--that's all.
Tech: If Her Ladyship doesn't mind me asking, what makes her think that it's a Greek astrolabe? I mean, yeah, we do make those. But they haven't been in use for...well...a while.
Customer: Oh, I'm pretty sure it's Greek. Because the numbers on it are all funny. Not I, II, III, IV, V: You know, all normal and stuff.
Tech: Would Her Ladyship mind telling me how she came by this astrolabe?
Customer: Oh, yes: It was part of my late second husband's estate.
Tech: Does Milady have any idea when her husband--rest his soul--might have purchased it?
Customer: Oh, he didn't. It was part of his legacy from his father.
Tech: [reaches for manuals, stifling sigh] Then might she have an idea of how her late husband's father--rest both their souls--would have purchased it?
Customer: Not exactly. We think that his great-great-great grandfather brought it back from The Crusades. Meaning, of course, the great-great-great-grandfather of my late husband's father. That means that it was Greek.
Tech: Milady's knowledge of history is impressive, certainly. Would she be able to describe some of the inscriptions for me?
Customer: Well, it starts out mostly okay. The "I" has this funny little spur that comes off the top, but, then, it's Greek, right? But where the "II" is, that looks like a sideways pot-hook resting on a horizontal bar. And the "III," well, that's...well, totally foreign. And it just gets worse from there.
Tech: [pause]
Customer: Hello?
Tech: I do apologize, Milady...I'm looking through my manuscripts, but I'm not seeing what you're describing...would Her Ladyship very much mind holding again while I talk to one of my colleagues?
Customer: I can hold.
[On-hold medley of schwamm and sackbutt "Greatest Hits"]
Tech: Still there?
Customer: Yes.
Tech: Milady, again, please let me apologize. But from what Your Ladyship has described, it is an Arabic--meaning Saracen--astrolabe, which we didn't manufacture.
Customer: That's impossible! My second husband's father's great-great-great grandfather was the standard-bearer for Guy de Lusignan himself! That's as Greek as it gets!
Tech: If Milady would care to send the astrolabe to us, our technicians would be more than able to authenticate--
Customer: [hangs up]


Now, don't get me wrong: It's not like I think that civilization hasn't actually progressed, y'understand. That being said, certain...errrmm...constants...aren't difficult to project. Even centuries & millenia back in time.

Thursday, May 20, 2010

Trust can be stolen as well as betrayed

First off, I wasn't planning to harp on this theme again. (Second off, apologies to @OrangeComputer for re-hashing something we chatted about before tonight's Linux User's Group meeting.) But this popped into the Twitter feed even before I logged in: Facebook caught sharing private data with advertisers.

Obviously, there's a lot of hardware and software magic that makes the internet work in 2010. On the human level, however, it only boils down to two factors:

1.) Filtering out the noise to focus on the signal(s) most important to us. That's what made Google's Page & Brin the bazillionaires they are today. Not trying to monetize an increasingly cluttered (and often obviously bought-and-paid-for) search "portal" like everyone else tried.

2.) Trust. The reason you don't buy anything from a URL that doesn't start with "https://." The reason you'll think about paying more to a brand-name retailer than an EBay/Craigslist scalper. And, quite possibly, the reason you signed on to various social media venues such as Twitter, LinkedIn, MySpace...and even Facebook.

Assuming you're not just collecting followers, of course. But if the leverage for you creating the account was the fact that peeps you know are there, then the site is guilty of trust-skimming. In other words, the social media site was, however passively, your trust in your friends to make you feel comfortable with giving it the ability to eavesdrop on your chatter, to catalog your interests, to monitor your activities. Heck, I remember my first invitation to LinkedIn starting with a sentence like, "Because I trust you, I'm inviting you to join..."

No matter how zealously the social site guards your privacy, the technique's at least a wee bit slimy. In the long run, though, Facebook may be doing the online world a favor by showing us the truly nasty end of the sliminess spectrum. I just hope that a healthy percentage of its users take that to heart before Web 3.0 plugs us all into Zuckerberg's Matrix.

Wednesday, May 19, 2010

Welcome to our world, Windows.

If you want to develop software for the Android (think Nexus, Droid Incredible, and a slew of tablets hitting--or aiming for--the market), the default development environment is the open-source Eclipse product. I've used it; there's nothing wrong with it. I just have an ever-so-slight preference for the underdog NetBeans product (also open-source).

Officially, Google--Android's creator/patron--only supports Eclipse, but the NetBeans "hack" isn't terribly complicated...at least if you don't make my mistake and assume that NetBeans' Android plugin doesn't auto-magically install the Android SDK when it installs itself. And you make sure NetBeans isn't running when you do figure that out. I flunked both. When I figured out the first, I couldn't set up Android as a "Platform" in NetBeans, which led me to question whether I'd actually installed anything in the first place.

So I bee-bopped on over to the "official" Android page. And even after clicking the one and only "Installing Android"-flavored link in the side bar, had to re-trace my steps to be certain that I wasn't seeing things. Sure, the first platform download in the list of links was Windows. But the installation instruction screenshots were all from a Mac. Rather less significantly, the NetBeans plugin installation instruction screenshots were all from Ubuntu Linux. No having to make mental substitutions for folder paths--particularly swapping n "/" for "\". Which most definitely is something you wouldn't have seen even five years ago.

Now, obviously, two websites--even one owned by Google--do not make for a statistically valid example. For that reason alone, I wouldn't dream of calling Windows the Third World of operating systems. (There are any number of other reasons, including the fact that I dislike using the term "Third World" for most purposes.) But between the web and smartphones, the days of near-unilateral operating system hegemony are clearly over, quite probably for good.

Tuesday, May 18, 2010

The code pusher

I never like telling "my" favorite client that an extra bell or whistle will involve extra fee. But they're asking for a brand new report, which isn't something I can sneak into normal maintenance.

To determine whether I have a handle on what info. they're looking to track (should the new report be authorized), I wrote a simple SQL query to dump the data from the database into an Excel file. As I emailed the test spreadsheet to my contact, I couldn't help but think, "They say the first hit's always free..."

Blech.

Monday, May 17, 2010

We interrupt your regulary-scheduled blog post for the following rant...

Let's get this out of the way up right up front: I am not, not NOT defending (much less condoning) the two-bit carnival shell game that Mark Zuckerberg & his Facebook goons have been running with their terms and conditions. It's sleazy--period.

But, then, Facebook has always has had a slightly skanky ambience. When I joined in late 2008, the sidebar was carpet-bombed with ads for akai berry and "Sorority Life" and what-not. Only the ads have changed, but FB's explosive growth (presumably matched by revenue) has certainly not brought any "gentrification" in tone.

In a nutshell, it's like that bar. The one where you actually prefer to step on the peanut shells because it allows you to ignore the tackiness of the floor. The one where you developed your reputation as Captain Iron Bladder--because your own bathroom, even on a bad week, is operating-room clean in comparison. But you and your friends from Back In The Day were too poor for tonier venues, so there's a sort of coming-home feel to it that absolves you of having to be higher-rent during the week. Plus, you can bring your newer friends there because the cheese curds are still as legendary as days of yore. Your only concession to adulthood is to shower off the skeeviness, no matter how late it is when you get home.

That kind of place. Yes, maybe it's like Cheers in that "everybody knows your name," but expecting anyone--particularly the proprietors--to watch your back or make sure you don't go home with the wrong person is, quite brutally, a double shot of infantilism with a self-absorption chaser.

With zero exaggeration, it flat-out Blows My Mind that anyone, after fifteen-plus years of mainstream internet usage, expects privacy when they link their real-world and online selves. But, as the relative intangibility of online interaction vs. face-to-face human contact (still!) seems to be a stumbling block, I'll share my secret formula for not sabotaging your career and/or real-world friendships via Facebook:

Step 1: Be born to the sixth of seven children from a tight-knit family started right before the Great Depression and capped a couple years after WWII.

Step 2: Friend up one of your first cousins. Specifically, one who used to babysit you while the 'rents spent their Date Night playing Bingo at the Eagles Club. Bonus points if you were the flower-girl in said cousin's wedding.

Step 3: Wait a couple weeks (or less) until your other cousins (who also baby-sat you at some point and thus had to Set An Example for you) and your second cousins (for whom you baby-sat and likewise provided an example) figure out that you're on Facebook and friend you up, too.

Step 4: Do not run afoul of Dunbar's Law. I don't care how wild-looking their avatars are, they are people, not badges. There is no prize for "friending up" more people than anyone else...not unless you're going for the gold in the Wanker Olympics. By all of which I mean: Do not divide your shouting into the void by the number of people privy to it. The internet can easily amplify as much as it dilutes.

As a formula, it's served me well so far. Yes, I've experienced a bit of of "Wow, you really haven't grown up much since 19--, now have you?" Or, "You keep using that word. I do not think you know what it means." But that's to be expected. And the simple act of blocking those folks' post from your feed basically amounts to embalming fluid for nostalgia: I can't recommend it highly enough. And, in fairness, I also had the highly instructive benefit of a certain lack of...err...discretion by friends who realized too late how public their preferences and pursuits actually were.

But. I cannot, for the life of me, grok why anyone over the age of five cannot get this through their skull: Online life gives you the same hard choice as the real deal. You can fit in and get along and get the gold sticker by your name for playing well with others. Or you can be yourself. There is a cost either way. Which of those two prices turns out to be the most exorbitant...well, that's up to you and your value system. I wouldn't presume to pass judgement on either choice.

Yet what I cannot and will not sympathize with is people who expect to turn their private information over to a purely online company and expect that company to guard it like the Crown Jewels. Nuh-uh. Not in 2000, And certainly not in 2010.

Again, I'm (emphatically) not "blaming the victim." But I am thoroughly sick of the blogosphere's hyperventilating and the naifish expectation of privacy from any company that can make bank pimping your info. to someone else.

Sunday, May 16, 2010

Only unskilled management hires unskilled labor

Prepping a bottle for use in home-winemaking isn't exactly cutting-edge in terms of technology or process. There's warm running water for the initial rinse, which removes dust that you don't want in the cool-water iodaphor bath that sterilizes the glass immediately before bottling/corking.

About the only thing these two basic steps have in common is emptying the bottle of risewater/solution. For me, the routine makes for thinking-time, but Dennis bores more readily than I. That, and he once upon a time earned his crust as a manufacturing engineer for a bottling/packaging equipment firm. Which is probably why it was he who discovered that swirling the contents during draining creates a gravity-enhanced vortex that empties the bottle much more quickly than simply up-ending it over the sink.

To me, finding process improvement in such a "lowly" job as washing bottles merely reinforces the notion that there truly is no such thing as "unskilled" labor. And that excellence in execution can and should exist at all organizational levels. Yes, at some growth milestone, it makes great gobs of sense to hire someone else to do the things that take your time away from the sweet-spot of your own productivity. But choosing a person who's as uninterested in--or mediocre at--those things as you might be cheats all parties involved. That's something I've never understood, despite having seen it all too often in years past.

Saturday, May 15, 2010

Product documentation #fail

Not quite eligible for the Rogues' Gallery, this, but a fully-qualified #fail all the same.

The backstory is that Dennis bought a live-trap for the loitering bunny that mowed down the coral bells he planted out front (where the cats are not allowed). The manufacturer (Havaheart), provides five and a half pages of tri-lingual documentation. Packed inside the trap. Which ships in the "closed" position.

Maybe they just want to make sure you're smarter than whatever you've set out to catch? Which might not be a bad thing from a product liability standpoint, but... [scratches head]

Friday, May 14, 2010

Frivolous Friday, 05.14.2010: A leadership book I could get behind

Stephen Chow's Shaolin Soccer from 2001 popped up in the NetFlix queue for this week's Date Night. Surreal fare, but pure escapist fun (with the romantic streak and sin-and-redemption schtick I'm such an unabashed sucker for). Check your brain at the door, but squirrel your sense of justice into your deepest pocket.

Thankfully, Hong Kong cinema isn't likely to infect the weltanshauung of folks who long for an A-list B-school pedigree dating back to Andover. I say "thankfully," because otherwise Shaolin Soccer would be fodder for a business leadership book faster than you can say "roundhouse kick." Because, when you think about it, all the elements are there:

  1. The tension between raw talent of the team-members (represented by Sing and his Shaolin "brothers") and hard experience (represented by Coach Fung)
  2. The Shining Goal, which has more to do with a shot at capital-R Redemption more than it does with making a living at the chosen craft
  3. The obligatory "Big Bad," represented by Coach Hung and his fancy-schmancy (and illegally doped) team
  4. The gelling of the team, dually represented by Team Gangster's crossing the line from enemy to teammates...and Mui's last-minute acceptance as a teammate ("I can do this. Trust me.")

For as much as I'm jesting, the sad thing is that, had Shaolin Soccer been a Titantic-scale blockbuster, such a book would have been written. Although, if it had, it might have been unconventional in one sense. Namely, the point when "Mighty Steel Leg" Sing provides concrete examples to support his Kung Fu evangelism to the then-skeptical Fung. He points to the lovely woman who could have caught herself after slipping on the banana peel, the driver who could have saved the hassle of parallel parking by shoving his car against the curb, and the tree-trimmer who could have saved his job by using a sword in lieu of trimmers. And also when Hung, in his turn, demonstrates to his team that learning to play by the rules is only half the game when the other team does not.

More sadly, it's this rag-tag-to-riches blueprint (so often telescoped in movies) that is so notably scarce in the lore of business-building. Because where the fist hits the wooden dummy, most of us are (shockingly) not running GE or IBM or--and it pains me to say this--Avis...or even Mackay Envelope. And, yes, it's all well and good to know to fire a Vice President without undermining the morale of her/his underlings. But the fact is that there's a just a weeeeee bit of a gap between corner-office kung-fu and the street-fighting that serves the Chief Cooks and Bottlewashers of this world. And, so far as I can tell, publishers don't want to commit a whole lot of paper and ink into bridging those states.

- - - - -

Just passing on a (possible) inside joke that I only now twigged into: Mr. Chow, at least according to his IMDB biography, is (surprise!) a huge Bruce Lee fan. Mr. Lee popularized the Wing Chun ("eternal springtime") style of Kung Fu. According to legend, Wing Chun was a young woman who escaped her engagement to an unwanted suitor by besting him in the martial arts. Her trainer was a (refugee) Shaolin adept named Ng Mui--"Mui" being the name of Sing's love interest...and fellow Kung Fu master. Coincidence? Quite possibly. But I laughed out loud anyway.

Thursday, May 13, 2010

Sharing a sparkle found in the gray

While it's true that comparing learning a new computer language and learning a new spoken language isn't always the proverbial apples-to-apples proposition, there are a few crucial similarities. The first, of course, is the un-learning that must happen (particularly if the new language is only your second.) I didn't stumble upon another similarity until just today, however: Namely, how having to think about the conventions of a new language forces you to better understand the one(s) you already consider "native."

Given that I will never touch Objective-C again--at least not without considerable financial incentives--at least I've salvaged that scrap of enlightenment from the past three days. Silver linings and all that... And, in the spirit of Views, consider it paid forward.

Wednesday, May 12, 2010

When half-done is worse than none

I merely demonstrate my past-mastery of the obvious when I say that not all software features are created equal. There aren't too many applications, for instance, that could exist without "Save." But then there's Clippy.

But after today, my sense is that the separator between a crucial feature and a worthless bell/whistle is not (as I used to think) "What would I do if x were missing?" Rather, it's "What would I do if x only half-worked?" To wit: "What if my text editor only saved half the document?" vs. "What would I do if I could only kill Clippy half the time?" That sort of thing.

For a software development application, half-baked integration with version control (a.k.a. source control) is nothing short of an EPIC FAIL. My "tribe" and I learned that all too well this morning. In non-software terms, that's like the brakes on a car working only part of the time. Even 99% success would be unacceptable. Giving user data the same reverence as a newborn in her car seat is definitely not the worst ethos one can have as a software developer. Something I wish a certain brand-name company would grok.

Tuesday, May 11, 2010

Collateral benefit?

Sorry if I seem to be harping on the tablet PC again; I've been in Objective-C space all day, which sorta-kinda gives me diplomatic immunity. Or something like that. But I was mulling the implications of closing the chasm between desktop and smartphone even yesterday, and that even before the news of Apple's gobsmackingly boneheaded--in my biased opinion--decision to stay in bed with AT&T for the next two years. But here I'm talking about all the "Me, too!" efforts to come in the next ~18 months as the concept goes mainstream. Meaning a tablet that rings up at less than $500, even with a Bluetooth or other headset factored in.

Why? Think tablet PC + headset + Skype. Baaaaad juju...not just for AT&T, but all cellular carriers who--even in 2010--just don't get that the boundaries between voice and text and web exist exclusively in the delusions of corner-office morons. Morons who probably still refer to the act of calling somone as "dialing." (If--if--we're lucky, the suits in question aren't "retro" enough to also refer to their handsets as "the Ameche.")

But for the rest of us, there could well be one (considerable) collateral benefit, even beyond the extinction of the "data plan" swindle. Ever notice how folks wearing headsets tend to converse at more normal volumes (presumably b/c headsets allow them to hear the other end of the conversation better than a handset)? With even mediocre luck, the odds of not having to unwillingly eavesdrop on navel-gazing inanity should drop drastically in a world of tablets and headphones.

Dunno 'bout you, but that's something I know I can get behind.

Monday, May 10, 2010

The "tribalism" of sunk costs

Another day, another commentary about why the iPad will or won't take over the world...and thus another Animal-House-scale food fight in the comments. Tribalism is ugly. It ate half an hour of my time, flipping between technical specs & reviews of the WeTab vs. the Adam. Both are Android-powered tablets due (at least in theory) this summer. That's another form of tribalism at work, no question: Like I'm gonna show up at the Linux User's Group flashing anything but... ;-)

But inasmuch as tribes need to revere a common figurehead and revile a common enemy and all that, it didn't occur to me (until seeing the somewhat steep WeTab price-tag) that sunk costs might just be part of the interpersonal duct tape that holds consumer "tribes" together. It's not solely a gadget thing either: Remember "Nobody got fired for buying IBM"? That seemed to last almost into the Lou Gerstner era. True, once upon a time IBM had a reputation for quality (and the premium to go with it). Similarily, Toyota's acceleration problem was attributed to accident well after the company understood the underlying pattern. The mentality can outlive the reality by nearly impossible amounts of time.

And, as with wine, people seem to think that if they paid more for it, it must be worth the extra coin. Right? Riiiiiiight??? That, and once you've shelled out several hundred clams on a new toy or indentured yourself to a phone contract, you don't want to look like a rube. So to emphasize your non-rubeness, you pay for the new shinys as soon as you can find a suitable beggar for the alms of the old ones, and the cycle perpetuates. (Cough. Not that I've ever been guilty of that... Cough, I say. Cough.)

And so the comments-section slag and counter-slag rather disguises the fact that tribes aren't necessarily as close-knit as the Jets-vs.-Sharks ethos would suggest. (My yardstick: If you wouldn't let a fellow slagger crash overnight on your couch, were s/he stranded in town, it's not a tribe.) Thus can sunk costs create a tribe of one. Which I think both sad and scary that "stuff" has the power to do that to people. I just hope that it doesn't happen too often.

Sunday, May 2, 2010

A bit of niftiness before vacation*

I dropped a package off at the FedEx station, arriving so closely on the heels of lunch break that I suspect the gentleman at the counter actually cut his lunch short to help me. I asked him how he was doing on that warm & breezy Saturday afternoon. "Living the dream," came the reply, with nary a trace of sarcasm. Nifty, seeing that kind of attitude give a Mom & Pop feel to the branch office of a world-spanning corporation...and too nifty, IMO, to keep to myself.

- - - - -

* For me, technically speaking, it isn't a "vacation"--merely more code-writing and less writing about coding. See you all again a week from tomorrow (May 10th)!

Saturday, May 1, 2010

A new front in the tablet war?

Over dinner, Dennis mentioned that one of his cohorts had purchased a Nook (Barnes & Noble's e-reader). Cohort is a voracious reader with limited living space, so it makes huge sense. Alas, my primary use for a Nook is canceled out by B&N's appalling lack of digital offerings in programming books. I suppose if I traveled a lot, an iPad would make more sense than carrying an eReader and netbook (assuming that a viable Linux/Android-powered tablet doesn't hit the market, naturally).

I haven't done much business with Amazon since they went over to The Dark Side in the late 90s, so I'm blaming that grudge for not thinking of this sooner. (That's my story and I'm sticking to it.) Amazon's been in the music/movie business for quite some time. They've also spent a lot of bling building the cloud app/storage sideline, which--until now--seemed to me like quite the break from their core competencies of online retailing. Their e-reader, the Kindle, already downloads digital book purchases via WhisperNet. Granted, the Nook has music playback, but Barnes & Noble seems to be ambling in the direction of supporting networking in the more peer-to-peer sense (i.e. friends can borrow your books) than with the internet at large.

The upshot is my guess that, in renting out application/storage horsepower, Amazon is not necessarily interested in it as a long-term cash cow. (That sort of thing tends become a commodity sooner or later.) Rather, their current customers may be in fact subsidizing not only the initial outlay for hardware and staffing, but also Amazon's learning-curve in mastering the art of scalability. Then, too, Amazon has the brand equity in books/music/video that Google does not. All of which, were I one of Steve Jobs' minions, would keep me awake at night wondering what tricks the next edition of the Kindle will do.