Older blog entries for sab39 (starting at number 75)

The reinvigoration of Classpath?

(Disclaimer: I'm just observing all this from the sidelines; my opinion is almost entirely derived from Planet Classpath and the Classpath mailing lists. If I'm wrong on some salient point, please comment and let me know!)

I'm very pleased to see that the Classpath project seems to be picking up some of the steam it lost on the announcement of OpenJDK. I have mixed feelings about OpenJDK itself: on the one hand, Sun did exactly the right thing by releasing the JDK under the best possible choice of license as we'd all wanted for years; on the other hand, I've seen at least two blog entries on Planet Classpath in the past week that were variations on "hooray, the trivial patch I submitted to OpenJDK the week it was released has been accepted a mere three months later!"

IcedTea appears to have picked up some of this slack and last I heard had built a mostly-working Java implementation by plugging in Classpath code to fill the holes in OpenJDK. Haven't heard much about it lately though - has development stalled or are people just not blogging about it?

However, part of me feels that IcedTea is approaching the problem from the wrong end. The code that the Classpath developers have labored over for ten years deserves a higher place than being used as filler to patch the holes in an inferior, ex-proprietary codebase. I'm not trying to argue that Sun's code is "bad" or that Classpath's code is perfect, but I do know that code developed in the bright light of public view, with no schedule pressures other than "when it's right", is invariably higher quality than code developed inside a large, bureaucratic organization with constant pressure to ship to a deadline. The fact that these things have historically affected Java's development is apparent in the public API: public members whose types are nonpublic, public RCSID fields, serialVersionUID fields defined on interfaces.

The difference is apparent in the sheer size of the codebases - the JDK is several times the size of Classpath, despite Classpath providing the vast majority of the same level of functionality. (I'm actually considering sticking with an older version of IKVM for this reason - file size matters when you're building an installer that's being shipped over the network). It's apparent in the fact that Classpath has a clean API for targeting multiple VMs including VMs for which native code is unnecessary, where the JDK's VM interface is internal and relies heavily on native code.

It seems to me that there would be a lot of value in approaching an OpenJDK / Classpath merge in the same way the libgcj and Kaffe merges were approached: compare the code on a class-by-class basis, bring in whichever implementation is best, and change it if necessary to account for things the other implementation did better. My gut instinct says a lot more Classpath code would survive that process than is surviving today in IcedTea - and the end result would be significantly smaller, cleaner, faster and bug-free-er.

I don't know whether the copyright ownership issues have been resolved yet to make it possible to actually pull OpenJDK code directly into Classpath though.

Regardless of what approach ends up being taken, though, it's good to see work happening on Classpath again, and a new release being contemplated. I guess it means I need to get those darn Japi runs happening again though!

Syndicated 2007-09-21 12:47:07 from sab39 ... Blog

Confused but Japi

The Japi runs for the last couple of days have gotten very confused. Yesterday they started believing that JDK7 had no classes in it; now they seem to believe that Classpath doesn't.

I'm not sure what's going on just yet, and I haven't yet had time to do any actual investigation. In the meantime, I killed today's run as soon as I noticed what was going on; no Harmony results today because I'm almost sure they'd have been bogus anyway.

I'll keep you posted.

Syndicated 2007-09-20 11:05:09 from sab39 ... Blog

Let's moon 'em!

I make no secret of the fact that I'm really excited about the private sector finally getting into the spaceflight business. I consider SpaceShipOne's historic flight to win the X-Prize to be one of the more significant historical events in my lifetime. Watching SpaceX's Falcon rocket almost reach orbit gave me chills. If one day I get the chance to ride Virgin Galactic to a Bigelow space hotel, I'm SO there. And mankind just bloody better have colonized Mars by the time I die or I'll be pissed.

When the rumors started about a new X-Prize I was assuming that it would be for orbit. After all, as critics were quick to point out, SpaceShipOne's achievement, while impressive, was a LONG way short of what orbit would require - and orbit is kind of a prerequisite to getting anywhere else.

But nope. With the help of Google they've gone one better - the new X-Prize will be for putting a robotic lander on the moon. Impressive! I wonder how long it'll take to be won...

Syndicated 2007-09-13 16:45:02 from sab39 ... Blog

Dawn, the Alpha Dog

One of the men I admire most in this world is my friend, Adam Dean. Despite being born with cerebral palsy, resulting in a speech impediment that limits the number of words he can actually physically say to almost single digits and a right arm he's entirely unable to use at all, Adam never thinks of himself as "disabled" and has achieved more than many "able-bodied" people even aspire to. He lives alone, doing all the day-to-day chores he needs to do for himself (just imagine doing all your chores one-handed). He has a very successful career as a lawyer, using a speech synthesis device (think Stephen Hawking) to communicate. On a personal note he's a loyal and generous friend. And now he's also a published author.

Adam's first book, "Dawn, the Alpha Dog... and Related Stories", is now available. The book is billed as a collection of short stories, but for the most part it reads as one coherent story told as a series of moment-in-time snapshots over the course of a relationship. It's well written and an engaging read, with characters that you can believe in and root for - or sometimes against.

The stories are written in the first person, and Adam gave the protagonist the same disability he has. One of my favorite aspects of the book was the inclusion of little asides that give insight into what it's really like interacting with other people when something as "simple" as speech is a significant effort. But at the same time the story is universal; the real communication issues in the story are the same ones anybody would face in Adam's character's situation.

I found the book to be strongest when it was telling a continuing story, and weaker in the occasional moments it lived up to the "collection of short stories" billing. One of the stories doesn't feature Dawn at all; it was a good story in its own right but felt out of place in the context of the book. Another focuses primarily on the protagonist's struggle against a (perceived) vice, with only a tangential connection to the relationship with Dawn. It's perhaps not fair to fault the book for the times it's exactly what it claims to be, but I can't help feeling that those pages would have been better spent fleshing out the main storyline.

My only other complaint about the book is that it's too short - I'm just greedy :)

Adam will be doing a signing of the book at Empire Books in Pullman Square, Huntington, WV, at 4pm on Saturday August 25th. I don't think my blog has many readers who happen to be in the Huntington area that don't already know Adam, but just in case...

Syndicated 2007-08-16 14:21:49 from sab39 ... Blog

Let us think the unthinkable

"Come," he said, sweeping through the door to where Miss Janice Pearce sat glaring at a pencil, "let us go. Let us leave this festering hellhole. Let us think the unthinkable, let us do the undoable. Let us prepare to grapple with the ineffable itself, and see if we may not in fact eff it after all."
-- "Dirk Gently", "Dirk Gently's Holistic Detective Agency", by Douglas Adams.

One of my favorite Adams quotes, and the reason for the new tagline on my homepage. According to Google I'm about the 14,101st person to use the phrase, but I don't think Mr. Adams will mind.

Syndicated 2007-08-07 00:44:53 from sab39 ... Blog

Curse you, thermodynamics! You win again!

It's well known that the laws of thermodynamics forbid the creation of a "perpetual motion" machine - that is, any device that can run forever without any external power source. Many attempts have been made to get around this, but they've all proven to have some fatal flaw.

Many creative thinkers believed that the problem had finally been solved for good with the design of the CBTD, or Cat Buttered Toast Device. I first heard of the CBTD at least fifteen years ago. This ingenious creation is based on two laws of nature even more inviolable than those of thermodynamics:

  • A piece of buttered toast, dropped on the floor, will always land buttered-side down.
  • A cat dropped on the floor will always land on its feet.

The CBTD consists, quite simply, of a piece of buttered toast strapped buttered-side up to the back of a cat and dropped on the floor. By the laws of the universe, it cannot land cat-side down because then the toast would be buttered-side up, but it can't land toast-side down because then the cat would not be on its feet. The CBTD must therefore hover above the floor, spinning endlessly trying to resolve the dilemma.

Many scientists have pondered the CBTD over the years and almost all have come to the conclusion that it is indeed flawless - the holy grail of a perpetual motion machine has finally been discovered. (Animal rights activists have, sadly, succeeded thus far in preventing any experimental verification).

In the past 24 hours, however, research into the matter by a new entrant in the field has led to an extraordinary breakthrough, proving indisputably once and for all that the CBTD is doomed to failure. Careful observation of many cats has led to confirmation of the radical notion that cats like the taste of butter. Therefore, when strapped to a piece of buttered toast, the cat (possessing as it does considerable flexibility and a keen sense of smell) would inevitably lick the butter off the toast. Thus, the CBTD can only spin a few dozen times in mid-air before the toast, deprived of butter, becomes free to land either way up.

Thermodynamics has foiled us again! But it will be defeated eventually. After all, it was widely believed that nothing could travel faster than light, until that was firmly disproved - to the disappointment of scientists and normal human beings alike - by the discovery of PHSVT (Paris Hilton Sex Video Theory).

Syndicated 2007-08-06 17:44:37 from sab39 ... Blog


My blog is now running on cmScribe 5.0. This will mean nothing to most people reading this, but it's a big deal to me, because in 5.0 I managed to achieve a whole lot of things that have been goals of mine for cmScribe since before it had a name, and before anyone else who still works at NetReach now was even employed there. Except for Will but he cheated by leaving and coming back.

The upgrade process is fairly seamless but under the hood everything's changed. As well as running on .NET 2.0 (we could run on 3.0, but since the two are identical, why bother?) we're taking full advantage of the new capabilities of the 2.0 version of the framework: every ArrayList and Hashtable in our code has been replaced by a List<> or a Dictionary<> and our custom-coded nullable type wrappers have been replaced by the framework's Nullable<>. Instead of a kludged-together build process, we integrate nicely into Visual Studio's build process using msbuild. We've moved from SourceSafe to Team Foundation internally. And taken advantage of the fact that msbuild and tf are true managed applications by replacing all our hacky vbscript, perl and bat scripts for branching, upgrading and pushing with a single C# application.

The change that's most interesting to me is that in 5.0 we've managed to make cmScribe truly modular. We had something like modules before, but everything got compiled in one go into the same assembly, so there was no way to enforce rules about what code depended on what (except for me going over to people's cubes and saying OMGWTFBBQ at them). We also had a nasty habit of adding customizations to individual customer installations of cmScribe by changing files that were part of cmScribe itself; this was expedient but always caused issues when it came time to upgrade to a newer version.

Today, each module is built separately; dependencies are declared explicitly (and circular dependencies are impossible). And we've added - and enforced the use of - mechanisms to customize the behavior of cmScribe panels by adding extensions to them, rather than changing the original. The extensions typically live in a separate module from the panel being extended, so the base cmScribe modules are used unchanged.

The end result being that cmScribe modules are strictly separated from each other, and customer customizations are strictly separated from core cmScribe code.

Next up: trying to convince the Powers that Be that building a community of developers around some of the cmScribe core modules is possible and valuable and that liberty is the best way to achieve that :)

Syndicated 2007-06-09 20:57:47 from sab39 ... Blog


I once got a tan in Reno, cos the sun was in the sky.
I once ottoman in Reno, so my legs were held up high.
I'm a Potter fan in Reno. WHY DID PADFOOT HAVE TO DIE?!?!


Syndicated 2007-04-17 01:28:10 from sab39 ... Blog

10 Downing Street responds - "software already unpatentable"

At least, that's how I read the Prime Minister's response. While there's a degree of weasel-wordage as would be expected from a politician, the gist definitely seems to be anti-software-patent. As opposed to parroting the industry party line of "patents are good for innovation"...

Syndicated 2007-02-27 02:50:33 from sab39 ... Blog

A rant about blind spots

This post by Miguel articulates very well something that I've been hoping for a long time that someone would say in the debate regarding ODF and Microsoft's OOXML format: that "ODF good, OOXML bad" is a GROSS oversimplification of the situation. Mainly because ever since it's release, ODF has been content to rest entirely on its laurels as the "Open" and "ISO Standard" office file format specification - completely ignoring the fact that on a technical level it just plain SUCKS.

Isn't the Open Source movement supposed to be all about making software that doesn't suck? Isn't Free Software supposed to be about the freedom to FIX problems? Aren't we supposed to be a meritocracy?

A spreadsheet format "standard" that doesn't define formulas? What the hell? How ANYONE with a straight face can claim that the problem of standardizing office file formats is "solved" by ODF and all we need to do is get people to use it, is beyond me. Maybe it's the best starting point - but where's the group working to fill in the glaring holes and get that standardized too? Free Software interprets sucky standards and glaring holes in standards as damage and routes around them... by forming other groups to specify the behavior, or by moving to other standards that don't suck. See WHATWG. See CORBA on the desktop. See XML Schema. Perhaps OOXML is that better standard, perhaps it isn't, but I don't see anyone on the ODF side even admitting there's a problem to be solved [UPDATE: Apparently there is such a group, called OpenFormula, working to fix that particular hole. That's great and I wish them every success, but it's mostly irrelevant to my main point. See the comments for more...] As long as that attitude persists, OOXML has a better chance of being that better standard than ODF does of evolving into it.

We take pride in the fact that our licenses will never discriminate against any person or organization or field of endeavor. Any licence that passes the DFSG or OSD is GUARANTEED to ensure that the software may be equally used by an evangelical Christian group or an abortion clinic or a gay rights group or a pornographer, by the United States government or by islamist extremists, by the EFF or by patent lawyers, by pacifists or by the military, by spammers or by antispam organizations... I could keep going, but you get the idea. But this isn't just a minor point, this is the CORNERSTONE of what Free Software is all about. Freedom means nondiscrimination. Including against people we as the developers of the software find distasteful.

So why is it that we make a point to treat pornographers, extremists, spammers, and even evangelicals ( ;) ) with fairness and equality, but the moment Microsoft is mentioned we forget all about that freedom and fairness and meritocracy, and immediately object vociferously and almost unanimously, EVEN when what they're doing is RIGHT?

Why is it that Groklaw, the site that earned a reputation for fairness and objectivity by making a point to give SCO's claims every possible benefit of the doubt and patiently examine every one of their claims including any time there was the ghost of a chance they might have some semblence of a real point - why is it that Groklaw had a fit when someone wanted to submit a Microsoft license to the OSI for evaluation, when by all accounts the license in question DOES pass the OSD and DFSG?

Why is it that Groklaw reported the MS-Novell deal with the headline NOVELL SELLS OUT - long before there was ANY chance for ANYONE to have examined the nature of the deal to know whether it was actually problematic or not? Why are otherwise reasonable people like Bruce Perens claiming that Novell is the next SCO, when it's completely obvious that Novell's lawyers simply made a mistake and are working with a perhaps intransigent group of MS lawyers to figure out a way to fix the problems? Even one of MS's lawyers has come out and said this outright.

So why are we vilifying Novell and treating them as outcasts, rather than recognizing that they, like IBM with patent lawsuits, like Sun until very recently with their Java licensing, like Canonical with binary drivers, and even I'm sure like Red Hat although I can't think of a blatant recent example - are a company that does a lot of good things but have made a bad decision?

And why are we treating Microsoft as the embodiment of pure evil rather than a company that does a lot of bad things but in the case of OOXML is actually doing the right thing - coming up with a file format that is by all accounts a vast IMPROVEMENT over ODF, is freely licensed including patents, independently implementable, doesn't have any HUGE GLARING HOLES in it, is actually documented and specified in detail, and being submitted to ISO for standardization.

Yes, there are problems with OOXML. It's stupid to standardize options for backward compatibility with old proprietary software when you've gone to all this trouble to invent an extensible format with all sorts of ways to embed extra proprietary information. Using that extensibility to support the legacy crap should be a no-brainer, and I hope this will be fixed in the ISO comments period. I'm sure there are other issues too. Maybe lots of them. But at least it's (almost) fully specified, open, and freely implementable - of which ODF manages only two out of three.

If you want a child to learn good behavior, it isn't enough to point out and punish the bad behaviors. You have to point out and reward the good ones too. It's well established that rewarding the good behaviors has a vastly greater effect, in fact. And punishing the GOOD behaviors is OBVIOUSLY counterproductive. Microsoft obviously isn't going away any time soon; to ignore them or think we can make them irrelevant is delusional. If we ever want them to be a good citizen, if we ever hope for them to become a productive MEMBER of the Free Software community, we should be pointing out the - perhaps small and rare - good things they do and making a HUGE deal about them.

I'd bet quite a large sum of money that in ten years time Microsoft will be the largest producer of Free Software in the world; that Windows and Office will both be released under Free, Open Source, DFSG-compatible licenses by that time. We can bring that day about sooner by working with the elements within Microsoft that are pulling in the same direction as us, or we can delay it by treating Microsoft as the enemy which only strengthens the elements within Microsoft that think of US that way. I know which future I'd rather see.

As a footnote: Microsoft just released the ASP.NET AJAX client libraries under a DFSG compliant license. I don't know if that will be the first package in Debian main with Microsoft as the upstream, but I am completely sure it won't be the last...

Syndicated 2007-01-31 15:33:08 from sab39 ... Blog

66 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!