Programmer’s Explanations

I wonder if I should worry… it’s only Wednesday and I’ve already used three of these this week!

1. Strange…
2. I’ve never heard about that.
3. It did work yesterday.
4. Well, the program needs some fixing.
5. How is this possible?
6. The machine seems to be broken.
7. Has the operating system been updated?
8. The user has made an error again.
9. There is something wrong in your test data.
10. I have not touched that module!
11. Yes yes, it will be ready in time.
12. You must have the wrong executable.
13. Oh, it’s just a feature.
14. I’m almost ready.
15. Of course, I just have to do these small fixes.
16. It will be done in no time at all.
17. It’s just some unlucky coincidense.
18. I can’t test everything!
19. THIS can’t do THAT.
20. Didn’t I fix it already?
21. It’s already there, but it has not been tested.
22. It works, but it’s not been tested.
23. Somebody must have changed my code.
24. There must be a virus in the application software.
25. Even though it does not work,

Meta

Apologies to my regular visitors… I’m going to be messing around with the themes (layout) on the site for the next few days, so it’s possible there will be some oddness.

The VA’s Latest Computer Problem

Computerworld has an amazingly detailed description of the VA’s August IT breakdown.

On the morning of Aug. 31, the Friday before Labor Day weekend, the Region 1 data center was packed with people. According to Director Eric Raffin, members of the technical team were at the site with staffers from Hewlett-Packard Co.conducting a review of the center’s HP AlphaServer system running on Virtual Memory System and testing its performance.

About the same time, staffers in medical centers around Northern California starting their workday quickly discovered that they couldn’t log onto their patient systems, according to congressional testimony by Dr. Bryan D. Volpp, the associate chief of staff and clinical informatics at the VA’s Northern California Healthcare System. Starting at about 7:30 a.m., the primary patient applications, Vista and CPRS, had suddenly become unavailable.

What follows is a step-by-step analysis of how not to solve a systems problem.

Cat Found!!!


 
 
 
 
 
This might be the funniest thing I’ve seen all week.

I particularly like the “not house broken either :-(” line.

 
 
 
 
 
(For the critter-impaired, that’s not a cat, it’s a possum.)

Evidence-based Scheduling

A couple of weeks ago, I went to a seminar put on by Fog Creek Software.  They’re doing a “world tour” to show off the newest version of FogBugz, their project tracking and scheduling software.  It’s pretty cool; there are a lot of new features and enhancements that have been added to the current version.  My lab uses FogBugz, but we’re a couple of versions behind.  Time to convince someone to upgrade!

One of the new features they’re very proud of is evidence-based scheduling, a way of predicting completion dates.  If you’re ever dealt with programmers, or the managers of programmers, you know that this is one of the hardest parts of of software development.  They seem to have nailed it pretty well.  Joel Spolsky explains the details in the link above, but briefly, it uses a modified Monte Carlo algorithm to predict the outcome based on past performance.

Another very nice feature is their integrated Wiki.  I’ve installed and used various flavors of Wiki software, and while they’re certainly useful, they do tend to be a bit rough.  There are quite a few free and open-source versions, a few commercial versions, and I find them all lacking on one way or another.  Currently I’m using TikiWiki, and while it does work, the user interface for posting could be better.  (Yes, I know it’s open source, and I should fix it instead of complaining, but I’m lazy and too busy.  So complain I will.)  Anyway, the Fog Creek guys have done a pretty seamless integration of a WYSIWYG Wiki into FogBugz.  I’ve written and asked them to release their Wiki as Open Source, but so far no reply.

San Diego Fires

Just a brief note for my family and friends:  we’re all fine, and both my house and Sara’s house are both safe as of this moment.  We’re all ready to evacuate if the situation changes.  Should it become necessary, our plan is to head down to my boat in Mission Bay.  We can all sleep aboard Simone for a few days if we have to.  That won’t be fun, but not much of the current crisis is, and it beats the alternatives.

Sara’s school is not in a threatened area, but they shut it down and sent the kids home yesterday afternoon.  They’re all home today.  Pretty much everybody who doesn’t have to be somewhere is staying home today, just waiting it out. 

My lab was evac’ed yesterday during the day.  As of last night, it was still there but the fire was close.  I haven’t heard anything since then… but I haven’t seen the smoking ruins on the TV news and the I.T. infrastructure is still up, both of which are good things.  I work remotely and nothing here has been affected, except for a brief power outage last night.

It’s pretty surreal.  For those of us who haven’t been evacuated, the whole atmosphere is almost exactly like it is before and during a monster east-coast snowstorm.  Here where I live (in a semi-rural area of the county, east of the city of San Diego) the air is relatively clear with just a bit of smoke.  It’s clear, dry, and hot, with barely a breath of wind at the moment.  (“No wind” is the best possible news; unfortunately, it’s not true everywhere in the area.)

Please don’t try to call our cell phones; they’re all on the chargers in case we have to bail out quickly, the cell network is being badly strained from all the traffic, and some of the infrastructure has been destroyed by the fires.  If we do have to evacuate, we’ll update Sue as to the situation.

CD-based lab testing

Here’s an article in the New Scientist Tech Blog that talks about using a CD or DVD drive to perform some kinds of medical testing and chemical analysis.  The blog entry is pretty big on the “gee whiz” factor without getting into the technical details. 

My friend Ross, who works in the optical media industry, have been telling me about this for years.  But this is the first mention of it I’ve seen in the popular media.  I’ve always said I’d really, really like to see the actual device.

Well I don’t have to wait anymore.  It looks like it’s made it into the DIY hacker world.  An article on Hack A Day has schematics and a basic description.  Let the hacking begin!

Well. That was fun.

It turns out this recipe for Thai Spicy Noodles got tagged by a social networking site called Digg late last week.  My  quiet little site that usually gets maybe a dozen visitors a day all of a sudden was getting hundreds of hits a minute, all of them looking for the same page.  As you may have noticed, it didn’t handle the load well.

Amusingly, I used to worry about this on previous incarnations of this web site.  In the tech world, it’s known as the Slashdot effect.  It never happened, and I don’t do much tech blogging anymore, so when I moved to Bluehost and this new version of WordPress, my blogging software, I didn’t bother to plan for it.

The first I heard about the Digg link was when I started getting a bunch of comment spam.  I have the site set up so that any comments by new readers are forwarded to me for approval before they show up.  There’s a set of bottom feeders out there in the web world that tries to drive traffic to their sites, or increase their standing in the search engines, by putting a comment on sites like mine to link back to their site.  Then when the search engines spider my site, they see a link back to the bad guy’s site and elevate his page ranking because they believe it to be more popular than it is, due to the many sites that “link” to it.  This is apparently like spam; it’s automated and works just often enough that they keep trying.

But I digress.  When I discovered what had happened, I tried to get into my site’s control panel to mitigate the damage.  Unfortunately, the site was so busy I couldn’t get in.  So I figured I’d drop a polite note to the admins at Digg and ask them to delete the link, or at least point it to the Google cache of it rather than my live (dead?) site.  Hah.  Four days later I got back a snotty email, to the effect of “if you don’t want it linked to, don’t put it on the web.”  Aside from the tone, fair enough.

My next plan was to log onto my domain registrar and redirect the frankh.com domain to somewhere else that could handle the traffic.  (The traffic was coming to frankh.com, one of the domain names I own, which points to my master site here at hicinbothem.com.)  After a few hours, that worked well enough that I could finally get into the site and optimize the page by removing the pictures and the links from the post and front page.  That worked well enough that the site at least stayed up under the onslaught of visitors.  By Monday, the river of visitors had slowed to a trickle and I put everything back the way it was.  No major harm done, except that I somehow lost the noodle picture…. I suspect I deleted it accidentally when I was trying to remove it from the post.

The whole debacle was definitely a learning experience.  What I discovered:

  1. The total number of visitors was just under 50,000 over four days.  At an average page load of 25kbytes, they ate up just over a gigabyte of bandwidth.  Fortunately Bluehost has a liberal bandwidth policy.
  2. This points out a deficiency: my site layout is horribly inefficient.  It also appears that WordPress does absolutely nothing out of the box to optimize the site layout.  I need to do some more research, but this is apparently a known issue and there are several workarounds for it.  Unfortunately, I had to do a good bit of Googling and searching to find that out.  I’m not blaming anyone– I love WordPress and will continue to use it– but it might be good if they made prominent mention of this in the documentation.
  3. Digg users are not the kind of users I am looking for.  50,000 visitors and none of them left a comment that I was willing to approve.  Am I being elitist?  Perhaps, but a recipe for spicy noodles shouldn’t have comments discussing the sexual attributes of the women of Thailand.  With half the words misspelled, naturally.  I agree, Thai women are great, but I don’t choose to discuss that here.  Use the Digg forum.  Everybody else did.
  4. Digg users don’t follow links.  They came for the noodles and left.  Oddly, many of them appear to have left within seconds of arriving, which implies they didn’t even read what they came to see.  I haven’t figured that out yet.
  5. There are about 88 million different social bookmarking sites on the web, and no mere human can keep track of them all.  I had no idea of the scope of those sites until I did a little Googling.  I use a couple of them, but the sheer number of them that exist, and the volumes of users they have, are incredible.  Doesn’t anybody do anything but surf the web anymore?
  6. I need to get on board with some kind of low-key advertising, ala Google Adsense or something similar.  At least some good would come of a massive influx of visitors.

So that’s the story of my first adventure into high-volume web services.  There will be some changes to the site over the next week because of what I’ve learned.  And hey, try the noodle recipe, it’s really good.

Recipe: Thai Spicy Noodles

Ingredients:

  • 6 oz flat rice noodles softened
  • 1 c firm tofu in 1/4″x1/2″ julienne
  • 1 lb. med. shrimp – peeled and deveined, or 2 boneless skinless chicken breasts, sliced thin
  • 1/3 c Thai fish sauce (nam plaa)
  • 2 T. Fresh lime juice
  • 1/2 c hot water
  • 1 T Thai Red chili paste (add another 1-2 t for really hot)
  • 2 c fresh bean sprouts
  • 1 c scallions – chopped 1 inch
  • 1-1/2 T sugar
  • 1/3 c ketchup
  • 2 eggs lightly beaten
  • 1/2 c finely chopped peanuts
  • lime slices for garnish
  • 4-5 T peanut oil for cooking

Directions:

  1. Soften noodles in boiling water.  Drain and set aside. 
  2. Mix nam plaa, lime juice, chili paste, sugar, ketchup, water and whisk.  Set aside.
  3. In HOT wok with 1 T oil scramble eggs so the end product is in small “crumbles”.  Remove and set aside.
  4. Add 2 T oil, then stir fry julienned tofu about one minute. Remove set aside.  Leave remaining oil in wok.
  5. Stir-fry shrimp or chicken until almost done (just a couple of minutes.)  Add scallions, toss briefly.  Add sauce then noodles and all other ingredients except bean sprouts and peanuts. Toss well.
  6. Add the bean sprouts, toss, sprinkle with peanuts, and serve.  Garnish with lime slices.