Friday, March 19, 2010

Frivolous Friday, 03.19.2010: Programmer bar jokes

Internet Explorer 6 walks into a bar and orders a drink. “I’m a little short on cash right now,” says IE6, “can I just start a tab?” “Nice try,” says the bartender.

A pre-1901 UNIX timestamp and a post-2038 UNIX timestamp walk into a bar and ask, “Has anybody seen our dates?”

A foo() walks into a bar()...

A gang of signed integers walks into a bar full of unsigned integers. After a minute, the bartender notices the subdued vibe in the place and wonders, “Whoa, where did all this negativity come from?”

An HTML FRAMESET walks into a bar and orders a beer. The bartender grabs a bottle of the most watery “lite” brew in the place, shakes it vigorously, pours the foam into a glass, and hands the glass to the FRAMESET, who disgustedly asks what the bartender means by that. “Duh, you’re a FRAMESET,” says the bartender. “You’re only supposed to have a HEAD and no BODY.”

A recursive function walks into a bar and asks to use the phone. “Local call?” asks the bartender. “Of course,” says the function...and dials its own cellphone number.

A group of sorting algorithms walks into a bar. The bartender hands them menus, and returns after they’ve pored over them for minutes on end. “Well?” he demands. The rest of the algorithms point at the bubble sort: “Sorry, he’s always slower at ordering than we are.”

A byte walks into a bar. “Are you ill?” asks the bartender. “No,” says the byte, “just feeling a bit off.”

Eight bytes walk into a bar. “Can I do anything for you?” asks the bartender. “Yeah,” reply the bytes. “Make us a double.”

Bill Gates, Steve Jobs and Linus Torvalds walk into a bar. “What is this?” demands the bartender, “A joke?”

Thursday, March 18, 2010

Sign of the times

On my way home from tonight's Linux Users Group meeting, a pedestrian meandered across the road slightly less than a block in front of my car. "Old Towne"--meaning the vicinity of Caledonia Street--seems to hew to an old school ethic in its relative lack of lighting (gaslamp, anyone?). The resulting effect is shadows thrown every which way, some of which seem to move of their own volition. Fortunately (for both of us), the pedestrian was carrying a cellphone, the screen of which was fully lit, warning me of her presence many, many feet before her silhouette alone would have done.

Welcome to the era of the smartphone--not smart enough, alas, to prevent its owner from jay-walking (and at a leisurely pace). But smart enough to keep her from any real danger of being run over.

Wednesday, March 17, 2010

Shiny *and* a game-changer? I can hope...

It's been a while since I've been so thoroughly intrigued by sight-unseen software that I've had to fight a death-match with the urge to play hookey from my "To Do" list. My office-mate from a previous job pinged me (and others) today to ask for help testing the installation of a PHP/MySQL source control package and build tool he's created.

Both species of tools are good things--very few professional programmers would argue that. The deal-breaker, though, is that most of them have to be installed on (as opposed to just copied to) a server, preferably an off-site server (or one whose data is backed up offsite). Your typical Tucows/GoDaddy/Dreamhost-type web hosting company--quite understandably--does not respond well to Jane Customer asking them to install any old software on servers used by hundreds, if not thousands of customers.

However, the Zend PHP engine and MySQL databases typically come standard with any hosting package, which is what could make this concept a game-changer for the folks who don't do quite enough moonlighting to justify anything beyond McHosting. If it means source control with more discipline than Dropbox and fewer build steps than home-brew script files, that raises the bar for everyone--never a bad thing.

Again, I haven't done so much as download the software yet, but I'm quite excited by the concept. So, if you'll excuse me, I need to sneak in a little time for what I'm supposed to be doing, so I can play with the new toy and hopefully give my old "roomie" a little QA feedback in the process.

Tuesday, March 16, 2010

The earlier "no" is the kinder "no"

Seriously, if you think there's a chance you might not come through at all, just say "No" right up front. For the simple reason that a "no" merely closes off one possibility. But alternative possibilities can--an often do--have expiration dates. The longer you delay turning down whatever is being asked of you, the more likely it is that you're frittering away other opportunities for whoever is asking. You only have the right to close your own door, not others besides.

Monday, March 15, 2010

"Upgrading" information

The office bookshelf is located at the back of the "pod" I share with four other folks. Being the bibliophile, I'd say that this is as it should be, except it's really a graveyard for programming books that people (myself among the guilty) are too cheap to just throw away.

Normally, my Frugal Inner Midwesterner would consider a Kindle an extravagance ("What kind of book needs batteries?" it scoffs). But using an e-reader for technical books is one application that makes perfect sense to me. It's not just avoiding the waste of paper. The same obsolescence of technical information could provide a renewing revenue stream for publishers. You, the consumer, pay full price for your first edition of the book, then an incremental cost for updates when you upgrade the software in question and need upgraded information. I can even imagine a scenario that gives you a choice between having multiple versions available (should you deem it worth the disk space) and a seamless upgrade to 100% new content.

In other words, the process of publishing software documentation takes a few steps in the direction of publishing the software itself. Which is ironic, given that (IIRC) the makers of the first serious PC business application (VisiCalc) were paid along the lines of a book-publishing model, mainly because no one knew any better at the time. That didn't work out so well, but that's not to say that bringing the two models closer in this case would necessarily be a bad idea.

Unfortunately, I very much doubt that book publishers (with notable exceptions like O'Reilly Press) would view it in that light. Which is sad, because this solution, to my mind, is pure upside. Most especially for the trees.

Sunday, March 14, 2010

Worse than broken

Well, that's frustrating: No error message in the web server log files to tell me why my sample PDF is nearly blank when it's generated by the test website I set up. (Fortunately, it works just fine on the live system--small mercies an' all...) But, in writing software, there is, in fact, a state that's actually worse than just plain "broken." And that's "broken with nothing to tell you why." One of my former co-workers claimed that the absolute worst is when software works (when it shouldn't) and you have absolutely no idea why. He has a valid point. But tonight, this is plenty of "worse" to deal with, thank you very much.

Saturday, March 13, 2010

Cherry-picking technology

I'm playing catch-up on reading postponed by last week's "indisposition," and two particular articles from @artechnica kind of knocked together: "How Nokia helped Iran "persecute and arrest dissidents" and "China and Google playing game of Chicken over censorship."

Then I realized that it wasn't just outrage over companies like Nokia and Google going over to The Dark Side. It's also the ridiculous notions that companies are humoring tyrannical governments (or even theoretically democratic ones like New Zealand) in their delusion that they can cherry-pick technology at will. Frankly, it's as stupid as people who use the communiations smorgasbord of the internet as an echo chamber to circulate email and visit websites that reinforce their pet conspiracy theories or find (cough!) "evidence" to support quack notions.

And the bottom line is that there's no having technology both ways. The only real choice is between having technology at all or living in the Dark Ages. Not to go all Godwin, but the argument that following local laws absolved a corporation from charges of collaboration didn't hang in the last century. And if, in future decades, the dissidents (or their families) sue the shorts off the Nokias and Ciscos who dobbed them in to their soi-dissant "governments," I fervently hope that there is no mercy in the settlements. Live by the greenback, die by the greenback, you craven slimeballs.

But if the next global growth industry is technology that allows people to circumvent the snooping of their governments--no matter how democratic--so much the better.