The Daily Parker

Politics, Weather, Photography, and the Dog

Lightroom 6 / Surface compatibility

I'd have photos to post already, but Adobe Lightroom 6 keeps dying on my Surface. It works when I install it, but the next time I try to open it, even after a reboot, it gets to the splash screen and stops loading.

I hope to resolve this later today.

User Self-Blame

Microsoft's Scott Hanselman blames us computer professionals for users thinking they don't know computers:

In my recent podcast with UX expert and psychologist Dr. Danielle Smith the topic of "user self-blame" came up. This is that feeling when a person is interacting with a computer and something goes wrong and they blame themselves. I'd encourage you to listen to the show, she was a great guest and brought up a lot of these points.

Self-blame when using technology has gotten so bad that when ANYTHING goes wrong, regular folks just assume it was their fault.

This harkens back to the middle ages when the average person couldn't read. Only the monks cloistered away had this magical ability. What have we done as techies to make regular folks feel so isolated and afraid of all these transformative devices? We MAKE them feel bad.

This on the same day that Jeff Atwood tells us our passwords suck (and he's right):

The easiest way to build a safe password is to make it long. All other things being equal, the law of exponential growth means a longer password is a better password. That's why I was always a fan of passphrases, though they are exceptionally painful to enter via touchscreen in our brave new world of mobile – and that is an increasingly critical flaw. But how short is too short?

...[Y]ou can't really feel safe until the 12 character mark even with a full complement of uppercase, lowercase, numbers, and special characters.

This is also a UX failure, but of a different kind. Until two-factor authentication becomes ubiquitous—and until users start accepting the need for it—passwords are going to be the chink in Smaug's armor.

Of course, it doesn't help that users typically don't have accurate conceptual models for things. The number of times I have explained the difference between authentication and authorization (which is a necessary conceptual model for understanding why you should never, ever give your passwords to anyone)

Lotus 1-2-3 epoch day weirdness

The ancient spreadsheet package Lotus 1-2-3 set "0 January 1900" as its day zero. Whenever you entered a date into a Lotus spreadsheet, the program actually stored the number of days before or since that mythical date. Microsoft Excel needed to maintain compatability with Lotus early on, so it set 30 December 1899 as its day zero, which worked very well except for dates between 30 December 1899 and 1 January 1900, and it added the other mythical date 29 February 1900 because Lotus had that bug as well.

Flash forward a few decades, and today brings us a little bit of weirdness that only shows up in the American Month-Day-Year format.

Today is 4/21/15 in the U.S., and also day 42115 in Excel.

This bit of nerdiness brought to you by the Daily Water Cooler and one of The Daily Parker's readers.

Things I didn't read while pulling apart an Include block

...and also preparing for a fundraiser at which I'm performing tomorrow:

And did I mention Apollo After Hours?

Still debugging

I was here until 7:30 last night and would probably stay that late tonight if I didn't have a prior commitment. At least last night I got to see this:

At least I've isolated the code causing the problem. Unfortunately it's one of the most-called methods in the application. Sigh.

Debug mode

I was going to write a couple of entries today on various topics, but then this happened in production:

That's a production database getting overloaded. I am now going to continue debugging it.

To-do list lengthening, day remaining same size

In the reading queue:

Did I mention that DUKE WON?!

More stuff to read on the plane

With a little more than five days until my next international flight, I'm stocking up my Kindle:

UAT release this afternoon. Back to the galley.

Logic says this is highly improbable

If you have a set of unit tests for a large application, and not every one of them passes, then you don't know whether the application works correctly. In fact, failing unit tests are evidence that it isn't working.

Also, marking them with the [Ignore] attribute doesn't count as fixing them.

Also, deleting the part of the unit test that fails doesn't count either. An empty test method is not a passing test unless the method being tested is also empty. And an empty test method should not ever be committed to the source repository.

</rant>