The Boston Diaries

The ongoing saga of a programmer who doesn't live in Boston, nor does he even like Boston, but yet named his weblog/journal “The Boston Diaries.”

Go figure.

Wednesday, April 01, 2009

The makers of dinosaurs finally becomes a dinosaur.

I'd like to think that the following is an April Fools Joke, but given the recent history of Silicon Graphics, this is probably true:

Today, a legendary Silicon Valley company goes out with a fizzle.

Rackable Systems (RACK) announced that it will buy most of the assets of Silicon Graphics (SGIC), the long-time provider of high-performance computers, for $25 million in cash and the assumption of certain liabilities as part of a pre-packaged Chapter 11 filing by Silicon Graphics. the deal is expected to close within 60 days.

Tech Trader Daily - Barron’s Online : End Of An Era: Rackable Systems To Buy Silicon Graphics For $25 Million; SGIC Holders Likely To Get Nothing

And with Silicon Graphic's current stock price of 18¢ (no, not $18, 18¢), such a move would put the company out if its misery.

Shame really. I remember using their computers in the 90s. In fact, I had near exclusive use of one when I worked at FAU and it was such a sweet machine. Except for having to continually replace the fan unit. Oh, and the motherboard at least once. And the graphics board. And the monitor at the end had a decidedly green tinge to it. And that when new, it cost $35,000.00 but after four years might have been worth $1,500 (even worse than your typical car).

Hmm … when put in those terms …

(Oh, and the title? It's in reference to their little commercial from the early 90s)

Some notes on a non-April Fools joke (or, Metaposts are bad)

For the past several years, I've radically changed the style sheets for The Boston Diaries on this day. It was the easiest thing I could think of to mess with my reader's minds on this day (and if you are using Firefox, you can view them by, a) coming directly to The Boston Diaries and b) selecting “View → Page Style” and selecting a year).

This year, I did no such thing. The reason was I couldn't think of a crazy theme (oh, I could have reversed all the text with a single change, for instance, but eh … ). Oh, a few months ago I did have an idea, but I neglected to write anything down, and now for the life of me I can't recall what it was.

But I suspect that the majority of my readership read me elsewhere, thanks to my syndication feeds and thus wouldn't see any changes. I suppose I could do some silly post where I say something outrageous but plausible (you know, something like “President Obama finally figured out a way to get tax cheats to pay their taxes—by nominating them for a cabinet post”) but a) I would have to think of something outrageous but plausible, and I didn't, and b) I really do think that President Obama finally figured out a way to get tax cheats to pay their taxes—by nominating them for a cabinet post (again, another example of real life trumping satire).

These guys really know how to do it

Besides, anything I do for April Fools Day will pale in comparison with these guys:

[Save IE6]

At least … I hope it's a joke …

MTV's The Real World: “This is the end my only friend, the end.”

About time, too!

MTV's “The Real World” and this week's episode: “This is the end my only friend, the end.”

Tempers flair as first the boys get into a barroom brawl at a local restaurant. Then they flair even more as the girls try one last prank on the boys and attempt to pin it on JD. They're found out and everbody hates everybody. Then, one by one, they're voted off the island out of the house (and there was much wailing and knashing of teeth), with Katelynn as the last person standing.

The end.

And thus ends all the posts about MTV's “The Real World.”

MTV's The Real World: “One Last Word”

Okay, I lied. This is the last post about MTV's “The Real World” (Ha! This can be my April Fools Joke! … okay, maybe not).

There was a special “reunion” episode after the last episode of “The Real World” where they got all eight members (including Iraq-bound Ryan) together and it's painfully clear that MTV picked a volatile bunch of people (I'm really surprised a fist-fight didn't break out on set).

And we also learn what the cast has been up to since filming stopped in late November/early December:

Back in San Fransicso with her “love-forevah” boyfriend, and hardly recognized on the street at all.
Back in Miami training dolphins and swimming with his fans.
Back in Montana living with her boyfriend and working at the local college in IT, with the occasional speaking engagement.
Living in New York City persuing his acting and modelling career, and apparently making a decent living at it to help afford a $3,000/month apartment (ostensibly with roommates, more on that below).
Living in New York City and sharing an apartment with Scott, and persuing her career in singing and high fasion.
It was hard to determine from the show, but I think he's living in the New York City area, either for MTV or some other company that's allowing him to do interviews.
Living in New York City sharing an apartment with Scott (and Devyn) and persuing her career as a DJ.
Just about to leave for Iraq. He and Chet are “Best Friends Forevah!” (not only that, but he met Chet's parents out in Utah, so that makes them hetero-life partners). Also not terribly surprising (and I called this in the second episode), he and Baya are now officially “an item.” I guess his former girlfriend Belle dumped him when she found out he was headed back to Iraq.

And with that, we end thirteen grueling weeks of angst.

And no, I'm not watching this show again (well, unless I know a cast member personally).

Thursday, April 09, 2009

Convenience vs. Correctness

I'm not sure how I feel about this.

I've been wanting to update my website for some time now, but the latest version of xsltproc hates me. Or rather, it hates the XSL files that worked fine under an earlier version of the code.

It took a few hours of debugging (XSL makes COBOL look terse) but I figured out the issues, and most of them relate to attributes. Or rather, the lack of attributes when testing them.

I had a bit of code:

<xsl:if test="count($objects[@listindex != 'no'])">

I was passing in a bunch of entities (think DOM objects, or if that's too obscure, things similar to HTML tags):

<section id="News" directory="news/"> ... </section>
<section id="People" directory="people/"> ... </section>
<section id="Software" directory="software/" pubdate="yes"> ... </section>
<section id="Projects" directory="projects/"> ... </section>
<section id="Merchandise" location=" ... "> ... </section>
<section id="Reference" directory="refs/"> ... </section>
<section listindex="no" id="Errors" directory="errors/"> .. </section>

(the neat thing about XML—you get to create your own tags) and as you can see, there are several sections, with one I don't really care to list, thus the listindex attribute. It avoids creating links to those sections I don't care about.

The old version of xsltproc would attempt to compare the attribute listindex index against the value “no”, and if the attribute was missing, then it just assumed the attribute was there, but the value was something other than “no”. The function count() counts the number of nodes that match, and would return “6”, because there were six entities where the attribute listindex was not equal to “no” (despite the fact that the attribute listindex didn't exist in most cases).

The newer version would only check those entities that had the listindex attribute, and here, the function count() returned “0”, because of all the entities that had the listindex attribute, none had a value other than “no”.

And that's why I'm conflicted on this.

The earlier interpretation makes things convenient. I want to ignore entities that have listindex='no' and include everything else. The number of entities that I want to ignore is small, so it is easier to just add this when I want to ignore something than to add listindex='yes' to everything.

On the other hand, I prefer strict type checking and having everything explicitly spelled out. Nothing hidden, no surprises. So I can see that I'm asking for all entities that have the listindex attribute, and only those entities that have the listindex attribute.

And on the gripping hand, having to check the existence of an attribute before checking it's value every single time is making a verbose language even more verbose and seriously changes the logic in the code (and I'm only half done, sigh).

Monday, April 13, 2009

Let's just send in some Amazonian warriors to get to the bottom of all this

It seems like Amazon stepped into a public relations disaster and the Internet has just exploded.

I'm concerned about this, since I make some money off of Amazon and I don't want to think I'm frightening away readers because of my advertising Amazon (although I suspect most of my readers read me via my ATOM or RSS feed, which makes the advertising moot). Oh, I don't make that much money, but I made more money using Amazon than I ever did using Google's Ad Sense program.

I would like to think that this kerfluffle was an honest mistake on Amazon's part, or perhaps a coordinated attack against Amazon or an interesting hack of the Amazon website (or was it just a hack?).

Heck, it could have been a disgruntled employee for all we know.

Me? I'll follow the “never attribute to malice that which can be adequately explained by stupidity” advice for now (even if it was a malicious manoeuvre by Amazon, they're gotten so much flack for this I think they've learned their lesson).

Wednesday, April 15, 2009

Funny, I didn't think the IRS had offices in Russia …

Ah, the Ides of April, otherwise known as Tax Day whereby millions of Americans madly rush to get their tax returns postmarked by 11:59 pm.

And wouldn't you know it, one of the sites we host got hacked and a PHP script installed that would redirect an unsuspecting person to a phishing site, which claims to be the IRS where you can fill in a form to get your government refund.


I could have deleted the PHP redirection script, but there was a chance the crackers would just re-upload the script before I got a chance to find how they got in. The easiest thing to do therefore, was to change ownership of the script to root (the script was owned by the apache user, which leads me to believe that it was an errant PHP script to blame) and the permissions so no one could read the file (in hindsight, it might have been interesting to change the script so it didn't redirect, but basically told the user they fell for a phishing attempt; maybe next time).

That way, the script was disabled, but the crackers wouldn't be able to overwrite it. My feeling was that the crackers in question were giving out a particular link in some spam so they can't just change the location of the script, so they would just have to give up on this server.

I then spent some time figuring out how the PHP script got in there in the first place. It seems that the site in question has a rather popular PHP application that is not only sizeable (around 60,000 lines of code) but one that hasn't been updated in quite a while. Worse, the administration portion of this application was not protected by a password.


The perpetrators in question not only uploaded the redirection PHP script, but another PHP script that allows them to upload other files, list and kill processes, run backdoors and other crackish stuff. That particular script is from a Russian cracking site (because there were links to said site all over that PHP script). And the redirection PHP script would redirect people to a Russian site. And they didn't even bother to try to hide the URL. Sigh.

Saturday, April 18, 2009

A Day At The Zoo

Today Bunny and I headed off to the Palm Beach Zoo at Dreher Park. Going to the zoo was something Bunny has wanted to do for quite some time, and the Palm Beach Zoo was a bit closer than the Miami Metro Zoo.

[Very lifelike, and without a hint of plastic]

We were both underwhelmed.

It was smaller than I expected, and some of the animals (especially the very rare and highly dangerous Procyon lotor elucus or the Jackie Masonesque Myrmecophaga tridactyla) were obviously stressed, pacing back and forth within their enclosures. Quite sad.

Bunny did, however, find the young feral Homo sapiens exhibit near the entrance to the park amusing, what with the screaming and banging on inflatable bongo drums.

Tuesday, April 21, 2009

Tales from the Dead Letter Office

For our anniversary (which was on Saturday, Bunny just handed me the Cowboy Bebop CD Box Limited Edition.

[3 … 2 … 1 … let's jam!]

Aside from the four CDs of fantastic jazz music from Cowboy Bebop (Bunny was amazed that a cartoon could have such great music), there's a story behind this package (and why it was late).

She ordered it earlier in the week and had it shipped overnight. The envelope arrived at Chez Boca on Saturday. But the actual CD did not. The envelope was open along one side, and a scribbled note on it said, “Arrived in this condition in Boca Raton.”

On Monday, she went to the West Palm Beach Post Office if it might still be there, as that office handles incoming mail for Palm Beach County. She was then informed that they did not handle that mail as it was overnight—that is handled by the Orlando Post Office.

Later that evening, Bunny called the Orlando Post Office and described what happened. They checked, and indeed, they had the CD in their possession, which they promptly sent out. It arrived today.

As best as anyone can tell, some automated processing machine may have ripped it open, or perhaps the envelope got wet and ripped open.

In any case, I now have several hours worth of cool jazz to listen to.

Update Friday, May 8th, 2009

by Bunny

It was actually priority mail (which arrives in 2-3 days), all of which is processed in Orlando (for South Florida) and then shipped directly to the receiving post office.

I'd like to extend kudos to everyone involved in the search for the missing CDs. The WPB postal worker was extremely helpful and courteous, even locating the number and calling Orlando himself. When he found out I needed to contact the evening crew, he gave me the number and the name to speak to about the item. When I called, the person was already familiar with my problem, only needed the name of the CD and a callback number.

Sure enough, half an hour later, she called to tell me she had found the package, still factory-sealed and appearing intact, in something they call a “NIXY office.” When they can't identify the destination of loose items, they send them to this office for a few days, hoping someone will claim them, after which, they are forwarded to D.C. to the dead letter office where they are destroyed. All I had to do was provide an address and the item arrived the next day via Express Mail. All the while, the postal personnel could not have been nicer or more accommodating. I was very impressed. Come to think of it, I should write them a thank you note. Never hurts to have a positive letter in your personnel jacket.

Also, the shipper was most helpful. First of all, she had made a special effort to get the CDs in the mail promptly so they would arrive in time for Saturday. When I emailed her that the envelope arrived empty, she promised to inquire at her local post office in Cincinnati on Monday. She was delighted to hear that I'd located the missing package, since her branch office didn't have it.

In this frenetic day and age, when customer service often seems a thing of the past, I was both enlightened and refreshed by this experience. Okay, the music was late. But we found it. Life is good.

Obligatory Picture

[Don't hate me for my sock monkey headphones.]

Obligatory Links

Obligatory Miscellaneous

You have my permission to link freely to any entry here. Go ahead, I won't bite. I promise.

The dates are the permanent links to that day's entries (or entry, if there is only one entry). The titles are the permanent links to that entry only. The format for the links are simple: Start with the base link for this site:, then add the date you are interested in, say 2000/08/01, so that would make the final URL:

You can also specify the entire month by leaving off the day portion. You can even select an arbitrary portion of time.

You may also note subtle shading of the links and that's intentional: the “closer” the link is (relative to the page) the “brighter” it appears. It's an experiment in using color shading to denote the distance a link is from here. If you don't notice it, don't worry; it's not all that important.

It is assumed that every brand name, slogan, corporate name, symbol, design element, et cetera mentioned in these pages is a protected and/or trademarked entity, the sole property of its owner(s), and acknowledgement of this status is implied.

Copyright © 1999-2017 by Sean Conner. All Rights Reserved.