Colm Smyth's Weblog
Gestalt Blogology
   

20041119 Friday November 19, 2004

A bridge to the future

A lot has been written on the subject of innovation, but the heart of it is the drive to create the future -  not just the future that comes at you one second at a time, but a future where looking back you say to yourself: how did we ever survive without that?

Innovating starts with the will to destroy the inadequate present:

  • G. K. Chesterton said "a yawn is a silent shout"; don't be dissatisfied, get downright angry with limitations and wrongs; kick, scream and do something about it
  • Socrates said it best: "To find yourself, think for yourself"
  • However innovation is about the doing that comes after (and before) the thought; Picasso expressed this as "inspiration exists, but it has to find you working"
  • GKC also said "a sage feels too small for life, and a fool too large for it"; the fear of inadequacy (or even mere adequacy) is a powerful motivator
  • Don't be a "consumer" in the sense of the article Death of the Future - create the future you aspire to
  • A "refactoring" of two great calls to action: "ask not what the future can do for you; ask what you can do for the future" and "the more you do, the more you know what you haven't done"

I'll leave you with a challenge, take it or leave it :) The internet; the web; search engines; Google; ---. Finish that sentence.

(2004-11-19 10:51:26.0) Permalink Comments [2]

Is it real enough yet?

Bloody chainsaw "joystick"

Evidently there was not enough joy from the standard GameCube controller - the new one promises more realistic mayhem. Bags of fake blood are optional.

And no, you can't get one to replace your USB mouse - yet.

(2004-11-19 10:01:57.0) Permalink

This IsNot Serious

Some days, Slashdot rules: the follow-ups to MS has patented BASIC's IsNot operator" are laugh-out-loud funny [the first link in the initial post will take you to the patent].

Some times, patents != intellectual property; patents := joke.

BTW, if you are really curious, you can find out the "rationale" for IsNot; it's actually syntactic sugar to accompany some syntactic sugar to work around some syntactic sugar in VBA; I kid you not...

(2004-11-19 09:18:27.0) Permalink

20041118 Thursday November 18, 2004

Linux is not Red Hat

Communication is, well, tricky, especially when hard core open-source and business folks are talking to each other. That's why I'm tentative in what I say about the Newsforge article Linux is not Red Hat.

The reason is, I agree with a fair bit of what the author says - but I also see why he's wrong in his interpretation of Jonathan and Scott's comments.

The author, Jem Matzan, clearly has well above average knowledge of open-source projects and products based on Linux, and also non-Linux open-source operating systems like OpenBSD. But the problem is not that someone (such as a well-informed open-source commentator, or for that matter almost any UNIX developer or system administrator) who is in touch with open-source knows that Linux is not Red Hat (and vice-versa). That's a given.

The problem is that companies who look for a well-supported operating system to run their business are not going to use freshmeat.net or the Linux Online list of distributions to find some code to run. They are going to look to a leading vendor. And right now, Red Hat is the company most closely identified with Linux, not any of the other admirable distros he mentions such as Debian, Gentoo, or Slackware. Not even Suse, which is beginning to become more important (and whose Linux Enterprise Desktop is used as the base of Sun's Linux-based Java Desktop System) comes close in terms of recognition among large businesses. Or for that matter, commercial developers, or folks looking for Linux skills certification. In that sense, Red Hat is Linux, and in the sense that some Linux technologies such as RPMs carry the Red Hat brand. And it is in that sense that there is some work to do before the Linux "brand" and the stamp of "Linux-ness" can really be applied to non-RH distributions. Aside: the ongoing efforts of United Linux, standards like Linux Standard Base, and other initiatives have some way to go before they are a large enough target (in terms of completeness, broad support from open-source stakeholders, and recognition from businesses).

The only place where I would highlight that Jem is 100% mistaken is where he gives some different projects the same weight; while an open-source hacker may have respect for the code or say the "potential" of free distributions like Fedora, and praise them for being in some respects more "leading edge" relative to some more stable Linux distribution, it is not correct, either technically or from a support perspective, to compare a product like Solaris 10 and a project like Fedora in terms of value simply because they are both free. The difference is one of quality, reliability and, of course, support for businesses who can't afford to walk the tightrope of an operating system without a major company standing over it. And Sun is widely recognised for the significant innovative capabilities in Solaris 10, which Jem acknowledges at different points.

It's clear that Sun is mis-understood by some folks working with open-source even though Sun is, balls to bones, a company built on the philosophy and ethic of open-source; it's also clear that Sun's focus on open standards as a mechanism for replaceability is not always valued by some open-source folks (even though we all take for granted the ability to plug a monitor cable from one desktop into another). But I think the most important part of Jem's article is the fact that he had the opportunity to have a conversation, however brief, with Scott and Jonathan. That's another step on the road to better communication, which is where this blog entry came in.

(2004-11-18 15:31:11.0) Permalink Comments [2]

Mars Attacks - Martin Fink versus Ben Rockwood

Mary Smaragdis's blog pointed this out, but I want to say some more about this.

It's pretty awesome to see folks like Ben Rockwood speak with passion and knowledge about open-source and operating systems. Not only that, he also uses the "choice" word which is unpopular with some folks.

Ben's blog seeks to correct the errors in a none-too-auspicious initial blog entry from Martin Fink. Yes unfortunately Slashdot threads are not the only venue that sometimes attracts the vocal but technically clueless.

Actually I've just seen Martin Fink's follow-up and I'm afraid it doesn't get any better than the first entry; this time it gives folks a mail address to post information about "errors" in his original entry. Martin, the point of a blog is that you get responses in blogs (and if you add a comments feature to your blog, you'll get responses there too). The downside of blogs is that one way or another everyone gets to see the follow-ups if you write something fake, stupid or simply wrong. And expect to "engage in tit-for-tat" as you call it, because if you write pseudo-controversial and ill-founded attack articles, you can expect to have your points responded to in living colour.

(2004-11-18 11:29:47.0) Permalink

20041117 Wednesday November 17, 2004

Interoperability - some Microsoft folks "get" Firefox

You can begin to see some signs that folks at Microsoft are getting more serious about tackling interoperability with open standards.

First off, a senior developer working on the MSDN Subscriber Downloads site (codenamed Xena) wants to make it more compatible with Firefox and Opera; here's the key quote: As we started work on Xena 3.0 about a year ago, one of my priority 1 requirements was to make the site fully cross-browser compatible. Funnily enough, the operations team (who tend to be pretty focused) told me that losing Deeptree wasn't required, because 99.5% of our client browsers were IE. I was able, however, to make the point that this could possibly be the case because we only support IE (after explaining that "support" is different from "can be accessed") and so that might possibly be a factor. The net-net of this is that cross-browser compatibility for Firefox, Opera, and IE will be included in the update for all major site functions. Check out the Xena blog for the context. This looks promising for better browser support from microsoft.com in future.

Also related to interoperability - it was nice to see another MSDN post, this time about JWSDP 1.5; the author is checking it out to allow him to update his article on WS-Security interoperability.

Looks good guys, keep it going.

(2004-11-17 09:33:33.0) Permalink

Design by Contract in C# and Java

A Microsoft labs project called Spec# has developed a pre-compiler for C# that supports the design-by-contract feature of Eiffel, and adds the capability of the C/C++ "const" keyword. Interestingly, the same post highlights a 3 year old project I wasn't aware of called iContract that provides similar features for Java.

A little background: 12 years ago (back when Bertrand Meyer was the god of Object-Orientation, when Bjarne Stroustrup was at best the regent to the OO throne, and Java was an inkling in James Gosling's eye ;) I sampled but never seriously used the Eiffel language with it's unique focus on design by contract. Eiffel syntax directly allows the constraints or contract of a method to be expressed in a literate natural style within the implementation code. At first glance, the pre-conditions ("require" keyword), post-conditions ("ensure") and invariants ("invariant") seem like they are analogues of C's "assert.h" or even Java assertions, but they are an advance in two main ways:

  • they automatically appear in the documentation, which helps the caller of a method to know what they should provide (pre-conditions) what they can expect to happen (post-conditions), and what should not go wrong (invariants)
  • critically, the contract expressed in a base class is inherited and enforced for sub-classes

All of these constraints can be removed from the compiled code; Java has one important advantage here in that the assertions can be enabled or disabled at runtime.

So Spec# and iContract have similar features. Where they differ is in maturity (iContract has been around since 2001) and in syntax:

  • Spec# essentially uses the Eiffel syntax, but it adds some sugar in the form of the "!" beside the name of a method parameter which asserts (or "require"s) that the parameter may not be null.
  • iContract uses javadoc extensions
The advantage of iContract's use of javadoc comments is that the constraints are naturally ignored by a regular compiler. This is nice as you can adopt design-by-contract on a specific sub-project without changing the build environment for any container project. It also means they can be easily included in the javadoc-generated documentation, or used as part of a compile-time step to add the assertions into the output code. Here's a quick sample for the sqrt() method (note the use of "return" to enable the method's return value to be part of a post-condition):
/**
* @pre f >= 0.0
* @post Math.abs((return * return) - f) < 0.001
*/ 

So iContract looks like it's worth trying. If you want a blast of nostalgia, you can program in Eiffel and target the JRE - the SmartEiffel project includes a compiler for Java bytecode. I haven't looked at it too closely, but if it allows you to use Java API's from Eiffel, it could be worth looking at.

(2004-11-17 09:02:50.0) Permalink

20041116 Tuesday November 16, 2004

Linux is... an open-source OS

You know, there's something else in that Slashdot debate that's far more important. The poster who started the "My take" thread splashed through the surface of a couple of issues, but by doing so actually muddied the waters even more than the threads I talked about earlier.

The critical quote in that post is this: "most **experts** view Linux as the most serious threat to Microsoft". It's hard to argue with an assertion like that because it's hard to identify who can be considered an expert, and even harder to get them all to vote on it. But some of those "**experts**" are a little more controversial than most. I guess "**experts**" must include Steve Ballmer, who has made exactly that comment.

How often do Linux supporters find themselves agreeing with a Microsoft exec? I think that's pretty smart of Ballmer to say that - it makes Linux supporters feel good (which costs nothing), and it doesn't make one blind bit of difference to Microsoft's business. Why? Because at the same time MS aggressively promotes their offerings very clearly as having lower TCO than Linux with their "Get the facts" marketing program.

Ok - so why would Ballmer say one thing in public while at the same time MS marketing say the opposite? Here's my view: misdirection (the act of distracting; drawing someone's attention away from something; the essential art of a stage magician). If paying customers view their decision as a simple 2-way decision (Windows or Linux), MS is saying that Windows comes out in front due to lower TCO, so in effect they are saying Linux is not such a threat after all. A little odd you might think.

Don't get me wrong - I believe that classifying Linux as the biggest threat to Microsoft is not entirely misdirection - but it is a huge over-simplification:

  1. Linux is essentially the kernel - it would be a neat computer science project without the entire GNU.org stack (thank you Linus T. and Richard S. respectively, and a lot of talented hackers in academia and enlightened companies everywhere). Linux-based web-servers tend (with good reason) to run the (L)AMP suite (Apache, MySQL and PHP). But GNU and AMP software run on just about any UNIX, including *BSD and Solaris (soon to be open-source) and MacOS. And guess what - most of GNU and AMP runs on Win32 too. And what about Perl, Python, Postgres, TAO and the uncountable pantheon of open-source deities? All of that competes with Microsoft's offerings, even on their OS. And that's just for starters.

  2. GNOME and KDE - these two open-source desktops compete not just with Windows but with each other; while I wish they had more base technology and standards in common, they are both superb meta-projects, and with X.org they both offer a compelling GUI environment to run applications - on Linux, *BSD and Solaris (yes you can even do GNOME on MacOS too, but that's not why you have a Mac, right?)

  3. Mozilla.org - the open-source browser and portable communications suite. Firefox is starting to win users away from IE. Because of bigots or rants? No, because Firefox is lighter, faster, more secure and has some very desirable features that are missing in IE. We can expect similar great things from Thunderbird, and maybe Sunbird too. If Firefox wins significant market share, then server products can't get away with just targetting the IE browser, which means they also target non-Windows desktop environments. It's all about choice.

  4. OpenOfffice.org - the open-source office suite. If a Linux-based desktop environment did not have a full-featured MS-interoperable office productivity suite, it would not be a viable option for a large percentage of users. OOo (and OOo-derived suites such as StarOffice) is already winning significant business from Microsoft Office. That's real competition. And OpenOffice.org has defined an open standard for rich documents so that office productivity suites can be interoperable and your documents remain readable for not just 5 years but maybe 50 (nice if that's your will you're writing, or your journal).

  5. Finally, Java is not itself open-source, but Java has enabled 10's of 1000's of open-source projects (just a rough estimate, but if you look at http://java-source.net/ and http://jakarta.apache.org/ and http://www.jboss.org/products/list#projects and http://sourceforge.net/softwaremap/trove_list.php?form_cat=198 and http://freshmeat.net/browse/198/ and http://dev.java.net you can begin to get a sense of the scale). Those open-source Java projects run on a broader variety of operating systems, servers, desktops and phones than any other kind of software. More choice.

So there's a clear message here - the open-source movement has created an astonishingly broad array of quality software, spanning servers to desktops - and it runs on Linux, *BSD, MacOS, Solaris ... and Windows. Do you think maybe Ballmer doesn't know that? Very unlikely.

That's why in my view, Microsoft are actually concerned not just about Linux, but in the widest sense the platforms that favour open-source (including *BSD, MacOS, Solaris and Java). Why? Because when you cut away a lot of the bullshit, open-source is the ultimate gene pool that allows DNA from compatible software projects (with compatible licenses) to combine to make even better products. And the combination of those platforms provides a uniquely broad choice of hardware for that software to run on.

So given that huge advantage of parallelised evolution and multiple platforms, won't the open-source model win? In theory yes, but there is one problem. We don't want to wait 10,000 years before all this open-source incrementally splits and merges to evolve into the perfect software solution. We want it (need it!) now.

So what do we need to do? Here's my view on this. 1) Encourage companies to explore and adopt the open-source model more. 2) Respect choice and diversity. 3) However, too much choice is bad because it means projects don't achieve critical mass; for example, in my view we have maybe 2 or 3 times as many Open Source Workflow Engines in Java as we need (currently there are 19); if some of those merged, they would get there faster; future perfect is the enemy of the present good; 4) The ultimate fate of the open-source software model lies in the scales of justice, unless a) we can resolve the threat of IP which is not always granted to users of open-source components and b) we can identify some mutually compatible combinations of a smaller number of open-source licenses that create the largest possible gene pool of code (take a read of this or that book to see some of the legal complexity here).

I at least look forward to the day when you and I will be able to have yet another choice of open-source operating system: Solaris. I wish it had happened as soon as first expected, but big changes take time. I have no doubt the folks at Sun working on open-sourcing it will make it happen - and it will be worth waiting for.

That was more than enough said for one post; thanks for getting this far, I hope you agree with at least some of what you read here. And if not, tell me why!

(2004-11-16 15:34:27.0) Permalink Comments [1]

Slashdot - fry the unbelievers

Slashdot provides a great service; it has a technical readership, it attracts some of the most vocal supporters of open-source, and the discussions are often rewarding. But it has one flaw; far too many threads relating to computing will attract a few folks who don't know very much about software, but they sure do know that they love Linux (see this brief snapshot for just a tiny sample). And you know what else? If you don't love Linux as much as they do, you're stupid or evil, or both. Don't believe me? Take a look, slashdot.org - sometimes it's really not pretty, and (unlike the famous Monty Python sketch) most Slashdot readers have actually learned to expect the Spanish Inquisition that befalls folks who dare to suggest that they use an OS other than Linux.

Linux is not alone in having bigoted supporters - *BSD, Mac, Windows, and yes Solaris also has it's zealots who have 100% convinced themselves that their choice is the One True Way and they will flap, FUD and flame anyone who says otherwise.

There's nothing better than a healthy debate, especially among folks who know something about their subject. But to all the loud-mouth OS bigots and bandwagon-jumping noobs out there I say this [in my best Jack Nicholson accent] - you can't handle the truth. And the truth is simply that a software ecology where just one product fills an essential need is missing out.

Why? Because choice is good; choice enables comparison and criticism; choice facilitates competition that spurs projects on to greater things. And (especially between open-source projects) choice enables good DNA from one product to transfer to another and create something better. How do we know it's better? Because in a competitive environment, the fates (or in the case of software, a customer or user) chooses the best solution for a given problem.

May Slashdot reign long as the eye of the perfect storm of open-source, but please - let's get better at slapping down the ranting OS noobs and ask 'em to go use the machine they know far better (hint: it probably runs Halo 2).

(2004-11-16 15:27:47.0) Permalink

European probe takes a long close look at the Moon

The European probe Smart 1 is ahead of schedule to reach it's orbit around the moon. It's efficient solar-powered Xenon ion fuel propulsion rocket will accelerate it slowly but steadily into a stable elliptical orbit (ranging 300 to 3000 km) around February 1st 2005.

Goals for the probe are to:

  • investigate the origin of the moon (currently believed to be the Earth's daughter, arising from a collision of a planetary embyro with the Earth 4.5 billion years ago)
  • investigate the Solar Systems' largest crater on the "dark side", to understand the moon's geology
  • shed light on the early composition of the Earth (the moon consists of material from the Earth's mantle)
  • look for suitable locations for future Moon colonies, such as the promising Peak of Eternal Light near the south pole; this region is flat, earning its name from the continuous sunlight (a source of heat and electrical power)
  • search for water-ice in deep craters which could provide water and oxygen

If all of these objectives can be achieved, it would greatly aid the creation of a continuously manned moonbase. The Moon's gravity (a sixth of Earth's) would help astronauts to maintain muscle tone and bone mass, assisted say by weighted clothing and a regimen of exercise. Imagine waking up to a view of Earth, a huge blue-green planet against the backdrop of an infinity of stars, partly eclipsed by the grey surface of the Moon - astonishing.

(2004-11-16 06:32:13.0) Permalink

20041115 Monday November 15, 2004

Java and open-source - to the point

Newsforge has an exceptionally insightful article on Java and open-source, from which I will just quote the conclusion:

Businesses and developers who fret about whether or not Java is or will become open source are missing the point. The free availability and near ubiquity of Java in the enterprise software market means that the open source software being created with Java is much more interesting than the open source status of Java.

Companies basing their business on Java software must have a well defined strategy about open source. A simple "ignore" or "accept" will not do. Companies as different as Sun and BEA see business value in open source, yet engage open source in very different ways. To succeed today, you must know how to match your business' value with the value of open source.

(2004-11-15 14:26:00.0) Permalink

Oblivious, but then ignorance is bliss

Adi Oltean's blog over on MSDN points out a brief but fascinating report hosted on the the American Psychological Association about a well run study that shows that poor performers over-rate themselves, which supports the old saw "the more you know, the more you know you don't know". Well, now you know.

But it's interesting to cross-reference that with a second article on the APA site which proposes that social comparison happens subliminally, and automatically.

Personally I choose to believe the first report because the second one appears to rely on snap judgements based on looking at photographs of people who are considered to be archetypically young (e.g. a baby), intelligent (e.g. Einstein) or beautiful, or their converse. It seems to me however that the primacy effect and a purely perceptual (rather than cognitive) classification plays too strong a role for that to be an effective predictor of a participant's day-to-day self image.

(2004-11-15 13:54:20.0) Permalink

Been there, blogged that (and here's the t-shirt to prove it)
++ungood t-shirtIf your quest for geek chic should also reflect a concern for the rise of political correctness, the decline in human languages, or amazement at the continued survival of one of the C programming language's more endearingly terse features, you've got to have one of these t-shirts (now that's real literate programming).
(2004-11-15 11:30:41.0) Permalink

Just Plain English? (no, non, nein, nyet)

In contrast to my earlier post on the importance of having a common office document format for communication, the same logic doesn't apply to human or natural languages...

A recent Forbes article muses "Must not a superstate of a score of nations have a common language?". I agree that any form of rich communication requires a language in common, but that is not the same as a single common language.

Anyone who immerses themselves in another language discovers not merely a different vocabulary and grammar, but a unique medium for communicating in the mode of a people. The most compelling example I can give of this is the turns of phrase, quotes, sayings and cliches that each language possesses. The simple fact that we love to use these because of their flavour, conciseness and expressiveness demonstrates that they are important; they are also unique to each language, reflecting the history, concerns and ideas of a people.

By accidents of history, birth and travel respectively I speak English, Gaelic, French and German in that order. English happens for me to be the most used among those langages, but it is a unique joy for me to hear and speak a different language. I have had the very great pleasure also to hear and in part to understand Italian, Russian, Czech, Hungarian, and Spanish along with several dialects in their native lands. Each of these languages has a unique flair - a different pace, a sound, a fundamental emotion or world view - and because it is often heard in a certain place, it is part of the mood and atmosphere of a different land. Language is a standing carrier wave for shared events, beliefs and culture.

There are some who view foreign languages as somehow primitive or harsh or comical simply because they are alien. I will never forget how my view of the German language changed when I had the opportunity to live in Munich for 5 months (I actually lied that I could speak German just so that I could get a job there close to my girlfriend, now my wife, and I went through 3 weeks of intense immersion in the language with books and tapes so that I could start on day one with a modicum of understanding ;) - how the experience of an initially odd word like "Schmetterling" changed when it really sunk in that this word represented "butterfly" and that when said with something approaching a native accent it could even sound beautiful - how it felt when I actually dreamed in German; how astonishing to travel on a U-bahn 6 weeks after that initial learning period and actually understand the intense conversations of German teenagers or the traditional insights of a homegoing Opa and Oma commenting on youth's vigour and blindness.

As a citizen of a country (Ireland) that has all but lost it's historic language through conquest, I can only hope that this world's rainbow of languages (including Russian for example which appears to be one of several synthetic languages under threat) never succumbs to the pale monotony of a single colour, even in the limited context of business or statercraft. That would be, hmm... double-plus-ungood.

(2004-11-15 10:48:30.0) Permalink

Historic advance in communication technology

It may seem like just another baby step (the kind we are used to seeing with web services, which will eventually enable a true pan-vendor service-oriented architecture), but I believe today we are seeing something closer to a "giant step for mankind".

A report by the European Commission recommends a common XML-based rich office productivity document format, the OASIS Open Office format, which is being put forward to become an ISO standard. The significance of this can hardly be over-emphasised - client and server applications create short-lived SOAP messages to invoke web services, but people create documents.

Imagine being able to use an office application today to create a document, and in ten years to be able to use a different version of the same application (or even a completely different application) to open and modify the same document. Now imagine you (or your child or grandchild) being able to do that in 50, or even 500 years. That is exactly what a common open standard document format makes possible.Rosetta Stone - the Key to understanding ancient alphabets

There is a very nice history of communication over on inventors.about.com, however it actually omits the Rosetta stone (see picture) which enabled archaeologists to understand writings in dead scripts. In many ways, a common electronic format for all kinds of office documents is like the creation of a universal electronic script - it gives us a way to store and exchange all kinds of rich documents with the knowledge that they can be read and understood long into the future. A rich open standard for documents can also replace serviceable creaky HTML as the Internet's universal format.

As we create technologies that are capable of storing ever more information (before the end of this century, we are likely to be able to store the entire content of the Internet on a hand-held device!), a common document format gives us the assurance that the information in our documents remains accessible. Which is good news for those of you who were perhaps thinking we were going to have to save the Internet as hard copy ;)

See Simon Phipps and Erwin Tenhumberg's comments for more about what was achieved and who supported it.

(2004-11-15 09:56:47.0) Permalink


archives
links
referers