Web forms is hard

These days it seems every site on the web requires a login. There are various programs out there to remember, secure and sort the multitude of usernames and passwords one might need (indeed, Firefox and other browsers have this ability built-in) but what if both you and your system forget? You simply click on “Forget Your Password?” Or is it “Generate New Password”? Eh, just click whatever link is given and hope that the system works better than the person in charge of the page. Web forms is hard.

Book review: Dark Delicacies II

I just finished Dark Delicacies II: Fear, the second collection of 20 horror short stories and it holds up nearly as well as the first volume. Most of the stories are fairly good, a few are standouts and, unfortunately, a few also fell flat. The variety is decent, ranging in subject matter from vampires (on the Titanic) to the undead, ghost and the more subtle horrors of the mind. Tone and mood ranged widely, from very light to grim, with most stories falling somewhere between the extremes.

The Best

  • “Dog” by Joe R. Lansdale, a simple but effective chase story
  • “The Accompanist” (John Harrison), a mesmerizing character study of a man consumed by his passion for music
  • “Where There’s a Will…” (Robert Masello), a romp in which an underachieving son in a somewhat dysfunctional family gets success in a way he could never have imagined. This was my favorite of the collection, a real delight all the way through.

The Worst

Unlike the first volume, there are a few stories here that fell flat:

  • “Amusement”, a story about unlikeable characters engaging in unlikeable (and uninteresting) acts
  • “Great Wall: A Story from the Zombie War” by Max Brooks which was strangely boring but mercifully short. Maybe it suffers from being out of context from World War Z.

“The Y Incision”, a goofy homage to the old Night Stalker TV series, invoked my internal editor when the protagonist, a private detective who specializes in the undead, complained about “losing two bills” on a case that goes bust when there was a very clear, obvious point where the detective could have (and really, should have) gotten the money back. There were a couple of other stories where I found myself rewriting bits in my head. I’m not sure if this is a good thing or a bad thing.

Overall, though, I’d definitely recommend Dark Delicacies II to any horror fan. It’s a solid anthology.

How to sell 80 million books

Start off with a paragraph like this:

Renowned curator Jacques Saunière staggered through the vaulted archway of the museum’s Grand Gallery. He lunged for the nearest painting he could see, a Caravaggio. Grabbing the gilded frame, the seventy-six-year-old man heaved the masterpiece toward himself until it tore from the wall and Saunière collapsed backward in a heap beneath the canvas.

This is the opening of The Da Vinci Code. You may have heard of it. It’s sold more copies than Merriam-Webster’s Collegiate Dictionary, which was released 105 years earlier and has been selling every year since. The Da Vinci Code is, in fact, the second best-selling book of English fiction ever. Why?

Is it because Dan Brown is a great writer? Is it his mastery of the simple sentence? Or is is it because he’s a Transformer of the literary world?

Does it bother me that some of the most popular things in entertainment are also some of the worst in terms of quality?

It does, actually, because it’s possible to entertain and be popular and not sacrifice your craft in the process. Die Hard is a smart, funny action movie. Transformers: Revenge of the Fallen is noisy, insultingly dumb, incoherent and borderline racist. And yet…$843 million grossed worldwide. The Da Vinci Code is the go-to book when one wants to point out the worst bestseller. But clearly writers like Brown and directors like Michael Bay have tapped into a formula that resonates with a lot of people, people who are unconcerned that what they are reading or viewing is the equivalent of junk food.

I’m not putting myself above the masses, either. I read Stephen King, I sat through Indiana Jones and the Kingdom of the Crystal Skull. I’m a fan of pop culture and fascinated by it at the same time. It just seems that we are in a downward spiral, where dumb just isn’t dumb enough anymore.

I expect the top-grossing movie in 2020 will be three hours of cars exploding. It will star Shia LaBeouf’s son. The bestselling book will be Dan Brown’s The Forgotten Clue, a collection of sentence fragments in pop-up format. The movie version, also starring Shia LaBeouf’s son, will gross $1.1 billion. Sure, ticket prices will be $50 each, but still.

What happens when you fall on a full carboy

A carboy is a large (5-15 gallon) bottle.

Tim uses these for his home brewing.

This morning as I was going about my usual routine I heard a tremendous crash upstairs. There seemed to be two aspects to it, which was odd. The first was kind of a smashing sound, the other a very large thump. The thing that came to mind was a large cabinet with glass doors being knocked over, but there is no such furniture upstairs. A few moments after this thud, water began sluicing down into my kitchen, mainly through the cupboard that houses the fusebox. This is bad but it could be a lot worse, as the water didn’t channel through the fusebox, but rather off to the side. Mostly it just makes a mess on my counter.

So now I had the smash, the thud and water pouring from up above. I call Tim. He says in a quiet voice, “Can you come upstairs and help me?”

When I get upstairs, this is the first thing I see when the door is opened (click to get a larger view):

Tim had dropped and fallen on a full carboy. He was holding a towel up to his right arm to prevent blood from pouring about the house in copious quantities. As it was he had left a pretty good trail from the accident to the bathroom:

I fished out the first aid kit from under the sink and bandaged up the bleediest parts of his arms, one of which had a wound that looked like it went right to the bone. He got 15 stitches in that one. He feared the same arm was broken but fortunately that turned out not to be the case.

While he was off to emergency (via cab, he felt an ambulance was not needed) I cleaned up the gore-filled house of horrors. apparently I cleaned up a chunk of Tim in the process, which I am happy to report I did not notice at the time. I also let Barley out so he could pee. He was just getting to the whining stage by the time I’d finished the mopping and sweeping. Whining = “I’m going to pee, it is your choice where that happens.”

All in all, not the usual start to the morning but it could have been worse.

I am now going to try convincing Tim to switch to six packs. In cans.

A boy and his runaway dog

Today it was once again mild — about 8ºC and overcast with little wind. I wore two layers but I’m certain one long-sleeved shirt would suffice in these conditions.

The trail was puddle-free but a bit mushy in spots. I only had to jink around one specific area, though. Since it wasn’t raining there were several other joggers present but they seemed to be the low-impact type, more walking than jogging. At about 6km in one jogger suddenly dashed by me — a rather attractive young guy wearing a black t-shirt and shorts. His stride was pretty impressive and there was no way I was going to keep up but I’ve seen these guys often enough to know that they eventually (and sooner rather than later) blow a gasket. The best part, though, is that he was jogging with a dog on a leash and immediately demonstrated how problematic that can be.

He passed me right near the play area and there’s a fence there to prevent the noggins of wee ones getting bashed by errant baseballs. The dog comes to a full stop to pee on it. undaunted, the guy yanks on the leash and they continue on. They then pass by a woman getting walked by a large black dog. I am unsure what the breed was — some kind of baby-eater, I think — but the woman was clearly not the one in control. Once again joggerboy’s dog charges off. Less than a lap later he had disappeared. Maybe he spontaneously combusted. He was running awfully fast.

The run went well, the pace felt good and I finished at the starting point for my longest run yet.

There were no odd objects laying about the park, the first time in awhile that’s happened.

Results:

Total distance: 10.14 km (previous: 10.08 km)
Average time/km: 5:45/km (previous: 5.44/km)
Best time/km: 5.15/km (previous: 5.22/km)

Me vs. programming, part 2

I set about working on the first actual lesson in C# on the msdn site, which, typically, is the near-mandatory “hello world!” program. The lesson has the code in a little code box (to preserve formatting) and instructs you to paste it into the C# program window and run it.

Except the example code leaves off a closing brace and the code generates an error message instead of running at all.

I’ve already learned more than the lesson intended thanks to its inept execution. However, skimming through the remainder, the phrase “you get what you pay for comes to mind” so I am mulling over other sites/lessons/books before jumping back in. I should still have more to report shortly, though.

10 PRINT "BLOG ENTRY ENDS HERE"
20 END
BLOG ENTRY ENDS HERE

Duck run

With a rainfall warning advisory in effect from Environment Canada, I was not surprised to find myself greeted with torrential rain for today’s run. It was the kind of weather a duck might like. A mad duck.

But it was mild, at least — about 8ºC. I wore two layers and almost felt a single layer may have sufficed. Still need the gloves, though, even if they eventually got thoroughly soaked in the process.

I was startled to find another jogger running clockwise around the path when I began but she disappeared after about 10 minutes. Two others showed up but they both also left after only a brief stay. I can’t say I blame them as the first 6 km of the run was a very hard rain with gusting wind. Strangely, at the 6k mark the sky brightened and the sun came out for a few moments while the rain still pounded down. On each lap the trail morphed as puddles grew and spread. It became a virtual obstacle course by the 3/4 mark with me nimbly hopping around, over and sometimes just straight through the water. The rains eventually eased up and for a few km actually stopped. By the end they resumed but with most of their vigor gone.

Unlike the previous run, I felt good on this one and the last stretch did not seem interminable. I finished by running a wee bit father and a little bit faster, so I’m happy with the results.

My shoes and socks are thoroughly soaked and muddy. The people who make laundry detergent will be pleased.

And what’s a run in the park without some new weird object to behold? Today it was this in the middle of the field:

That would be a floor buffer. Looked to be on good shape, if a little damp. Again, people are weird.

Results:

Total distance: 10.08 km (previous: 10.03 km)
Average time/km: 5:44/km (previous: 5.50/km)
Best time/km: 5.22/km (previous: 5.10/km) — I blame the unpredictable condition of the trail for the slower time here. Took a few laps to fully suss out the best way to navigate the watery ways.

New Year: 1, Beard: 0

Shortly after midnight and possibly giddy with excitement at the prospect that the 2010 Winter Olympics are now THIS YEAR I grabbed the beard trimmer and shaved off the beard again.

I like the look I had with about one week’s growth — more of a suggestion of a beard but with the face still fully outlined. Now I just need to figure out how to set the guard on the trimmer to provide this optimal length.

Exciting and heady stuff, to be certain!

2010: The Year We Make Contact

It’s now officially 2010 on the west coast and I ask:

Where is my hovercar, dammit?

UPDATE: The first crisis of the new year has occurred. I can’t find my 2010 calendar.

Nothing improves a neighborhood like a used car lot

That is, like a used car lot that goes out of business.

At the corner of Kingway and Inverness, which is just a block away, there is a used car dealer called Super Choice Auto. As you might expect, this is not the most glamorous of places and I’ve always kind of hoped that maybe one day it would be replaced by a nice ethnic restaurant, even if the neighborhood needs another one like Vancouver needs another Starbucks.

Two days ago when walking by it on the way to buy groceries I noticed they had the large sign out front partially dismantled and i assumed they were just changing the bulbs in it. But lo, yesterday half the compound was behind a locked gate and every car and most of the signs were gone. The dealership had apparently gone kaput.

Normally I would not wish ill on those eking out a living in these recessionary times but a year ago when we were up to our armpits in regular snowfalls these guys never shoveled the sidewalk around their lot, not even to clear a path for themselves. They did actually clear part of the lot itself to presumably get cars in and out. One of the bright lads in its employ thought it would be a good idea to use a kettle of hot water to help melt the snow on said lot.

I’m sure that turned out well.

So here’s to 2010 and whatever might be going in at that corner in the coming year. Hopefully it won’t just be a vacant lot for ages, though that may be just as likely.

The (non)hunter

As is her way the cat told me it was feeding time by meowing until I couldn’t ignore her any longer (not that I do, mind you, I’m just saying there is a certain persistent tone in her vocalizations that clearly states ignoring is not a viable option) and so I dutifully went into the kitchen with her following behind. Out of the corner of my eye I think I see something small and dark move toward the back end of the kitchen nook where the litter box is located. Typically when I see such movement it’s a creepy big ol’ spider but this time seemed different.

I got a flashlight and shone it into the nook since it’s not well-lit and the little shape flitted from behind the litterbox to the bucket. I walked over and saw that it was a very small mouse. I then stood back, unsure what to do. As I continued to shine the light, the cat finally turned around and looked in the direction of the mouse. At this point the two were less than ten feet apart. The cat then turned away as if nothing was there. So much for the killer instinct.

I had nothing handy to try to catch the mouse with and it was so small it looked like it could squeeze through almost anywhere. I finally got a can of air to try to direct it out of hiding behind the appliances and it scurried off into the central basement room. At that point I closed the door and put a towel at the base to seal it off. Traps can be set in that room without any pets springing them so that will probably be the plan of action.

This was my rockin’ New Year’s Eve.

2009 in review: The ‘me’ edition

In which I offer tidy lists summarizing the year that was.

The Bad

  • getting laid off — on Friday the 13th, no less (of which there were three this year)
  • hurting my right calf while jogging and being forced to sit out for four weeks as a result

The Good

  • writing over 12 short stories
  • taking part in National Novel Writing Month and completing a novel in 21 days (currently undergoing a second draft)
  • exercising with free weights (started with 10 lb dumbbells, moved to 15 lb)
  • taking up jogging (every other day, up to 10k runs now)
  • started dating again (with, ahem, mixed results but I’ve met lots of people, had some fun and made at least one new good friend)
  • began tinkering with programming again
  • kept off the weight I lost in 2008 (currently around 146 pounds and holding steady)
  • made lots of posts on this blog (whether this should go under Good or Bad may be a question of taste)

The Neither Good Nor Bad

  • with the layoff, my bike didn’t see much use, as I mostly rode it to work
  • the weightlifting regime didn’t give the results I was hoping for, so I am reworking that
  • all of the dating did not get me a snugglebunny but this is not unexpected, since the whole thing is a crapshoot

I shall return and edit these lists as I recall other high and lowlights of the past year.

Next up: The Year in review: The Global Edition