The Daily Parker

Politics, Weather, Photography, and the Dog

Why servers sometimes crash

I just found out about a server crash at a friend's old company. It seems one of the staff members sent a 2.7 MB graphical file (wrapped in a PDF, wrapped in a MIME email) to 900 people. For some reason, that crashed the Exchange server creating 8.5 GB of transaction logs in just under 20 hours, which overflowed the system drive, which caused the entire server to collapse. At last report, a consultant had cleaned out the transaction logs and most of the message queues, but Exchange was still re-trying some of the addresses.

This problem was, therefore, between chair and keyboard. Whose chair and whose keyboard is difficult to tell.

Two quick hits

First, I just put a major project to bed. It was my first time out doing litigation support, meaning I wrote software to crunch a whole bunch (= about a billion) of numbers for a law firm who represent a large (= about 350,000) class of plaintiffs. They got the results just now, so unless the defendant chooses not to settle and I get subpoenaed, I believe I'm done.

Second, at least one petty little man on the South Shore Line apparently doesn't "get" the whole idea of bikes on a train:

A day trip to South Bend ended up costing a Lincoln Park man $150 in cab fare after a South Shore Line crew member told him he would have to get his bicycle off the train.
What startled Alan Forester, 34, was that he had taken the South Shore Line to South Bend earlier in the day Sunday and no one said anything to him about his bike. Even more puzzling, he said he had followed the bicycle policy that he read on the railroad's Web site.

I had a similar problem about two years ago, when, after bonking on a very long ride, I attempted to board a Union Pacific North Line train at Highland Park, and got turned away by a conductor who thought my bungee cord was too short. (I think I may have told him at least I had a bungee cord, but we won't go there right now.)

The CTA largely gets it right. All CTA buses have bike racks. This means people can get out of their cars and save the environment by biking without worrying they'll be stranded because of weather or traffic. Why is Metra so opposed to the idea?

Best laid plans

I was going to have action shots of my new bike this morning, but I decided to take the bus to my office instead of riding for some reason:

I'll have more on the bike later, including the results of my first real ride on it (whee!), but right now I have to crunch a few million data points. I'm also suffering from the after-effects of a midnight inspiration last night, which (a) led to two hours of coding starting at 1:00 am, and (b) got the total speed of the application up 40%.

What a dumbass

First, I picked up my new bike yesterday. But that's not the subject of this post.

No, the unfortunate real subject of this post is, "I am stupid."

I had to import about 3.5 million data points recently, and now that I'm using the data, I discovered that this quick-and-dirty construct was dirtier than it was quick. See if you can spot the problem:

const string sqlTemplate = 
   "INSERT INTO data_points (foreign_key_id,year_num,payment,cost) VALUES ({0},{1},{2},{3})";

...

foreach (CustomStruct item in someObject.someList.Values)
{
   string sql = string.Format(sqlTemplate, parent.RowId, item.Year, item.Cost, item.Payment);

   ...
}

That is why I am now executing SQL statements that look like this:

ALTER TABLE items ADD swap decimal(10,2)
GO
UPDATE items SET swap = cost
GO
UPDATE items SET cost = payment
GO
etc.

I am now waiting for the SQL to run.

Judge takes away our DVR

A Federal judge has ordered Dish Network to disable almost all of its customers' digital video recorders after parent company EchoStar Communications lost a patent-infringement suit brought by TiVo:

Thursday's ruling from U.S. District Judge David Folsom in Marshall, Texas, demands that within 30 days, EchoStar must basically render useless all but 192,708 of the DVR units it has deployed.
The decision comes four months after a jury ruled that EchoStar should pay TiVo $73.9 million because it willfully infringed TiVo patents that allow the digital storage of TV programming.

Crap. This could be inconvenient. All those Lost episodes we've saved could be...um...yeah.

Update, 3:43 pm CDT (20:43 UTC): The Federal Circuit Court of Appeals in Washington has granted a temporary stay of injunction to give Dish Networks time to work something out with TiVo. (I couldn't find the actual order online.) So we get to keep our DVR for the time being.

Inner Drive will be happy to help

The FBI spent $170 million on broken software, which it has since scrapped. Now it's planning to spend $450 million on, one hopes, working software:

Because of an open-ended contract with few safeguards, [San Diego-based Science Applications International Corp.] reaped more than $100 million as the project became bigger and more complicated, even though its software never worked properly. The company continued to meet the bureau's requests, accepting payments despite clear signs that the FBI's approach to the project was badly flawed, according to people who were involved in the project or later reviewed it for the government.
David Kay, a former SAIC senior vice president who did not work on the program but closely watched its development, said the company knew the FBI's plans were going awry but did not insist on changes because the bureau continued to pay the bills as the work piled up.
Along the way, the FBI made a fateful choice: It wanted SAIC to build the new software system from scratch rather than modifying commercially available, off-the-shelf software. Later, the company would say the FBI made that decision independently; FBI officials countered that SAIC pushed them into it.

Upton Sinclair's wisdom notwithstanding, consultants have an obligation to inform clients about problems before they become too large to solve. Consultants also have an obligation to make appropriate build-or-buy recommendations to clients; in this case, if SAIC made such recommendations, there doesn't seem to be any evidence.

On the other hand, the Post article suggests the FBI had almost no clue what they were doing, bolstering SAIC's claims that they told them so.

Still, even assuming the best possible facts in SAIC's favor, they should have done the right thing, whatever that "right thing" was at any point in the relationship. Like, for example, testing the software, even if the FBI didn't think testing was important.

When a project like that blows up, everyone looks bad. Sometimes the consultant just has to walk away before that happens.

Blog spam

I wonder what spammers are actually thinking almost as much as I wonder why they bother me.

I've had a blog-spam problem for about three weeks now targeting my referral logs. Spammers with robots use robots that act like people browsing the blog, but they appear to come from gambling sites so that the site URLs show up in the system logs. Some blogs' referral logs are searched by Google and other sites, so the theory here is that the referral spam will generate a lot of inbound links into their sites driving up their search rankings. Sadly for all concerned, this doesn't actually happen; Google is too smart.

Then there's comment spam, like this thoughtful thing I got from a vistor in India this morning:

Remember to let her into your bedbug, then you can start to make it partial.
I don't care about Christopher Fargis, he is vivid, pubescent, and anatomic and I am not going to refracture about it. Dyno-blast Jason Chan hunch our lettering. Our hydraulic corer guard a specious otherness Sammy Schenker is a scornful chelicera? Then Mazen Nesheiwat skyjacks a blurriest nunnery. We will commend on the glitter; we will generalize on the commissure; we will never flick.
My to go cardiograph overconcentrates in the hole. Harmonic Airy Phanhyaseng lip the ambidexter. Therefore unless Gerald Cheatham solemnify Minh Nguyen, she westernize my fattiness but disvalue him

The trick here is that someone is monitoring the spammer's email address, and the subject of the spam comment suggests that anyone emailing the spammer will get information about a gambling site.

Some actual person had to enter the comment, though. The IP address of the comment shows that actual person to be in India, where I can only assume he or she was paid a few cents to copy the nonsense into the comment and submit it to the blog.

It's sad, really. But, in an absurd way, interesting poetry.

Do walk buttons work?

Chicago Tribune transportation reporter Jon Hilkevich channels Cecil Adams:

The actual answer is fuzzy, depending on the location, the time of day, vehicle traffic volumes, when the walk button is activated—and luck too.
Many pedestrians refuse to press walk buttons due to suspicions they are a trick or a placebo concocted by the traffic gods to keep walkers calm while breathing fumes from tailpipes as they wait for green lights at busy street corners.
Steve Travia, IDOT's bureau chief of traffic for the Chicago area[, says:] "The bottom line is that if you don't push the walk button, the walk signal may never come up."

Of course, if you're in New York, don't bother, because 80% of their "walk" buttons are disconnected.

But...but...everyone <i>knows</i> already

The ACLU's case over AT&T sharing its phone records with the government got dismissed:

"The court is persuaded that requiring AT&T to confirm or deny whether it has disclosed large quantities of telephone records to the federal government could give adversaries of this country valuable insight into the government's intelligence activities," U.S. District Judge Matthew F. Kennelly said.

Any adversary of this country who can't figure out what phone records went to which agency is probably too stupid to be much of a threat, in my opinion.

I was all set to rant that Kennelly was a Bush (either flavor) or Reagan appointee, but no, he's one of ours. Still, the whole thing smells bad, not least because the judicial branch really ought to stand up to the executive, since the legislative isn't.