The Daily Parker

Politics, Weather, Photography, and the Dog

Something has changed

Anne and David I'm David Braverman, and this is my blog.

This blog has actually been around for nearly a year, giving me time to figure out what I wanted to do with it. Initially, I called it "The WASP Blog," the acronym meaning "Weather, Anne, Software, and Politics." It turns out that I have more than four interests, and I post to the blog a lot, so those four categories got kind of large.

I also got kind of tired of the old colors.

And, today, I finally had the time to upgrade to das Blog 1.9, which came out just a few days ago.

I may add categories as time goes on, and I'm going to start using sub-cagetories. But at this point, here are the main topics on the Daily Parker:

  • Anne. For reasons that passeth understanding, she married me, and now she's the most important part of my life. And now that I've dropped the clever acronym, she can be Topic #1.
  • Biking. I ride my bikes a lot. This year I prepared for two Century rides but, alas, my gallbladder decided to explode earlier this month. I might not have a lot to say for the next few months, but next year, I have big plans.
  • Jokes. All right, I admit: when I'm strapped for ideas, sometimes I just post a dumb joke.
  • Parker, our dog, whom we adopted on September 1st.
  • Politics. I'm a moderate-leftie by International standards, which makes me a radical left-winger in today's United States. More than 848 days and 22 hours remain in the worst presidential administration in history, so I have plenty to write about.
  • Software. I own a small software company in Evanston, Illinois, and I have some experience writing software. I see a lot of code, and since I often get called in to projects in crisis, I see a lot of bad code. Posts in this blog about software will likely be cross-posted from the blog I'm about to start, Inner Drive Software.
  • The weather. I've operated a weather website for more than seven years. That site deals with raw data and objective observations. Many weather posts also touch politics, given the political implications of addressing climate change under a President who's beholden to the oil industry.

This is public writing, too, so I hope to continue a standard of literacy (i.e., spelling, grammar, and diction) and fluidity of prose that makes you want to keep reading.

So thanks for reading, and I hope you continue to enjoy the blog.

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.