Not in Chicago anymore

Mundane life from rural Minnesota.

Sunday, April 6, 2014

Healthcare sites

An article in the Star Tribune discusses the woes related to the rollout of Minnesota's site to enroll people in health care.  I expect that the story, with a few details changed, applies to every similar site including HealthCare.gov.

The root issue is simple — there just wasn't enough time to develop these sites. I find it amusing that even though application development tools have made huge strides in the past couple of decades, the complexity and number of users of what the developers are building has grown even faster. The bottom line is that it takes as long, or longer, to build applications now as it did decades ago.

So what happens when there's a drop dead date that is too close? Sites are deployed when everyone involved knows that there will be serious problems.

I find it astounding that now, well after the fact, people on the management team are questioning whether the site actually should have gone live when it did.

“I lament that I didn’t ask the simple question: Do we really have to do all of this by Oct. 1?” said MNsure Board Member Thompson Aderinkomi. “I should have asked.”
On the other hand, delaying the live date would probably have had little effect . . . whenever the site was made available, there would have been a huge influx of people trying to use it, and this would have caused problems. With this kind of web site, there are two options: Watch it crash because there are a hundred times more people trying to use it than it can handle, or waste huge sums of money to buy a ridiculous amount of hardware to handle that spike of usage. It must be maddening to manage a site like this and know that on certain days (like the last day of enrollment) your site is going to crash and there's nothing you can do about it.

The other statistic that amuses me is
MNsure officials acknowledge the rollout has been difficult, but they note the agency has signed up more than 175,000 people as of Friday, well above a conservative projection of 135,000 in mid-October.
Well, one of the 175,000 people is me. I visited the site just to look around and it issued me a policy. I did not request a policy, and I'm not eligible for the policy that it issued me, but after a couple of hours on the phone I was able to determine that (1) I am now the proud owner of health insurance that I never requested, (2) It is not possible to cancel that bogus insurance since the folks who built the system did not include the ability to cancel a policy.

I am told that this sleeping-dog policy is not going to be a problem. I am told that I'm on a list of people who have requested that similar bogus policies be canceled. (I wonder how many of the 175,000 people are on that list.) But I won't be surprised if suddenly I discover, in a few months, that my real health insurance policy has mysteriously disappeared.

Friday, March 14, 2014

Confirmation bias

Here's some food for thought from a source you probably wouldn't stumble upon.

Gene Benson is an evangelist for aviation safety who conducts web seminars and publishes a monthly newsletter.  His March newsletter discusses confirmation bias — he defines it like this:

The short version is that we humans tend to seek out information that supports our already formed beliefs. A general example would be the fact that liberals tend to tune in MSNBC while conservatives are more likely to watch Fox News. Our brains dislike conflict so simply avoiding information contrary to our preconceptions is an effective way to minimize mental strife.
This human attribute goes far beyond aviation, as his example suggests. If you read the newsletter, skip the aviation-related material in the beginning, down to the heading "Operational Tip" in a blue bar. Even if you don't completely understand some of the aviation lingo, the examples are instructive.

Don't miss the part about how to combat this human trait:  "To put that a bit more strongly, we should challenge all of our important beliefs and decisions. For the most important decisions, we should make an effort to prove ourselves wrong." I wish more people would think like that.

Saturday, January 25, 2014

Journalists are not subject matter experts

There's a shitload (to use the precise technical term) of material produced each day on topics that interest me. I read a tiny fraction of it, based on what I see in summary emails and social media. Usually I'm reading articles on topics that I find interesting but know little about. Occasionally I find myself reading about a topic that I know, and almost invariably I am disappointed by factual errors in the prose. This lowers the credibility of everything I read —the errors must be there even if I don't know enough to see them.

I stumbled on an article tonight that illustrates this. My daughter is learning her first programming language. I saw an article that has a nice overview of popular languages, something I thought would provide useful background for her. Overall, it's not a bad job. But there are some glaring errors, and some statements that are presented as absolute fact when indeed they have been debated since programming was new and continue to be debated.

The one that made me see red was in the discussion of the C programming language.  C is an extraordinarily important development in programming, a contribution from Bell Labs that is a perfect illustration of how important this now-lost asset was to our US dominance in technology. But the statement "C is the oldest and most widely used language" is an insult to the history of computers and programming.

To say "C is the oldest" is like saying "The telephone is the oldest form of communication." In fact, people communicated quite well before the telephone, and without the contributions of hundreds of brilliant people before Alexander Graham Bell, the telephone would not exist. The C language is indeed an important development in programming, but C is far from the first programming language, and like the telephone it builds on the work of hundreds of others. Ritchie would spin in his grave to hear someone claim C as "the oldest".

"Most widely used."  Yes, C is a popular language.  But to say it's "most widely used" in today's world is just silly unless the definition of "most widely used" is provided. There was a massive amount of coding done before C was even invented, but of course since it was the first programming language that this author acknowledges, none of that is significant. In some industry segments, C isn't used at all. Newer languages —many of them offshoots of C —have taken over a lot of new development. An unsubstantiated and vague statement like this only serves to destroy the credibility of everything in the article for the reader who understands its shortcomings.

And then there's the last sentence in the section on C: "Because it provides the foundation for many other languages, it is advisable to learn C (and C++) before moving on to others." So let's all go learn Latin. It's the foundation for English, and it's true that a knowledge of Latin does help learning English vocabulary. But if you want to improve your English vocabulary, I think that spending the time simply studying English vocabulary is more effective.

Using the "learn Latin" rationale, back in the 1970s we taught our training classes the Basic Assembly Language for the System/370 computers before teaching them the PL/1 language that they would actually use in their job. We finally realized that the time spent learning BAL was worse than wasted — the thought process and language syntax is so different between the two languages that the learning process for PL/1 was actually impeded by the BAL knowledge for these budding programmers.

This is a debate that has been raging for years and is apparently not yet finished. My view is that if you need to learn a specific programming language, perhaps for a class or a job, then embark on learning that language. Yes, knowing a programming language makes it easier to learn subsequent ones. But unless you've actually got a specific need for C, I don't think that overall you'll either save time or be a better programmer in your target language by learning C first. Invest the time learning your target language well, rather than building a background that you may not ever use.

A couple of other small quibbles with the article.

JavaScript: There is a common misconception that Java and JavaScript are the same, and the author does nothing to clarify this. But the amusing part is this sentence: "JavaScript interpreters are embedded in Google's Chrome extensions, Apple's Safari extensions, Adobe Acrobat and Reader, and Adobe's Creative Suite." Now why did she pick these five products, and why the use of "extensions"? JavaScript is simply an integrated part of any modern web browser, and the omission of Internet Explorer and Firefox from the list is interesting.

SQL: I've never lumped SQL into the "programming language" collection. Maybe that's just a semantic distinction. And I wonder how many people directly code SQL these days ... almost all database queries go into a higher-level tool that generates SQL behind the scenes.

Monday, January 20, 2014

Same song, second verse

In December 2011 I blogged about the New York Times and their paywall. I subscribed for $10 a month and bailed when they increased the subscription to $15 a month.

A few months ago the Washington Post implemented a similar paywall. Again, I decided that my use of their material was worth $10 a month to me, and I subscribed. This morning I received an offer from them directed to new subscribers: $5 a month.

For my loyalty, I'm rewarded by paying twice the rate of new subscribers. In retrospect, I don't think that I access the Washington Post often enough to justify $10 a month. So I'm probably going to drop my subscription. The marketing department at the WP blew this one . . . their email had exactly the opposite effect from what they intended.

Saturday, January 4, 2014

The weather outside is frightful

Frightful. Literally. I thought it would be nice to memorialize this forecast in a blog entry.

  • SundayPatchy blowing snow after noon. Mostly sunny and cold, with a high near -9. Wind chill values as low as -40. Blustery, with a northwest wind 15 to 20 mph, with gusts as high as 25 mph.
  • Sunday NightPatchy blowing snow. Mostly cloudy, with a low around -27. Wind chill values as low as -56. Blustery, with a northwest wind around 20 mph, with gusts as high as 30 mph.
  • MondayPatchy blowing snow. Mostly cloudy and cold, with a high near -19. Blustery, with a west northwest wind around 20 mph, with gusts as high as 30 mph.
This is great weather for staying inside. As fate would have it, that's not going to happen. On Sunday we get to travel to the annual holiday party. And on Monday we have an appointment in Rochester at the travel clinic to get set for a planned trip to India . . . a place much warmer.

Blog Archive