Friday, 27 June 2008
Eclipse 3.4: Ganymede has landed!
I'm so happy I can hardly contain myself!
I'm so happy I can hardly contain myself!
This is a MathML test:
The blog engine is not using the right document type, therefore the formula is not showing.
Literally the mother of all automata, this brain child of mathematician John von Neumann is a self-replicating cellular automaton. Italian researchers Umberto Pesavento and Renato Nobili actually implemented von Neumann's designs in 1995, a that time a MS-DOS program. To actually see it run is as mesmerizing as watching a domino downfall record attempt, with the noted difference that this organism is actually putting new pieces on the board as it plays out. Once completed a kiss of life is transferred to kick-start the spawn, which starts replicating in its turn. Incidentally, an automaton without the au is not a tomato, that's why it is tomoton instead.
In a feat which would tempt Charles Darwin to actually start breakdancing, Karl Sims emulated evolution in a simulated physical environment. Using a graph-based code analogous to DNA which described virtual creatures in terms of both a blocky body skeleton as well as a nervous system, a genetic algorithm tested generations in their ability to swim, walk or jump. The computations were executed using a massively parallel supercomputer called the Connection Machine at Thinking Machines Corp., defunct since 1994. The resulting zoo of creatures looks eerily familiar, without intervention of any intelligent designer at all.
Built one layer on top of another by nobody and everybody, the Internet is everything including Packet Switching, TCP/IP, the World-Wide Web, all the way up to a myriad of social graphs.
Technorati Tags: computer science von neumann cellular automata karl sims virtual creatures packet switching internet
The entry in Wikipedia on Byzantine Fault Tolerance seems to suggest that the failure of a compiler to report rigorously on the remaining code base, once a syntactical error has been encountered, is an example of a Byzantine Fault.
Somehow, as Byzantine Fault Models are a topic of study in the field of distributed computing, this example feels a bit out of place. The stated problem does not illustrate a specific known issue with distributed compilers either, since it can easily be demonstrated with a compiler running on a standalone single-processing machine. Is this example perhaps the result of Babylonian confusion?
The above example shows a first attempt to make the compiler trip over itself and generate a superfluous error, but does it? Unfortunately, this little ambush yields only one error in the Problems View: in the Java Editor the access modifier of the constructor is flagged as the offending syntax. That's a near miss, of course. The screenshot is taken from the JDT bundled with Eclipse 3.2.2. It can be reproduced on Eclipse 3.4M7.
Remarkably, the Outline View shows a class with the alledgedly offending constructor visible. The incremental compiler of the JDT has classified this error, but managed to create a class file nonetheless. Other objects can invoke this constructor. The fact that a marker is reporting an issue on a working construct is very confusing. It would not be unfair to flag this as a JDT bug. Even if the broken statement is the cause for the compiler's faulty marking, at the least the broken statement should have been marked as well.
A quick comparison with the competition, Netbeans 6.0.1 shows that it can be done. Netbeans complains that it cannot find the class dontSto.
This run-in with the unexpected behaviour of the JDT compiler might have taken the attention away from the original question, yet so far there is no tangible evidence to support an analogy with the underlying Byzantine Generals problem. The compiler is simply struggling with problems studied in the field of Formal Languages Theory. Call it a Babylonian Fault instead if you will, even by granting some vague similarity in terms of recognizing a locus of fault, Byzantine it surely is not.
Technorati Tags: eclipse byzantine fault tolerance compiler jdt
Much overdue, this final reflection on JavaOne 2008 centers around the Javan Condition.
Unlike what the picture suggests, James Gosling, even though he is the father of Java, never comes across as self-important or irritating. Quite the contrary. There is a genuine warmth and friendliness in his approach, perhaps even parental poise, if you will.
It's a coolness which is very much on its way out in our very own Java community. Java has gone mainstream religious and schisms are abundant: the fragmentation of the landscape is quite profound and discord has turned pandemic. Apart from the obvious power struggles between Sun, IBM and Microsoft, Java aficionado's have become entrenched across tribal boundaries, each tribe toting its own totem JEE application server. These days, even simple projects fail to stay humble, where the fallen out prefer to pursue personal glory on yet-another-me-too road to nowhere. Admittedly, just participating is enough to drive the wedge.
Once, the Java camp prided itself on being to new kid on the block which would solve all the problems which plagued software development thus far known to man. Yet right now, there are already new heathen crusaders just outside the gates of Duke's realm, claiming exactly the same; singling out Java as the real problem. Strangling pet snakes and priceless gem stones are trying to convince us that the coffee ain't what it cranked up to be. Even the noble intent of the language designers to simplify and unify, by stimulating more literary coded programs which would run on many platforms at once, is now deemed a challenge to the proper teaching of computer science principles.
Obviously, JavaOne has become a bit of a misnomer, and it seems JavaTwoMany would be more appropriate. In the spiraling fractal that is fragmentation, its shattering sound can no longer be heard in the noise of the ever expanding long tail. The cocktail effect of the Web 2.oh-no generation drowns out many voices of reason. It was comforting to see, that at the end of the day one man was still left standing.
The photo was taken by Yuichi Sakuraba. It has been made available under Creative Commons license 'Attribution-Noncommercial 2.0 Generic'. You can find the original here.
Technorati Tags: javaone james gosling fragmentation
Thursday was the last possible day to visit the JavaOne Pavilion. As mentioned earlier, the Eclipse Foundation had a booth there, and so had IBM.
As IBM had Lotus Expeditor on display, originally pitched as a 'universal desktop client integration framework', it seemed like the perfect opportunity to check up on recent developments. Unfortunately, the attendant responsible for that part of the booth had gone missing. None of the other attendants managed to provide any information, stating that they didn't know anything about it. Too bad.
Then there was the highly anticipated session in the afternoon: 'Developing Semantic Web Applications on the Java Platform'. While the presentation provided a nice overview of the current state of affairs, a concluding statement on Java's natural ability to develop the Semantic Web seemed more motivated by a desire to please the audience, than by any desire to share insight into the matter. Anybody working with Jena or other Java-based tooling can testify to the opposite. Similar to the situation with table-based database systems, the paradigm mismatch between the object-oriented approach of Java and the concept-oriented approach of the Semantic Web, makes application development burdensome. There is still work to be done in this area and the results are expected to be in line with the work already done for the Java Persistence API (JSR-220).
Technorati Tags: javaone eclipse lotus expeditor ibm semantic web jena sesame
Sure, we all like to be part of the next big thing. Aren't we all very keen to jump on the social networking bandwagon? Don't we all love toying with new technology? And nobody wants to be left behind. Because it's cool, it's clever. It makes us look good!
Unfortunately, technology comes with a great responsibility, too. Any system designed to automate our comfort in support of our well being, is bound to lull us into a false sense of safety.
You'll know once you too stumble across this:
It is nothing less than nefarious to see advertising of this kind on a social networking site, not named here. In the middle of the worst credit crisis recorded in human history, one might assume there is no place for such belligerent greed. As if there would be a place for that whatsoever, at all.
Technorati Tags: ethics social networking credit crisis
The award for the most fun experience at this year's JavaOne conference undoubtedly goes to the Sun SPOT hands-on lab. Unfortunately, that also meant writing code with the NetBeans IDE, but that couldn't spoil the fun with these little gizmos.
Some video recordings of that session have been included, below. The Sigma DP-1 needs some closer investigation in terms of the possibility to attach a macro lens. The following videos are too blurred for comfort. Still, better that than no video at all.
You can find more information about Sun SPOTs here.
This is very much like a pilgrimage, where believers come together to express their devotion.
The Eclipse Foundation has a fairly small booth here in the Java Pavilion. For those of you who have attended EclipseCon in Santa Clara this year, you might be in for a shock. As Galileo Galilei already discovered in his time, challenging the opposing religious view doesn't always take you on that path of glory you were hoping for. This is NetBeans country, stranger. You can read Ian Skerret's thoughts on the matter here.
According to James Gosling himself, JSR-001, a.k.a. the Real-time Specification for Java, is the first and only JSR he actually worked on.
This particular flavour of the Java run-time only works with real-time operating systems, such as OpenSolaris or Linux.
Even for an experienced Java programmer, real-time programming takes getting used to. The real-time constraints impact the platform profoundly, especially in the area of memory management. The complexities of dealing with the Java garbage collector in real-time scenarios have led to explicit memory management strategies which tend to feel... alien.
Even though you might be tempted to stick to ready meals, it is always worth it to do your own cooking at home.
If you find yourself tempted by a juicy beef loin tenderloin steak, or filet mignon, why not give yourself a treat by preparing it with a nice béarnaise sauce. Of course, you will want to make this sauce yourself in the French traditional way; not using industrial simulacrum goo from some jar or Escoffier forbid, by mixing water with some packaged powder.
While it is not always straightforward to find basic ingredients in U.S. markets, you're bound to find what you need hidden in some dark corner of the isle. A good recipe for reference can be found here.
Technorati Tags: food bearnaise sauce filet mignon beef loin tenderloin
The opening keynote address at JavaOne 2008 makes one thing clear: Sun Microsystems wants to make you believe it is committed to JavaFX. Targeting multiple multi-media platforms at once: browser/desktop applications (or should I say 'Rich Internet Applications'), mobile applications and even set-top box applications. Unfortunately for Sun, the company has a track record of missing the mark and failing to recognize trends or for that matter to formulate subsequent appropriate actions. To say JavaFX is late, indeed very, very late is an understatement.
These failures have been one of the major driving forces underlying the fragmentation of the Java landscape, scattering disgruntled believers of Duke's Way across all four corners of the global village.
Regardless, Java as a platform is an overwhelming success. The ant's nest of people squirming from session to session is heartwarming. Up to the point that it becomes annoying, actually. The endless queue lines of pushing and pulling are a bit disturbing. Elbowing your way to some French Roast or a cheap snack is unfortunate, even if you're glad to get some.
In a Communications Technology article, Michael Adams demonstrates the unifying force of the Internet Protocol with a "Martini Glass" view of the OSI stack. The narrow neck at layer three, the network layer, indicates that communication schemes, such as those used for the transmission of video, are all becoming IP-based. The fan-out at the bottom of the glass corresponds to the expanding amount of layer two technologies, the data link layer, currently in use, such as all the different 802.x standards.
You can read the orignal article entitled "Bullpen: One Network or Two?" here.

Today, NAB 2008 draws to a close in Las Vegas.
The dominant technological theme on the show floor only confirms an ongoing evolution already visible on the web: television has finally escaped from its box. No, really! IPTV might still be struggling to convince on the video-unfriendly internet, that sluggish cloud in the middle of your diagram, but it is already being deployed on your service provider's cable or xDSL network. The shear amount of booths showing solutions to encode, transcode, automate and manage video transmission is overwhelming proof that we're going for it. Full force ahead.
Even considering the fact that the more succesful projects such as YouTube! limit internet video to thumbnail-sized shorts, you can already watch full episodes of your favorite series on-line. ABC has an excellent site which boasts both SD as well as HD streaming video. You can start here.
Technorati Tags: NAB IPTV video MPEG-2 MPEG-4 h.264 broadcast
This spectacular book brings together different views from different disciplines on the unsolved problem of explaining consciousness.

Mind you, this is not an easy read as the book clearly tries to stay true to the scientific principles. Where popular science publications,or plain science fiction writings for that matter, allow for more fantastic speculation, this volume aims at mathematical models and empirical evidence.
Be advised that both introductory as well as intermediate level readings are prerequisites before engaging this collection of articles.
Technorati Tags: book consciousness science