1. The BabelFish Blog
  2. >>
ESR: "Free Hardware": A Trojan Horse?
ESR: "Free Hardware": A Trojan Horse? ESR: "Free Hardware": A Trojan Horse? June 4, 2004 10:54 AM
Over the past years I have often posted notes around the web as part of various discussions. It occurs to me now that I should perhaps have gathered them together on a blog. Then at least some of my time would have been better accounted for. Each piece of writing should first appear on the main blog, giving me a chronological view of my writing, but the same post should then be added onto another subject sepecific blog in the manner of a wiki.
A nice note from the Apache folk
A nice note from the Apache folk A nice note from the Apache folk June 3, 2004 9:47 AM
Relating to my first open source contribution: This work is very good quality, and would be exactly what I would do in a private library. Regrettably commons collections must preserve the integrity of the HashEntry abstract class and cannot change it to an interface. If an AbstractHashedSet ever gets created then an interface design should be used. Thanks for the code, unfortunately closing as wontfix due to backwards compatability.
Counterproductive secrecy on OSX
Counterproductive secrecy on OSX Counterproductive secrecy on OSX May 23, 2004 12:48 PM
I have just spent way too much time this last week trying to argue the case for more openness at Apple. I love my Apple as I mentioned in my previous post, but there seems to be some confusion in Apple on how to deal with developers, that can get very irritating.

The event that started this episode was Apple's announcing a second release of a preview version of its java developer package.

Apple releases preview fixes of its developer package, but is very secretive about it. One can download the software from the developer site, but is under the obligation to only discuss the technology on one restricted non archived mailing list. This is completely the opposite of what I have been used to with Sun's Java Virtual Machines that are openly available, where you can download the latest beta with no such draconian speech restrictions, where you can file and browse bugs, and find work arounds to those bugs on an open database for all three of the platforms supported by SUN: Solaris (x86, sparc), Linux and Windows.

On the Apple platform it is recommended that one not install the preview release on one's main machine but only on a second spare partition, as one cannot uninstall the preview: it overwrites the installed j2se1.4. None of the other platforms I have worked on had any such restriction. On those platforms it was dead easy to run all the JVMs simultaneously.

This was the second preview release and I thought a little enthusiastically that I could help Apple out by testing it. I should not have. As it turned out there were still a few bugs in that preview release that slightly but annoyingly break some of the Applications I am using. And of course there is no way to go back to the previous version. I don't have enough hard drive to partition my disk, not enough money just now to buy one. So I am stuck with a broken JVM for the next month or so.

Well I acknowledge my mistake, and am paying for it with a broken Java installation. But it did spur me on to finally speak out at length about the counterproductive, if not ridiculous, secrecy on the Apple platform. Java is open, not quite enough, but very close to fully open. Apple is trying to be secretive about their implementation of Java, which they are contracted by SUN to be 100% compatible with the standard. So we all allready know what is in store for Java - we just need to look at the other platforms. The current Apple policy is as ridiculuous as trying to hide a piece of common knowledge.

  • Initial Post: Java Seed Should be more Open
  • a skeptical reply: a long list of its broken but that is the way it is, and that's life type posts.
  • a supporting post: Apple should distribute the jvm like everyone else.
  • a second post of mine where I now try to shift the topic towards the more general openess issue. I did ignore the initial reply to my initial post as I was a bit tired and did not want to get bogged down in the details of how one could deal with the problems as they are now. My theme: this lack of openess does not make sense if you look at the general direction towards Open Source that Apple has taken recently. This must be the result of a legacy policy that has not been thought through.
  • where I get told off for ignoring the criticisms to my first post, and how I should not bother the list with this well rehashed complaint. In my defense, I did not just complain, I also filed two bug reports which I mentioned on the list.
  • Steve Roy who does not understand why one may want more than one VM on one's computer. (I like his web site, he has contributed some cool looking code.) Anyway this response of his led off to a long thread where the nearly obvious case for having the choice of which VMs one can run on one's machine had to be made in detail. I am open on this issue somewhat. It is clear that that is of benefit mostly for server side applications, and since Apple is a consumer OS, well then this is up to them.
  • a hedged agreement
  • some supportive examples of how multiple VMs could be helpful in an enterprise environement.
  • another explanation of why it may be helpful to have more Virtual Machines available on a server in an enterprise environment.
  • a tough attack of one of my supporters. This is a powerful variation of "you can always go somewhere else", and "there are ways of dealing with these issues". True. It would be nice if Apple could make things more simple for its developers, but not everything hangs on that. Still the lack of openess is a big part of what is bugging me. And, well, one can always work one's way around problems, but given the ease of working on other platforms, this argument looses a little of its strength. If all of this works so well elsewhere, why does it have to be so difficult on OSX?
  • On Monday Jim Douglas asked a question in a new thread entiteld "how do you browse the java bug database?" that led to a similar topic, but where the point was easier to make.
  • The conversation led to the point where Tim Boudreau was finally able to clearly reveal the completely bizaare form of social engineering the apologists of the Apple situation were painting.
  • To this Mickey Segal pointed out how the current rationalisation for the current bug logging system at Apple can have very odd consequences, in that open lists of java bugs will end up reducing the number of bug reports posted, and so perhaps reduce the attention paid to them.
  • This allowed me in a very long semi-historical explanation to explain why one should not deduce from the fact that things are broken at Apple that they are intentionally so, which a lot of people defending the status quo seemed to be believing. There is a confusion at Apple between how they treat the consumer, and how they treat the developer. These are two very different clients of Apple products. To give a consumer bug entry form to a developer would be like giving a moving agency a Citroen 2CV to move the contents of your house. As the secrecy has well known historical roots, that have now been invalidated by all the other Open Source announcements at Apple, my feeling is that it would be an extreemly simple matter to get all this fixed at Apple.
  • On my final post I draw a parallel between an opponent's position and the Coyote's fall, which illustrates this entry. Well that was fun at least :-)

So there we are. I have put more than a full days work to help convince Apple, and other people reading Apple's Java developer mailing list that for very little effort they could bring a great deal of improvements to their lives and those of the developers using Java on Apple. I have filed two bug reports concerning policy at Apple. I reported one bug on an upgrade of the current JVM. That is really enough work from me for Apple.

Hopefully this contribution will be visible and help make a difference at Apple. Then my effort will have been worth it.

My 17 inch Apple laptop
My 17 inch Apple laptop My 17 inch Apple laptop May 22, 2004 9:11 PM
This is my laptop. And I think it may explain in part why I am so happy to work on Open Source projects for no pay.

The first thing I did when I got this laptop is to digitise my entire music collection in AAC format at 160kbs. I then digitised my parents and all my sisters music too. For the first time in our family's history my parents are really able to listen to all the music they have had. CDs used to be just too much trouble. Remember the day when you had to search for the CDs, that you knew someone was bound to have mislaid? The discipline required to keep track of one's music collection went counter to the spirit of the music itself. I now have 500 hours of music on my laptop. And it is not enough! I can see very well that in the future people will be appalled by the idea that we used to listen 100s of times to the same interpretation of a piece of music, when there is not time in life to listen to even a fraction of the best interpretations. There is so much music out there.

So now I can work while listening to music, on a computer designed with a musician's attention to detail. All the pieces are in accord. The solid unix OS allows me to do my work easily and fluidly. The fonts and graphics allow me to read the text without getting distracted. The Java integration gives me all the tools I need to build projects that work as well on the other machines as they do on my own.

And I know that if I want to move - perhaps because of Project Looking Glass - I can. And I know Apple knows that. And I know that helps them focus on improving their technology in such a way as to make it less likely for me to move. Open Standards are a bit like a democracy: their lock in is freedom.

Open Source: My work on BlogEd
Open Source: My work on BlogEd Open Source: My work on BlogEd May 31, 2003 12:18 AM
I first heard of Open Source software cursorily in the early 80ies when I discovered Lisp Machines, the internet and other revolutionary technologies at the Centre Mondial in Paris. After leaving computing for close to 10 years for advanced philosophy and basic mathematics, I rediscovered the concept with linux whilst at Imperial College in 1995, installing an early version of it through an external scsi drive, on my father's 40MHz laptop. At about the same time I discovered Java. I was immediately a convert. Linux was proof that Unix was unkillable, Java the solution to the platform fragmentation problem.

I have used both nearly exclusively since then. I thank Java for getting me a job at AltaVista, which then led me onto the fun BabelFish project. But since then I never really found the time to contribute back to the community other than as an ardent advocate.

Having in the last few years worked on a few dead end jobs, I decided I would be better off contributing to the community instead. That way at least I could choose a project that would be of interest to me, be judged only on the result of what I did, and learn by doing.

In Febuary I contributed unsuccessfully a patch to the Apache commons collections project. My patch was a good improvement, but broke slightly the binary compatibility of the library - something I had not considered before. This experience made me understand better than anything before the power of the private, public, default and protected keywords in the java language, and the importance in a public library to limit the publically visible methods and classes. The experience was good, so I decided to look for something a little bigger.

In early March I found a todo item on the BlogEd site that related to the semantic web, one of those fields where - as with the BabelFish - philosophy and computing meet. I asked if there were any projects I could help on. The utility of an xml-rpc link to servers such as SnipSnap was mentioned by James Gosling, among other things. This looked like a nice small term project I could get finished in a reasonable amount of time. So I started working on it. It introduced me to the internals of BlogEd itself, and to the blogging world in general. I was able to get a link to Movable Type and SnipSnap working, and checked the code in, along with a bunch of other fixes in mid April.

The work on the xml-rpc link revealed one of the acknowledged limitations of the bloged data file format, which led me back to the initial hunch left by James Gosling that something RDFish could be the way to go. This is a very interesting topic which I am currently working on. It has given me the opportunity to investigate the development of the Semantic Web over the past 5 years, which was quite a lot of stuff to catch up with. It has for the first time in a long time led me to a conversation where a philosophical subject has been of direct relevance to the computing issue at hand. I really look forward to more such discoveries. And I certainly would never have found this area so clearly had I not just taken the time to follow my own interests in an open way, by helping along in the community.

The benefits from working in the open has therefore not just been the technological skills I have aquired, or the knowledge gained, or the help it has given me in discovering a fertile field of research, but also the numerous people I have met along the way, such as James Todd, a Sun engineer who has been really helpful and an enthusiastic supporter, Danny Ayers for his Atom in Owl, various people at the W3C involved in the Semantic Web for helpful comments on irc, James Gosling of course, and many others.