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.
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)
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).
Besides, anything I do for April Fools Day will pale in comparison with these guys:
At least … I hope it's a joke …
About time, too!
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.
And thus ends all the posts about MTV's “The Real World.”
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).
I'm not sure how I feel about this.
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'])"> ... </xsl:if>
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,
listindex attribute. It avoids creating links to
those sections I don't care about.
The old version of
xsltproc would attempt to compare the
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
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
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
listindex attribute, none had a value other
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
and only those entities that have the
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).
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).
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.
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.
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.
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
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.