April 09, 2004

Microsoft Doesn't Want to Educate Me

Here's a question for Robert Scoble, let's see if he's able to pick it up: I have Microsoft Internet Explorer and Windows Media Player installed. I also run Microsoft Office. Sadly, that doesn't seem to suffice to be able to watch the presentations from the .NET architecture overview series. How do you expect to evangelize people using other platforms when they can't view content - even if they're on a supported platform? The same goes for things like this:

To view the demo only as a standalone .wmv file, choose the file 20040408VisualCKGDemo.exe

Why hide a wmv inside an executable? What's wrong with plain old Zip file format?

Seriously, if anybody can send me the URI of the media stream for the Technology Roadmap presentation that has got to be hidden somewhere inside that JavaScript/DHTML mess, that would be just great.

April 08, 2004

Google Platform

A fascinating post with some information and some speculation about Google's infrastructure:

While competitors are targeting the individual applications Google has deployed, Google is building a massive, general purpose computing platform for web-scale programming.

April 04, 2004

Programming languages and productivity

Bill de hÓra has written a very nice essay on programming languages and productivity. While I'm really getting awfully tired of having MDA put into the camp of clueless let's-do-pictures-instead-of-programming advocates, I basically agree that general acceptance of a language with Lisp's meta-features would have made MDA obsolete.

If the Lisp community were a little less academic, and actually interested in getting more people to use that excellent language, they would have created a working, well-supported, complete implementation based on the JVM or CLR. That would have taken care of the library problem, and maybe got more people to give it a try.

XSD vs. RELAX NG

Elliotte Rusty Harold writes:

I think the future is clear, and it ain't spelled "XSD". Major recent RELAX NG wins include DocBook, OpenOffice, XHTML, and SVG; all of which are planning to move to RELAX NG in their next versions. I have yet to encounter a group that seriously explored RELAX NG and still chose to use the W3C XML Schema Language

I have only taken a casual look at RELAX NG, but I clearly like it a lot better than XSD. Now if it would only be acknowledged in the Web services world ...

April 02, 2004

How we got rid of spam (mostly, that is)

At innoQ, we use Lotus Domino/Notes for our email and collaboration needs. Notes does not have any real built-in anti-spam features, and most of the stuff you can get product-wise is based on either POP3 or IMAP (which we don't use) or works only with specific clients (most notably, Outlook). So we have lived with the occasional 50 to 100 spam mails per person per day for quite some time - until I couldn't stand it anymore.

After having used it for two months now, I can definitely recommend AppRiver's service as a solution. This is a company that provides anti-spam (and anti-virus) features as a service, without requiring any local installation. The way it does this is that your domain's DNS MX records are changed so that all the email flows through their servers, gets filtered there, and is then forwarded to the company mail server. Mail identified as spam (or containing a virus) is "held" at AppRiver's servers, and you can use a Web UI to check every other day to see if there are any false positives.

In the last 60 days, we had one such false positive (i.e. a non-spam email that got caught in the spam filter), and usually around 2-3 spam mails per day make it through (false negatives). Other than that, there are one or two minor issues:

Other than that, I'm very satisfied with AppRiver's services; if you're looking for a hassle-free, server-side anti-spam solution that works with any mail setup, I can highly recommend it.

Microsoft and Sun collaborate, settle litigation

Fat chance anybody will read about the Microsoft/Sun announcement here first, but I still feel obliged to link to it. Totally unbelievable.

John Gruber on Usability

A great rant by the Daring Fireball on UI design and usability:


UI development is the hard part. And it's not the last step, it's the first step. In my estimation, the difference between:
  • software that performs function X; and
  • software that performs function X, with an intuitive well-designed user interface

isn't just a little bit of extra work. It's not even twice the work. It's an entire order of magnitude more work. Developing software with a good UI requires both aptitude and a lot of hard work.

Amen to that.

April 01, 2004

Why Do Java Developers Like to Make Things So Hard?

I can relate to this this point of view. What I find outrageously funny, though, is that this comes from a Jakarta Struts committer ;-)

March 18, 2004

Groovy: A Threat to Java?

Bill de hÓra, Cedric Beust, and various more or less clueless folks on TSS add their comments to the Groovy JSR debate.

I hope that the JCP executive committee will accept it — in my opinion, Groovy would be simply a great addition to the JVM platform. Having a powerful dynamic language with access to all of the platform libs, sanctioned by a (semi-)official standard, would propel the concepts from Ruby, {P|J}ython and LISP to the mainstream, something that would really be great for the industry.

Groovy JSR

There is now a JSR for Groovy - great news!

Some people disagree midly ;-)

March 11, 2004

Java Generics

Back in May, I was disappointed by C#'s generics. Now Bruce Eckel writes about Java Generics, and they have the same problem.
Update: Dare Obasanjo goes into more detail. I fail to agree with his claim that C++ doesn't really achieve the effect Bruce is looking for, though.

Offline Wiki

I was looking for a way to ease our company-internal collaboration, and decided to give the Wiki concept a try again. We did this a couple of years ago, using a slightly modified version of Ward Cunningham's original Wiki code. Then we introduced Lotus Domino, and our Wiki died.

While I like Notes/Domino a lot, its support for building a web of crosslinked documents is very limited. One of its major strengths, though, is replication — a feature that is critical to us, since many of us spend a lot of their time traveling, and being able to create a document that gets replicated later is a very cool thing. So I search around for offline-capable Wiki implementations. Ed Taekema was looking for something similar, Don Park has written about Distributed Wikis, and Bertrand Delacrétaz suggests using a Wiki with CVS backend and synchronize this way.

I finally decided to try out a project called BeeWiki which is hosted on OpenNTF. This is a pretty straight-forward Wiki clone, but it uses Domino as its backend. With this solution, it's possible to use a Web browser or the Notes client to work with the Wiki contents.

Installation was dead simple, and this looks very promising. Chances are we'll discover something that will prevent us from sticking with it (a strong tendency here), but we'll definitely give it a try ...

March 10, 2004

Whitehorse - Microsoft's Modeling Tool

Microsoft's Keith Short has some information, including screenshots, about Microsoft's new modeling tool, Whitehorse (some more information here, here and here). Very interesting, although the comments about keeping code and model in sync remind me of other flawed efforts.

March 09, 2004

Canvas: Groovy Templating

Cedric Beust has created a prototype of a templating engine based on Groovy. Very cool.

March 08, 2004

Real Player Sucks

I have always hated RealPlayer, and I even thought about writing about it some day. It turns out that there's no need because Tomas Jogin has written everything that needs to be written already.

March 05, 2004

Doom & company

Virus writers begin to compete with each other, and I don't give a damn. Windows users, your life could be so easy ...

March 01, 2004

A Panel at Berkeley

If you like to spend your time on something more interesting than TV, this discussion with Jim Gray, Bill Joy, Niklaus Wirth, Ken Thompson and Butler Lampson is well worth the 75 minutes you spend on it (found via LtU).

Communication for Distributed Workgroups

Stefano Mazzochi has an interesting post about communication paradigms with different levels of synchronicity.

February 29, 2004

Offshoring

One of the most intelligent discussions about offshoring I have seen in a long time.

Quicklinks

A bunch of quicklinks I'm too tired to blog about in detail:

The Mythical Man-Month

I read Frederick P. Brooks's classic when the second addition came out; in the unlikely case that you are reading this entry, are involved with software development in any way, and have not read this book — make sure to change this ASAP. (The fascinating thing about the book is that it's now about 30 years old, describes a project from the late 1960s (the design of the IBM/360 OS, IIRC), and still has so many truths in it that it's simply unbelievable we make the same mistakes today.)
I just linked to it now because I came across an essay from 1986 that was included in the anniversary edition, and saw that it's available online. I haven't checked, but I believe this essay coined the term "No Silver Bullet" — and like the book, it's well worth a read even after almost 20 years:

The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements, including all the interfaces to people, to machines, and to other software systems. No other part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later. [...] For the truth is, the client does not know what he wants. The client usually does not know what questions must be answered, and he has almost never thought of the problem in the detail necessary for specification. [...] I would go a step further and assert that it is really impossible for a client, even working with a software engineer, to specify completely, precisely, and correctly the exact requirements of a modern software product before trying some versions of the product.

UML or XML Schema for Common Types?

Mark Ericson commented on a blog entry from Adam Blum regarding the usage of XML, or to be more specific, XML Schema, to describe common business types:

XML schema is one of many concrete ways of representing the types, there are certainly many others including our programming languages and database schema. [...] I haven’t thought of myself as a UML evangelist, but perhaps UML can provide a richer type modeling environment that promotes type reuse and can be mapped to both XSD and the ‘layered standard’ when needed.

I totally agree with Mark. In his answer, Adam (who actually alerted me to this comment, claiming it could have come from me ;-)) suggests that UML should be used by shops that are doing it anyway, while using XSD seems to become the default way of doing this.
I disagree with Adam: I strongly believe that it's foolish to believe that common business types specified in XML Schema are a good idea if you are concerned about protecting your investments in the future. XSD just happens to be extraordinarily popular right now; and in time, it will be replaced by something else (RelaxNG? Schematron? Something totally different? Who knows.) In addition, XSD, even when combined with WSDL and the whole bunch of WS-* standards, is only a small part of your common business knowledge (the service interface layer), and captures zero information about your implementations.
Thus, I strongly believe that a common business knowledge repository should be on a meta-level, and be used to generate other representations — with XML Schema just being one of them, while others could be SQL DDL, Java, C#, or whatever your current technical environment requires.

February 28, 2004

LISP in the Real World

A very interesting comment in Joel Spolksy's discussion forum:

If I started up my very own major software project now, I would make my language decision based on the criteria above. Sure, I love Lisp, CLOS is awesome, real lexical scoping rocks, Lisp macros are way cool (when used as directed), and personally I really like Lisp syntax. [...] But it would take a lot, or require special circumstances, to persuade me to choose Lisp for a major software project, if I were in charge of making the choice.

It's interesting not only because of its content, but because it has been written by Dan Weinreb, whose LISP competency can't really be in doubt ;-)

Open Source Java

IBM's Rod Smith writes an open letter, Sam Ruby links to it, linux today has some stupid comments, all prompted by an open letter from Eric Raymond. The most sensible comments, IMO, come from the BileBlog.
Java Open Source or not? I couldn't care less, and I believe it's totally irrelevant to the market.

February 24, 2004

Duck Typing

An utterly brilliant article by Sean McGrath. Incidentally, I see this when I'm in the middle of a very interesting e-mail discussion regarding my own post regarding XML and typing.

February 23, 2004

Subversion 1.0 Released

Finally! Subversion 1.0 has been released. I wrote an article about it about a year ago, when the release seemed immediate ... very cool it's available now.

Nokia 9500

I thought my gadget-mania had been cured, but this announcement makes me wonder whether it's maybe only dormant:

This week, [Nokia] chief executive Jorma Ollila unveils a prototype of the Communicator 9500, a device that ties more neatly and swiftly into corporate IT systems than any gadget Nokia has offered to date. Among the 9500's selling points is wi-fi circuitry that allows users to connect to the Internet in wireless hot spots and securely link up with business networks.

That does not sound bad at all ...
[via Russel Beattie]


Update: Frank Koehntopp a.k.a. GadgetGuy has some more details.

February 22, 2004

ObjectSpaces in Whidbey

Only 10 to 15 years after the rest of the OO world, Microsoft introduces Object/Relational mapping tools to its own line of products. Amazing.

February 21, 2004

Architect Blog

Just a quick pointer to Michael Platt's weblog - I have forgotten how I found it, but I strongly recommend it.

Simonyi on Intentional Programming

Charles Simonyi, ex-Xerox PARC, ex-Microsoft guru, shares some information about his company, Intentional Software.

Why's (poignant) guide to Ruby

I wanted to postpone learning Ruby, but this book seems to be a good reason to change my mind. Have a look at it and see if you agree. [via Ben Hammersley]

February 20, 2004

Vinoski blogs

IONA's Steve Vinoski has a weblog, which is great news.

February 16, 2004

An Introduction to Groovy

Mark Volkmann has written a very nice and readable introduction to the Groovy language.

February 15, 2004

WinFS value proposition

Dare Obsanjo shares some thoughts on WinFS:

The main reasons applications don't talk to each other isn't a lack of technology [...] but for various social and business reasons.

He continues to point out that the main benefit in WinFS is, in his opinion, not the much-hyped enhanced search facilities, but the fact that applications that use WinFS to store their data would be interoperable.

REST and Atom

Russel Beattie, occasionally pretty informative, writes a post which is amazingly clueless. The only reason for mentioning it is that the comments to it are very entertaining. I hereby declare Sam Ruby my role model for blog conversations.

February 13, 2004

The Next Move in Programming

On java.sun.com, there is a very interesting interview with Victoria Livschitz, a senior IT architect at Sun (and also a former chess master and the daughter of a famous mathematician).
There are some minor issues I have with her wording - there seems to be some confusion between functional and procedural languages, and I also believe that thing you use in XML all over is called pointy brackets, not square ones. But her thoughts on the inadequate abstractions we have in today's programming languages are very interesting, indeed. Maybe there is a spectrum — a language with pure mathematical elegance, like Lisp, for usage by the A-level geeks, and some sort of building block-based, high level programming language for the masses; quite possibly with one built upon the other. [via connections]

What's the point of Mono and dotGNU?

In an opinion piece on the register, the author questions the usefulness of a .NET/C# implementation on non-MS platforms. Slashdot has the predictable thread.
I totally agree — I have never seen the point, too. In fact, I already had my first couple of heated discussions about this. I have nothing against C# or .NET (or Qt or Motif or Cocoa or Carbon or whatever), but I fail to see the point of trying to extend an OS-/platform-dependent environment to another platform. If I want to do platform independent development, I'll use a platform-neutral environment like Java, or some scripting language like Python or Ruby.

Stefano Mazzocchi on RDF

Stefano Mazzochi has a nice posting on RDF:

Relations are tables, XML documents are trees, and, guess what, RDF models are graphs. Yep, you got it, RDF candescribe both.

A beautiful blog layout, BTW.

February 12, 2004

Visual Spoofing

Don Park has a sick idea: visual spoofing. Very clever. I wonder how long it takes before we see this used by real scam schemes ...

February 10, 2004

Eclipse FAQ

A quicklink specifically for one co-worker: Eclipse Meta FAQ.

February 08, 2004

Mark Dives Into XML 1.1

I wondered why Mark Pilgrim had changed his RSS feed to be XML 1.1, earning him the label "clueless user" from somebody who usually knows his stuff. Now I understand.

February 06, 2004

(Not) Using XML 1.1

Dare Obsanjo has some strong statements about XML 1.1:

XML is a lousy format for most of the things it is used for. The one benefit it has is that it is widely supported and a guaranteed way to interoperate in a cross-platform manner. By tampering with this the W3C is effectively diluting one of the few benefits of using XML. This is an regrettable occurence. Unfortunately it looks like things will get worse now that the W3C also wants to dabble in “binary XML”.

I wholeheartedly agree with the statement about binary XML, and strongly suspect he is right about the rest as well ...

eXist XML Database

Wolfgang Meier of the Darmstadt University of Technology has posted the first beta of eXist 1.0 (after several earlier pre-beta releases), an open source native XML database that supports fulltext search. [via Cafe con Leche XML News and Resources]

Pass by Reference in Web Services

Jeff Schneider continues his search for answers on how to do pass by reference in Web services.

I believe pass by reference is impossible when doing Web services.

Some time ago, I had a long and heated discussions with a customer and several colleagues about whether Java does pass by value or pass by reference, where we were evenly split among the views that there is only pass by value on the one hand, and only pass by reference on the other hand. (Incidentally, while looking for a normative definition, I came across an article that shares my point of view - Java does pass by value only. Really. Think about it.)

To me, pass by reference semantics only make sense in the case of programming languages - it's a syntactical issue that you put a variable in place of a formal parameter, and the language implementation (compiled or interpreted) passes a pointer to the variable instead of the value. I believe anytime you make a copy of some data - which is unavoidable if caller and callee don't reside in the same address space - you can't do pass by reference.

Of course I concede that a Web services-based language might offer some sort of syntax to pass pointers under the covers, but that would probably be a bad idea and only lead to subtle bugs. Better to pass references - and pass them by value.

Configuring Weblogic with Jython

Quicklink: Via Sean McGrath: Jython in BEA Weblogic. Very cool.

Java and the Wrong Turn

Quicklink: Java is taken too seriously [via 0xDECAFBAD]. I love the KPAX example, something to take a look at ...

February 04, 2004

Macintosh Folklore

Folklore.org is a collection of anecdotes from the time the original Macintosh was developed. Whether you're a Mac aficionado or not, it's definitely worth spending the time reading it. It even has an RSS feed.

February 02, 2004

XOM XML Object Model

Quicklink: XOM is an open source (LGPL), tree-based API for processing XML with Java that strives for correctness and simplicity.

January 30, 2004

Message Passing

Dare Obsanjo writes about James Robertson's comments on SOA vs. Distributed Objects:

It is just an unfortunate naming collision that some object oriented languages use the term 'message passing' to describe invoking methods on objects which I'm sure is what's confused James Robertson given that he is a Smalltalk fan.

While I agree with almost everything written by Dare here, I have one issue: I'm by no means a Smalltalk expert, but AFAIK, there is some conceptual difference in this regard between different types of OO languages. One of the coolest features of Smalltalk seems to be the doesNotUnderstand message. In fact, my respect for Smalltalk was renewed by one of Dare's colleagues.

January 23, 2004

Fowler on Architecture

Hendrik Schreiber (who, BTW, definitely should have a weblog) sent me an excellent article by Martin Fowler, Who needs an architect. Not exactly new anymore, but very worth reading. Unsurprisingly, I have my own thoughts on making software architecture changeable.

January 22, 2004

Another reason to like Mac OS X

If you're running Mac OS X, try running this in a Terminal window:

cat /usr/share/calendar/calendar.history | grep "LOTR"

[via Channeling Cupertino]

January 16, 2004

Ant task deployment made easier

A much-needed feature that finally made it into Ant 1.6 is described on Stefan Bodewig's weblog:

With the new launcher code, the directory .ant/lib in your home directory is treated just the same way as $ANT_HOME/lib by Ant. This means that all jars puts into that directory will be available to all Ant tasks or can contain Ant libraries. No need to fiddle with the Ant installation in a multi-user environment.

January 13, 2004

Why the OSI Seven-Layer Model Must Die

From David Chappell (the west coast/.NET one):

Earlier in my career, I spent several years giving seminars on OSI. Since I once helped spread this false gospel, I feel a special responsibility to root out its remaining pernicious effects. Please join my campaign. Together, we can kill this seven-layered beast.

Amen to that.

January 12, 2004

Extreme Programming Considered Harmful

Martin Fowler mentions a paper on XP considered harmful and a comment on it from William Caputo. Needless to say, both don't agree with its assertions. I still think it's worth reading.

January 09, 2004

Mac OS X

Slashdotted yesterday, now available again: What is Mac OS X? by Arnit Singh. Excellent.

January 08, 2004

More on Groovy

Some more thoughts on Groovy from Bill de hOra. He links to an interesting discussion that questions the need for yet another language. To me, the most interesting things about Groovy are

January 07, 2004

Groovy

If you don't already know it, the Groovy language, currently still in its infancy and developed by James Strachan, is definitely worth a look. I linked to it before, but after having built and played with the version from CVS, I'm absolutely hooked.

January 04, 2004

Lotus Notes on Mac OS X

For Lotus Notes/Mac OS X users only: Without NiniX, using Lotus Notes is next to impossible on a lot of Mac OS X systems due to the ridiculous font size. NiniX enables you to modify the font size, something that can be done by editing the ASCII notes.ini file on other platforms. Sadly, on Mac OS X only the notes.ini settings are stored in some binary format.
Update: vowe, as usual a source of amazingly useful info on a whole lot of issues, had an entry about Silk, which makes Notes screens infinitely more readable. Essential.

January 01, 2004

XML pipes

Jon Udell suggests that the true synthesis of the Unix pipe model and the richness of GUIs lies in using XML instead of simple text input/output. I believe this is a very interesting idea, although clearly, just replacing tool-specific text output with XML output that is just as tool-specific will not buy you a lot. You would be able to use an XML editor, just as you can use a text editor to look at the output of a grep command; this will not make dealing with complicated outputs easier — after all, XML only streamlines syntax, not semantics.
I'm not really sure I see the solution in XUL or XAML. Both use XML, true — but that doesn't mean they make dealing with XML data easier (they might, but I don't see how they would be more suited to this just because they use XML to specifiy UI layout; these are orthogonal concepts). Maybe the semantic web/RDF vision is not so academic, after all ...

iBox

If this article at MACOSX.COM, found via it&w, is true, Apple plans a set-top DVR/DVD device called the iBox.
I would buy one without thinking about it for longer than 3 seconds — this seems to be exactly what I have been looking for since about a year.

December 27, 2003

message threading + web forum hybrid

jwz has some very interesting comments on the Microsoft research paper about a new way to organize email.

December 23, 2003

Backslash on Mac OS X

I don't know what imbecile at Apple created the German keymap for a PowerBook running Mac OS X, but after just having wasted about half an hour of my life with trying to find a way to enter a backslash ('\') on this damn thing, I found out that it's Shift-Alt-7. Should've been obvious? Right.

December 21, 2003

Security in Mac OS X and MS Windows

The Register, always good for some opinion not influenced by any sort of doubt, has a nice article on Mac OS X vs. Windows security.

Lots of Little Languages

The Fishbowl asks

Why do Java applications have a tendency to grow scripting languages and a plethora of configuration files?

An interesting discussion; be sure to read the comments.

Stefan Bodewig on Ant 1.6.0

Stefan Bodewig has a nice summary of the most important changes in Ant 1.6.0 (he should know, since he probably is responsible for most of them). I'm not especially keen on trying out every single new version of tools that essentially just work for me, but the possibility to recursively run a common target through a build file hierarchy sounds very interesting.

December 19, 2003

Don Box doesn't sing on Mac OS X

I'd love to hear Don Box and ChrisAn sing, but I can't, since for some strange reason, the media file is packed inside a Windows .EXE file.
There's a perfectly fine Microsoft Media Player for Mac OS X. So why not allow me to use it?
This sucks.

December 17, 2003

Basic Resource Finder

Very, very cool indeed: Tim Bray's idea for an open source search engine.

December 15, 2003

A future market for project plans

Now here's a nice idea: Create a future market where people can bet on a project's future. If the project is large enough so that people can't influence the outcome just to win their bets, this would seem like a nice experiment ...

December 14, 2003

New IntelliJ EAP build

IntelliJ Aurora build 992 fixes the annoying problems on Mac OS X. Very cool - glad to have my default IDE back. I wonder why the menubar is fixed to the window instead of the screen, but so what ...

November 28, 2003

IntelliJ IDEA on Mac OS X Panther

Unfortunately, the current IntelliJ EAP build (977) does not work on Panther. At least this thread in the IntelliJ forum explains that they are working on it, and might even provide a version that looks like a "real" OS X app soon. Sigh ...

November 27, 2003

Programming Language Wars

A nice article on PL Religous Wars, although I don't totally agree with its conclusions.

November 26, 2003

Mac night

OK, so after receiving my shiny, new PowerBook G4 15", I spent about 5 hours setting it up. In this time, I have installed and configured the base OS (Mac OS X 10.3 Panther), NetNewsWire, KungLog, Firebird, Lotus Notes, Microsoft Office, Fink, and Proteus; set up synchronization between the PowerBook and my Siemens S55 via Bluetooth, scp'd my Notes databases from another machine, imported my BlogLines subscriptions into NNW, read up on some blogs, and had a brief IM conversation in between.

This is simply a great, great environment - I might have to start working again tomorrow ;-)

November 24, 2003

rethinking the Internet

Diego Doval, who is turning into one of my favorite bloggers, has written a very interesting article
about Vannevar Bush's ideas. Analog, but cool ;-)

November 22, 2003

Ray Ozzie on WinFS

In a very interesting post, Ray Ozzie talks about the potential of WinFS:

Again, using the WS-* analogy, developers will start to standardize from the ground up, with basic agreements on "envelope" (the most basic "item" schema) and, slowly but surely, domain-specific schemas for richer object and relationship types. Microsoft will obviously drive the initial schemas required by the core system - such as Contact - but where will it go from there? What will a refactored Adobe Photoshop Album look like in this environment? Or an iTunes for Windows? Or the mobile client for Siebel, SAP, Great Plains, or salesforce.com, with all client-side data now open and available to VARs and other solution developers?

I would be extremely happy with the whole notion of a new system of organizing data (to avoid the term file system), if only it were more of an industry initiative than a Microsoft-only thing. Taking the iTunes example - why would Apple ever want to support a Windows-only feature?

If Microsoft would work on standardizing WinFS, so that the e.g. the proprietary schema language, as well as a clear spec of what the file system iis supposed to do, are implementable by others as well, this would really be a very cool thing indeed. Sigh ... one can dream ...

November 19, 2003

HiveMind Proposal to Join Apache Jakarta Project

From a recent thread on the TheServerSide:

Howard Lewis Ship (of Tapestry fame) has sent in a proposal to Apache for the HiveMind project, a simple framework for creating pluggable, configurable, reusable services. HiveMind has grown out of a donation to Apache from WebCT. It is a framework in a similar vein to the other lightweight containers out there, such as PicoContainer, Spring, and Avalon.

I really like Howard Lewis Ship's Tapestry web framework, which I very much prefer over Struts, so this should be interesting to watch.

November 18, 2003

nXML mode

I started to look over the documentation for our next product release, which is done using DocBook, as reported before. As usual when I start doing stuff like this, I drift into ToolTestMode (a state of something almost, but not entirely, unlike actual work, where one spends hours and hours optimizing the tool set for a task that would have been done ages ago if one had used a piece of paper and a pen to solve it), so I gave James Clark's nXML mode a try.

This thing is just great.

Tim Bray had a comment on this some time ago:

There are 12,587 lines of elisp here apparently implementing a complete XML 1.0 processor and RelaxNG validation engine. Words fail me.

November 17, 2003

Weblog spam

Related to the MT-Blacklist anti-comment-spam plugin, Mark Pilgrim's cynical, hopeless, and pretty brilliant post on weblog spam is definitely worth reading.

I still have hope that using even semi-efficient measures just might make this spam channel unattractive enough to be ignored.

November 16, 2003

Longhorn news from L.A.

Clemens Vasters's company, newtelligence, did a debrief of new information gathered at the Microsoft PDC in LA. It was a very interesting evening. It was fun to meet Clemens, whose blog I have been following for quite some time now, in person. The beer was free (sponsored by MS), so the basic human needs were covered.

Contrary to the agenda in the invitation, Clemens was the only speaker, which was fine by me — he is easy to listen to, seems to be as knowledgable as one can be about technology that is only a few weeks old, and did a good job covering the essential news of Longhorn, Microsoft's new OS due to be released some time in 2006 (God willing, that is).

So thanks to newtelligence and Clemens for doing this! I had read quite a bit about Longhorn before, and I assume most everybody reading this will have done so, as well. Nevertheless, here's my brief, and very personal summary of what I found interesting ...

The news about longhorn can be divided into three main categories - presentation (Avalong), data (WinFS) and communication (Indigo). I'll attack them in reverse order.

Indigo is the new, and most notably, only way to do communications in Longhorn. It is thus the successor to DCOM, COM+, .NET Remoting, Named Pipes, and any other IPC means that can be used in Windows today. It's based on SOAP and the whole plethora of WS-* standards. This was clearly Clemens's pet peeve, as is also illustrated by the new name of his weblog ("Indigo'd"). Personally, I was not extremely impressed by the APIs themselves - basically, they are roughly equivalent to most of the other SOAP stacks out there. One major difference is that Indigo is applicable in any communication scenario - even on a single machine. In this case, it will recognize that the other end is also capable of speaking Indigo, and use an efficient, binary protocol for communication.

(What I found quite funny was Clemens's assertion that all of the relevant Web services standards are, in fact, all developed by Microsoft. The others - namely, BEA and IBM - help a bit, but basically the standards just follow Indigo's implementation road map. Sure, Clemens. BTW, what color is the sky in the world you live in?)

WinFS, although being an acronym for Windows File System, is not really a file system at all. It does away with the old-fashioned notion of files and folders, and replaces them with "items" and "stacks". An item is rather more fine-graine then a file; an example would be a contact address, a calendar entry or any other piece of data. These items can be related, put onto stacks (which allows for categorization or grouping along multiple dimensions), and has a concept of meta-data that can be associated with each entry. Other data stores, such as relational databases or applications with proprietary storage mechanisms, can take advantage of these features by exposing their items to WinFS.

This seems like a pretty neat concept, although quite a few questions remain open for me. I'd love to dig a bit deeper with an actual Longhorn preview release some time soon.

Avalon is the successor to all of the Windows UI APIs. It comprises a new, XML-based, declarative language to describe a user interface. The UI elements, such as canvases, controls, labels, texts, and media content such as pictures or videos, can be composed in any manner. This means that you can e.g. put a video in a list box, and once you scroll the list to this item, you will see the video playing. It's also possible to "decorate" (in the GoF Design Pattern sense) structures that were composed this way, for example to apply effects like rotation. To do this, Avalon is completely vector-based and uses the GPU of the ubiquitous-in-2006 graphics accelerators. The programming model is roughly similar to what you'd do today with ASP.NET.

Strangely enough, Avalon was what impressed me most (this is strange because I'm not a UI-centric guy at all). But it seemed to be the most revolutionary feature.

All in all, a very interesting evening. I'm looking forward to the next event of this kind ...

Shipped

statusicons04active.gif
Finally! In the meantime (i.e., until the shipped stuff finally arrives), I can continue to torture myself for hours with this.

November 03, 2003

Longhorn

In The Emperor's New Code, his comments on Microsoft's Longhorn, Ole Eichhorn writes:

It was interesting that in Don Box' introduction to Indigo at the PDC, he asked the roomful of developers "how many people have successfully deployed DCOM?" Nobody raised their hands. "How many people have successfully deployed .NET remoting?" Nobody raised their hands. "How many people have successfully deployed CORBA?" Only a few hands. Out of 3,000 developers essentially none had successfully deployed an object-oriented remote communication method. It is good that Microsoft has abandoned OO and embraced SOA.

Maybe, just maybe, it might have something to do with the audience being composed of Microsoft-centric developers - my guess is that the answer to "How may of you have ever successfully deployed an OO/RDBMS" mapper might have similar, and also similarly insignificant.

October 20, 2003

SuSE 8.2 up and running

That was easy! 44 minutes to format all drives, install SuSE, and post this. Nice. Next step: Install VMware.
The interesting will be to see whether the WLAN card is running once I get home ...

OS experiments

I have some time to blog about this while in the background, my hard disk is spinning like crazy: I'm re-installing my system, which is a ThinkPad currently running Windows XP. I plan to wipe the disk, install Linux (SuSE Linux Professional 8.2 in my case), and then install VMware and do my Windows-related work in there.

The reason is that after something like 12 years of running Windows as my primary OS, I'm finally sick and tired of the rotting effect &mdash i.e. the fact that every Windows installation I ever had used to grow worse each month so that after 6-12 months I had to do a re-install just to get the machine to run at a decent speed again. (With portable computers, another symptom of this rot apart from the performance loss is that strange effects in connection with suspend and/or hibernate start to appear). I don't blame Microsoft for this, at least not directly — it's the plethora of applications that I tend to install that don't remove themselves correctly, drivers and services that keep on running for no particular reason, disk fragmentation ... if you're like me, you'll know what I'm talking about. With the Linux/VMware combination, I hope to be able to maintain different installations simultaneously, a stable one for Office and Lotus Notes, a multimedia partition, one for playing around with .NET, etc.

And since today I got my hands on a nice external 250GB hard drive that connects via USB (sadly, no FireWire on my TP), I finally have the space ... and that's why the hard drive is spinning, and that's why I'm unlikely to go to bed early today. I love the sense of tabula rasa you get from formatting your main system.

Yeah, I know, sometimes I'm amazed at how brave I am myself ;-)

September 11, 2003

Java and Web Services are not a match made in heaven

The more I think about this, and read about it, e.g. here, or here, or think about it in this context, the more firmly I believe that Java, or any strongly typed programming language, is not a good vehicle for building document-oriented Web services. If you contrast the standard Java APIs for SOAP (yes, I know Web services and SOAP are not equal, but anyway), it's obvious that JAXM, while a lot more flexible than JAX-RPC, is also extremely tedious to program. If you compare this to e.g. Aaron Swartz's xmltramp, Sam Ruby's lazydom (both for Python), or Doug Purdy's Smalltalk solution, they combine the usability and elegance of accessing elements directly with the dynamics of not tightly coupling your code to a specific version of a document format.

My prediction is that either Java will somehow enable this, or be to Web services what C is to OO.

July 17, 2003

Software Documentation with DocBook, Part 1

The document for iQgen could use some overhaul, both in terms of content as well as form. As usual, that's the task nobody is that keen on doing, so it's left to me.

Thinking about the right way to do this, I decided to move everything to DocBook (it's XML following a self-made schema right now). While I'm at it, I thought I might as well document tools and approach I use as I move along.

The Software Documentation Weblog is a nice starting point for some information related to DocBook (apart from official book site). The DocBook Open Repository Project contains XSL (and DSSSL) stylesheets to generate different output formats from DocBook instances (the DocBook DTD itself is maintained by OASIS). The main benefits of DocBook for me are:

Working with the documentation is also a nice excuse to try out <oXygen/>, which I wanted to do anyway.

July 05, 2003

Peep

Jon Udell writes about Peep, a program that allows you to monitor a system by listening to sounds that encode specific events.

July 02, 2003

Kent Beck Interview

Working smarter, not harder: An interview with Kent Beck, on IBM's DeveloperWorks.

July 01, 2003

Using URIs to connect to local apps

Jon Udell writes about the TAG's The Architecture of the World Wide Web document, and while the article itself is - as always - very interesting, there is a small paragraph that introduces a great concept in passing:

If you're an IE user, you can try it here, after visiting Tools -> Internet Options -> Security -> Internet -> Custom Level -> Miscellaneous -> Access data sources across domains (shouldn't there be URLs for these things?)

I think the answer is: Yes, there should be a URL. It's such a common thing to point others to a particular dialog or setting in some application that it would be great to have this opportunity. I can think of two ways to do this:

  1. Have the application act as a server that listens on some defined port, and open the setting if an HTTP get request is sent according to the URI requested,
  2. Introduce a new scheme, turning the URI into something like "myapp://settings/whatever/", that would fire up the appropriate dialog (I think this is the way Notes does it)

Both approaches have disadvantages - having to implement an (albeit small) HTTP listening taks in the first case, and violating one of the principles in the TAG document in the other.

June 30, 2003

BrowserCam

Meet-The-Makers has a conversation with John Witchel, the creator of BrowserCam, a service that scans your webpage and sends you screenshots of a multitude of browsers rendering your pages. Very cool.

Tough

Tough Stuff

Bluetooth Printing

This is very cool indeed:
Picture of PrintDreams Bluetooth printer

June 27, 2003

Java and the WinXP L&F

Diego writes about J2SE 1.4.2 and the J2SE roadmap, and explicitly mentions the XP look & feel contained therein. I was not aware of this, definitely good news.

Language Dynamics

A posting by Robert Martin and the associated discussion is also very interesting regarding the topic of dynamic vs. static languages.

CSS for UI design?

The css Zen Garden shows not only the beauty in design, but also inspired a thougt on how cool it would be to use CSS to render user interfaces. A problem in most enterprise systems is that UI screens (dialogs, windows, whatever) have both structure and layout. The presentation layer is not just that - not everything is about presentation. So it would be great if for example in a complex web app that uses an MDA approach, you were able to generate the UIs.
The problem with this approach is that a UI that has been generated will never have the look and feel of one that has been carefully designed and layoutet by an expert. So how can one achieve a clear separation here? AFAIK, which is not much with regards to CSS, it should be possible to generate pure HTML screens, just containing the usual controls, possibly with an id attribute identifying the elements - and then, in a completely separated file, position the elements in a way that makes sense.
There is only one problem, which is called Netscape 4.x But even those seem to become less and less relevant.

Eckel on Python

Bill Venners interviews Bruce Eckel on The Zen of Python. I have spend quite a lot of time talking to people about the pros and cons of dynamic (scripting) vs. statically typed languages, so this makes a very interesting read.

June 22, 2003

Quark and CSS

Found via stopdesign: Quark's Website is now completely table-free and CSS-based, and it's looking pretty great. With our own website, we have taken the approach to find something that looks good in every browser we could get our hands on. The result is an absolutely crazy load of nested tables, making every minor change a serious pain in the ass. Perhaps it's time to finally move to a pure CSS design, and bid farewell to all those Netscape 4.x users. Sigh. If only one of our most important customers decided to switch to something more decent ...

June 15, 2003

Caching and RSS

Just came across this Caching Tutorial for Web Authors and Webmasters, and also this RSS tutorial by Mark Nottingham. The latter is a bit short on RDF, in my opinion, but both are still very much worth reading.

May 22, 2003

Tim Bray on RDF

Tim Bray presents The RDF.net Challenge, as usual a very interesting read.

May 20, 2003

Struts Sucks

Admittedly, that's not the way he puts it, but Phillip has some things to say about Strutting your web application.

cURL groks URLs (or URIs)?

Note to Self: Remember to take a look at this next time I'm in need:

Curl is a command line tool for transferring files with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. Curl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and a busload of other useful tricks.

May 18, 2003

Firebird

So I thought I might give Firebird a try. Firebird is the newest Mozilla offsprint, and its aim is to be a small, fast browser without the bloat that burdens the rest of the pack. Installation is great - because there is none. Very Mac-like, you simply download an archive, put it somewhere, and run the application. No registry entries, no cluttering of the start menu ... very nice.
It runs nicely and seems to be very fast. It supports tabbed browsing, something I really like on the Mac with Safari.
But then I switched back to IE.
The reason is very simple - Firebird does not support scrolling via the third mousebutton. Well, it does so, sort of, with an extension called autoscroll - but this forces me to reconfigure the ThinkPad's mouse to have the third button be just that. Then it works, but only in Firebird - but no longer in any other Windows app. That's something I simply can't live with since I have got so used to using this.
Sigh.

May 15, 2003

Applied social network analysis

With Applied social network analysis, Jon Udell describes a fascinating approach to extract useful information out of such things as Amazon's "People who bought this also bought ..." as well as e-mail messages.

May 08, 2003

Crazy or Cool?

I have yet to make up my mind whether Schemix is really cool or a singularly stupid idea:

Schemix is a Scheme system, implemented as a patch to the Linux kernel. It aims to attain R5RS compliance while remaining small, fast and easy to understand.

Patrick Logan Replies

Patrick Logan replies, and I'm still puzzled as to the ways to blogosphere seems to work. Especially since his blog doesn't seem to support trackbacks, I wonder how he found about my post at all. I wonder if all Blogger-run weblogs have the same problems - e.g. I had to do a 'view source' on the HTML version to find out which URI to link to for a specific post. And in contrast to all other RSS feeds I'm subscribed to with Syndirella, Patrick's blog is the only one where the RSS does not include a link to the post ... So Patrick, in case your picking up this one as well: You content is great, but your blog infrastructure sucks ;-)

April 28, 2003

Apple iTunes 4

Apple - iLife - iTunes

iTunes 4, the stunning new rendition of one of Apple's greatest hits, comes with an appealing new feature: the fabulous iTunes Music Store stocked with hundreds of thousands of songs you can preview and own with just one click.

And it can't be used from Germany since it requires a US billing address.

April 27, 2003

File->Open URL

SharpReader can do an OPML import from a URL, due to the .NET framework. What's great is that this works with any tool that uses the standard FileOpen dialog, such as UltraEdit - even though it's a standard Windows app. Very cool.

April 25, 2003

Spaces Beta (almost)

Diego Doval goes full speed ahead, and I'm really looking forward to the result. The last time I took a look at spaces, it looked very promising, but still seemed to need some work.

April 24, 2003

JNBridgePro

TSS has a thread on JNBridgePro 1.3, a Java-.NET Interop tool. This sounds very interesting, I hope to explore this soon.

Kubi for Notes

I downloaded and ran the installer for Kubi for Lotus Notes. The result is truly amazing:
Nothing happened at all.
Zero. Nil.
The last dialog in the installer mentioned that I should restart Notes and start using Kubi Client. I did the first, but there's nothing that would enable me to do the second.
And there's nothing in my Windows startup menu, either.
Not exactly encouraging ...


Browser support

Tim Bray is happy that his company has finally made the decision to drop support for 4.x browsers in theit Web UI. I think this is a very good idea, and I plan to advocate that decision for future products and projects of our own.

How very sad that the browser that once was the leading edge implementation is to blame for having to think about this at all. Had Netscape/AOL come up with a decent 5.x version of their browser, a lot of people would have a lot less work now ...

April 23, 2003

Kubi

I just had a look at the online demo for Kubi Client, a collaboration tool that's embeddable in Outlook in Notes and offers some of Groove's features without requiring any additional infrastructure. It seems a nice idea to rely on SMTP only, although I always hate to even look at software from companies that make statements like this:

The company"s patent-pending protocol is SMTP-based, enabling it to cross firewalls and leverage the worldwide messaging network, and XML-formatted, to unify the differences between competing Email platforms.

How can the idea of sending XML over SMTP possibly be worth a patent?
Anyway, since this is something unavoidable with US based companies, I'll take a look at it anyway.

April 22, 2003

Cool reversal

In an article at webservices.org, I found this truly funny explanation about BEA's history:

The company's initial product line, Tuxedo, purchased from Novell in 1996, is a transaction monitor - essentially, an application server without the Web UI features.

This is so great - it's like saying "C++ is a sort of compiled Java".

April 18, 2003

XPrize

From a posting at ./, I learned about X PRIZE.

April 15, 2003

AspectWerkz

AspectWerkz - AspectWerkz

AspectWerkz is a dynamic, lightweight and high-performant AOP/AOSD framework for Java.

What I really like about its concepts is the option to run it in a mode where it will instrument classes on the fly, as they are loaded. It's also nice that it doesn't require any addition to the Java language (like aspectJ does).

April 14, 2003

String processing in Java

Tim Bray has written On Character Strings, and as usual, it's very worth reading. I think Strings in Java are just about the language's worst feature, so I'm in violent agreement with what he writes.
I remember that IBM's San Francisco (R.I.P.) had its own string class, and the "feature" I hate most about Java is the half-hearted support for the "+"-operator. I don't know how many times I have seen Java code that clearly showed how dangerous the perceived simplicity can be to the performance ...

April 10, 2003

RSS Aggregator

I just downloaded and installed SharpReader, and from my first impression, this seems to be the ultimate RSS aggregator. Great! You've made my day! Exactly what I was looking for.

April 07, 2003

Automatic Translation


Jetzt ICQ spricht auch Deutsch!

Erhalten Sie es hier für freies und chatten

Sie mit Ihren Freunden in Ihrer Sprache.

If you think I'm not serious, try to look at this page with a German language setting.

April 05, 2003

Java Load Test Tool

TSS has a thread on a Java load test tool called Proxy Sniffer that seems interesting (reminder to Self).

March 29, 2003

TrackBack - finally

I just thought that it might be a good time to figure out how all of this trackback stuff really works, and navigated to the movabletype web site - and bingo: I immediately found Six Log: A Beginner's Guide to TrackBack. Excellent explanation, and hopefully this will work the way I expect (after reconfiguring my weblog to enable trackback-related stuff by default).

March 16, 2003

Review of T-Mobile MDA

infoSync Norway reviews the T-Mobile MDA, and I can agree with most of what is being said. Some of my additional observations: It's nearly impossible to use the thing one-handed, which can be hard sometimes; there is no way to switch off the very annoying "battery low" indicator or configure it; SMS features are broken from a user interface point of view. Lately, I have been thinking of moving to a two-device setup. Recently, I have even thought of replacing or supplementing it with a 'simple' phone like the Siemens S55. I have yet to find the perfect device ...

March 05, 2003

RSS Validator

Tim Bray writes about RSS Validation.

March 01, 2003

Apple G4 Cube

My favorite machine is my G4 Cube, running Mac OS X 10.2 (Jaguar).
Apple G4 Cube
Although it's no longer in production (you can find some ome historical information here), I still believe that it's the coolest machine I ever had - and probably will have as well. Mac OS X just rocks, and I'm continuously thinking of replacing my trusted ThinkPad with a Mac notebook.

February 28, 2003

T-Mobile MDA

Since I have not seen it very often and found it pretty hard to find decent information about it, I'll share some information about my newest gadget: A T-Mobile MDA.

So - what is it? It's a combined PDA/GPRS cellphone running MSFT's Pocket PC 2002 Phone Edition. Basically, it allows you to make phone calls, sends SMSs, manage the usual personal information, browse the web with really decent speed, and install anything that runs on a Pocket PC (and that's quite a lot).
So - is it any good? Yes, I think it is. I have been a long time user of Nokia Communicators (both the 9110 and the 9210), and this thing works a lot better for me. I know that it's really un-nerdy to say so, but I think that Symbian OS sucks. (I hate to say that since I really hate admitting it when something made by Microsoft is actually better than the competition - but in this case I have to say it is.)

Most importantly for me, I have found a software called Cadenza mNotes which allows me to synchronize e-mails and contacts with our Domino infrastructure. The Nokia communicator was able to access e-mails via IMAP and POP3, so I could have done that. The problem was that I'm a long time T-Mobile customer and they simply don't support HSCSD, just GPRS - which is in turn not supported by the Communicator. Apart from that, I find that being able to synchronize addresses is by far the most important thing for me.

RSS/WebLog Client Wishlist

OK, So I'm trying out commercial software. NewzCrawler has an integrated (?) Blog client - so let's try if this works ... OK, I was able to post my weblog. It added a stupid "posted with line", but that's probably a limitation of the trial version.

Why do they do that? If I try out software, I can live with a nag screen; if I like it, I'll buy it.

Anyway, it didn't do anything obvious that FeedReader doesn't also do, and the Blog client looks nice but is not really integrated. What I'm looking for is this:

Something that combines my browser (be it IE or Netscape or Mozilla, I don't care) with a list of channels/newsfeeds, and allows me to select part of the text and with a single click add a link to the page, together with the selected text, to my weblog - allowing me to enter a title. It would be really cool if I could drag&drop texts from the browser windows, since that is the way I usually work: I google some subject, follow several links and links in those pages, and have a short history of about 5-10 pages that I'd like to add together to a single weblog entry.

February 27, 2003

This is a test posting

This is a test posting from NetNewsWire. It looks rather great - but it'll only run on the Mac which is in use by my wife most of the time. Sigh.

RSS news aggregator search

I'm still looking for the perfect news aggregator. Today, I downloaded a very impressive Java application, dynamicobjects spaces. I was reluctant to do so, because I have not really seen many Java desktop apps that I like. But this one really looks great.
Unfortunately, it doesn't work for me - I can't get the RSS subscriptions to work. I have emailed the author and look forward to his reply. Meanwhile, I'll take a look at other options.

Nerdy, very nerdy

This entry is posted from my PDA. So cool.

February 26, 2003

Fonts, colors, and other things I don't know

I shamelessly stole fonts and colors from Jeffrey Zeldman's site. Is this legal? Can a few lines of CSS code be copyrighted? If they are, I'll change back to the ugly defaults ... but it's really intended as a compliment.

Architecture for Stand-Alone Applications

I came across this article at TSS about ZOE, and also somehow found out about a tool called AmphetaDesk. Both offer functionality to aggregate news taken from RSS feeds; ZOE also provides for e-mail and other stuff. What's interesting is that both are desktop tools, but are implemented as small web servers that provide their UI to the browser.


February 24, 2003

Hawaii Stories explains blogBuddy mystery

I was a bit puzzled by the way titles are created when using blogBuddy to post to a MovableType weblog. Hawaii Stories explains that it's actually the first five words that are turned into a title - a rather stupid decision, from my point of view. Anyway, it's a cool tool, and it's actually written in Delphi. Didn't even know that anybody used that anymore ;-)

February 23, 2003

MovableType

This weblog is powered by MovableType, an almost free weblogging system.

Almost free means that you need to pay a small fee (US$ 150) if you use it commercially, which I do. So my excuse for not having done so yet is that they explicitly allow for usage as long as one is undecided about whether to stick with it.

From my experience so far, I must say that I'm absolutely impressed - it seems to be a great system. Kudos to the developers!