How to Make a Geek Happy

I once explained in great detail why HTML is the worst thing that ever happened to the Internet. In that episode I was a bit disingenuous — I also snuck in flaws with the protocol that delivers most of that HTML rubbish to your computer: HTTP.

Finally, finally, twenty years later than necessary, the tools are available to make Web applications work like all the other apps on your computer. (If you’re willing to set down your browser, World of Warcraft and its predecessors have been doing this for a long time now. But finally we can have good application design through the browser as well.)

While the primary benefit of this revolution is for the engineers making the apps (whom you as a user have to pay eventually), there are tangible benefits for Joe Websurfer as well. Mainly, things will work better and be snappier. You will curse at your browser about 30% less. (That number brought to you courtesy of the dark place I pulled it from.)

I work in a blissful world where my stuff doesn’t have to work on older browsers, and especially not on Internet Explorer. That means what might be ‘bleeding edge’ for most Web developers is merely ‘leading edge’ for me. I’m starting a new Web application, and it won’t use HTTP. It won’t even use AJAX.

Quick description of HTTP:
Your browser asks the server for something. The server gives it to you, then forgets you ever existed. This is especially crazy when you want your connection to be secure (https), because you have to negotiate encryption keys every damn time. That’s huge overhead when all you want is the user’s middle initial.

And what if something changes on the server that the page showing in the browser should know about? Tough shit, pal. Unless the browser specifically asks for updates, it will never know. Say that item in your shopping cart isn’t available anymore — someone else snapped up the last one. You won’t know your order is obsolete until you hit the ‘check out’ button. The server cannot send messages to the page running in your browser when conditions warrant.

Lots of work has gone into mitigating what a pain in the ass that all is, but the most obvious solution is don’t do it that way. Keep your encrypted connection open, have each side listening for messages from the other, and off you go. The security layer in my new app is so much simpler (and therefore sturdier) that I’m going to save days of development. (Those days saved will go straight to the bottom line at my company, since I’m an operating expense. The effect of my app will also go straight to the bottom line, as I save other people time and energy. Better yet, the people who will be made more efficient are dedicated to making the company more efficient. Those days of development time saved go through three stages of gain. Shareholders, rejoice.)

So, that makes me happy. Web Sockets, event-driven servers, a chance to create the Missing Middleware to make the tools out there fly. Bindings over the wire.

Of course, I’m not building it all from scratch; I’m using and improving tools created by those who have gone before me into this ‘software working right’ revolution. It means picking up a whole toolbox at one time, from database to server to client library to extensions of all of the above. There are times while I’m trying to put it all together that it feels like my head is going to explode. In a good way.

But boy, the difference a good book can make. In technical writing, there are two kinds of documentation: tutorial and reference. Mostly I gravitate toward reference materials: I have a specific question and I want to get a specific answer. References are raw information, organized to allow you to get to the nugget you need. Tutorials are training documents; they take you through a sequence to help you build complete understanding of a system.

There are many technical documents that try to be both, or don’t know which they are. We call those docs “shitty”. Then there are videos. SPARE ME THE FUCKING VIDEOS. Videos as a reference: completely worthless; videos as a tutorial: rarely adequate – what was that again?

(I’d be interested to hear from my formally-trainied tech writer pals about my above assertions.)

Anyway, On the client side I’m using a library called Backbone, and on top of that Marionette. I like them, but I was starting to get lost in the weeds. The reference material is pretty good, but getting an overall understanding of how the pieces worked together was slow and frustrating. Too many new ideas at once.

So I found a book endorsed by The Guy Who Made Marionette (yeah, The Guy. One guy, having a huge impact on the next generation of Internet applications. Could have been anyone, but there had to be The Guy.) that not only puts the pieces together, but introduces best practices and the reasoning behind them along the way. It may well be the best tutorial-style documentation I’ve run across in this industry. So, hats off for Backbone.Marionette.js: A Gentle Introduction. This book really helped me get my ducks in a row. My fastest learning curve since Big Nerd Ranch oh so very long ago.

So all that makes me a pretty happy geek. Lots to learn, Web applications built right, a new project with lots of creative freedom. And while I’m coming up to speed on the new tools, I already see gaps — the tools are young — including a potentially ground-breaking idea, that I will get to explore.

Can you believe they pay me to do this?

1

Helpful Tip for Those who wish to Submit Work to The Poetic Pinup Revue

Thinking of submitting photography or poetry to the revue? Please take the time to acquaint yourself with the following table:

Followed the submission
instructions?*
No Yes
Submitted material that matched the theme for an upcoming issue?** No Submission ignored*** Submission rejected
Yes Submission ignored Thank you!

Note that the green box doesn’t mean you will be accepted, it means you have a chance. Those other boxes — no chance at all. So go back and take another look at the table. Know it. Live it.

* For example, the part about release forms. They’re REQUIRED. And you don’t submit via Facebook. We’re not going to go look at your site. The submission instructions exist for a REASON. Pro up, buddy!

** Yes, the issues have themes. If you don’t swing by The Revue to check the upcoming themes, you’re wasting your time.

*** “ignored” means we won’t even bother to look at it before rejecting it — unless it’s so far off the mark we pause to mock it before sending it (and your credibility) into the electronic waste bin.

NaNoWriMo Coming! (Your help needed)

Yep, November is barreling down upon us, and it’s time to write another crappy novel in 30 days. I don’t think I’ve ever needed it more. I’ve also never felt less inspired. Those two facts are, of course, related.

Usually by this time I have ideas fighting in my head to become The One. This year, cue the crickets chirping. I have never felt so empty of ideas.

Which brings me to any readers who might happen by here. (Yeah, I know I haven’t given people a reason to be regulars lately.) Leave a suggestion in the comments. Don’t be afraid to be outrageous, or silly, or deep and heavy if you want. If anyone posts a suggestion, I WILL WRITE IT. Just like that. If more than one person leaves a suggestion we can have a quick vote, or I’ll let an impartial third party decide, or maybe I’ll just mash them together if the result would be amusing.

I’ll let the person with the winning suggestion read the result, though it’s NaNoWriMo — that may not be much of a prize.

1

Baseball Playoff Fever

As I type this, Cleveland and Tampa bay are playing a single game to see which team gets to be in the playoffs. (Technically this is a playoff game, but don’t be fooled; it is a contrived spectacle that rewards mediocrity.)

Out there somewhere is a Tampa Bay Rays fan on the edge of his seat, living and dying with each pitch, as his team battles for a spot in the postseason. But there’s only one. The networks are not rooting for Tampa Bay.

Call Me Badass

The other day I looked in the mirror after I had been driving. I was still wearing my hat and shades, and I had to laugh. With my too-long-untrimmed beard I looked like, well, not me.

Yeah, not so much a mild-mannered geek as a stereotype from from central casting to be in the background for a scene in a “rough” bar. (Which, in fact, I was once paid to be.)

There are other shots in the batch that don’t make it obvious I was using shoot-through umbrellas (you can see them pretty clearly in the glasses), but I chose these based on different treatments of the light, and for my expressions. It’s a slow process when you have to stop and go behind the camera to see how a shot worked, then getting back in front and duplicating your head angle but altered just a smidge. So getting the reflections under control never really happened.

By the way, the background for those shots is a sneak peek at the shoot I’ll be doing with Harlean (who is a fiction) this afternoon. A shaky phone-camera look behind the scenes:

The set for today's shoot.

The set for today’s shoot.

2

Health by the Numbers

You’ve probably heard by now that weight is an important factor in overall health. For the first time in the history of multi-celled animals on this planet, too much weight actually kills a lot of folks. Until a century ago, fat saved a lot more lives than it took.

Here are some weight-related measures of a person’s health:

  • weight
  • Body Mass Index (BMI)
  • waist-to-height ratio
  • serum aminotransferase

Amino-what-what-what? I’ll get to that shortly. Let’s look at the others, first.

Weight as a simple number of pounds does a poor job indicating health. One human may weigh 200 pounds and be far healthier than another person of the same weight. BMI is a fairly complex formula that tries to create a reasonable scale relating weight to height. My BMI is currently a bit on the high side, but not by much.

The problem is, height isn’t the only variable when it comes to figuring out how heavy is too heavy. BMI assumes a certain shape of person, and I suspect it’s based on a weight distribution more typical of females. Skinny-leg men with big bellies can fool themselves with BMI because the weight is not distributed evenly over their bodies. It’s concentrated in the gut, which is far more harmful than fat on the thighs.

So for me, a more meaningful measure is the ratio of my height to my circumference. It’s a simple measure, and in my case, the news there isn’t so good.

My advice to people assessing their weight as a component of their overall health: Choose the system that gives you the worst news. That’s probably the number you need to address.

Much different is the last measure in the list above, and it’s more important to me personally than it’s likely to be for you. The amount of aspartate aminotransferase and alanine aminotransferase in one’s blood is related to fat on the liver. That is, of the sixty extra pounds I was carrying last March, it was the few ounces of that fat in my liver that were harming me the most. I could lose only those little fat bubbles and be far healthier, even at the same weight.

So last March my numbers were:

  • Weight: 198 lbs. (or thereabouts – didn’t have the good scale yet)
  • BMI: 30 (borderline obese; normal is < 25)
  • Waist-to-height: about 0.68 (didn’t measure at the start, but this is very not good)
  • aspartate aminotransferase: 290 (normal is < 40) (!)

So if raw weight is such a flimsy indicator of health, why do we hear so much about weight everywhere we turn? The answer: It’s really easy to measure. So I use the least meaningful measure of health to set my goals. A pound a week. (Pound 172 took substantially longer. I hated that pound. Week after week I cursed that damn pound.)

Today my numbers are:

  • Weight: 170 lbs.
  • BMI: 25.8 – getting close!
  • Waist-to-height: 0.62 – ok, not so close. Can’t hide from this one.
  • aspartate aminotransferase: normal!

You see that last one? That, my friends, is weight-loss success. I still have some work to do, but dang if that’s not validation. An important part of my 50th birthday present to myself.

Also, when I hug my sweetie, I feel closer to her. Probably because I am closer to her. And her arms go all the way around me, with extra for squeezin’.

4

Oh, Shit

While I put the finishing touches on a truly fascinating blog episode, a pep band is setting up directly behind me. There is a sousaphone, trumpets, drums, and all the rest. Even Cheerleaders. Who are we? “Spartans!”

And now they’re playing.

All Timelines Lead to Rome

Dale Cozort is an interesting guy. He’s a hard-working writer, and he’s a friend of mine. Among the Kansas Bunch, Dale’s the guy who gets things done.

At summer camp in Kansas this year, during the book signing event, I picked up Dale’s latest work and gave it to him to sign. We chatted a bit and he hesitated over the page, and wrote his name. No personal message, no ready quip. (In contrast, Kevin Anderson wrote “faster than light!” in my copy of Tau Ceti, a generic message in what turned out to be a generic story.) Dale hesitated and just wrote his name in functional cursive. It made me laugh. That’s Dale.

I am biased in favor of Mr. Cozort, but I will never say I liked something I didn’t, just because the writer is my pal. If I didn’t like it, I’d just say nothing. I liked All Timelines Lead to Rome.

I’ve seen early drafts of some of his other stories and they’re problematic, as are the early drafts of every story. Seeing those drafts colors my expectations, even as people who read my drafts form their own conclusions. But Dale’s a hard-working writer, and an intelligent man, and he’s not afraid of a rewrite. Even if he doesn’t agree with a particular criticism, he will use his defense of it to improve the story. What comes out in the end is a solid tale.

Dale loves to mash cultures together. I think he spends his idle time just pondering things like “what would a pre-columbian Apache think of Beethoven?” It’s what Dale does. (My own thought: what would Beethoven do with electric guitars?) This time, we have discovered that with an adequate application of energy, we can cross to an alternate Earth where the Romans are still in control after all this time. But two thousand years later, they still haven’t sailed across the Atlantic. Technological advancement has stopped over in Europe. In America, the Indians are entering the bronze age.

The reason the Romans have maintained their power yet have ceased any technological advancement is a fascinating one. Without the intervention of our timeline, I imagine Indians in Pennsylvania learning steel and kicking Europe’s ass.

There’s nothing like that in the book, but it’s a credit to Dale’s idea that one is tempted to spin new what-ifs against the original conceit. It’s fun that way.

And while Dale loves to mash cultures together, his main guy in this story is devoted to keeping them apart. He’s on a team to limit the harm done to both worlds by free interaction. An impossible job. Around him are people drooling over the oil fields in alternate Texas, coveting the real estate in the alternate Montana, and smuggling sweet (and potentially plague-bearing) artifacts from alternate Rome.

Perhaps the best idea in the story is the realization that what has caused alternate Rome to stagnate is contageous (in a social sense of the word, not a biological one). Once alternate Rome’s secret comes over to our world, technology might stagnate here, too. There are some really tricky ethical questions that come along for the ride. There’s a government cover-up, and at first I thought it was silly, and not a strength of the story. Even the current US Government wouldn’t blindly try to cover up something like this, right? Oh, wait, I take that back.

For all the good ideas, there are some rough edges to the book. Some gripes, intentionally left vague:

I just don’t buy the spunky cop/street gang thing. It just doesn’t make sense; gangs aren’t that patient. Too big an investment with no specific reward. The stretch would be easier to take if resulting events weren’t so central to the plot. And then there’s the personal history between two of the other characters that seems, well, convenient. And the resource-endowed member of that pair would probably have played things differently. Then there is a decision by the good guys that puts our hero in the right place, but it doesn’t hold up well under the spotlight, protect-both-worlds-wise.

None of those things stopped me from reading the story, and enjoying it. Sometimes you just have to turn off the damn spotlight.

To be honest, I didn’t expect to like this story as much as I did. (Sorry, Dale.) You see enough early versions by a writer and it colors your perception. But as I mentioned before Dale’s a hard worker, and we all start with crappy drafts. Best thing: the real strength of this tale is not any of the stuff I’ve mentioned so far. It’s the people. While I must be careful not to spoil things, not everyone is who they seem to be. Loyalty is the highest virtue and it shows up in surprising places. The crisis that foments the action comes from someone acting on the highest ideals.

And there are people with serious personal issues whom you like anyway. As a reader I found some of their bruises tougher to buy than others, but none of the main people is entirely whole. Everyone’s a little bit broken, and that makes a good story.

Generally I’m not hesitant to throw out spoilers, but this time I’m being coy, because I’d like you to read the story. I’m a little worried I’m overselling it; it’s not perfect, but I had a genuine good time reading this. Maybe you will too.

Note: if you use the above link to buy this book (or a Judith Leiber Nabila Crocodile Exotic Shoulder Bag), I get a kickback.

Open Letter to the Girl in the Green Subaru with the Sea Turtle Stickers on the Back Window

Just where do you think that cigarette butt you threw out your window is going to end up?

2

The Secret Ingredient is Disappointment

I’m a fortunate guy by any measure. One bit of proof: My sweetie packs my lunch for me most days. It’s a simple thing, but sometimes it’s the simple things that matter most. One part of the tradition: Each morning I get to pick out the treat for my dessert. The light of my life recently spotted promising-looking boxes of Mrs. Fields cookies on sale and (after checking that the calorie count wasn’t too outrageous) brought them home. Oh boy!

Cookies!

I was considerably less excited when I opened one of the boxes. Roughly 1/3 of the top was empty space. Eight cheerfully-wrapped cookies hunkered down in the depths of the packaging:

Cookies?

But even that was not the end of the cruel charade. I opened one of the packets and discovered… an even smaller cookie within. Less than half the height of the box!

Aww...

“New Look! Same great taste.” The box proclaims. I’m guessing ‘new look’ is a euphemism for ‘smaller’. The box could quite easily have held 20 cookies rather than eight, and they would have been safer from being bounced around during shipping. Shopkeepers hate this sort of shenanigan as well—they lose precious shelf space to inflated boxes. Walmart does not put up with this shit.

It does explain the reasonable number of calories per cookie, however.

Blog Week!

I’ve been bad about posting here lately, for a variety of reasons. It’s not that I haven’t been writing at all; I’ve got some things in the hopper waiting for finishing touches and I’ve got a few other things queued up in my head. So this week I’m taking a little slice out of my Nethack time (more on that later), perhaps making an exception in my weight-loss plan (more on that later, too), to bring out a bevy of fascinating bon mots to cheer your evenings, at the astounding rate of one episode per day!

I’ll be starting tonight, with a rant about Mrs. Fields’ cookies. You don’t have to thank me, it’s what I do.

1

Bitching About the Refs

Is it me, or are the refs in Columbia-Ecuador doing a really horrible job? I’m watching with the sound off, but it looks like there was a red card on a flop that was a complete travesty of justice, a goalkeeper ‘injury’ chewing up ten minutes of clock, and then a yellow card on a tackle where the defender was between the ball and the other guy, got kicked, and then was given a yellow card for his trouble.

Regarding the red card, I had vague hopes that at the half the officials would look at the play again and realize that the guy they’d tossed from the game was innocent, and the guy who flopped should be ejected, and all would be made right for the second 45 minutes. That’s not the way things work, however.

I don’t follow the sport closely enough to know whether this game has World Cup implications, but I suspect it does, and Ecuador has a right to be pissed off. Except… Columbia seems to be the better team, flopping and bad calls notwithstanding. Not all the terrible calls have been in their favor, either. So the outcome is looking like it should, but the process of getting there has been terrible.

The shitty calls go both ways. After I typed the above, I watched a play just outside the penalty box, where a Columbian beat the defender and was then tripped. “Now that’s a yellow card,” I said to myself. The ref jogged over, pulled the yellow card out of his pocket, and held it up in the face of the guy who got tripped. Obviously the ref was sensitive to dives after the previous tragedy, but in this case he called diving on a guy who would have had a shot on goal if he kept his feet.

Columbia probably should win, but they have no right to be proud of the way they did it.

1

An Open Letter to Insight Express

I just took a survey from you guys, and after it was over, was told I didn’t meet the qualifying criteria.

What the fuck? Is this the respect you have for my voluntary participation in your marketing plan? Granted, my feedback was “all insurance companies are the same,” but that is inherently valuable data.

Maybe you should figure out the qualifying criteria before you waste my time with questions where I’m seriously asked to differentiate Progressive and GEICO. You know, out of respect for the people providing you valuable data.

Jerry Seeger
Opinionated Guy

Fake, but Funny

I give you funny dueling churches!

But it’s totally fake.

Facebootution

Generally I ignore the offers from Facebook to help me find my long-lost pals and other perfect strangers. But tonight I succumbed to the temptation to look through folk I might want to meet.

There were some names I recognized, with a significant number of common contacts. Then there were others, who invariably had sexy photos, with no connection to me at all. Yet somehow Facebook thought I might want to be friends with them. Huh. How much did they pay, and how is Facebook not guilty of pandering?