Wednesday, September 8, 2010

Connectivity is crack

Yep. Just figured that out today. Left my cellphone--which, in my case, ought to be re-christened celltexter--at home. Conscience made me stay at work several minutes beyond timesheet parameters, just to make up for all the times I logged into email/Facebook to check for replies to in-flight conversations. Nasty stuff, 24/7/365.242193403 connectivity. Good thing I can always quit anytime I want, hey?

Tuesday, September 7, 2010

Mixed blessings & feelings

So I was chunking out object code in NetBeans, not convinced that I wouldn't end up scrapping classes...or maybe smooshing their functionality into mulligan stew. But I was in The Zone at the time, so nothing mattered so much as splashing ideas out onto screen. As proof I offer the shocking admission that I actually...sit down and brace yourselves...skipped comments.

It's true. (For context, this is like catching Mom/Dad slipping unwanted broccoli to the dog--just like you did Back In The Day.)

Fast-forward to today, and the saving grace is that each of those classes is but a mere sip of Java--nary enough to dissolve a sugar cube. Translated: I still have some idea what I was thinking. And, so, because I had time to fill while waiting for a known distraction, I took advantage of a NetBeans feature that looks at a function's input and/or output parameters and generates the skeleton of the comments for that function. It's one of those features that I learned about long enough ago that I don't recall where, when or how. Only today, though, did I think to have mixed feelings about it.

IMO, the time when that feature is optimally useful--at least in terms of "flow"--is when you've just written completed the outline of the function in question: List of inputs, output type, and any exceptions (for lack of a better term, errors) it could raise with other functions that call on it. Problem is, in most cases NetBeans picks up on the fact that your function is still incomplete (i.e. hasn't specified the promised value to be returned or contains no code capable of throwing exceptions). That's when the little red exclamation point ("compile error") shows up on the periphery of the user interface, basically sticking something irritating into the corner of your eye. Just like it was intended to do.

And thus the "flow" is ultimately subverted. The red exclamation point tickles away at your eyeball until you've fleshed out the code enough to humor the compiler, which has two potential downsides: a.) The chances of losing the birds-eye view is fairly high, and b.) Writing enough code to humor the compiler is not the same thing as writing complete or true code. Or...you put up with it until you finish that portion, which has two potential downsides: a.) Training yourself to ignore that warning, and b.) Making it that much more difficult to find a real error once all the code has been written (i.e. there's a lot more of it). Or you could just skip commenting until the first draft of the class is written.

Heresy. Blasphemy. Sacriliege. (C'mon, already: Next thing I know, somebody'll say that The Monkees played their own instruments too...)

Anyhoo. Do I have an actual, constructive suggestion for improving this facet the (already quite good) NetBeans UI? Or, better yet, plan to put my bling where my blog is and write a better IDE? Oh, heck no. Left to my 'druthers, I could be trusted to stick to a certain comment format that could then be parsed to generate code-skeletons. It makes a certain sense, pseudo-coding before coding. Unfortunately, that still leaves the compiler--red exclamation point--problem if you jump the shark and punch whatever button generates the function "skeleton." (Then, too, building a feature to my preferences does not put anyone in mortal danger of said feature going viral.)

Rather, the point of this is to drag yet another highlighter tip over the Law of Unintended Consequences. Because, in this case, the outcomes are so mixed that I'm not quite sure exactly what behavior consequences were originally expected. But it's pretty easy to see why some programmers prefer to spend their days achieving gestalt with hardware drivers or databases or in the OSI "seven layer salad" or what-have-you. As inscrutable as such critters seem to non-programmers, they can jump in far more predictable ways than human beings.

Sunday, September 5, 2010

Intersection

I picked up again on Tom DeMarco's Slack today, most of which (thus far) preaches to the proverbial choir--at least in my case. But probably not much further up the organizational food-chain. (Side note to writers of subversive--yea, even truly "guerilla"--management books: If you want to be passed up the chain of command, include lots and lots more charts. Just trust me on this.)

I'd be finished and onto something else by now, except that we needed to check on the bees and upgrade one "nuc" of Russian/Carniolan bees to a full-fledged hive-box--a crabby bit of business last time--in the middle of the day. As Dennis & I were packing up--from a pleasantly cooperative move--our "landlord" happened down the driveway, and we spent about an hour chatting with him.

Said "landlord" is a semi-retired farmer. Which, if you know farmers, basically means that he might trust the kids to take on some of the work when he goes on vacation (or, in his case, business travel). Where other "retirees" are out playing golf or playing bridge (and otherwise finding ways to keep their spouses from leaving them from pure exasperation), Mr. P. makes twice-daily trips to the chicken-house.

I leave it to my gentle reader to imagine how near and dear the salmonella-induced egg recall is to his heart. Not in any negative sense: Oh, no-no-no-no-no-no. If anything his distributors will be strengthened by it. But in the discussion, Mr. P. mentioned that the agro-titan culprit in the recall is notorious inside the industry for "cutting corners," as he put it. And not just with eggs.

That informaiton, of course, is hearsay--albeit with a somewhat better pedigree than mere industry gossip. All the same, it highlights the fundamental difference between true efficiency and corner-cutting. "Efficiency" means getting the same (or greater) output for less input. Booyah for that. Corner-cutting, in contrast, is no less than exercise in lying. Lying to customers--and, quite probably, lying to oneself. And once the self-deception takes root, I don't think that there's much that even my Mom and her dreaded bar of soap can do. And that's saying something. Sadly.

Saturday, September 4, 2010

Time for a new meme

I only just realized today how very dated the phrase "phoning it in" truly is. Thus, "Texting it in" should be the new gold standard for faking participation. Who's with me on this?

Friday, September 3, 2010

Frivolous Friday, 09.03.2010: Geek tombstones

Today's preview of Autumn pretty much coincides with Dennis harvesting the pumpkin that we allowed to grow (from morbid curiosity) from the boneyard of its Jack-o-Lantern forebears (otherwise known as the compost bin). Which, together, makes me think of Halloween. Hence the pre-emptive morbidity of tonight's post.

Of course, there's always (the obligatory) "System failure: Abort, Retry, Fail?" But that's so generic, so let's personalize our final testament to geekhood, shall we?

PHP
die();

ASP "Classic"
Response.End

*NIX
rm /home/doreen -R

Java
System.out.println("Goodbye, World!");
return;

DOS
CTRL + ALT + DEL

FTP
ftp> close 127.0.0.1
221 Goodbye.
221 Logout.
ftp> bye

UNIX (Timestamp)
Doreen A. Clemons
-65972040 - [overflow] (...or so I hope...)

C++
Human *doreen;
doreen = new Human();
doreen->live();
delete doreen;

T-SQL
/* Yes, I know that this is technically impossible--just humor me, 'k? */
KILL @@SPID
GO

CSS
body
{
   position:absolute;
   margin-top:72in;
   display:none;
   visibility:hidden;
}

Thursday, September 2, 2010

The future according to 1985

I know I'm supposed to appreciate Terry Gilliam's Brazil as a cult classic, but its dithering final 20-40 minutes only made me crabby. Mostly because it reminded me of how easy it is to screw up absurdism when it strays too far from satire.

For all that, its prescience--case in point: the War! On! Terror!--was sometimes chilling. Also, I couldn't help but notice the flat-panel monitors. Particularly how they were attached to typewriters like the one Grandpa bought second hand from the local newspaper when Mom went off to college (a few months before Ed Sullivan rolled out the carpet for The Beatles). Then again, the waterfall of continuous-feed paper streaming in column after column down the wall of the Head of Information Retrieval was more than a bit reminiscent of The Matrix's fountain-spill of green characters.

It's a slippery thing, the future. (Just ask the nameless narrator in William Gibson's short story "The Gernsback Continuum.") In theory, the future's supposed to be the child of How-You-Know-It's-Supposed-to-Work and What-You're-Doing-to-Make-It-That-Way. But, sometime in the night, something else sneaks through the bedroom door and begets the actual future.

Wednesday, September 1, 2010

How not to convert transactions into relationships

Our recent visit to 2/3rds of Canada's Maritime Provinces was book-ended by a stay at the Dartmouth Country Inn & Suites. Since our first stay, they've been pinging my Inbox with offers that I will likely not take up for at least a couple of vacations, so my patience ran out and I unsubscribed today.

After submitting the "unsubscribe" form, I was unamused to see that Country Inn and Suites and I have different definitions of our relationship. And when I say "different definitions," I'm thinking of a discrepancy along the lines of the characters of Dan Gallagher and Alex Forrest in 1987's Fatal Attraction. (Needless to write, Country Inn is starring as Alex.) Specifically the post-unsubscribe notice says:
You will be removed from the email list to receive promotional messages and special offers from Carlson Hotels within 10 days. You may continue to receive non-promotional messages, such as reservation confirmation, account status, an invitation to update your online profile or to participate in a survey.
Emailing me for reservation/confirmation? No problem--that's just another part of doing business--keeping in touch when you're actually in touch is All Good.

But the rest is wide-open to abuse. When it's all said and done, I just needed a place to sleep & shower and a viable internet connection. Breakfast is optional. That hardly needs a profile, considering that the only option for the peanut butter on my bagel is "creamy." (And it's a rare survey that captures what matters to me anyway, so emailing me for my actual opinion's dooms a batch of bits to oblivion.)

The sad thing is that, at the trench level, the motel was mostly a good place to crash; it's the rear eschelon that's screwing things up for everyone by not bothering to understand, much less segment, their market.