Microsoft: Always learning, always adapting

Or not, if you listen to MS’ CIO Ron Markezich. In an interview with CNet, he gave this answer when asked about Linux usage at MS:

As a policy, I don’t run anything that competes with Microsoft. My goal is to make sure Microsoft products are the best products in the world. It’s an easy choice for me, in that sense–to run Microsoft technology. We don’t run Unix. We don’t run Linux. We don’t run Oracle. We’re 100 percent Windows, SQL Server. We do, in areas on the client, have an open-source client running–just for competitive analysis. As an IT organization, I have no skills and no ability and no purchasing of those products. We don’t even run J2EE. Everything is .Net.

Excellent strategy, Ron. Insularity: it’s what’s for dinner!

What a fucking tool.

Semiobligatory World of Warcraft post

If you like really astounding computer games, then World of Warcraft is something worth looking into. Like EverCrackQuest, it’s a Massively Multiplayer Online Role-Playing Game (MMORPG), which means that when you play, you’re playing with other real humans in a persistent world that keeps happening even when you’re not playing. There have been several games in this genre, set in fantasy worlds, science fiction worlds, and even superhero universes; WoW is in a Tolkeinesque fantasy world, and is at this point the king of the hill. Over half a million people played the beta test, and the population of the production world is off to a seriously good start (expecting 750K by 1/1).

All this is my way of saying: I’m playing, and here’s where I am. WoW allows up to 50 characters (there are different races and classes, so you can have an elf wizard and a human fighter, too) across all their “worlds” (for reasons that should be obvious, everyone doesn’t play in the same world; there are a few dozen worlds, so if you want to play with friends, you have to coordinate to be in the same universe).

As of today, I have the following characters:

  • Cleetus, a 13th level night elf rogue, currently hanging out in the Darkshore area on the Silver Hand server, Pacific time zone. (Blizzard sorts the servers by time zone, but it doesn’t really matter where you play; however, it’s easier to find a given server if you know what time zone it’s in.) Silver Hand is an RP server (more on this below).
  • Dedchet, a level 5 undead warlock currently in Tirisfal Glades (the undead start area) on the Sargeras server. Sargeras is a PvP server in the Central time zone.
  • Harry, a level 9 dwarven hunter currently in the Dun Morogh area on the Mountain time PvP server Kel’Thuzad.

Now, one more thing: the servers are all of one of two types. On PvE servers (of which RP, or role playing, servers are a subset), you are playing primarily against the environment, not other players, though in all worlds there IS a war on. WoW’s 8 races are divided into “Alliance” (humans, dwarves, gnomes, and night elves) and “Horde” (orcs, undead, trolls, and tauren, which are minotaur-esque pastoral critters). Alliance is nominally (but not simplistically) “good”; Horde is similarly cast as “evil,” but it’s not that simple in the game politics. On all servers players fighting players is possible, but only on PvP servers is that the default mode of interaction in general. It’s therefore “safer” for a beginner to play on a PvE server, though if you wander into an enemy city on any server you may expect to die quickly, and you’re in danger in contested areas of the world no matter what kind of server you’re on.

One more server thing: for reasons that should be obvious, you cannot play both sides of the fence on a PvP server (i.e., have both Alliance and Horde characters). It’s okay to do this on PvE or RP servers.

See you there!

We’re geeky, but not THIS geeky

HTML Tattoo Besides, if we’d gotten a tattoo like that, we wouldn’t use “align”; it’s deprecated, and who wants an obsolete tattoo?

(Photo from BME’s Geek Tattoo gallery, via BoingBoing. Said gallery includes many clever bits and at least one astoundingly unlikely one.

{Why? Because it’s the symbol of a particularly hardcore and ubergeeky distribution of Linux, and it’s on what appears to be a pretty girl’s belly. [HDANCN?]})

We’ll try to remember to check back in a week to see if it’s done booting

A guy in Australia has used Debian and an emulator to put OS X on Centris 650, an ancient 68040-based Mac (25Mhz!) with only 68MB of RAM.

Then at 9pm on Monday 25th October 2004, a Mac Centris 650 started booting OS X. About an hour and a half later, the familiar Apple logo bootsplash appeared What next?
I Wait. According to the developers, PearPC using generic emulation (the only option on a non-x86) runs “about 500 times slower” than the host CPU. Ouch. That makes for a 0.05MHz G3, at the best. That’s around 4000 times slower than the Athlon boots, and since that takes roughly 2 and a half minutes – I’m looking at at least 6.99 days. One week to boot!

Fantastic.

Dept. of Really Bad Ideas

Since we already prefer cars without radiators, it should come as no surprise that we find the notion of a car that runs Windows as a singularly terrible idea, and pledge right now that the presence of such in any car we evaluate in the future will be reason enough to choose something else.

So this is a test of something new

Like most geeks, I have a favorite editor. Unlike some, though, it’s not a religion for me. On my Mac, for years I’ve used and love BBEdit, which has been the King Hell editor in the Apple world for a long time. The advent of OS X allowed things like Emacs and Vim to make some inroads as some folks converted from Planet Unix, but BBEdit remained the “hometown” favorite for most the Mac hackers I know.

Well, comes now TextMate which, while perhaps not as fully featured or mature as BBEdit, does include some tempting tricks — like folding sections of a file, not to mention what is probably better integrated project management, plus bone-simple invocation of system commands from within the editor and some rather elegant and not at all “Clippyesque” smart-typing features. It’s cheaper, too, so I’m giving it a whirl.

Of course, the lack of a Perl syntax highlighting mode is off-putting (though I could roll my own pretty easily, it appears), and I’m vexed by the lack of a “normal” application preferences menu, so it’s not without its drawbacks. It’s also short on docs (outside of their site; nothing comes in the downloaded bundle), which is almost criminal, and its “project” construct isn’t as flexible as BBEdit’s new drawer feature (though in being less flexible, it actually offers features BB doesn’t, so it (like everything else [HDANCN?]) is a tradeoff). More subtly, I note (via this review) that it lacks a Print option, which somewhat puzzling, but presumably they’ll address this at some point.

Okay, so, this sucks

I can’t seem to find an answer for this, so I may as well post here. I’m probably fucked, since I think I’m very nearly the most technical person who reads this damn thing, but hey, a man can dream.

For the last 6 months or so, I’ve been wholly unable to use the new builds of Firefox or Thunderbird. Either tool launches fine, and works great for its first run — but only that. If I quit and restart, the tool comes up fine, and even shows an appropriate window, but all the menus to the right of the application menu are gone, and keyboard shortcuts that would trigger functions from those menus are similarly impotent. Trashing the profile directory will make it work again, but that’s a bit too much of a PITA for me. I’m running Mac OS X (10.3.5), and I’ve observed no other weirdness.

Any advice?

Yet More Data On Why Microsoft Sucks

I noticed my machine was slowing down, so I checked the activity monitor tool. I’d loaded a large (2.5MB) document into Word, but wasn’t using it at the moment — nevertheless, Word was chewing up TWENTY PERCENT of the CPU despite being a background task.

What the hell is wrong with those people in Redmond?

Coolest Feature EVAR

MobileWhack points out that you can now use Google vis SMS.

You can use Google via SMS now, thanks to Google SMS. Use Google to get listings or query things for you in a variety of ways: Simply sending “pizza 02906” to 46645 will get you the pizza joints in my neighborhood. And yes, 46645 is GOOGL. Cooler still are the tipsheets and Froogle price lookups all available via SMS. I think Google just became the killer app for mobile phones.

Three Good Things, and One Bad One

All from the good folks over at BoingBoing:

  1. Sony ditches DRM CDs. After being stupidly lax on the whole MP3 front, this is sort of shocking. More shocking is their spin, which I’ll leave to BB.
  2. MSFT’s FAT shakedown ended by Patent Office. Redmond was trying to patent a file system format; USPO says no.
  3. EFF kicks Diebold’s Ass
    Diebold, the slimeballs whose faulty voting machines threaten the basis of US democracy, tried to silence its critics, a group of activists who were publishing leaked memos detailing the company’s malfeasance, by falsely claiming that they were violating Diebold’s copyright. Now a court has ruled that Diebold knowingly abused copyright and the DMCA when it sent nastygrams to the activists’ ISPs, and has awarded the activists damages and court costs.

And now one bad one: A St. Louis court has ruled in Blizzard’s favor and against the EFF in the “BNETD” case concerning open source game servers. Fair use? What’s that?

Why Sun Still Doesn’t Get It

In this article, Sun Chief Technology Evangelist Simon Phipps states that the subscription model is a “necessary trend for Open Source Deployers.” I disagree, at least where the JDS is concerned.

Phipp’s key analogy is that of a newspaper:

The model Sun is developing for giving customers the benefits they need using open source is illustrated well by Sun’s Java Desktop System (JDS). JDS comprises many software elements drawn from a wide range of open source communities. To understand what’s happening, let’s consider the newspaper industry. Newspapers haven’t been killed off by the Internet (at least, not yet!). The reason for this is that when we buy a newspaper, we’re not buying the news. These days the news is free (gratis) – we can go online and read news feeds from organizations like Reuters or the Associated Press, or original reporting from an organization like the BBC. When I buy a newspaper like ‘USA Today’ or ‘The Independent’, I am actually buying an editorial style. The editor-in-chief for the newspaper sets the outlook, and then the editors and other staff select the news stories, phrase the reports, position them in the publication and perform the lay-out in support of that editorial outlook. If I go online to get the news, I have to do the work of selecting and filtering the news, and I may not always be aware of the biases of the source I am using. To get an aggregation of the news I want delivered in a style that helps me and with biases I understand, I subscribe to a newspaper. JDS is just like this. Almost all the elements that comprise it – the Mozilla browser, the Evolution mail and calendar client, the StarOffice document productivity suite, the underlying GNU/Linux operating system they depend on, the Gnome desktop environment they use and much more – come from open source communities. You could go get all those parts yourself – they are all available gratis. But then you’d have to integrate them yourself, support them yourself, and accept joint liability for their use of ideas yourself. Instead, Sun acts like the editor-in-chief of the JDS ‘publication’. Staff select the software components to include and exclude, work to integrate them, contribute to each of the open source communities to improve their compatibility and completeness. Sun packages and delivers the final publication, offers support and updates, fixes security exposures, offers indemnity and generally joins the communities so you don’t have to. You don’t buy the software from Sun – instead you subscribe to the editorial outlook. Sun’s editorial view is to deliver high function, ease of use, data format and networking compatibility, low migration cost, re-use of existing hardware, escape from Windows viruses and security risks and minimal retraining. If that’s an editorial outlook that fits your corporate needs, you’d do well to subscribe.

The problem with this notion is that the newspaper itself — with its editorial outlook intact — exists online for free as well; online news seekers aren’t limited to raw feeds with unknown biases. If I want, I can read the Washington Post in its entirety — or the Washington Times, if I prefer my news with a Moonie bent. In fact, most papers are available free online, though many require registration. What we buy with a newspaper is portability, which isn’t that germane to the subject Phipps really wants to discuss.

The notion of JDS as a known aggregator is sort of buyable, but there are distinct drawbacks to working with someone else’s idea of how these pieces should work together. Unhooking them to change the configuration will require nontrivial work, so the time you spend using someone else’s aggregate may be false economy. PAYING Sun in the long run for this desktop may be a way to get into FOSS quickly, but ultimately you’ll want more control, and you’ll go to a homegrown solution. And because you can’t really escape having SOME IT at your enterprise grows, eventually it’ll make more sense to develop your own build in house and stop paying Sun every month.

This is analagous to the hosting situation of a new firm, for example. Right now, say newcompany.com lives at Hostcentric on a server they provisioned and built to their spec. It has most of what we wqnt on it, but in a configuration that isn’t optimum for adaptation or tool migration — if, say, we wanted to change our mail system to authenticate to LDAP, for example. When we start wanting to do fancy things, we’ll need to build our own server so we can (a) pick the tools we want to use instead of the ones Hostcentric likes (b) control the way these tools interoperate.

Sun has a big challenge ahead: it needs to define why it still exists. High bus usage applications where their tightly coupled hardware/software solution shines are a tiny portion of the market they formerly dominated; there’s no longer a need for most applications to go to such high-end, proprietary hardware. For example, last year I led a team building a music marketing site that now supports 150,000 registered users and 3MM hits a day. In runs on two Intel boxes (one runs Apache; the other runs Postgres). They’re beefy boxes with RAID and lots of RAM, but they cost a fraction of what it used to take to support that kind of application, and that means most of Sun’s market has gone the way of all flesh.

What does Sun have? They have Java, but monetizing that would be difficult at best. They have Solaris, which may be the last man standing in the proprietary Unix world, but Linux is closing fast, and being the last survivor of a dying breed still makes you a dying breed. The JDS is an interesting idea, but isn’t that compelling, I don’t think, if you look more carefully at the way it purports to work. We get a Linux machine with free tools installed, and we pay Sun to manage it for us? Um, why? How much? First, Linux boxen require dramatically less “management” once running than do Windows machines. Second, why would we want to entrust any outside entity with the stability of our machines? In a small organization without any IT support, I can see a degree of appeal here (again, like the Hostcentric situation), but any sort of ongoing and growing enterprise will likely be better served by assembling a “drive image” internally and distributing it in much the same way Windows is managed now. Sun is adding a financial “load” here without clear value-add, at least from this geek’s point of view, and adds an external point of failure besides.

So how do you make money in open source? There are lots of ways, but chief among them are probably service model businesses (somebody’s always got to know how to make things work together no matter who made the software) and open-source-based projects like Apple’s OS X (built on FreeBSD), Tivo (which runs Linux), and a thousand other tools built with free or open source cores. Trouble is, I’m not sure how Sun can make that jump. JDS is an attempt, I suppose, to product-ize a service (that is, managing your Linux desktops). The problem with this is that I have a hard time imagining they’ll be able to charge enough, or be able to get enough customers, to make it play for them. They need a LOT of revenue to avoid being a niche player, and I don’t think this is the source. I’m not counting them out yet, but I wouldn’t buy the stock, and I sure wouldn’t trust my company’s desktops to a firm whose business model seems on the way out the door.

Dept. of Egregious Programming Jokes

In web development, you’re always working to minimize the amount of intelligence in the web page itself while maximizing user-friendliness. It’s a hard thing to balance, of course, and nowhere is this problem more obvious than in validation of inputs, like dates. Usually, dates are put in using two or three “select” controls, though sometimes the year is a text box. Of course, unless you imbue these controls with a bit of intelligence, you can get dates that make no sense (September 31, for example, but with leap years it’s more complex than that).

For a couple days, I’ve been working with a client on how we might deal with yet-another-date-entry, this time for a birthday. While I’ve coded the fancy Javascript and DHTML stuff required to make one of these work in the past, I’ve come to believe that depending on Javascript is bad juju, and so we were trying to think of ways around it (there aren’t really any; you just have to do your validation on the server). In thinking of options, though, my partner and I jokingly suggested that we could just put in a list of all the birthdays, and have the user pick. This would mean:

  • We’d have no chance of getting invalid input; and
  • We’d have NO client-side scripting involved.

This combination of factors respresents, at first blush, a sort of web programming Holy Grail, but only until you inspect how it’s been accomplished. This particular approach is untenable on its face for lots of reasons, but that doesn’t make it any less funny to deploy just long enough to get a laugh out of the project manager and client, so I set out do just that.

Creating such a select-box involves having a defined list of options; the only difference here is that the list of options would be very, very long. Here some interesting things to note about this particular list of options:

  • It contains every date between January 1, 1900, and August 25, 2004.
  • This means the file — and the resulting select-box on the page — contains some 38,233 entries. Next time you complain about how many entries there are on FedEx.com’s country picker, remember this little experiment.
  • The list took too long to generate on the fly (i.e., every time the page loaded), so I wrote another script to dump the whole long option list to a file that I then included in the HTML template.
  • The file containing the list is 2.1 megabytes all by itself, so the page takes a couple minutes to download even on broadband; best not to try it at all on dial-up.

I put the thing together and called the project manager, mentioning that I’d found a way to solve the date entry problem that (as the list above notes) ensures we’ll only get valid data, but wholly eschews scripting. He was shocked and very pleased, so I told him where he could inspect it and asked him to call me if he had any questions.

Two minutes later, the phone rang. The project manager (whom we’ll call Andy, as that’s his name {unless you’re flying a jet with him [HDANCN?]}) was amused enough that he’s having a hard time talking, and insisted that I leave it live long enough to spring the joke on the actual clients. Heh.

Sometimes, being a geek is fun.

In which we track down bizarre bugs

One thing that separates real web people from halfasses (and no-asses) is the sheer quality of the code, and its adherence to <a href=””http://w3c.org”>standards. For a variety of reasons, “well, it works” isn’t a very good barometer of whether or not a particular page’s code is correct; some browsers helpfully adjust errors in HTML to produce what they think you meant, for example, which is great for that particular browser, but not so good for the developer, as it gives him or her a false sense of accuracy. Most modern browsers are more meticulous, so this happens less often now, but it’s still an issue.

The only way to make sure you’re doing right, then, is to (a) test in as many browsers you can find and (b) use a validator to ensure syntactic and semantic accuracy in your code. Many, many problems go away if your code validates; in fact, today’s lesson is how important it is to validate even if you think you’re already valid.

Be advised that while we all, I’m sure, are very, very careful about validating our HTML, it is equally important to validate our CSS as well. I spent an hour or so today trying to figure out why my formerly functional, carefully validated layout worked fine in Mozilla, Firefox, and IE, but failed utterly in Safari — frankly, a situation I’ve never seen before.

Only after remembering to validate my CSS did I discover the problem:

This rule had a typo in it:

      div#left h2 {
        color: black;
        padding-bottom: 0;
        margin-bottom: 5px;
        text-align: left;>
        }

The trailing > in the final attribute crept in without my knowledge, doubtless on an inadvertent keystroke. IE and Gecko browsers appear to have been ignoring it as garbage; at the very least, it caused no trouble for me there. In Safari, however, the entire layout was hopelessly broken with all three columns rendering on top of each other, etc — a pretty awful sight, and very discouraging.

Up to now, I’ve not had this particular experience — ie, everyone but Safari working fine. When I code to a compliant browser, I usually find that only minor changes are required to get an optimum presentation in all modern browsers, so this little problem took me completely by surprise.

Once again: validate, validate, validate. Then validate again. The time you save may be your own.

In which we point out the value of critical thinking

An opinion piece in Design News by Dan O’Dowd asserts, rather blindly, that Linux and open source software represents a national security risk when used in critical applications because some of the code comes from foreign programmers who might slip in some sort of trojan horse that goes undetected until it’s too late.

Leaving aside just exactly how unlikely this is — code is examined by maintainers pretty rigorously, and the sheer number of eyes involved, not to mention testing, strongly suggests that such a backdoor wouldn’t make it to official releases — let’s examine who O’Dowd is, and what he may have at stake here.

Actually, we don’t even have to look far: the article bills him as the CEO of a company called Green Hills Software which makes — wait for it — embedded systems software, an area where Linux is making substantial inroads. We trust that this makes clear precisely how trustworth Mr. O’Dowd is on this point.

In which we rant about T-Mobile

A couple months ago, I signed Erin and I up for T-Mobile service, carrying our old phone numbers with us. We got snazzy new Sony T610 phones, which are Bluetooth-equipped, therby allowing me to get to the Net via my similarly-equipped Palm. T-Mobile’s internet service was more or less the same as any ISP, and they allowed me unfettered access to their outgoing SMTP server (which, of course, you have to be on their system to use) since I can’t use my “normal” one associated with Earthlink without being on the Earthlink network.

Today, without warning, T-Mobile changed the rules. I can still get web, shell, and incoming mail on my Palm, but I can’t SEND mail. I called tech support and escalated a couple levels until I was no longer dealing with the idiot fringe, whereupon I discovered a new “feature.” In order go send mail from my normal account (at nogators.com), I needed to go to the T-Mobile website (horror that it is) and configure the account there, supplying T-mobile with my username, password, and mail server address so that they can mirror my mail on their servers. Only then would I be allowed to send using their SMTP server.

I’m sorry, but: What. The. Fuck?

It took a bit for my initial tech-support person to ferret this out, but she and her supervisor both confirmed this setup, as does the site itself. When they planned to notify their subscribers, however, was unknown. No one with half a brain should give up their mail password, nor should anyone similarly en-brained consent to mailbox mirroring. I pointed these facts out, and (no surprise) discovered the tech support people thought it was precisely as good an idea as I did.

My next call was to Brent, my corporate rep with T-Mobile. I explained the situation, and he understood immediately how unattractive their new plan was, and promised to get back to me next week about what workaround are available. I’m not terribly optimistic.

The only good part of the whole deal is that T-Mobile appears NOT to filter outbound SMTP traffic, so I can, if I can find one, use an external SMTP server. I don’t know of one, but I do have a box I can run one of my own on — except I’m not terribly excited about the additional hassles and such that this implies. However, I may not be able to escape it, at least in the near term — i.e., between now and when I show T-Mobile the door. Which SMTP package ought I use, and how can I lock it down tight enough that I don’t become Spam Central?

Technology vs. Copyright

Tivo has announced plans to allow users to share programs between their devices and computers, not unlike the way users may take videotapes and DVDs with them to play on other devices. It’s an attractive option for people; we can imagine sticking an episode or two of our favorite programs on our laptop before heading off on some tedious business trip, for example.

Predictably, of course, Hollywood hates the idea and wants the FCC to stop Tivo from doing it. Their arguments sound just like those used by Jack Valenti when the MPAA was terrified of the Betamax, a fact whose irony seems to have escaped the current crop of movie-making drones.

Because, you know, for those prices, you expect filtered WATER, don’t you?

One of the editors of Metafilter discovered that his fancy high-speed hotel Internet access (at the Villa Florence, in San Francisco) came equipped with a filter that prevented him for accessing, among other things, his own site.

Wow. This suggests the IT folks there are both stupid, since they installed filters on their employee network in the first place, and lazy, for not having a parallel, unfiltered network for paying guests. Way to go!

In Praise of BugMeNot.com

We mentioned these guys before, but in case you missed it, Wired has a story on them. Basically, they’re completely ruining the “you must register to read this story” paradigm hamhandedly adopted by a good chunk of the newspaper industry. Sham logins are nothing new; there are several common-knowledge name/password pairs for the New York Times, for example. BugMeNot takes it up a notch, though: they have logins for some 14,000 sites, and there’s even a Mozilla plug-in to make it even more effortless. What’s not to like?

It occurs to me that this tactic is basically the same as signing up for a grocery store affinity card with a false address (or with someone else’s address); you’re spoofing the system because the “authentication” is meaningless and invasive compared to the payoff. Why should I pay above-market prices for groceries because I won’t give Kroger my home address? Likewise, why give up any data at all in exchange for reading news we can get from a hundred other sites for free?

In which we notice that we’ve been geeks for a long, long time

On another online forum, someone noted that they felt terribly old when visiting a computing museum, as some of the software displayed in glass cases included code they’d written. Ouch.

I’ve not been around quite that long, but the comment did make me realize that my first computer — 16KB of RAM, 6502-based, no disk drive — is almost certainly the single most primitive piece of electronics in my home, exceeded in all meaningful capacities by such heavyweights as my Tivo, our new stove, the toaster, various calculators, what-passes-for-a-Walkman-these-days, and who knows what else. That our phones are smarter is no surprise, either; my handhelds have exceeded its meager profile for years (the new one sports 20MB or so of internal RAM, plus an expansion card of 256MB).

A slightly more amusing development is that you may now get watches and pens with more memory than that computer by several orders of magnitude (for the watch, the difference is 32,000x). Of course, since those are two areas where I prefer simple mechanical devices, the old TRS-80 is spared at least that humiliation.