Code

Tuesday, 27 May 2008

The Three Most Beautiful Realizations of Computer Science

1. von Neumann's Universal Constructor

Universal Constructor

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.

2. Karl Sims' Virtual Creatures

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.

3. Tim Berners-Lee's Semantic Web

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:

Posted by default at 2:58 AM in Code
Code

Tuesday, 20 May 2008

JavaOne 2008: Day Four (Closing Day)

the Moscone Sky
Papa Don't Preach!

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:

Posted by default at 6:54 PM in Code
Code

Wednesday, 14 May 2008

JavaOne 2008: Day Three

the Moscone Sky
the Moscone Sky

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:

Posted by default at 9:04 PM in Code
Code

Sunday, 11 May 2008

JavaOne 2008: Sun SPOT Hands-on Lab

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.

Technorati Tags:

Posted by default at 7:26 AM in Code
Code

JavaOne 2008: Day Two

This is very much like a pilgrimage, where believers come together to express their devotion.

Java Religion
Bow in 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.

Technorati Tags:

Posted by default at 6:15 AM in Code
Code

JavaOne 2008: Real-time Java Hands-on Lab

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.

Real-time Java Hands-on Lab
LAB-7420 Opening Slide

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.

Technorati Tags:

Posted by default at 6:01 AM in Code
Code

Friday, 9 May 2008

JavaOne 2008: Day One

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.

Java + You
Java Saves!

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.

Java Ant Circus
Java Ant Circus

Java Queue Theory
Java Queue Theory

Technorati Tags:

Posted by default at 5:31 AM in Code
Code

Saturday, 19 April 2008

The "Martini Glass" View of the OSI Stack

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.

Martini Glass View

You can read the orignal article entitled "Bullpen: One Network or Two?" here.

Technorati Tags:

Posted by default at 11:47 PM in Code
Code

Friday, 18 April 2008

NAB 2008, Las Vegas Convention Center

NAB 2008

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:

Posted by default at 7:10 PM in Code
Code

Monday, 31 March 2008

Tip: "When Flash-based movies freeze in Firefox for Windows XP"

Before you start yelling that my real problem is Windows XP, ease your mind by knowing that this machine has Virtual Box installed, with an image for both Debian 4.0r2 as well as Ubuntu 7.10.

This is the procedure proposed by some j0k3r:

  1. Browse to C:\Documents and Settings\<username>\Application Data\Macromedia\Flash Player\#SharedObjects\<unique-id>
  2. Delete all the files and folders in this folder
  3. Browse to C:\Documents and Settings\<username>\Application Data\Macromedia\Flash Player\macromedia.com\support\flashplayer\sys
  4. Delete all the files and folders in the directory
  5. Restart Firefox, you should not need to restart your PC
The original source for this solution can be found here.

Technorati Tags:

Posted by default at 7:50 PM in Code
Code

Wednesday, 19 March 2008

EclipseCon 2008

It is time to scramble and prepare for my talk at EclipseCon 2008.
I'm speaking at EclipseCon 2008
Thanks to all those attending my Industry Vertical talk on the use of RCP in Broadcast Engineering.

Technorati Tags:

Posted by default at 1:12 AM in Code