Posts RSS Comments RSS 99 Posts and 70 Comments till now

Archive for April, 2008

Matsumoto Shinosuke, the Blogger Killer

It rained, serendipitously, when he was deciding which part of his past to throw away, whom to avenge, and how to forget.

Matsumoto Shinosuke, also known as Dr. T in his pro circle, was an ASP .NET programmer who wrote bespoke, or customized, blog systems in Akihabara, Tokyo. But his real job was a professional assassin. Ironically, the blog systems he made had such a good reputation of having very little spam. Probably it’s because Mr. Matsumoto applied his pro assassin knowledge to spam killing, at the expense of his victims.

There was once when Mr. Matsumoto’s cover and real jobs overlapped. A certain telecom conglomerate was suffering huge bandwidth loss because of botnet attacks. The conglomerate, run by one of Japan’s oldest families, had finally had enough and sought the help from the underworld. While picking up the hit man was not hard, finding out the mastermind behind the botnet was trickier. An anti-spam strike team finally identified the man, a script language black-belt who scoffed anyone whose expertise ends in the word dot en ee tee. What the man, let’s call him the V, didn’t realize was that, he made some of such scoffs on a free, anonymous blog system, which, to his haughty ignorance, was a bespoke work implemented by no one but our Dr. T, in, to the V’s horror, ASP .NET. And Mr. Matsumoto hated it most when people scoffed at his being master of ASP .NET, even if he was equally fluent in any script language the source code of which requires to start with a shebang.

So a detective service paid Mr. Matsumoto’s cover job employer (actually, one of his cover job employers) to locate the V, and the conglomerate paid Mr. Matsumoto, indirectly through layers of underworld connections, for the ultimate strike. It couldn’t be a happier assignment: a fat double-pay. But of course it would not be a happy ending for the V.

On a rainy, quiet night Mr. Matsumoto arrived at the door of the V’s posh apartment in the equally posh community of Daikanyama. The doorbell rang, and exactly 180 seconds later, a spammer was totally unwound just like a most insignificant exception in a try-catch clause, and to Dr. T’s delight, one less ASP .NET scoffer. A bloodstained laptop was left in the scene, the signature of Mr. Matsumoto’s yet another tour de force.

dataWithContentsOfURL: inconsistencies

Was tracing a mysterious bug. Some software component that uses NSData’s dataWithContentsOfURL: suddenly fails to work with a specific URL endpoint only when it is run on Tiger. Switching the URL endpoint to the dev server, and the problem is gone.

Turns out that the specific URL endpoint is served by an Apache server with gzipped data option turned on. Many a modern day web servers do that to lighten the traffic load (especially if you serving tons of JavaScripts, for example). Unfortunately, the naïve dataWithContentsOfURL: does not unzip the data for you automatically, so your NSData object contains actually a zipped data.

Interestingly, on Leopard dataWithContentsOfURL: works just as transparently as it should always be. Digging through the mailing list some Apple people confirmed that it behaved inconsistently since the days of 10.3.3. It’s just unfortunate.

The solution? Ask the server side people to turn off that option.