Thoughts on computers, companies, and the equally puzzling humans who interact with them
Sunday, June 14, 2009
A six-legged perspective on risk vs. reward
Despite having their third Queen in as many months, though, it looks as though that hive might finally be making some traction on ramping up its population. We're lucky that the workers have been putting away nectar and pollen during the interregnums, so there's no reason--barring drought or disaster--why we shouldn't be able to harvest honey two months hence. It just won't be a bumper crop, and that may have been what irked my husband, particularly after the gamble of introducing a new Queen. (Fortunately, we don't count on making money from this hobby, or the $23 might have been the difference between profit and loss on the hive's 2009 balance sheet.)
Fortunately, by the time we left for home, he had found the silver lining in the situation, namely that the new Queen's children would likely be at least half-Wisconsin in pedigree--the new Queen having mated with drones from local hives--and thus more likely to survive the winter. Me, I was just happy that, for the first time in several weeks, we could button up the hives and go home without feeling the need to rush back with more equipment, insects or what-have-you to nudge Mother Nature toward doing things our way. And, if the hive survives the winter, we can reasonably expect to let its Queen take care of business in 2010 without any interference from us.
But the incident highlights the implicit expectation that investment always equals return--as if there's some cosmic quid pro quo for any venture at which we pitch our money and/or time. Intellectually, we know that there's not. But what I don't understand is why, when investments are sanitized (as mutual funds, 401Ks, etc.) for mass consumption, that publishing the oh-by-the-way-you-could-lose-your-shorts warning before the historical performance numbers isn't mandatory for the investment portfolio booklets. Because the risk needs to be driven home, well before anyone breaks out the dollar-goggles. Always. Either that, or perhaps investing should be barred for anyone who hasn't farmed. Or kept bees. But, then, I might be a wee bit biased about that...
Saturday, June 13, 2009
Artificial economies
A year or two ago, I was in the local Big Box Bookstore and, on pure whim, picked up Ancient Rome on Five Denari a Day. It's pure cultural history: There's very little in the way of chronology or the serialized biography that sometimes passes for history. The gimmick is that the book is written as a travel guide to the Rome of about the second century C.E. I need to read it again, because too many of the details have slipped already. (That, and the book just rocks.)
But one detail that has stuck with me is the fact that a traveler to ancient Rome had the option of what we would consider a traveler's check of sorts. You, the traveler, would go to a merchant known to have frequent and reputable trade with in Rome and pay him a given amount of money, for which you would receive a letter to his Roman connection, authorizing that person to give you a lesser sum on your arrival. That letter solved the very real--and to this day applicable--problem of having to carry significant amounts of cash while on the road.
By this time in history, the cash revolution was already passe, but it bears considering the full scope of that revolution nevertheless. Think about it: At some point, civilization collectively decided that bits of shiny metal possessed a value equivalent to far more tangible goods and services. That sheer level of abstraction, for a largely subsistence world, is pretty mind-blowing. The notion of a bit of parchment or papyrus having the same value as a bunch of shiny bits of metal that have the same value as a certain quantity of goods and services is merely another layer of abstraction because, well, the proverbial cows were already out of the barn at that point.
Fast-forward a couple of millennia, and mere bytes can represent a person's wealth, and some digits of those bytes can be traded for other bytes representing, say, the ownership of a web domain--something upon which entire companies have flourished (Google.com) or foundered (WebVan.com), depending upon their ability to deliver value in the real world. Or, perhaps less understandable, people pay people they know only through the internet for items that exist only in the context of multi-player online games such as "World of Warcraft" or "Eve." (In that light, the games that investment bankers play with default credit swaps and such shouldn't seem quite so ridiculous...except that they were passed off as real items of value, of course.)
In all scenarios, though--across this evolution in abstraction from barter to cash to handshake to bytes--there are two key components:
- At the bottom of the transaction, some equivalence in real-world quote-unquote value: Food, shelter, amusement, one-upping the neighbors, etc.
- The fundamental trust that quid pro quo is going down. Either all parties involved are on the up-and-up, or are sufficiently armed against a double-cross.
So far, I'm with all that. What I fail to understand is the "economy" that is lacking component #1. The example I'm thinking of is Facebook "gifts." Redneck gifts, Pagan gifts, Bellydancing gifts, Pirate gifts: I've been proffered them all and more, from folks I consider myself to trust. But I can't help but wonder whether I'm ignoring another shift in our concept of commerce as I ignore these purely digital "gifts" as silly. I honestly don't--and won't--claim to know. But I know that it can't hurt to keep that in mind: As a History buff, only think how embarrassed I'd feel to mix the next revolution! ;-)
Friday, June 12, 2009
Frivolous Friday, 06.12.2009: Filed under "Be careful what you wish for"
Ugh. I caught just a whiff of politics this week, and it annoys me whenever it encroaches on my obliviousness and forces me to arm myself against it. And, inevitably, returns me to the futile wish that people could act like rational adults they're supposed to be.
To a programmer, people are maddening because they don't follow instructions--assuming they can be bothered to read them at all. (Mind you, computers are maddening because they do follow instructions. To the letter--yea, even down to punctuation and whitespace.)
Yet, science fiction persists in creating computers with emotions. I understand the raw impulse to anthropomorphize our handiwork, to create things in our own image. It's a meme that's likely as old as storytelling itself, really. Witness Galatia, Pinocchio, Mechanical Turks, Vasilisa's doll, the "familiars" of many fairytale witches and wizards, Star Trek TNG's Data and his own creations Lol and the holodeck incarnation of Dr. Moriarty, and Star War's fussy and easily flustered C-3PO. That sort of thing.
What blows me away is that we, who live and work with computers, could possibly think that giving them emotions to make them "more like us" could be anything other than an egregiously baaaaad idea. You think the "'I'm a PC.' 'I'm a Mac" (and its considerably less family-friendly online variations) is bad when humans do it? Imagine the chaos if the machines themselves were capable of such tribalism. Or, worse, if UNIX splintered repeatedly with the same rancor as various religions have done over the centuries and millennia.
The essential problem is that computers would be capable of every human foible--only with a speed and efficiency orders of magnitude greater than our own. That's a sobering thought. Not because I think it's likely to happen, but because it brings us up short as we blunder our way through technological progress. Or at least it should, if we are in any way introspective. Best to account for (and amend) our own deficiencies as a species before we wish them on anything else.
Thursday, June 11, 2009
"Sparkiness"
I didn't realize it until tonight, but we're living among sparks here in the Coulee Region. The owner of the place where the La Crosse Programming Users Group meeting are currently held is one of them--the "poster child," as he joked tonight. (In case there is any ambiguity, yes, that is, indeed, a shameless plug for the LCPUG.) A big part of what makes Brian so amazing is how matter-of-fact, Point-A-to-Point-B his "sparkiness" is.
That's something I could definitely use more of in my day-to-day work. When you're the kind of programmer who deals directly with users, you sometimes start to get a bit paranoid, looking 'round corners. You try not to paint yourself into corners with overly-simplistic design assumptions. But sometimes it seems like the more blades and corkscrews and toothpicks and can-openers you put into the (software) Swiss Army Knife you're building, the more likely it is that someone--be it customer or management--will come along and say, "That's nice, but it doesn't have a cappuccino-maker. That's gonna be a deal-breaker, you know."
Now, I won't go whole-hog and declare myself a fan of Agile Programming. Why? Because I've had the joy of making that kind of code scale. As in: "Don't complicate things--we need to get this code into production. That'll never be anything other than a 1:1 relationship." Riiiiight. That being said, I strongly suspect that I am, via sheer cynicism, drifting too far toward the other end of the spectrum. And so I'm glad that my world is blessed with the species of spark who just gets stuck in without a lot of fuss and fanfare, and just *creates*.
Wednesday, June 10, 2009
A generation gap vignette
I remarked to one of the slightly younger programmers how ironic it is that Visual Basic doesn't have a "GOTO line number" feature like the its ancestor, the Basic language of the TRS-80s and Apple IIs upon which I first learned to code. (That flavor of Basic lived and died by line numbers.)
The other programmer looked at me blankly, so I had to explain that, back-in-the-day, you couldn't just GOTO a named block of code; you had to jump to a specific line number. "But if the line number changed, you'd have to change all those GOTOs," he said, "That would suck." "Yes, yes it did," I replied.
It sucked almost as much as feeling that generation gap whack me upside the head. But I didn't mention that.
Tuesday, June 9, 2009
Unwelcome vocabulary-builder - not quite safe for work
I realize that being unemployed is far less dishonorable than it was a generation ago for the sad fact that it's more common. Career counselors cheerily inform us that we can expect to change careers something like three or four times...as if that's somehow good for anything other than broadening our perspectives. None of that, though, means that I'll ever like the euphemisms for booting someone out the door. Scott Adams riffed on this in one of his books that the term "downsizing" was sanitized to the more Orwellian "rightsizing," and we could shortly expect to hear it called "orgasmasizing."
When you think about it, it's not unlike the way we pussy-foot around the fact when someone dies. (Cue the obligatory George Carlin: "We lost him." [Looks around] "But he was just here a minute ago!") In both cases, the platitudes are designed for the survivors, if only to make them feel that they somehow earned what may well have been dumb luck. Me, I'd rather have it straight up, if only so I can take full credit for my own delusions. And I consider myself lucky that my relatives just "died," rather than "turning into angels" or "going to live with God." That was Mom's doing. Mom also gave me the straight (as in right between the eyeballs) dope on how babies are made. "Lucky" in retrospect anyway: Trust me, the "Eeeeeeewwww!!!" factor with the whole babies thing was pretty high when I was nine years old. I never looked at my second cousins in the same way again. (Which, come to think of it, may or may not have been the point. I'll probably never know.) But you understand where I'm coming from when I opine that it's better to just face the truth up front. Sure, you can outpace the truth for awhile. But when it does catch up with you, you can pretty much bet that you won't be any better for the running.
So let's call a spade a shovel. Most folks who are "let go" were probably not trying--consciously or subconsciously--to get away in the first place. I would guess that they are now trying to remember whether they put any major purchases on plastic in the last billing cycle. Or bracing themselves for telling their parents, friends and significant others, not to mention strangers who may hold the key to bringing in a steady paycheck once again. Or, when the panic has subsided, fighting off the sense of the world moving on without them.
And, while the unvarnished truth won't bring down the unemployment numbers--just as calling a dead person "dead" can't do them any good--it may help to stop desensitizing us to the loss of an income and the effects it has on someone's life.
Monday, June 8, 2009
Shopping trolls
I think I already mentioned how much I need to at least dabble another programming language that isn't merely a dialect of one I already know. So I've done a bit of window shopping here and there, reading blogs and by searching phrases like "Scala tutorial" or "Ruby on Rails introduction."
Yikes.
The internet-powered proliferation of programming languages may be a good thing in any number of respects, but I can't say that it's exactly improved the discourse--most of which boils down to "X rulz, Y droolz!" I'm serious. It makes me embarrassed to call myself a programmer when the "discussion" might as well be a booger-flicking contest.
Take this "shopping" out of the programming context for a second and imagine yourself at the mall food court, where the paper-hatted minions of McDonald's and Burger King are trash-talking each other. With bullhorns. Or, instead, maybe there's a cat-fight between the employees of The Limited vs. The Gap. Or more aptly, the shoppers from each store are the ones scrapping, while the habitues of Victoria's Secret stroll by, wearing superior smirks and pretending not to notice.
Weird, isn't it, that you'd rarely-to-never see that kind of behavior where non-software products are concerned. I'd say that I just don't understand it, except for a half-joking remark that one of my History profs. made: "We academics aren't paid all that well, so all we have is our egos." Given that many languages (and the tools to write code with them) are open source or at least an open standard, I can imagine that the ratio of ego gratification to wallet gratification is pretty steep, overall. Let's face it: No one can corner the market on a language any longer: If others aren't invented to fill its niche, clean-room implementations will be made.
Plus, it is no small feat to learn any language well enough to write and debug and augment non-trivial programs. That simple fact explains quite a bit of the tribalism, IMO. That and the fact that programmers are feeling the downward pressure on wages--thanks to abuse of the H1-B visa system, offshoring, and no shortage of naifs who think they can build their company's software infrastructure via rentacoder.com. Which lends a certain similarity to the pay-vs.-ego trade-off my professor described.
But for all that, it's still depressing, juvenile, and highly unproductive. Every language sucks in its own way, so there's plenty of room to pan them all on the merits of their own deficiencies. You can even be witty about it, viz. Eliot Rusty Harold's description of Groovy (quoted from memory): "...the blazing speed of GW-Basic, with all the sparkling clarity of Perl." That at least gives me an idea of where Groovy's "gotchas" might lurk.
Sigh. I'm cursing the darkness again. I know. Sometimes knowing that I know better doesn't stop me, though.