Now blogging at diego's weblog. See you over there!

nullsoft does it again

Just as with Gnutella, Nullsoft released something that AOL pulled out but not before the code got into the wild. Heh. I think now I understand why the name. I can imagine the nullsoft guys with this thing working and AOL totally oblivious to it, maybe even letting it go to...

yes, exactly. :)

And the name has the added advantage of having a literary reference: WASTE was the name of the secret communications network (based on the US postal system) in Pynchon's classic The Crying of Lot 49. This might be the main reason for the name, but the other one (keeping with Pynchon's conspiracy-theory style) sounds more appealing. :-)

Categories: technology
Posted by diego on May 31, 2003 at 1:26 AM

more on Microsoft-AOL

Regarding thursday's news on the Microsoft-AOL settlement, here's an interesting article from the Washington Post with more background and opinion on the deal.

I wonder: could it be that Microsoft will attempt to buy AOL? Of course, most in the industry would oppose it, but at the moment both the FCC and the Justice Department would most likely be unconcerned (the European Antitrust Commission would be another matter). Steve Case is all but gone, and those in charge of AOL-Time Warner have been itching to "undo" the merger. Mmmm...

Categories: technology
Posted by diego on May 31, 2003 at 1:17 AM

bluetooth on java

Russ posted a cool entry on thursday about bluetooth on Java, and the lack of OSS toolkits. What seems to be more worrying is that most of the toolkits the book he mentions pointed to are for Win32 devices, Linux, or Palm, but no mention of Symbian. I guess that to use Bluetooth from Java on the new Symbian mobiles you'd have to wrap it on JNI, but I don't think that's possible on Personal Java, or even J2ME. In any case, at this stage Java would probably be too high level for this kind of thing; I'd bet (no knowledge whatsoever of this, just speaking from past experience) that the blueetoth API for Java is going to miss some options that turn out to be important, and that won't be included until a next release (An example of this is the HttpURLConnection classes in java.net.*, which still don't let you do certain things, like supporting WEBDAV by simply modifying the method type on the call, just because the API refuses to accept anything it doesn't know about).

Categories: soft.dev
Posted by diego on May 31, 2003 at 1:07 AM

st. petersburg's 300th anniversary

Speaking of cities, the 300th anniversary of St. Petersburg is being celebrated this week, and apparently it's quite a celebration. When I get to visit Russia, St. Petersburg and Moscow will be destinations for sure.

<diatribe>

During World War II Leningrad (the name given to the city after Lenin died, changed again after the fall of the Soviet Union) was, with Stalingrad, one of the focal points of resistance against the Nazi invasion. 1.25 million residents died during the almost-3-year blockade after Operation Barbarossa began in '41, and ten thousand buildings were destroyed in the fighting. (Stalingrad, on the other hand, was leveled outright, mostly by the Luftwaffe, and two million people died there). This is very much on my mind as I keep thinking about the claims (pre-Iraq war this year) comparing Saddam to Hitler and talking about how "the US had stopped a tyrant before". If anyone stopped Hitler, it was the Russians, who lost 20 million people in WW2 (about 14 million military and 7 million civilian). Compare that to a total of 300,000 US casualties (only military), or 400,000 British (about 300,000 military, and 100,000 civilian). Sure, the Russians were badly prepared, and I'm not saying a third of a million people is a small number or that the other Allies didn't also pay with their share of blood, but in comparison...

The Russians wiped out some of the Wermacht's best divisions, and forced the 6th Army into surrender. It was the Russians that gave the Allies enough maneuvering room so that they could crack Normandy, since the bulk of the Wermacht was on the eastern front, which stretched the western Nazi offensive/defensive capabilities.

Of course, no one "stopped Hittler," reality is never that simple. Hitler himself contributed in many ways (not least was, of course, opening an eastern front, although it could be argued that it would happen sooner or later).

And this is not "anti-Iraq war" rethoric, mind you (which I consider a separate matter). These comparisons have been used freely by all the parties and the media (except the Russians, of course), nor is it just limited to geopolitical matters, just like the word 'hero' is used all too easily these days.

I find it troubling that we seem to have fallen into the habit of twisting semantics to make ourselves feel more important, instead of doing things that would deserve it (say, a mission to Mars) we hype every stupid thing we do comparing it to the level of great achievements in the past. If anyone is a hero, then heroism loses meaning no? And if a tyrant in a run-down country is Hitler, then we also lose perspective of what those who came before us suffered to give us what we have, and what suffering really is.

And by losing sight of that, it's more difficult to define what's important and what's not, and suddenly we are surprised when we find elation in meaningless, superficial things like finding a special 25% off when buying the latest T-shirt from The Gap.

Anyway.

</diatribe>

Categories: personal
Posted by diego on May 30, 2003 at 9:17 PM

the two-week summer

The weather has been improving the last few days, and today we had a great summer day (not summer yet of course, but I'm told these two weeks in mid-May are always the best of the year, something that my limited Dublinesque experience seems to confirm). It was warm (say, 20 C) with a cool breeze and few clouds. I was around town most of the day, and at the TCD campus, and the tourists still haven't overrun the place, which is nice.

What a great city.

Categories: personal
Posted by diego on May 30, 2003 at 9:13 PM

microsoft competes... with itself

Why would Microsoft lower prices of Office? How about: to compete with its own offerings. In other MS-related news, Microsoft and AOL have settled the antitrust suit for $750 million (that's what cash hoards are good for). Of course, Netscape is likely to be the first loser in all this, just as MS sets its sights on Apple (again).

This is, IMO, an incredibly short-sighted move on the part of AOL. They get IE free for seven years. And after that? What if uncle Bill cuts off the IE/Media Player spigot? Microsoft knows how to think long term. And they can afford to wait.

Not smart, AOL. Not smart at all.

Categories: technology
Posted by diego on May 30, 2003 at 12:40 AM

animatrix review

Yesterday I commented that I had seen Animatrix. I didn't want to comment then to let it settle a bit in my head, but here go my impressions now...

Animatrix is quite simply one of the best animated features I've seen in years. It crosses through several genres of animation (Anime, Ultra-realistic, etc.) and the storylines are generally excellent. This collection of short stories proves conclusively, if there was any doubt, the strong influence that Anime in particular has had on The Matrix series, as I was mentioning a couple of days ago.

Here's a breakdown of all the nine Animatrix episodes:

  • The last flight of Osiris. I suffered horribly when watching Final Fantasy: The Spirits Within: it was a movie that pushed the limits of realistic animation but the plot was so hopelessly crappy that it ruined everything. Well, Final Flight... fixes all that. Not only the realistic animation is way better than Final Fantasy, the story is excellent and it gives us a view of the moment when the 'rebels' find out about the machines targeting Zion.
  • The Second Renassaince, Parts I and II. Great animation and background information on 'the fall' of humans, and the rise of the machines. Of course, in light of the new information we got from Reloaded, all of this, which comes from the Zion archives, is now suspect. Interesting nevertheless. :)
  • Program: Okay story (if a bit too predictable), classic Anime-style.
  • A Detective Story. Better style in animation than story. The Humprey Bogart-style of the detective, and the mix of a 'Raymond Chandler'-atmosphere with 'The Third Man' (although no Orson Welles here) make this story special in visual terms, but not much more.
  • Beyond. Great story, and great, pure anime. An 'anomalous' sector in the Matrix that further develops some of the concepts in the movie (e.g., Ghosts are programs run amok, etc).
  • Matriculated. Animation reminiscent of MTV's 'The Maxx', pretty good but feels just a little bit off-key for the context for some reason. Good story though, showing a side of the war between humans and machines that I hadn't thought about at all, humans "convincing" machines to help them. A couple of minutes of Reloaded-style philosophical discourse that was interesting.
  • World Record. Similar to Matriculated in terms of animation (the style is even more similar to 'The Maxx'), and the story is pretty much the same concept as Kid's Story (see below), so just ok.
  • Kid's story. One of the best of the collection in terms of story if only because it provides background into Reloaded (as Matt noted in this comment to my previous entry on Animatrix). What's even better is that the connection is created by just two lines of dialogue: the kid saying "Neo... I knew you'd save me" to which Neo replies "I didn't save you Kid. You saved yourself." The fact that this Kid has a background story like this, that he appears in Reloaded, and that he has "self-substantiated" (just like the Runner in World Record does, except that no one is there to save him) would imply that he has a bigger role to play in Revolutions.
In all, Animatrix could easily stand as a movie on its own. Most of it has the "rush" feel of the original Matrix and the last twenty minutes of Reloaded, and shows the depth as well as the attention to detail put in the creation of the Matrix story (another example is how well done the hacking scenes are done), which is an encouraging sign for Revolutions.

Categories: art.media
Posted by diego on May 29, 2003 at 2:24 PM

waste: new P2P collaboration software

Jim IM'ed me a link to this software: waste, from Nullsoft (the creators of Gnutella). Not a new concept, and the setup is a bit more tricky than it should be, but interesting nevertheless. There's also a slashdot thread on it.

Categories: technology
Posted by diego on May 29, 2003 at 2:21 PM

animatrix rocks

Animatrix is already partly out as four free episodes, but there are nine in the can. I've just seen all nine, and they are very, very good. Will have to get that DVD when it comes out next week.

Categories: art.media
Posted by diego on May 28, 2003 at 8:56 PM

the language police

"The Older Person and the Water": That's the title given to Hemingway's "The Old Man and The Sea" in some of the US's school textbooks. That's probably the worst example, but there are many more. Read and be amazed.

Categories: art.media
Posted by diego on May 28, 2003 at 8:32 PM

little poor AOL

AOL is lobbying to be exempted from restrictions placed on it back when it merged with Time Warner regarding Instant Messaging. It'll probably win: Michael Powell, currently FCC chairman, wrote on AOL's support when the initial decision was handed in (talk about good friends on the inside). AOL meanwhile is allowed to keep repeating ridiculous statements like "interoperability is not possible" when there are programs like Trillian that (somehow, probably through dark magic) connect not just to AIM, but to MSN and Yahoo too.

Categories: technology
Posted by diego on May 27, 2003 at 11:24 PM

the standard Kilogram is... losing weight

According to this New York Times article:

The kilogram is defined by a platinum-iridium cylinder, cast in England in 1889. No one knows why it is shedding weight, at least in comparison with other reference weights, but the change has spurred an international search for a more stable definition.

[...]

The kilogram is the only one of the seven base units of measurement that still retain its 19th-century definition. Over the years, scientists have redefined units like the meter (first based on the earth's circumference) and the second (conceived as a fraction of a day). The meter is now the distance light travels in one-299,792,458th of a second, and a second is the time it takes for a cesium atom to vibrate 9,192,631,770 times. Each can be measured with remarkable precision, and, equally important, can be reproduced anywhere.

[...]

The kilogram was conceived to be the mass of a liter of water, but accurately measuring a liter of water proved to be very difficult. Instead, an English goldsmith was hired to make a platinum-iridium cylinder that would be used to define the kilogram.

[...]

To update the kilogram, Germany is working with scientists from countries including Australia, Italy and Japan to produce a perfectly round one-kilogram silicon crystal. The idea is that by knowing exactly what atoms are in the crystal, how far apart they are and the size of the ball, the number of atoms in the ball can be calculated. That number then becomes the definition of a kilogram.

[...]

An intriguing characteristic of this smooth ball is that there is no way to tell whether it is spinning or at rest. Only if a grain of dust lands on the surface is there something for the eye to track.

Categories: science
Posted by diego on May 27, 2003 at 11:12 PM

digitalIDworld

I found this really cool site today: DigitalIDWorld (one of the main contributors is Eric unless I'm mistaken). It has a ton of interesting articles/posting on digital identity stuff, such as this one, discussing Bill Gates' comments on the subject.

Categories: technology
Posted by diego on May 27, 2003 at 2:38 PM

gibson on media and technology

If you have a few minutes check out this incredibly good speech by William Gibson to the Directors Guild of America. Quote:

What we call “media” were originally called “mass media”. technologies allowing the replication of passive experience. As a novelist, I work in the oldest mass medium, the printed word. The book has been largely unchanged for centuries. Working in language expressed as a system of marks on a surface, I can induce extremely complex experiences, but only in an audience elaborately educated to experience this. This platform still possesses certain inherent advantages. I can, for instance, render interiority of character with an ease and specificity denied to a screenwriter. But my audience must be literate, must know what prose fiction is and understand how one accesses it. This requires a complexly cultural education, and a certain socio-economic basis. Not everyone is afforded the luxury of such an education.

But I remember being taken to my first film, either a Disney animation or a Disney nature documentary (I can’t recall which I saw first) and being overwhelmed by the steep yet almost instantaneous learning curve: in that hour, I learned to watch film. Was taught, in effect, by the film itself. I was years away from being able to read my first novel, and would need a lot of pedagogy, to do that. But film itself taught me, in the dark, to view it. I remember it as a sort of violence done to me, as full of terror as it was of delight. But when I emerged from that theater, I knew how to watch film.

What had happened to me was historically the result of an immensely complex technological evolution, encompassing optics, mechanics, photography, audio recording, and much else. Whatever film it was that I first watched, other people around the world were also watching, having approximately the same experience in terms of sensory input. And that film no doubt survives today, in Disney’s back-catalog, as an experience that can still be accessed.

[...]

Much of history has been, often to an unrecognized degree, technologically driven. From the extinction of North America’s mega-fauna to the current geopolitical significance of the Middle East, technology has driven change. (That’s spear-hunting technology for the mega-fauna and the internal-combustion engine for the Middle East, by the way.) Very seldom do nations legislate the emergence of new technologies.

The Internet, an unprecedented driver of change, was a complete accident, and that seems more often the way of things. The Internet is the result of the unlikely marriage of a DARPA project and the nascent industry of desktop computing. Had nations better understood the potential of the Internet, I suspect they might well have strangled it in its cradle. Emergent technology is, by its very nature, out of control, and leads to unpredictable outcomes.

As indeed does the emergent realm of the digital. I prefer to view this not as the advent of some new and extraordinary weirdness, but as part of the ongoing manifestation of some very ancient and extraordinary weirdness: our gradual spinning of a sort of extended prosthetic mass nervous-system, out of some urge that was present around the cooking-fires of our earliest human ancestors.

He makes a point near the end that I (surprinsingly) disagree with:
I imagine that one of the things our great-grandchildren will find quaintest about us is how we had all these different, function-specific devices. Their fridges will remind them of appointments and the trunks of their cars will, if need be, keep the groceries from thawing. The environment itself will be smart, rather than various function-specific nodes scattered through it. Genuinely ubiquitous computing spreads like warm Vaseline. Genuinely evolved interfaces are transparent, so transparent as to be invisible.
I don't think we are entering into an era of less function-specific devices. Rather, we are entering an era of even more "specificity", but with greater interoperability. What is on the fridge's door that reminds you of an appointment doesn't come built in with the fridge, it's a PDA-fridge-magnet (let's ignore the problems of magnetic fields on electronics for a minute). And you can take it off and carry it around. Or put it in the car, and it always stays sync-ed with your main data store, which is a black box hidden somewhere, subwoofer-style.

Function-specific, transparent, pervasive, energy-efficient, data-aware, people-aware, context-aware, portable (if possible), fully interoperable. That's, IMO, where things are going.

Categories: technology
Posted by diego on May 27, 2003 at 1:01 PM

it's the people, stupid

Clay Shirky on Social Structure in Social Software. Really interesting discussion. Quote:

Group rules like Robert's Rules of Order protect groups from falling into these patterns and thus protect the group from itself. Clay gives an example of BBS systems in the 1970's that started out as "open access" and "freedom of speech" were "overrun" by teenage boys who wanted to talk about bathroom jokes, sex, etc. The group didn't have enough structure to fend off these "attacks" on the group. This was a social issue, not a technological issue. "An attack from within is the pattern that matters."
If 'social software' is to be anything except a buzzword, we'll need to create tools that let the group "defend" against these kinds of "attacks" on its social structure. And easily, not by requiring the user to press Ctrl+Alt+W+X+F1 while standing on one foot and looking west. Spam is the same kind of threat to e-mail (except that email is a world-wide, decentralized social network).

And speaking of spam. The amount of spam I've been getting these past week or so has been astonishing, which has led me to give even more thought to good spam filtering in clevercactus. I'm getting something like 150 messages a day. Okay, maybe half of those are worms (that new "support@microsoft.com" worm that I started seeing about a week ago). Since I'm not the only one, there must be something else going on... some kind of quarterly release of new spam lists or something to these lowlifes (or is that "lowlives"?) that have nothing better to do than destroy our ability to work by hijacking our communication channels for idiotic offers for viagra and such crap. Scott had good entry on the subject last month. And make no mistake, as with social software, this is not a technology problem, it's a people problem. Or a people "feature," depending on your viewpoint. :)

Categories: technology
Posted by diego on May 27, 2003 at 12:56 PM

cc mailing lists

The clevercactus mailing lists are back! (In reality they never "left" :) but access to the subscription page was disabled after the transition of the site from spaces to cactus. Still more things to come on the site...)

Categories: clevercactus
Posted by diego on May 27, 2003 at 12:26 PM

bloggers meeting in dublin

Karlin organized an Irish bloggers meeting:

anyone in Ireland who blogs, any bloggers from elsewhere who happen to be around, and anyone who is interested in blogging but doesn't do it yet is welcome to join an informal (can you say, 'pub'?) gathering this coming Tuesday, June 3rd. We will meet from 8pm upstairs in the Library Bar in the Central Hotel on Exchequer Street (yes, you know it, the hotel just up from the Sth. Georges Street arcade, as you turn off down Exchequer Street).

Come earlier rather than later -- try not to do that Irish thing of arriving half an hour before closing time! And please pass the word.

'Pass the word' in this case could also be called 'spread the link' :).

Categories: technology
Posted by diego on May 27, 2003 at 10:19 AM

from playstation to supercomputer

A group at the NCSA has built a supercomputer using PlayStation 2s and Linux's clustering technology for 50,000. Cool.

Categories: technology
Posted by diego on May 26, 2003 at 11:08 PM

news from the world

A compilation of various news articles from around the world on the "crisis of democracy", from Salon.

Categories: geopolitics
Posted by diego on May 26, 2003 at 11:01 PM

in praise of cooperation

An excellent speech by former US President Bill Clinton.

Categories: geopolitics
Posted by diego on May 26, 2003 at 1:12 AM

the Economist on Ethernet

The Economist this week has a good article on the history of Ethernet, and what made it survive past other "contenders" that didn't make it, such as Token Ring, or even ATM:

The first reason is simplicity. Ethernet never presupposed what sort of medium the data would travel over, be it coaxial cable or radio waves (hence the term “ether” to describe some undefined path). That made it flexible, able to incorporate improvements without challenging its fundamental design.

Second, it rapidly became an open standard at a time when most data-networking protocols were proprietary. That openness has made for a better business model. It enabled a horde of engineers from around the world to improve the technology as they competed to build inter-operable products. That competition lowered the price. What is more, the open standard meant that engineers in different organisations had to agree with each other on revised specifications, in order to avoid being cut out of the game. This ensured that the technology never became too complex or over-designed. [...] That, coupled with the economies of scale that come from being the entrenched technology, meant that Ethernet was faster, less expensive and less complicated to deploy than rival systems.

Third, Ethernet is based on decentralisation. It lets smart “end-devices”, such as PCs, do the work of plucking the data out of the ether, rather than relying on a central unit to control the way those data are routed. In this way, Ethernet evolved in tandem with improvements in computing power—a factor that was largely overlooked by both critics and proponents when Ethernet was being pooh-poohed in the 1980s and early 1990s.

Beyond the technology, there is even a lesson for companies investing in research, albeit one learned through tears rather than triumph. Xerox failed to commercialise Ethernet, as it similarly missed exploiting other inventions created at PARC, such as the mouse and the graphical user interface. To develop Ethernet fully, Dr Metcalfe had to leave PARC and found 3Com, now a big telecommunications-component firm. The lesson may have sunk in. In January 2002 PARC was carved out as an independent subsidiary of Xerox. That allows it to explore partnerships, spin-offs and licensing agreements without having to get its parent's permission.

So true. I have the feeling the lessons of Ethernet will become more relevant as time passes and we move more and more into a fully decentralized world.

Categories: technology
Posted by diego on May 26, 2003 at 12:17 AM

moving mountains for fun and profit

Ole reviews How would you move Mount Fuji? a book on interview techniques that focuses in particular (although not exclusively) on Microsoft and their famed interview questions. Great review.

Categories: technology
Posted by diego on May 26, 2003 at 12:09 AM

more cc comments

Dan has been trying clevercactus as well as columba. He has some comments about the filtering capabilities (or lack thereof) in cactus--and he's right, there's little there except basic rule functionality and some of the automatic behaviors (for example, if you have a contact that matches an email the email will be automatically routed into that contact's space if no other rule matches). More filtering capabilities will follow in the next beta.

Ricardo has also posted some comments, particularly on the weblog sync feature. He notes that it doesn't yet sync back the current posts on the weblog (you have to subscribe for an RSS feed for that) and he's right. It's just that it takes a bit longer to clarify how to define what gets synched (it wouldn't be good to sync the entire blog if that's not what you want...) as well as coming up with a UI that lets the user deal uniformly with different weblog tools, which have different APIs and therefore will support different capabilities.

Thanks for the comments Dan and Ricardo!

Categories: clevercactus
Posted by diego on May 25, 2003 at 8:17 PM

the cinematic roots of The Matrix

I was thinking about this as I went to see Matrix Reloaded and then again after I saw it, as I wrote my comments on it. My view of the special effects in Reloaded in particular changed since I wrote that review, when I remembered something that I had forgotten: that The Matrix is, at its core, Live Anime. I got carried away by the "hollywoodish action" feeling of The Matrix; when the first movie came out in 1999 not many expected it to be the massive hit it was. But it was a hit, and the rules changed: whatever the Wachowski brothers had planned for the series now also had to match the expectations of people regarding hit movies, something they probably didn't want to do (if you want to see how "mainstream" the brothers are, watch their previous movie, Bound). Unless you're James Cameron or Steven Spielberg, who seem to have the pulse on superhit audience expectations, it's probably better to stick to your guns, which seems to be what the brothers did in Reloaded. Things are perceived differently when you apply different expectations to them, that's not a surprise. My feelings towards the visual/cinematic style of Reloaded had been shifting since I saw the movie. In the end, I think most of the problems of the movie can be traced to apparent timing problems, some scenes that are too long, etc, which might have more to do with Reloaded and Revolutions being shot as one movie and then split in half, rather than as two. I've read that the Wachowski wanted to release Revolutions only a month after Reloaded but the studio would have none of it. That would probably have made a lot more sense, and maybe take the edge off all the unresolved threads in the second movie.

By the way, if I appear to be obsessive about this, it's because I am. :) Not about The Matrix in particular, but about storytelling in general, particularly for SF movies, which are the hardest to get right; the analysis I did of Minority Report in July last year comes to mind.

akira.gif
Tetsuo's powers start to
get out of control in Akira
Back to The Matrix and Anime. The by-now-overused effect of "bullet-time" was new in live action movies when the Matrix did it in 1999, but it was not a new idea. Anime had done it before. The Matrix is a homage to Anime in more than one way, many scenes and ideas are typical of good Anime. The philosophical discourse, sometimes overbearing. The ambiguous situations, even ambiguous endings. The two prime examples are Akira and Ghost In The Shell, both excellent movies that predate The Matrix by several years. In both, what we now call "bullet-time" is used extensively, sometimes subtly, and in fact Matrix Reloaded is much closer to them than the first movie was. Even the explosions look similar. The connections run deeper: for example, in Akira you have the government trying to control an experiment that (maybe) started a nuclear war: psychics so powerful they can't be contained. Through a freak accident involving one of these psychics, an innocent boy, Tetsuo, starts to develop powers of his own. The moment when Tetsuo fully manifests his powers for the first time he is escaping from a hospital. Standing in a corridor, he is surrounded: he concentrates, and the corridor expands around him. Then he blows his enemies to pieces. Any bells ringing? From the end of The Matrix maybe? :) And that's not all, as Tetsuo's powers develop he learns to fly among other things. His middle name might as well be Neo.

Ghost in the shell has so much imagery that echoes in The Matrix as well that it's difficult to know where to start comparing. From people with plugs all over their bodies back into a computer system (I know this is a common science fiction theme, but in the aesthetics are remarkably similar), to sentient software run amok in the real and virtual world, the connections are pervasive. There are other parallels, not just with Anime but with Manga (Japanese print comics) and comic books in general as well (Trinity's attire keeps reminding me of Catwoman, for example), which are much more complex in terms of story than people generally think (witness the richness of the story of the X-Men series of movies, which is basically watered-down content from the comic book stories).

Anyway, in the end what I mean is that put in the right context, The Matrix series is even better than in looks in close inspection. And, if Revolutions follows closely the tradition of Anime, we should prepare ourselves for an ending that might be ambiguous, even possibly unsatisfying by Hollywood's standards, as it would be if for example it was revealed that Neo was a piece of software, just like the Agents are (as I've mentioned before). Already Reloaded makes you feel a bit stupid because everything that you thought was true isn't, which I'm sure adds to the feeling of unease towards the movie. If the Wachowski brothers haven't bowed down to pressure (from the studio, the audiences, and so on) they will at least deliver a consistent vision of their own, and that's what art is about. They already have enough money to not have to care about box office receipts. Now they only have to show that they can break out of Hollywood's own crap-producing money-grabbing sequel cycle.

Categories: art.media
Posted by diego on May 25, 2003 at 2:33 PM

weblogs and web services (or blogging APIs cont.)

Timothy Appnel on Weblogs, Web Services and the Future, on blogging APIs, RSS, and web services, that touches on some issues that were not considered at length in the original thread.

Categories: technology
Posted by diego on May 25, 2003 at 12:12 PM

and speaking of Matrix Reloaded...

A New York Times article on the philosophical references found in the films, and the possibilities for the final act of the trilogy.

Categories: art.media
Posted by diego on May 24, 2003 at 7:21 PM

autoblogging?

Remember CueCat? Microsoft Research is using it for something they call autoblogging. Interesting.

Categories: technology
Posted by diego on May 24, 2003 at 3:22 PM

more about Nextel

In a comment to my previous post on recent moves by Nextel Juan Cruz corrected me regarding the workings of the Nextel system. He said:

Diego, in Nextel's PTT system, the message is compressed, assembled as a series of packets, and then sent to the (cell) network, that routes it to the proper handheld.

The trick here is that (from the cost perspective) is that when you send a message it usually uses the network for a couple of seconds only, and because the message goes one way, there is no need to ACK that the final recipient got it, the terminal must only make sure that the local cell has it.

Is basically a store-and-forward system.

In Argentina it (and several other countries as well) it's already a cell phone operator. The only country where it does not have decent a market as a cell-phone op is in the US.

The company is split in two branches (in the US): Nextel and Nextel International. The former handles local business and the latter only international branches.

And Jim Added:
Juan Cruz is spot on, I really didn't grasp the idea of PTT at first, but if you think of it as a form of VOIP which seems to be what FasTxt are doing with their app on Symbian phones and using GSM/GPRS as the carrier, you can see some of the advantages.

This way you only have GPRS costs for the data your phone sends and receives rather than full minute by minute pricing for a long call.

Thanks for the clarification! Obviously I got carried away by my own ideas about how these things should work :) Interesting to know that what I'm talking about (direct phone-to-phone connections when possible, something akin to WiFi in Ad Hoc mode between two nodes) doesn't even exist (at least not for cell phones :)).

Categories: technology
Posted by diego on May 23, 2003 at 5:29 PM

'Visual Java'?

News.com: New Java tool targets simplified development. They also mention Sun ONE Studio, "which is targeted as more highly skilled developers." No kidding. Sun ONE Studio is a mess, incredibly difficult to use. We'll see what they come up with to make Java easier to program against, it's certainly doable.

Categories: soft.dev
Posted by diego on May 23, 2003 at 3:00 PM

studying for profit

From the New York Times: Computing's lost allure.

<rant>
Why is this a problem? These people were getting in just because there was the promise of easy money and whatever? You need a financial bubble to like Computer Science? You should go to college to learn, and do what you like. If the situation in the stock market (or the job market even) makes you change your mind, I say: good riddance.
</rant>

Categories: technology
Posted by diego on May 23, 2003 at 12:12 PM

looking back to see ahead

Kevin Werbach on the Post-PC, Post-Web world. Quote:

Sure, computers will become more powerful, data networks will become faster, and storage devices will become capable of holding infinitely more data. That's just the background story. Getting vast numbers of individuals and businesses online was an extraordinary achievement, but except for certain underserved communities, it's largely done.

What matters today is using all that connected power, and the standards-based software environment that rides on it, in productive ways. From enabling distributed work teams in companies to collaborate on projects to giving people rich interactive experiences that travel across different hardware and connections, these are tasks we could only think about tackling once the foundations were laid.

While we were all focused on the dot-com bubble and the subsequent bust, "yesterday" shifted.
Smart companies understand this change. IBM, you will notice, is no longer touting e-business, its code word for the Web. It has shifted its energy to next-generation developments such as Linux, grid computing and autonomic computing. Microsoft is pouring resources into post-PC and post-Web businesses, understanding that it must make significant long-term bets to prepare for the day when its traditional Windows cash cow disappears. Dell Computer is even going so far as to remove "Computer" from its name. Apple Computer is rapidly moving from an emphasis on easy Internet access to "digital lifestyle" offerings such as photo sharing and music downloads. And America Online, though struggling, knows that it needs to change from the company that gets you on the Web to the company that gets you beyond the Web.

Excellent article!

And speaking of looking back, Bob Metcalfe on 30 years of Ethernet, and Philip Greenspun comparing the evolution of wireless in the US and Europe to the development of trade barriers.

Categories: technology
Posted by diego on May 23, 2003 at 10:16 AM

there is no spoon: a review of Matrix Reloaded

matrix.jpegOkay, I've seen it. Did I like it?

Well, it's ... complicated. :)

I had a window of time today at noon, so I just got up and went to the theater. Got there early, snatched a row-ten-center seat, and waited.

And waited.

Then the movie began. An action sequence! Oh, boy! Bullet-time, shooting... and shooting... and more shooting... okay, okay, we've seen the bullets fly, now please move on...

Still more shooting.

Is this another trailer? I thought. It wasn't.

Finally that one ended, change of scenery and so on.

Carrie-Anne Moss looks at Keanu Reeves across a rusted metal table and says, softly: "Do you want to talk?"

I laughed. It's Keanu Reeves there, Carrie-Anne! He has the conversational abilities of a dead racoon!

She didn't hear me. She kept trying to talk to him. Oh well.

Before I go on, there is something I want to clarify: while the effects in the movie are "ok" (as I feared, there can be "too much of a good thing"), the cinematography is fine, and so on, I'm holding off on forming an opinion on story yet. It seemed to be going badly but then at the end we witness a couple of twists that can not only explain all the strange things that happened before, they can also easily redeem the entire series if taken to proper conclusions in The Matrix Revolutions. Depending on how it ends, it could be a masterpiece, or not.

More below...

If you are going to see it, make sure to wait until after the end of the credits: there's a trailer for Matrix Revolutions which isn't available anywhere else yet.

Spoiler Warning: I'm talking about a lot of the "surprises" in Reloaded below, so continue reading only if you have seen the movie, or if you don't mind knowing a bit more than you're supposed to.

One thing that I found hilarious was the continued metaphysical arguments the characters engage in, particularly in the presence of Neo. These dialogue-sections follow a pattern similar to this:

Neo: Why am I here?
Someone else (say, the Oracle): Is that what you really want to know?
Neo: Emm...
Oracle: What's really important is the how, not the why.
Neo: Okay, tell me the how then.
Oracle: The how of what?
Neo: What?
Oracle: You're off-track again...
While it can be amusing to follow some of the logical and philosophical implications of what's said (for example, when the Oracle tells Neo that he's there "to understand the choices he's already made, rather than to make them" we are being told that in The Matrix fate is not only a reality, it's part of the program) and to think about all the discourses on causality, reality, and so on, they can be a bit trying at times; for some reason they feel a bit (just a bit) phony. Maybe it's Keanu's zero-reaction face. Or maybe it's just that there seems to be little point to them, except...

Except that there might be a reason for all of this metaphysical discussion and clue-chasing.

We had seen increasing signs that Neo wasn't so special, we've seen the phantom-Twins, the enigmatic bodyguard of the Oracle, the Oracle herself, the Keymaker that says little except "this is what I'm supposed to do", the self-replicating Agent Smith, and, of course, The Architect.

The action in the movie as it progresses feels more and more scripted. That is, as time passes it becomes more difficult to believe that this is really happening. Agent Smith is out of control. The Oracle runs around without much problem. The Phantom-Twins seem more powerful than any Agents, and suddenly Morpheus can fight off an agent, at least for a while. In the meantime, we are treated to a list of enigmatic pronouncements and complex statements about reality. Credibility is more and more strained. And then the Merovingian that tells Neo that he has "survived all the others".

The others? But wasn't the story that there had been one guy that had freed the first humans from the Matrix? And that Neo is the next one?

At this point it helps to consider some of the apparent holes in the logic of the first Matrix movie, and this one. For example:


  • The story of the man that "freed the first of us". If all of humanity was imprisoned in the Matrix, how exactly did this man survive, let alone build Zion, and all the technology?
  • They "broadcast a signal" to hack into the Matrix. Is there any reason why the Matrix would have radio inbound ports of that sort? Besides, what is the Matrix running that they can hack into it so easily? 802.11 with Windows 95?
  • The "matrix year" in the first movie is 1999. But if the Matrix moves on "normally" in internal time, doesn't that meant that humanity would evolve its technology inside too? Shouldn't that require some kind of resetting to stop humans from becoming too sophisticated?
  • The Agents are always a problem. Why are they so limited? Why, if the Matrix controls the physical world, are they so puny compared to Neo? Why is it that the best defense the Matrix can apparently muster is adding more Kung Fu moves?
I could go on, but these are good examples of problems with the story that are deep logical flaws. In the first movie we ignored those because it was fun. Now, sitting through lectures from Professor Morpheus, they become less easy to ignore.

Until we meet "The Architect."

Ah. Here it was. The dialog was a bit heavy as before, but suddenly we had something new: a revelation. The Architect's explanation clears up a lot of the questions.

It goes like this: In the Matrix there will always be a small amount of people that will reject the "virtual" world imposed on them. Given time, they might compromise the system. So, instead of trying to squash them, the Architect simply built an escape for them. He gave them a cause, and the prophecy to chase. He gave them enemies. Then every once in a while, he used a new Neo (or One) gather them all in a sense, eliminate them, and then start again. Zion is reborn, sponsored by The Matrix!. The threat is contained, properly channeled. The Matrix wins, and the humans always think that they are just about to. We learn this has already happened six times in the past, which means, suddenly, that everything we know from Morpheus about the real world and so on is a lie. The year is not 2199. But if that's not the truth then...

The unknown this time could be Agent Smith, who is now replicating itself. Or it could be part of the cycle...

So given this information, at the very minimum we now know that this whole idea of Neo as the savior is not true. He's a pre-programmed pawn. The question for the third movie is, will he be able to break out from that? Or is it even part of the cycle that he breaks out?

There's another, even more intriguing possibility: that the "real world" of Zion, is actually within the Matrix itself. This is all hypothetical, my own speculation, but along these lines is where I think that the story could really become something. The potential is there. Let me explain.

Consider: we already know that The Matrix has been "managing" Neo and the rebels for several cycles, to control them enough so that they think they are winning and they don't take over the Matrix. If it was the Matrix itself that "created" the first Neo, then why put humans out in the real world? Why not just make them think they've been "extracted"? So then the "real world" of Zion is just another Matrix enclosing the "normal" Matrix. The first is for "rebels", "anomalies" that don't accept the program. The second is for accepting humans.

This theory can be supported by that last scene where Neo stops the sentinels with a gesture, just as he would do inside the Matrix, and by the fact that Agent Smith has also shown up in "the real world". There is one more reason why this theory could be correct.

Consider: all the "special beings" we've seen in the Matrix, such as the Keymaker, Agent Smith, The Twins, and so on, are all software. Because of that, they can see and manipulate the structure of the Matrix. But if they are all software...

Then Neo is software too!

It sounds reasonable: the Matrix creates him, and in fact he has appeared several times already as we saw in the end. He behaves like other "software", in that, although very powerful he is still limited, for example, the Twins can de-materialize, Neo can't. If Neo is software from the "upper" level of the Matrix, the "Matrix for rebels", when he plugs into the lower level of the Matrix he can manipulate its reality. But at the end of Reloaded we see that maybe he has learned to manipulate the upper level of reality as well. (And is this part of the cycle the Matrix has planned?) If so there might be a chance of actually cracking through to the surface, the actual reality (for what it's worth).

All of this explanation has the additional bonus that it "cancels out" the seemingly illogical stuff that happened before. Does Neo's path feel contrived? Of course, it was planned by the Matrix. Does it feel at times that the Matrix is not putting up much resistance? Of course, it needs Neo to succeed, but not that easily. Is Morpheus a zealot? Sure, he was probably programmed to be one :)

Okay, and now for even more wild speculation: why would the Matrix go to all this trouble? If you watch Animatrix you see that the machines, at the beginning, were actually benevolent, trying to be at peace with humans. It was humans who rejected them, and started the war. Now look at the Oracle in Reloaded, talking about how the only way this will work is if both machines and man work together. Could it be that this whole thing is a really, really convoluted way of making humans see what they should do? Mmmm...

Anyway, while speculation is all well and good, I have no idea what might happen. The trailer for Revolutions didn't say much of anything, so I'm in the dark. But I think that it's clear that, properly done, the story could work well. And there could be many endings that work well, such as "the cycle begins again..." or "they actually escape" or... The title for the next movie is plural, "Revolutions", which could be a reference to the past revolutions (the cycle?), or that there are multiple revolutions that will happen along this section of the cycle.

In summary, I'm reserving my final opinion until I've seen the next movie. Everything could change: it's all in place. The elements for a masterpiece in science fiction are there. So are the elements for a major disaster in the history of storytelling. I am optimistic, but we'll see.

We only have to wait until November...

Categories: art.media
Posted by diego on May 22, 2003 at 9:34 PM

more on SCO v. Linux

A couple of days ago Microsoft announced that they were going to license SCO's intellectual property. Now, given that Microsoft has as much use for UNIX intellectual property as an airplane has for an extra set of tires in the trunk, it was clear that they were doing it simply to "support" SCO's lawsuit against IBM (and threat of lawsuits against Linux users). Then open source advocate Bruce Perens replied in this opinion piece in News.com. A good read overall. Doesn't seem that SCO could be going anywhere with this (specially considering Perens' many arguments against the case), but you never know... it's crazy that this is happening, but I guess that if people can try to sue McDonald's for being overweight, anything's possible...

Categories: technology
Posted by diego on May 21, 2003 at 11:34 PM

reloaded needs reloading

I haven't seen The Matrix Reloaded yet (it opened today in Ireland and the UK), but adding to my own err... concerns about the movie comes Dylan, who didn't like it, and points to this other review that doesn't paint it in a good light either, and Erik seems to agree. I've been thinking about writing a longer piece about Matrix, I'll probably do it before I see Reloaded, based on the first movie and what I've seen on the trailers for the second. Need to get it out of my system I guess, and it will be good for comparison later after I've actually seen Reloaded. :)

Categories: art.media
Posted by diego on May 21, 2003 at 11:26 PM

'push to talk' goes global

Mobitopia

News.com has article on the latest moves by Nextel in introducing a more "global" version of its popular "push-to-talk" feature:

Nextel Communications is exploring whether to offer a global version of its popular "push to talk" walkie-talkie feature for cell phones, as rivals work on their own U.S.-centric versions of the technology.
Now, if the call is suddenly being relayed through satellite or a cell, that would make it less of a direct connection between phones, no? It seems that Nextel is quietly moving into the territory of cellphone operators. In the end, hybrid systems like these are what will win in the marketplace IMO. If I can make a direct call to a person in another building around the corner, why shouldn't I? And then, when the receiver is out of direct reach, the infrastructure should be used. It's just common sense.

Categories: technology
Posted by diego on May 21, 2003 at 5:00 PM

browsers galore

I switched to Mozilla in August last year and never looked back. (Although--rarely-- I have to see IE to look at some site that doesn't behave properly in Mozilla). Between the tabbed browsing and the ability to control what JavaScript does in your machine, using Mozilla is a no-brainer. It is just better. I've recently tried out Opera 7.x and Mozilla Firebird as well. Opera is very good, but there are a few things that are a problem. For one, its management of tabs feels a bit strange (at least to me, being used to the Mozilla way) but more importantly it has serious issues when doing scaling on an HTML page (changing the text size I mean). Both Mozilla and Firebird work perfectly for that, but Opera seems to keep the some of the original CSS settings and the letters overlap each other, making the text unreadable and the feature unusable. Too bad.

Firebird, on the other hand, is great. It's what I'm using right now, it seems stable and lighter than mozilla, with a less-cluttered interface (although we'll see how long that lasts). And it's fast! XUL is very good apparently. Firebird seems like a good candidate to replace Mozilla at the moment.

I've also tried out IE on the Mac (nice, but a resource hog) and Safari, which I like quite a lot. Very simple and fast. The Mac I have is not fast enough to do work on it (except finish clevercactus builds--and believe me, I've tried). Not enough memory or speed. But Safari would probably be my choice if I was using the Mac all the time (maybe I'll give Firebird on the Mac a try later, even though Mac support for Firebird is preliminary).

Since IE won "the browser wars" there has been zero innovation, particularly in IE (for example, how come IE doesn't have tabs yet?). But that's too be expected I guess. It's great to see that things are still happening (and getting better) in the browser-world, even if it's at the edges.

Categories: technology
Posted by diego on May 21, 2003 at 2:49 PM

big brother's big brother

So what else is new...

[via Wired News]:

It's a memory aid! A robotic assistant! An epidemic detector! An all-seeing, ultra-intrusive spying program!

The Pentagon is about to embark on a stunningly ambitious research project designed to gather every conceivable bit of information about a person's life, index all the information and make it searchable.

[...]

While the parameters of the project have not yet been determined, [...] LifeLog could go far beyond TIA's scope, adding physical information (like how we feel) and media data (like what we read) to this transactional data.

Later: Another piece of surveillance news, courtesy of Maureen Dowd at the New York Times.

Categories: technology
Posted by diego on May 21, 2003 at 1:08 AM

googling your weblog

Dave Winer has integrated a demo of his new software into his weblog. The software integrates weblogs and google search in a new way. Nice!.

Categories: technology
Posted by diego on May 20, 2003 at 11:08 PM

'Erikdotted'

Erik now has a column in the Java Developer's Journal Newsletter. Congrats Erik! (A link to just the column can be found here). And for his first column he included a link to the my entry announcing the clevercactus release--and some of the comments that followed. Thanks!.

Categories: clevercactus
Posted by diego on May 20, 2003 at 9:54 PM

go

goboard.png
Today I was thinking of looking for something to relax the mind a little...

There aren't that many games that I find interesting (that includes computer games too). Chess is ok, but mostly I find it too structured and relatively predictable (meaning: often boring--and please no flames from Chess fans, that's just my preference :-)). But a few years back I discovered Go and it immediately became my favorite game. I used to play it back in California with a friend during lunch-breaks; it was a blast. If you have never tried it, I recommend it highly. My favorite program to play against is TurboGo, but the British Go Association mantains a useful list of versions of Go for different platforms. For Windows, Wulu is also good, I haven't yet tried any of the Mac games.

In any case, when playing Go nothing beats having the board and the stones in front of you--the sheer simplicity of it, along with its seemingly unending possibilities for different games (that I mentioned a few months ago). We'll probably have to wait until immersive VR becomes a reality to be able to match the full "experience"... (now that would be funny: using fully immersive VR only to... play Go. :-))

Categories: personal
Posted by diego on May 20, 2003 at 12:17 AM

rumour pushback

So the US Media (besides Salon, that is) has finally picked up (more or less) the Private Lynch story: after not reporting the first claim that the rescue was staged, CNN now is publishing the Pentagon's denials (I haven't seen any reports whatsoever on this on any other US media outlet; then again I probably missed it. I can't believe not one of them published anything.

The BBC said that it had proof; now would be a good time to see it no?

Categories: art.media
Posted by diego on May 19, 2003 at 11:46 PM

mailing list migration and worms

Two seemingly unrelated topics? Yes. Definitely. Anyway... :)

I'm now in the process of migrating the old spaces-info and spaces-dev lists to clevercactus-info and clevercactus-dev respectively... I've found this document that explains how to do it but it's a major pain. It's not necessarily mailman's fault, seamless migration is always an issue (although mailman could make it easier...). Anyway, in the meantime I keep receiving copies of this new outlook worm that is making the rounds, good thing cactus is immune to it :). But it's really annoying, I've received more than a hundred copies of it over the weekend. Hopefully it will die down soon.

Categories: technology
Posted by diego on May 19, 2003 at 1:36 PM

from startup to crime... in internet time

A strange story involving the Mafia with those old-fashioned squeezes for "protection" (which sounds really strange for an Internet business, but anyway...) and an entrepreneur that apparently turned to doing the same to other companies through the Internet to solve his problems.

Categories: technology
Posted by diego on May 19, 2003 at 1:04 AM

more on social software

An interesting article by Stowe Boyd: Are you ready for social software?:

It's the opposite of project-oriented collaboration tools that places people into groups. Social software supports the desire of individuals to be pulled into groups to achieve goals. And it's coming your way.

Categories: technology
Posted by diego on May 19, 2003 at 12:58 AM

some comments on the cactus release

Catching up after a surge of input from friday's release of clevercactus, I've found some nice comments on weblogs about it, by Matt, Martin, Haiko and Jim. Thanks! :)

Update: found some more comments, from Jason, Reverend Jim, Rick, Ryan, Docnotes and TIG's corner.

Categories: clevercactus
Posted by diego on May 18, 2003 at 3:58 PM

T-Mobile drops MS phone software

Mobitopia

Another setback for Microsoft: T-Mobile has announced they are dropping plans an MS-based phone:

Europe's second largest mobile phone operator T-Mobile International said on Thursday it had shelved plans to introduce a mobile phone powered by Microsoft software. "We have decided not to introduce this phone," a spokesman for T-Mobile told Reuters at the fringes of a Deutsche Telekom news conference. "For the time being, we are not pursuing this project further."

T-Mobile announced in February that it planned to introduce the Microsoft phone this summer in a move analysts saw as a blow to mobile handset industry leader Nokia. But industry sources said the phone software of the world's largest software maker still had "fundamental problems" leading to high failure rates.

Wow. That's worded quite strongly isn't it? However, we shouldn't forget that Microsoft usually doesn't come up with a good platform product until the third try (Many examples of this: Windows, PocketPC...). Still, I have to wonder how much of this is due to "fundamental problems" and how much it is due to the phone operators trying to keep Microsoft at bay...

Update: Martin clued me in a bit after I posted this that apparently T-Mobile had reversed this stance. (Here is post from Gizmodo where they went through the same report-clarification cycle). Hm. Strange...

Categories: technology
Posted by diego on May 18, 2003 at 3:41 PM

second acts

Charles Cooper on strategic makeovers by technology companies, with two main examples: Borland and Handspring. Interesting read.

Categories: technology
Posted by diego on May 18, 2003 at 1:31 AM

blogging APIs - part 2

Or is this part 3, or four, or five?

Anyway, over the past few days there have been some more comments and discussion on the state of weblog software APIs on my earlier review (comments/discussion at the bottom). The most significant comment outside of the post was a recent post by Evan on which he clarifies Blogger's side, explains why the differences between APIs, and explains his personal position on the issue. Evan's post is excellent, and a must-read.

And here go my comments...

Before commenting about the actual issue there's one thing I'd like to clarify: Evan said:

Mr. Doval's research was also poor regarding Blogger API 2.0. His assessment of it seemed to be based entirely on Ben Trott's original analysis and suggestions, and he ignored Ben's update, where he acknowledge that most of his concerns were addessed. Diego's main gripe about 2.0—"In particular, the new Blogger API, while being incompatible with 1.0, retains the method call names..."—is not true as of about five months ago.
Two things regarding this: first, I did look for the API but couldn't even find it. The link I could find in the blogger discussion group was broken (this was confirmed by Martin in one of the first comments), and I noted this in the post, but I did read more comments on it, but found Ben's the most complete (most of the comments were of the type "blogger released a new API" and little else). Second, however, and more important, is the following comment I made in the review:
The Blogger 2.0 API is also out of the race for the simple reason that access to it is for developers only; it's still in flux, not deployed, and not widely supported.
I think this is important; regardless of how good something is, if it's not available then it's not fair to compare it with things that are available, and this was also a reason why I wasn't more worried about finding out in a lot more detail about the 2.0 API. After something is released, however, it's another matter entirely.

But the flip side is that if something is not yet available, then it's a good time to comment on. While that probably doesn't have a place in a review of "available APIs" aside from the comments I made, it's probably more important to consider because Blogger is still looking for input on it. So not digging deeper for Blogger 2.0 info was a mistake in that sense, and I want to clarify my opinion comparing Blogger 2.0 with MetaWeblog, with the important caveat that Blogger 2.0 is not yet available but obviously it will soon be.

Anyway.

Okay, back for the specifics of Evan's post.

First point. Evan said:

Because MetaWeblog treats a post as a struct instead of a string, Diego's opinion was, "The Blogger API has an incredibly simple-minded view of what a weblog post is, and it is completely, and I mean completely innapropriate for what people do with weblogs today, from posting images to using audio and so on."

This assessment is interesting, given that, when it comes to posting, you can do everything through the Blogger API that you can do with the free version of Blogger, which is what a heck of a lot of people use to blog every day. Also, it is unclear to me what in MetaWeblog makes it superior for posting images and audio. (In fact, the Blogger API is what AudBlog uses to post audio to blogs.)

Evan, I can only comment on what I see in the spec and what I can test against. If there's an application out there that supports audio posting (i.e., a "media object") through the API, I was clearly flat-out wrong. But (there's always a but) there's nothing in the spec to indicate how to do this. In this sense, the MetaWeblog spec talks about the struct (although I must say the specifics of how to use it are not well exposed) and about the metaweblog.newMediaObject call (also supported by MovableType). This makes the syntax/semantics of the call clear and avoids confusion. If I want to post a picture, and blogger allows me to do it in some way, I'd certainly like to know about it, but the spec doesn't mention it.

Evan also said:

[...] it's ridiculous to say there's nothing in Blogger API 2.0 that MetaWeblog can't do. What Diego actually said, by the way, was: "To me, it looks as if Metaweblog and Blogger 2.0 are almost the same, except for naming conventions, which essentially prevents interoperability (of course, I might be missing something here)."

A closer look would make it clear that there are many more differences in the API than naming conventions. Just looking at the three methods MWAPI has, there are significant differences.

For one thing, putting the login in a struct allows for more flexible authentication mechanisms and potentially better security. It also gives a place to put the appKey, which, as I've said, is important for us (and probably any other hosted service).

The actions struct allows for more flexibility in what the blogging system does with a post, beyond publishing it or not—for example, sending an email or pinging another server. (These aren't all reflected in the current documentation. It's still in the works. But the struct provides the framework for it.)

I agree with this. Regarding the first point, I mentioned the example of the login struct in my earlier update as being clearly a good thing. Structs are good, they make the API forward extensible without affecting the main syntax. Then about Evan's second comment on "actions": It sounds really interesting, but again, if I look at the documentation that's available today regarding the actions it says:
doPublish -> Boolean
makeDraft -> Boolean
syndicate -> Boolean
allowComments -> Boolean (not implemented yet)
I don't get a sense that the actions struct is intended to be used for a lot more. A good clarification of how it is intended to be used would help enormously there; just getting the idea of what 'actions' are would be enough to get people to understand that the possibilities are many more than it seems (and I mean a comment beyond what it says in "future of the API", where it states: "New filters and actions for more powerful interactions between external clients and Blogger." and nothing more).

So, how to MetaWeblog and Blogger 2.0 compare? They are very, very similar. Blogger 2.0 is better in several senses: more extensible (because it uses structs for everything), with more options (filtering--which is by the way really cool--, and actions). Regarding the posting of media objects, Evan's comment on AudBlog implies that there is indeed a way of posting media (maybe setting it as the body?) if that's the case then both APIs support the same functionality. I would argue however that MetaWeblog's newMediaObject call is more clear and it allows a tool to post media and then include references to that media URL within the text, something I think is really important.

So if the names of the calls were the same, Blogger supported newMediaObject calls and metaweblog supported structs for parameters, I'd be happy. :-)

Finally: Evan's post makes it clear (if there were any doubts) that they do want to create a standard if possible while moving forward. He mentions standards bodies (much as I was doing a couple of days ago), which makes me hopeful. His discussion of the history of how the APIs evolved is also really interesting and further clarifies how things ended up were they are today.

What gives me even more hope that a solution could be found is the latest comment by Dave on the review: Dave said:

My wish -- a meeting with Evan, the Trotts and myself, keep it simple. We're not really that far apart. We could get unified, I think. I have keynotes at OSCOM and the Jupiter weblogs conferences coming up in the next three weeks, perfect times to make announcements. I know I must be dreaming.
That would be great. They could make it happen!

This would be good for the weblog-tool makers, not just for us developers that use the APIs. Sure, I want to use these APIs to make life easier for users and to explore the full potential of weblogs; but I will support any number of APIs I have to--within my ability to do it (as clevercactus does today, supporting Blogger, Radio and MovableType). If they are compatible, all the better for me. But a more important point, as I've said earlier is that standarization also forces new entrants (such as Microsoft or AOL) into the field, and reduces the likelyhood that they will get away with the usual "embrace, extend and extinguish" routine, which in the end creates problems for all of us.

Categories: technology
Posted by diego on May 17, 2003 at 11:43 PM

a day of rest

Slowing down a bit from the rush of the cactus release--not easy. Caught up with some news, and read emails (read, not replied--that's for tomorrow morning), but not much else. Thought I'd go watch a movie, but nothing much on theaters to go see, I snuck in two hours last Saturday in the middle of work to watch X-2, which was good, very much like the first movie (looking forward to the third). And Matrix Reloaded is coming up this week--but I'm not sure if I'll see it right away, probably too many people will go in the first few days, and it will be difficult to get a good seat.

In the meantime, I'm reading Stalingrad by Anthony Beevor, which is excellent, and lined up after that I've got Bruce Sterling's Schismatrix which comes highly recommended. I really liked Sterling's Holy Fire but not so much other stuff he's written. We'll see.

Categories: personal
Posted by diego on May 17, 2003 at 8:34 PM

the lawsuit-fest at SCO

SCO has apparently reached the conclusion that spending money on lawyers is better than spending it on development. They started with IBM, now they're going after people that use Linux. Yuck.

Categories: technology
Posted by diego on May 16, 2003 at 9:17 PM

media moments

Russ gets interviewed for another Wired article --congrats!-- and then posts the interview in an interesting exercise of "media on media" with some good comments. I don't agree with some of what Russ says regarding ways to "fix" the Google-weblogs relationship . Google indexes billions of pages. What might appear to be an obvious fix --e.g. "look at which part of the web is changing constantly and then change the algorithm appropriately"-- is likely not easy to do at all when dealing with Google's scale. Detecting weblogs is IMO much harder than it sounds--there are many parts of the web that aren't weblogs, that are "deep-linked", and that get updated often, say, for example, review/comments sites, little known news sites and so on. Marking servers manually as "to be ignored" is clearly not an option. And an automatic option, even with a 1% "failure detection rate" still means that they would be unfairly tagging millions of pages--and invite a flood of complaints. I do agree with Russ in that it's very likely Google will go after using weblogs for improve or modify search in some way; after all that's one of the reasons they have publicized for purchasing Blogger earlier this year!

Btw, Isn't it cool that we can have so much fun with this rumor mill? :)

In other news: Karlin talks about this BBC scoop on the possibility that the media-ballyhooed rescue of private Lynch in Iraq was staged (and here is a Salong article about it). Wow. I wonder, if this is true, how does it happen? Does some Colonel somewhere say "Sergeant, get a media event organized for this rescue", "Sir, yes sir!". Are the soldiers blind enough that they can go around following orders like that with no problems, then even receiving commendations and so on for a fight that didn't happen? I'd bet it doesn't feel too good. Weird anyway. I'll be interested in seeing what happens with this...

Categories: art.media
Posted by diego on May 16, 2003 at 8:48 PM

clevercactus lives!

isologosmall.gif The clevercactus public beta has been released, three weeks after the original internal beta release--along with the website and the formal announcement of the company and Paul Kenny's role as a co-founder. I've been working with Paul for the past several months; he's a great guy, and with tons of experience with technology startups.

It's definitely been a ride so far, fulfilling in more than one sense, not least because of all the great people I've met, that have helped along the way, and all I've learned. It was six months ago, almost exactly to the day, that I released the first public alpha of spaces. It feels like six days! Back then I said "this is just the beginning". Boy, was I right on that one. :-)

I'll be posting more information over the coming days--things are about to get even more interesting. And it's still just the beginning!

Categories: clevercactus
Posted by diego on May 16, 2003 at 12:18 PM

IM-alone

A strange occurrence: it's past 4:30 am and I look at my IM and out of a couple dozen contacts in about 8 or 9 different timezones, no one is online. Feels weird. Can't remember the last time this happened.

Or maybe it's a really, really strange hallucination. :)

Oh, and the clevercactus public beta is coming. Only a few hours away...

Categories: personal
Posted by diego on May 16, 2003 at 4:16 AM

coffee attack!

It doesn't happen often, but when it happens...

I'm concentrated, coding away, or looking at test results, or something of that nature. I move suddenly, turn, or raise my hand for some reason and in between the origin of the movement and the destination, some part of my body hits a half-full cup of coffee.

Splat. Crash. (In the best style of the old Batman series).

Oops.

This has happened to me four times in all in the past, two with "catastrophic" consequences. And one of those was tonight. The end result is more or less constant: I end up covered with coffee, along with the chair, floor, with other alternatives (random, to spice it up :-)): keyboard, mouse, or even CPU for example. Coffee cup ends up on the floor, possibly broken in pieces (like tonight), and I have to be careful even to move to avoid making even more of a mess. Flow destroyed, whatever I was thinking is gone and then I have to spend half an hour cleaning it up. Good thing I don't drink coffee with sugar, otherwise everything would end up coated with a layer of sticky goo for ages to come. (The first time it was coffee with sugar. That took a while to clean up.)

Maybe I'm clumsy. Maybe I'm just not paying attention. Whatever. What I want is nanotech cups that will detect my approaching self (when at speed/distracted, not when I'm going to pick them up) and instantly change their molecular structure into a gas (including the liquid contained), then reform themselves back into a solid when the danger has passed. Probably not likely to happen soon, eh? Okay, I guess I'll just have to be more careful then. :-)

Categories: personal
Posted by diego on May 15, 2003 at 2:08 AM

I'm a machead

apple.jpgI just got running an old G3 powermac (from the time when powermacs came in purple, like the original iMacs), with OS X to do some clever cactus testing and debugging, and, more importantly, to improve its L&F in the mac environment. I've got a flat panel with both digital and analog inputs; the digital input is connected to the PC and the analog to the Mac. A press of a button changes the selected input source.

Within a few minutes of playing around with the Mac, I was just amazed at how much I didn't want to go back to windows. When I did switch back, Windows just felt ... clunky.

I had a mac a few years ago (a powerbook G3) and it was nice, but it had OS 9. OS X is just amazing. The UI, both in L&F and behavior, is incredible. Maybe this is an effect that will wear off, but I hope not. :) I could live all day with a UNIX like this. Too bad the machine is not powerful enough to do development in it, but I'll certainly give it a try when I've got more time. In the meantime, I am just enjoying the experience.

OS X rocks.

Categories: clevercactus, technology
Posted by diego on May 14, 2003 at 5:54 PM

"superconductive relationships"

Ray Ozzie on social software and its consequences. Whether you agree with the buzzword or not, the trend is real, and it's here to stay.
Categories: technology
Posted by diego on May 14, 2003 at 1:42 AM

open standards -- or just open?

Note: this argument has its fair bit of circular logic built in since I am "just talking" about how we find it hard to move quickly beyond the point of "just talking". Also, it's easy for me to say "oh, people should do this and that." Pontification without responsibility for implementation is easy, and that's pretty much what I'm doing. The least I can do is be aware of that, and make clear that if anyone thinks this is worthwhile I'm willing to put my money were my mouth is and help in any way I can.

In the last couple of weeks three discussions have emerged in blogland that go to the core of the future shape of the newly emerging widespread publish/subscribe, decentralized nature of the web. It seems to me that this is, in part, a consequence of the rapid changes happening on the weblog space (that most readily identifies this new "evolution" of the web, but it's not the only example). Google buying blogger, Microsoft and AOL rumored to be about to jump in, and so on. We knew that the current patchwork of loosely compatible implementations for things we use everyday (RSS, Weblog APIs, etc) is not going to be enough to maintain an open environment once the new entrants come in, but now consensus is actually becoming critical. An agreement has to be reached on these things, and fast. Cases in point: the discussion that followed my review of weblog APIs, the recent calls from Dave to create a web-wide "RSS Profile" (with great comments by Ben from SixApart, Sam, and Don), and the latest: another discussion over REST/XML-RPC and SOAP (original posting from Dave here and here, and which of them should or should not be used.

The last item, REST v. XML-RPC/SOAP is less of an issue I think. I am not saying it's not important, I'm saying it's a matter of transport rather than high-level formats or APIs. APIs should be transport-agnostic IMO. However, this is a symptom I think of a larger problem we have: continued discussion with slow resolution of the underlying issues.

So how to get past the point of recognizing the problem and starting to come up with a solution quickly? Everyone agrees, for the most part, that some solution is desirable in all of these cases. This could be done in different ways (for example, Mark Nottingham created a wiki to collect information on the RSS Profile discussion), but mostly it requires, to me, that those creating the tools and/or the originators of the standards "sit down" for a little bit and talk it over. In private. With public input, but in private. Weblogs are great for discussion, but because they're personal it's more difficult to reach consensus IMO, which requires everyone giving in a little; weblogs being personal as they are they make it difficult to give in (it's my weblog after all!).

I've been thinking that's what needed is a sort of "standards group" along the lines of ISO or whatever, but ad-hoc, based on work done and ability to make change happen once some agreement has been reached. The big corporations settled on standards bodies as neutral ground to reach agreements of sorts (not that they always work, but they're better than the alternative). We need something similar.

Dave was saying that this is an inflection point, and I think he's right. The problem is what do we do to move forward in a unified way so that when Microsft, AOL/Time Warner and others come into the space we can present a unified front that will maintain compatibility. They should be welcome as fair competitors, not feared as monopolists, and having stable, widely used standards will help.

Anyway, just an idea. :-)

Categories: technology
Posted by diego on May 14, 2003 at 1:30 AM

those good old clunky keyboards

Scott Rosenberg recently posted an entry about the old IBM PC keyboards:
If you used an IBM PC in the 1980s -- if you used one a lot -- you came to know, and perhaps love, the feel of the old IBM keyboards. They were solid. The keys moved. They clicked. Over time, as every aspect of PC manufacturing faced the grim reaper of cost-cutting, keyboards became flimsy and disposable pieces of plastic. The touch and feel of the old IBMs became a lost artifact of the early PC era.

So I was thrilled to read (on MSNBC, via Gizmodo) that somebody is still making a contemporary equivalent of those old keyboards. They cost about $50, or five to ten times the price of today's junky keyboards, but boy, I think it's probably worth it.

I must admit I am a complete sucker for old-style "solid" IBM keyboards. IBM in general builds (IMO) some of the best keyboards in the industry, particularly for laptops: the Thinkpad line is just amazing for example. I still own a modified "original-style" IBM keyboard with a trackpoint in the center; sometimes I use it, although my working "everyday" keyboard is a microsoft natural keyboard pro, with a microsoft explorer optical mouse (before that I was a big fan of the microsoft "teardrop" mouse. MS in general makes excellent input devices. Back to the IBM keyboards though: IBM is still manufacturing keyboards and some of them are quite good, although they don't give the same "feel" as the older versions. Sometimes I wish we had a consistent way of maintaining and keeping old technology in a working state, just for historical purposes. By losing these things we are losing part of the history of how we got to where we are. A weird side effect of the digital age.
Categories: technology
Posted by diego on May 13, 2003 at 6:10 PM

(simple) roundtrip weblog/RSS/email integration

I've just completed (including testing) the integration of the weblog posting code and UI into clevercactus. Now I can not only post to my weblog from within cactus, but I can also repost an email to a weblog entry (after editing of course) and, even better, I can use an RSS feed item as the source. So commenting to other posts on my own weblog is now really, really easy. A clevercactus first! In simplicity of setup and use at least :-). No more copy/paste madness. It's compatible with Blogger, Radio and MovableType, which in the end meant that I had to implement different calls for each system (or slightly modified calls, in the case of Radio and MT--but enough to force me to test everything twice--last week's work on Weblog APIs, and all the comments in the entries, really helped me understand better the current state of things, what to expect, and not to expect).

The new functionality also means that if, say, two people are subscribed via RSS to a weblog and they can both post to the weblog as well (with different users for example) then presto!: you've got a weblog-based discussion space, mirrored on the client, with no need for administration aside from what you were already doing to maintain the weblog. You can publish new entries, or republish from any other data source with or without comments, either from cactus or from the weblog software. It's only scratching the surface of what cactus will be able to do, but it's a good first step. I'm happy. :-)

Now to fix some remaining bugs so I can release all of this in a new beta (r6) to the list tonight...

Phew!

ps: of course, I'm posting this from within clevercactus. :-)

Categories: clevercactus
Posted by diego on May 12, 2003 at 5:13 PM

the technorati API

[via Erik]: David Sifry has released the Technorati API (using REST). Very cool. Just from a research point of view the Technorati database could be a great source of information for studying network effects, structure, and so on.

Categories: technology
Posted by diego on May 12, 2003 at 11:58 AM

the 'cabal'

Selective Intelligence, an interesting article in this week's New Yorker.

Categories: geopolitics
Posted by diego on May 12, 2003 at 3:01 AM

lying for a living

The New York Times: Times Reporter Who Resigned Leaves Long Trail of Deception, on the cover story of today's paper. Great to see that kind of openness to tell what had happened--for a moment I felt as if I was reading a weblog of the newspaper.

Categories: art.media
Posted by diego on May 11, 2003 at 8:31 PM

why the new install system for JDK 1.4.2 is bad

I've been using the JDK 1.4.2 beta for several weeks now. On one hand, I like the new Windows XP look and feel, which some glitches aside, seems to work relatively well.

But there is one piece of the JDK package that gives me shivers. I'm talking about the new installation system that comes built in with the Java Plugin.

The new system is eerily similar to Microsoft's Windows Update, Java installs a daemon program that not only runs constantly but also installs a quick access icon, ostensibly for "status". If you click on it you get a horribly designed screen with a million options, and, surprise surprise, the Java Plugin is set to update itself automatically by default. This is awful. (here is an old slashdot thread on these changes, which apparently have been brewing for a while).

I've argued before about the need for a consistent, simple way to manage Java installations on the client, and I can only wish that this is the work of some misguided intern that will be quickly squashed. Not only automatic updates are bad, the configuration screens are not appropriate for end users, and it's a Java application running on the Metal L&F, which is a ridiculous default for a control-panel console on Windows. When I say that automatic updates are bad, I'm not even talking about the possible privacy/security concerns: I'm just talking about the problems that automatic updates will create for developers and their deployments. I don't want to imagine what will begin to happen when users can suddenly update automatically to the latest JRE, sometimes without even knowing that they have. Applications will stop running, bugs that you thought you were avoiding will crop up again, new "platform" bugs will appear, and so on, and you won't have a clue of why. It will put much more strain on developers to test against everything that's out there, instead of to a well-known target.

What we need is a good way to deploy a JRE with our application invisibly, alternatively using one of the choices from the user's system. Nothing more. Nothing less.

Okay, rant finished. While on subject, here's an interesting article over at Sun's JDC on the new features of JDK 1.5 (which I talked about a while ago).

Categories: technology
Posted by diego on May 11, 2003 at 2:54 PM

and the winner for 'idiotic experiment of the year' goes to...

... these fellows that tried to "prove" that monkeys typing at a computer would not produce coherent output, going after the oft-mentioned claim that "Given an infinite number of monkeys typing on an infinite number of typewriters, they will eventually write Shakespeare." So, what did they do? They gave computers to six monkeys, for a month. But the monkeys didn't write anything. Well, colour me dazed, what a surprise. I mean, "six monkeys" is just the same as an "infinite number of monkeys", and "one month" is just like "eventually", right?. This reminds me of another "experiment" performed a while ago when researchers studied whether the claim that running in the rain you get more wet than when walking.

Some people just have too much time, and money, on their hands.

To their credit (well.. partly) one of the organizers of this "experiment" said that

[...] the project, funded by England's Arts Council rather than by scientific bodies, was intended more as performance art than scientific experiment.
What riles me up is that they don't say "this was NOT an experiment." but rather they imply that it was "just partially" one. In fact, the last quote is ridiculously stupid:
Phillips said the experiment showed that monkeys "are not random generators. They're more complex than that.

"They were quite interested in the screen, and they saw that when they typed a letter, something happened. There was a level of intention there."

He says that as if it was actually implied that monkeys were "random generators", or as if anyone seriously ever thought that the gedankenexperiment (as Einstein liked to call them) mandated the use of real monkeys rather than just an ideal of randomness and lack of conscious direction. I mean, the mention of an infinite number of monkeys should be enough to tip off any rational person that you're not discussing the "literary capabilities of monkeys" per se, but rather something deeper...

Anyway, I'm probably taking this too seriously. Maybe it was an article written for The Onion and by mistake it ended up in Wired.

Categories: technology
Posted by diego on May 10, 2003 at 9:46 PM

google to separate blogs from the web -- not

Evan posted a comment to my previous entry google to separate blogs from the web, squashing the article from The Guardian with a simple-but-effective: "It's B.S.". He also has a great entry on his weblog titled "Register to fix Orlowski noise problem". LOL. He notes the claim in the article (that also sounded strange to me) that the number of readers of weblogs is "statistically insignificant". I could only make sense of that if they consider the whole population of the Internet as the basis for the measure, so, several million against half a billion or something... anyway, Evan's statements are quite definitive (e.g., "as far as I know, Orlowski is full of crap"), here and on his blog, so I don't think there's much room for doubt. Hopefully the rumour-squashing will move as fast as the rumour itself!

Also in the comments to my entry Don was pointing out that one could use Bayesian filters and some simple rules to figure out "suspected blogs" (Ashcroft would like that phrase I think), which is a good point. However, a filter like that is never going to be 100%, and even if the error is less than 1%, when you're indexing 3 billion pages, that's too much. Google wouldn't be able to cope with the requests from people that have been incorrectly marked, while those that haven't been marked (and should have been) would be riding it out, something that would probably make others in the blogging community a little "unhappy". In the end it would just start an "arms race" of sorts, with bloggers looking for ways to fool the rules... totally unproductive, and neither side would really win. Bloggers would stop using Google. Google would get pissed off customers. Not a good deal for either.

Regardless: given Evan's comments, I think we can put the question to rest. At least until the next rumour :-)

Later (about 6 hours later :-)): Evan's entry in which he squashed the google-not-for-weblogs-rumour, has disappeared! In its place it says "</snip>". The conspiracy theory wheels begin to turn.... but wait, not so fast. If you look at the page source, you get the deal. The entry is still there, just commented, with the following note: "you know, in order to spread more 'Google censors Evhead' suspicions". Heh.

Categories: technology
Posted by diego on May 9, 2003 at 9:45 PM

BROADBAND!!

You know, I had a feeling it would happen like this. Today I was thinking: "I'll probably get the DSL up when I don't really need it that much anymore." By which I meant, when I get the clevercactus weblog sync working, when one of the main reasons to be online for a while disappears, there I would get DSL. (I might write later about my experience with the DSL sales dept if I have time).

So I get the config working, Blogger, Radio, MT, the whole deal, and what do you know, I get a call while I was on a break preparing dinner. From the phone exchange (yeah, the technician actually called me from there, THAT's how much I had been talking to Eircom. I had ordered DSL on April 11). Your DSL is connected, he says. I look at the modem, and see that LED that had been dead for so many days, and it is blinking a healthy green.

I couldn't believe it.

I hung up (after some pleasantries like "you don't know if you're using standard LLC on the line, do you? No, he said. Okay, I said) and sat down to make it work. Screw dinner. The modem settings were all wrong since at the beginning I thought that the problem was there. I needed new settings. I called tech support (0.74 Euro/min, 6 min call). After the usual routine in which you are treated as little more than a monkey pounding on the keyboard (being asked questions like "Is the light on? Is the ethernet cable connected?" and I'm like, "yeah, yeah, I'm telnetting into the modem right now, looking at the status!") I got him to tell me the config they require for their setup (but he gave it to me only after the stern warning "You know, after you change the configuration yourself we can't support you"--I wonder if you never touch the configuration HOW do they give support). Anyway. He gave it to me. Fired it up.

Run!

And so, now I'm connected at 512 Kbps downstream, 128 Kbps upstream. 52 Kbps downloads!!

It feels strange. I last had DSL almost two years ago when I was living in California. What am I suppossed to do with all this bandwidth now? Luckily, Eircom has already planned for that: transfer is limited to 4GB per month, so it's not really, really, full-access, always-on broadband. But it's definitely a step up from the super-expensive 56 Kbps cage I was on before.

Anyway, this will really help for all the stuff I have to do for next week's release of clevercactus.

And I'll just have to learn all over again to stop myself from selecting "disconnect" everytime I finish doing something online... :-)

Categories: technology
Posted by diego on May 9, 2003 at 8:59 PM

google to separate blogs from the web

The Guardian: Google to fix blog noise problem. How could they determine what's a blog and what's not? Looking for an RSS feed is not enough--lots of sites have RSS feeds these days. Looking at how often it's updated is not enough either. They could (if they wanted, probably followed up by massive protests from the blogging community) put everything from www.blogger.com, radio.weblogs.com and livejournal.com, into a different index, but that'd be leaving out a large part of weblogs out there. Hm.

Categories: technology
Posted by diego on May 9, 2003 at 2:42 PM

more metaweblog methods proposed

[via Dave]: Rogers Cadenhead proposes several changes to the MetaWeblog API. But...

I have read the document at least five times now, and I still don't understand. For example, Rogers includes methods that already exist in his proposal such as metaWeblog.newMediaObject or metaWeblog.getCategories. Why propose something that already exists? The metaWeblog.deregisterUser sounds strange: bloggers, especially new bloggers, who would be the main target of any tool that uses the API, will typically have one weblog. So what would be the use-scenario for this function? If there's no use scenario, then why include it? The same happens with the "deleteMultipleFiles" method. How would you delete files if there's no way of listing them? Maybe you'd assume that you can only delete what you have created from the client, but what if you are using the same tool from two different machines? And what's the use-case for this? Strange.

As far as changes to the metaWeblogAPI, I've been thinking about anything that I'd like to see, and a method like MovableType's mt.setPostCategories would be nice. The spec for the method, can be found in MT's Programmatic Interface documentation. If MetaWeblog included the method name as-is, it would be great, similar to what MovableType does in implementing MetaWeblog. Otherwise it could just be called metaWeblog.setPostCategories and maintain the rest of the interface, so that only the method name differs between call to systems.

Categories: technology
Posted by diego on May 9, 2003 at 10:37 AM

syncml and palm

Still in a rueful mood regarding the problems with Palm and its Java conduit SDK, suddenly I thought: wait a minute, what about SyncML? If that worked, there would only be need for a SyncML implementation, which would then work across Symbian, Palm, and maybe even (gasp!) PocketPC.

A quick search for SyncML and Palm turns up this old press release which identified Palm as being one of the founders of the SyncML initiative. While it doesn't seem that Palm has an SDK to support SyncML (searching for SyncML-related stuff at Palm's developers site turns up nothing of use except press releases), there are some indications that this should work. For example, this article from IBM DeveloperWorks that talks about SyncML device management talks about a reference implementation SDK that runs on Windows, Palm, and Linux. And maybe using Palm's Bluetooth SDK would help. Maybe, just maybe...

Categories: clevercactus
Posted by diego on May 8, 2003 at 6:47 PM

(re)loading...

matrix.jpg

It's a bird! It's a plane! It's Neo!

Matrix Reloaded is being released worldwide these next few days (it opens here in Ireland on May 23rd). Time has it as a cover story this week, and from what I read and the stills that you can see in the article, it appears that the new film will be heavily tilted towards action--and little else, something echoed in this slashdot thread regarding the first published review of the movie. If it's true, part of the story will be lost. However, we should remember that Matrix Revolutions is not far behind (November) and as the end of the trilogy that movie will have to be a bit (at least a bit) more "contemplative". The Lord of the Rings, for example, managed that well (keeping the third book still tense, but winding it down slowly, and with a major final battle to boot).

Also: couple of days ago I read this article that talks about what The Matrix meant culturally when it was released in 1999--very good.

In any case, let's not forget what the sage Morpheus told us once, as we were about to enter that fabled rabbit hole:

No one can be told what The Matrix is--you have to see it for yourself.

Categories: art.media
Posted by diego on May 8, 2003 at 5:47 PM

the future of handspring: "communicators"

Mobitopia

Here's an interesting interview with Jeff Hawkins, creator of the PalmPilot, co-founder of Palm, and then Handspring. He explains the difficult transition Handspring is going through in moving from "simple" handheld organizers to "communicators" (ie., devices that integrate phones and organizers) and why he thinks there's no other option.

While sometimes the idea of "synergy" is overrated (tending to create bloatware) in the case of something that integrates the functions of an organizer and a mobile phone it's a no brainer. Handspring is right to make the move. If they don't, phones like the Nokia 3650 (talked about at length in Mobitopia) and the SonyEricsson P800 will run over them like a freight train. A good read.

Categories: technology
Posted by diego on May 8, 2003 at 12:20 AM

metaweblog gets updated

Wow, that was fast! Dave commented again yesterday on my review of weblog APIs here and here (echoed by Karlin here). Thanks! And early today he "formally" released on Scripting News an update to the metaweblog API, with the methods that it was depending on from blogger, and he's now asking for feedback. This is good, since now all the APIs will be complete on their own. I was wondering yesterday if, maybe (just maybe), there hadn't been a lot of movement towards a unified API because the Blogger API and the Metaweblog API worked in tandem in most blogging tools. So (again, maybe) now that all the APIs will be complete (even the MovableType API has a set of methods that stand on their own) people can "sit down" and say, "okay, this is our functionality, the method names differ almost (note the almost) only by name, now let's choose a name that we can all live with!" So here's hoping. :)

Later:Update on the new Blogger API. I wanted to update my comments on 2.0 now that Jason posted (in the comments to my review) a link to the new API. First, Ben's concern from last December that the method names were the same as in 1.0 has been addressed, the methods now begin with "blogger2". The "login structure" looks interesting, particularly that "token" parameter that will be used "with the blogger2.secure.* module". I would imagine it's a one-way MD5 hash of some sort, either generated on the client or returned on first login, something akin to the APOP login method for POP3. Security is important, so it will be good. The idea of putting the login info in a struct makes sense, as it makes it easier to extend while maintaining backward compatibility. The structure for posts now allows to set categories (which can be managed from the API as well) and titles. Still no API for comments though, which would be good if it was there, or to upload binary/media objects which is important IMO. Once again: the more I read it, the more I wish that we everyone agree on naming and how to pass what are essentially the same parameters. The APIs are going to be really close once Blogger 2.0 is released.

Categories: technology
Posted by diego on May 7, 2003 at 3:21 PM

computers and phones... and microsoft

Back to my entry on monday about computers and phones, Bill Gates announced yesterday at the Windows Hardware Engineering Conference that:

In future versions of Windows, phone calls will be routed through the PC, while voice messages will be turned into e-mails that can be read. E-mail also will serve as an application for delivering voice messages
It's important to note that this is an announcement though... and not even of a formal product but something that will apply to "future versions of Windows". Even when Microsoft formally announces something, it still takes typically one or two years. If they do deliver though, Murph will be happy I think. :)

Categories: technology
Posted by diego on May 7, 2003 at 3:10 PM

the identity wars...

...are coming. Jeremy has a short entry that explains why, with more links. I'm quite fascinated by the idea of pervasive digital identities and where it will lead us. More on this later (at some point... I've got too much on my hands right now).

Categories: technology
Posted by diego on May 6, 2003 at 9:11 PM

swamped by google

Koz says:

I was totally confused by all the extra traffic I started seeing yesterday especially since most of it was to a trackback entry.

It turns out I'm now the number one link for a google search for clevercactus. I hope this doesn't persist for too long, diego's got a very cool product and I have a very simple server.

It is weird that this happened, but considering that the release and all the links leading to it happened close to the last Google Dance (when Google rearranges its rankings massively) it's likely that not enough link information existed and he ended up first for whatever reason. It will probably be corrected when the clevercactus website is up, and as Google updates its rankings fully again at the end of the current "dance" (which started yesterday), or maybe the next one, since current results for that search on all eight datacenters shows the results changing but not by much. In the meantime, I can only hope Koz's site will hold up! :-) Thanks Koz for the pointer and the comments.

Categories: clevercactus
Posted by diego on May 6, 2003 at 8:59 PM

the shape of protons

This article from the New York Times talks about recent delvings into the "shape" of protons:

Ask four physicists a seemingly simple question — Is a proton round? — and these might be their responses:

Yes.

No.

The first two answers are both correct.

What do you mean by "round"?

Heh. Us humans and our tendency to put things into arbitrary categories such as "round". Quantum mechanics showed us a while ago that doesn't really work (although, of course, it's immensely useful in many circumstances--it's just that interpretation doesn't necessarily say anything about the underlying reality).

Categories: science
Posted by diego on May 6, 2003 at 6:16 PM

and speaking of blogging APIs

On the topic... Timothy pointed me to Sam Ruby's excellent "The Evolution of Weblog APIs" which contains a lot of useful information both in understanding how the APIs interrelate, and how they came to be.

Categories: technology
Posted by diego on May 6, 2003 at 4:21 PM

blogging APIs: a mini how-to

There were a lot of good comments to my previous review of blogging APIs. I was working today on this howto and I think it will make a nice follow-up. Writing this is as much a learning experience for me as it is sharing what I've learned, so I'm sure I will add to it over time. And as usual, comments and corrections are welcome.

One thing that makes weblog APIs hard to "grasp" is that, while the specifications are complete, there are few examples, and it's not clear outright how to make a call for the various things one might do with the API (Although the specs usually do provide examples). Sam Ruby suggested using a "test case" and comparing how the request would be made for it using the different APIs. I was going to give different examples but Sam's idea is better, so I've reworked the doc. And here it is! (posting split in two to keep the main body of it off the main page)

the tools: a short intro to XML-RPC

The most basic tool necessary to use a blogging API is an HTTP library. Blogging APIs use XML-RPC which runs on top of HTTP, receiving a "call" in well-defined XML format and receiving the response using the same format. (The XML-RPC spec is here). In XML-RPC, the I/O on the function call is done through the I/O of the HTTP call, with the XML passed in the body of the page request, and the response in the "page" that the URL has returned. Because of this, XML-RPC calls tend to be stateless, but they don't need to be.

If, for example, you are using Java, you might be tempted to use the XML-RPC package from Apache. But as far as I can see (although of course I might be wrong, having overlooked something) the Apache XML-RPC package for Java doesn't allow the use of XML-RPC , just "one-dimensional" lists of parameters. The point is that whatever XML-RPC package you choose, you'll end up having to debug by looking at the request you're making, and the response you're receiving. If you don't have an XML Parser/Generator available (there are many) you will end up having to look at raw XML code. Which isn't so terrible really. :) For simplicity, I will look at how calls are made (and responses received) using the full XML request/response. Having an XML or even XML-RPC tool available "only" means that you won't have to debug XML parse/generate code.

So keeping on with this, the basic parameters that the HTTP call needs are:

  • Content-Length: the length of the XML-RPC request in bytes.
  • Content-Type: text/xml
And that's it! After that the body of the request should contain the XML for the request (so the connection has to be set up for input as well as output).

the test case

As a test case, let's consider the following: you want to create a post, assigning it to a category.

The post will have the following content:

Title: sunny days
Text: <a href="sunny.jpg">I don't like sunny days. Do you?
Picture: sunny.jpg (A picture that is included in the post)
Category: personal

This of course assumes that there is a category "personal" on your weblog. :)

preparations

Before we begin, the list of blogging APIs can be found in the review, but here they are for completeness:

My rationale for going with both Blogger and MetaWeblog only is explained in the review, and I've added the MovableType implementation since it is very close to using the MetaWeblog API for the same effect.

Posting to weblog software is usually easy: the major tools allow to post to your weblog without special modifications. Blogger, however, does require that you obtain an "application ID" before posting (it's free), which then has to be included in the request. As far as I know, other applications such as MovableType or Radio that implement the Blogger API simply ignore this value, so for testing with those you won't need it.

MovableType requires certain modules for remote posting to be activated. Since those modules are optional, you need to make sure they're installed before proceeding. The MovableType installation documentation has information on how to add those modules. It's about 5 minutes work.

making the call

So, once everything is set up, how is the call made to, first, create the post? I will show how the call is made for the Blogger API, the MetaWeblog API, and the MovableType API. Although the MT API is only implemented by MT, there's no other way to set the category from the post, so we'll have to use those extensions. I will give examples for the three best-known weblogging tools: Blogger, Radio and MovableType. Blogger implements the Blogger API only, Radio and MovableType implement both the Blogger API and the MetaWeblog API, and MT adds its own extensions as well.

The APIs are stateless; that is, they require validation on every request. Making them stateless is nice, but I think it would be better if the password was at least going encrypted over the wire--for example, with a one-way MD5 hash. But that's a subject for a different post. ;)

General note: the parameter "yourBlogID" is the weblog ID, and it is internal to the system. To obtain the blogID, you need to make a "blogger.getUsersBlogs" call and choose it from there (both the name for the blog and the id are returned). Since all tools implement the Blogger API, this call can be used across systems.

Regarding the requests: I had to do some heavy editing to make it appear properly in HTML, please let me know if there's a typo somewhere.

Posting to Blogger

The Blogger API has no concept of categories or titles, so the end result will be less complete than for Radio or MovableType. Additionally, Blogger doesn't as yet allow uploading of images, so we'll have to strip the image out of the content. Here is the request:

<?xml version="1.0" ?>
<methodCall>
 <methodName>blogger.newPost</methodName>
  <params>
   <param><value>bloggerAppKey</value></param>
   <param><value>yourBlogID</value></param>
   <param><value>yourUserName</value></param>
   <param><value>yourPassword</value></param>
   <param><value>sunny days &lt;BR&gt;&lt;BR&gt; I don't like sunny days. Do you?</value></param>
   <param><value>true</value></param>
 </params>
</methodCall>


Note: the "<BR><BR>" text is added to give the impression that "sunny days" is the title of the post. The final parameter "true" which indicates that we want this posting to be published right away. Also, note that the HTML tags in the main body "<BR>" have to be converted to "&lt;BR&gt;" to avoid confusing the XML parser.

Posting to Radio and MovableType

Most of the following code applies to both Radio and MovableType. There's a final step for dealing with categories in MovableType. I'll go over that after this main example.

Since the posting contains an image, we need to upload the image first and then use the URL returned by the blogging software in the posting--the reference "sunny.jpg" will work locally, but not remotely.

So, to upload the image we need to use the following call

<?xml version="1.0" ?>
<methodCall>
 <methodName>metaWeblog.newMediaObject</methodName>
  <params>
   <param><value>yourBlogID</value></param>
   <param><value>yourUserName</value></param>
   <param><value>yourPassword</value></param>
   <param>
   <value>
    <struct>
    <member>
     <name>name</name>
     <value>sunny.jpg</value>
    </member>
    <member>
     <name>bits</name>
     <value>[the contents of the file in Base 64 encoding]</value>
    </member>
    <member>
     <name>type</name>
     <value>image/jpeg</value>
    </member>
    </struct>
   </value>
  </param>
 </params>
</methodCall>

This call returns the URL through which the image can now be accessed. Note that the "type" value is currently (as of version 2.63) ignored by MovableType. The type is the standard MIME type of the file that's being uploaded, for binary files (such as a word processor document) it would be typical to use the "application/octet-stream" encoding.

Now that the image is uploaded, we can create the post.

<?xml version=\"1.0\" ?>
<methodCall>
 <methodName>metaWeblog.newPost</methodName>
  <params>
   <param><value>yourBlogID</value></param>
   <param><value>yourUserName</value></param>
   <param><value>yourPassword</value></param>
   <param>
    <value>
    <struct>
     <member>
      <name>title</name>
      <value>sunny days</value>
     </member>
     <member>
      <name>description</name>
      <value>&lt;a href="[url obtained through call to metaWeblog.newMediaObject"&gt;I really like sunny days.</value>
     </member>
     <member>
      <name>categories</name>
      <value><array><data>
       <value>personal</value>
      </data></array></value>
     </member>
    </struct>
    </value>
   </param>
   <param><value>true</value></param>
 </params>
</methodCall>

This call returns the "postID" of the post, which can later be used to edit it, as we'll see now.

The one difference between the Radio call and the MT call is the "categories" parameter--which MT doesn't support. MT supports only the setting of the title, description, and date created for the post, as well as a few MT extensions. However, there's a way in MT of setting a post's category, after it was published, with the following call:

<?xml version=\"1.0\" ?>
<methodCall>
 <methodName>mt.setPostCategories</methodName>
 <params>
  <param><value>postID</value></param>
  <param><value>yourUserName</value></param>
  <param><value>yourPassword</value></param>
  <param>
  <value>
   <array><data>
   </struct>
   <member>
   <name>categoryID</name>
   <value>1</value>
   <name>isPrimary</name>
   <value>true</value>
   </member>
  </struct></value>
  </data></array>
  </param>
  </params>
  </methodCall>

The postID used is the postID received from the previous call. Note here that the category used is a "categoryID" rather than the name. Radio will ignore the category if it doesn't exist. To obtain the categoryIDs in MovableType, you can call the "mt.getCategoryList" function. Radio uses a MetaWeblog API call to return the categories, "metaWeblog.getCategories", which is the only function in the MetaWeblog API that MT doesn't implement (presumably because it already includes a method for that).

conclusions
As we could see, both Radio and MovableType support more complete functionality than blogger, although MT requires an additional step. The Blogger API 2.0, not yet deployed, provides more functionality but it still doesn't provide a way to upload objects, such as images, but since it appears that they are actively working on it, that might change.

Finally: as I've said before (and others, such as Marc, have expressed similar views), having a single API to support would be a godsend. Right now, if a tool has to support all three applications there's no way except to create three different implementations, as this example shows, even for something as simple as creating a post with categories and one image. Hopefully this will change in the future! As Dave was pointing out, the new Blogger API will not be backward compatible, and the document confirms that. Since so many things are going to break anyway, it would be worthwhile, IMO, to use this opportunity to get all the APIs to agree. Of course, this would mean other applications would have to update as well, but this would be a good time to make the change and create a common base for future development.

Categories: technology
Posted by diego on May 6, 2003 at 12:16 AM

blogging APIs - the comments

There's a cool discussion happening on the comments section of my review of Blogging APIs. It sparked quite a lot of interest, and there's excellent feedback from most of the major weblog tool creators, either in-entry comments and from links, from Dave, Anil, Jason, and other notables, such as Marc and Sam. It even hit the top-50 at blogdex! Very cool.

I am now working on a follow-up, which, aside from incorporating new stuff from the comments (for example, Jason pointed to a live link of the Blogger API 2.0), will also include a mini-how to for using the APIs-- as I've said in one of the comments, while the specs are complete it's difficult to get started without "live" examples. Sam proposed a good idea: come up with a "test case" and show how it would be done on each of the APIs. It should be up later today.

Categories: technology
Posted by diego on May 5, 2003 at 7:40 PM

computers and phones

Jon Udell talks about his first experience with SpiderPhone, a nice tool that integrates phone calls into your PC environment. I've always thought that eventually clevercactus would have to do something like this in some form (following the rule of "if it's something that has to do with communication, you should be able to track it, correlate it, organize it, etc). Although the procedure to link the web-app and the phone call is a bit lopsided (as Jon describes it), at the moment there's little else that could be done. I remember when Microsoft came out with a phone of its own about 4 years ago (No link since I can't remember the product name, and looking for "microsoft phone" only brings up mobile-related stuff). Back then, I was hopeful that it would be the beginning of an integration that is long overdue, but it seems to have vanished without a trace. Good to see the idea lives on.

Categories: technology
Posted by diego on May 5, 2003 at 5:11 PM

first post from clevercactus

This is the first post to my weblog from within clevercactus. Several UI elements to figure out completely yet. But getting there! :-)

Categories: clevercactus
Posted by diego on May 4, 2003 at 6:10 PM

esther dyson does blogging

A couple of weeks ago Esther Dyson started a weblog, Release 4.0. She is not only the daughter of Freeman Dyson, but she's been involved in tons of cool and/or influential things, particularly from the side of policy, for example, ICANN (which is influential, not cool :)) and the EFF (which is both). Great reading.

Categories: technology
Posted by diego on May 4, 2003 at 2:45 PM

clevercactus palm synchronization

I had tested Palm's CDK a while ago, and it seemed to work properly. So, to integrate the feature into clevercactus, yesterday I dusted off those files, reinstalled the CDK in the new machine (after a painful 4 hour download), and went from there. Everything appears to be fine. Then I start to integrate the code into the cactus codebase. Compile. Sync.

Error.

Uh-Oh.

This was working just a minute ago...

So I start to poke around and I find that JDK is complaining that the classfiles have the wrong minor/major version number. I check and sure enough JSync, the Java part of the conduit, is using a JRE installed in the Palm directory.

Version of the JRE: 1.3.

Okay, so I rename the directory that JSync is looking at, hoping that jsync13.dll will find the JDK 1.4 on its own.

Reload Hotsync Manager. Sync.

"jvm.dll not found".

At that point I suddenly ask myself: can they be so stupid as to completely hardwire their implementation to a single JDK release?

Yes, they can.

The registry is littered with references to that particular JDK. Furthermore, I changed the directories and copied, by hand, the JRE directories from 1.4.1_02 into the directory where JSync was expecting to find the JRE. Still no dice: JSync is even looking for jvm.dll in the bin\hotspot directory, and since 1.4 Hotspot is installed either in bin\client or bin\server. No problem, I say, rename "client" to "hotspot".

Sync.

"Too many files." says Hotsync Manager. And dies. WTF?

Request a verbose output of the error from Hotsync, and what do I get? Sure enough "Invalid version."

So, the exact same code that runs on 1.3 doesn't run on JDK 1.4 because some genius hardwired the DLL to look exactly for version 1.3, or fail otherwise.

Google provides no help on the matter, nor do Palm's own forums (the only message in their developer forum for conduits that has to do with this is from February this year, and has received no replies). Apparently no one noticed that JDK 1.4 has been out for about a year (since the beta versions). Too bad, because the JSync suite is pretty well done, including installers that you can deploy with your application and so on. Back to a COM-based solution it seems.

Categories: clevercactus
Posted by diego on May 4, 2003 at 2:22 PM

daily news screenshots

I missed this last week somehow: Don Park has posted some screenshots and a list of planned features of new software he's starting to develop, Daily News:

Implementing just these features will be difficult, but it feels good to let some of them out. What I am striving for is a UI that is as easy to use as a real newspaper and allows people to create, modify, and share personal newspapers.
Looks excellent!

Categories: technology
Posted by diego on May 3, 2003 at 11:30 PM

a review of blogging APIs

As I was looking again at the space of remote-access APIs for weblog software (working on the XML-RPC Weblog Sync feature of clevercactus), I found that there was no side-by-side comparison of the main available APIs, or list of links of material to read. So here goes, in the hope that it will save time for others in the future. :)
Update: May 6 -- here is an introductory mini-howto I posted tonight on blogging APIs.
Another update: May 17 -- a follow up with a reply to some of Evan's comments, and some more discussion of the Blogger API 2.0.

As always, comments & corrections are most welcome!

Why an API?

First of all, why is an API necessary? The answer to this question is useful to me in evaluating how the APIs stack up against each other. In my view, the API should ideally provide programmatic access to all the functionality in the product. Weblog software is typically server side (even Radio, which is client-side, is actually running a web server in the client), and so the APIs are crucial to provide client-side access when needed. We don't live in an ideal world however, so at a minimum the API should provide:


  • The ability to create new posts (specifying not just content but dates, categories, etc.)
  • The ability to edit posts (again, including modifying not just content, but also dates, categories, etc.)
  • The ability to discover information about a user's accessible weblogs, information on how many posts there are, and so on.
  • The ability to retrieve any post, or a set of posts.

These are the main tests that an API has to pass to be truly useful as far as I'm concerned. Reading recent posts is not as important, IMO, since you can obtain those by reading the RSS feed of the blog anyway.

As a side note: these are my ideal features for a weblogging API for the usage I have in mind, which is letting cactus deal with weblogs as another data/source sink, which would in the end let weblogs replace emails in many situations, particularly for mailing lists. You would be able to create a full "backup" of your weblog in your local machine. You would be able to sync the contents of a space to a weblog, post new items, and read the feeds, creating a "roundtrip experience" on the client, while retaining the flexibility to use the weblog (both for reading and writing) for the situations when that's necessary. That is, let the user choose the appropriate tool for the appropriate time. Other applications will certainly have different needs, but I think that what I'm looking for is more or less the high end of what you'd want to do (at the moment--who knows where we'll be in six months!).

On to the APIs that are available.

What's out there: an overview

First, there seems to be a growing proliferation of blogging APIs. There are tons of open-source blogging software coming out, and some of them are also implementing their own remote access APIs. This only creates confusion and problems for developers.

One bright spot is that, so far, all APIs so far are being written on top of XML-RPC although I've seen whiffs of SOAP implementations. The fact that XML-RPC appears to be the de facto "standard" feels strange: usually it's high-level APIs which should be the standard, using any number of transports (e.g., XML-RPC, SOAP, BEEP, whatever). However, this is the situation at the moment, and it doesn't appear that there is a huge drive to change it for the foreseeable future. At a minimum, the fact that they are all being written in XML-RPC means that there's less transport headaches.

As far as what I reviewed, there seemed to be three main API contenders: the Blogger API v1.0, the MetaWeblog API, and the LiveJournal API (Those are the original source links; Userland maintains a main list of APIs here). Those three main API mirror three of the main blogging tools available: Blogger (now owned by Google as we all know), Radio and LiveJournal. MovableType, also very popular, only adds extensions on top of the Blogger and MetaWeblog APIs, as I mention below. The main developers of these APIs have been Evan (Blogger) and Dave (MetaWeblog). LiveJournal doesn't seem to identify with any particular authors per se. Ben & Mena, as developers of MovableType, also hold some sway in the community (I would think).

A developer preview of the Blogger API 2.0 was released last December, but the location given for the document now responds 'file not found' (which might be related to the Google purchase of Pyra and their subsequent adjustment of plans--I don't know). Strangely, the release was not mentioned in Evan's site, but it was mentioned in Dave's and Ben & Mena's, as well as in a zillion other blogs. Evan did respond to comments from Dave, who was asking for a move towards uniformity so that only one API has to be supported.

Of those three, the APIs to focus on are, IMO, Blogger 1.0 and MetaWeblog. All major blogging software implements both (with the notable exception of Blogger), and other, less known but still popular packages such as blojsom do as well. LiveJournal supports their own API and nothing else, and no one else seems to support the LiveJournal API. As far as I'm concerned, that makes it a closed system and so third in interest by a mile. Why would you write software that works with a single vendor? Microsoft might be able to pull that off, but that has to do more with monopolies and bulging bank accounts than with developers liking the idea. That said, the LiveJournal API is actually quite complete. If it was more widely supported, or if you really, really needed interaction with LiveJournal, it would be worth taking a second look. The Blogger 2.0 API is also out of the race for the simple reason that access to it is for developers only; it's still in flux, not deployed, and not widely supported. It seems that the API is moving closer to the functionality of the metaWeblog API, but as Ben commented there is still room for improvement and a lot of confusion built in. In particular, the new Blogger API, while being incompatible with 1.0, retains the method call names, something that's not, shall we say, ideal. Finally, MovableType has its own extensions to the APIs, but since it implements both Blogger and MetaWeblog I won't go into those. ManilaRPC is probably the oldest blogging API there is, but again since it applies only to Manila, and no one else supports it, I won't go into it in detail.

The comparison: Blogger API vs. MetaWeblog API

Before we get into the specifics, I can give one general impression: The Blogger API is a joke, and a bad one at that. This is probably to be expected since it's about two years old, but it's really disappointing to see that one of the most used weblog tools has such crappy developer support. The MetaWeblog API is much better, although it has one or two shortcomings as well (measured by the "tests" I mentioned above). The Blogger API has an incredibly simple-minded view of what a weblog post is, and it is completely, and I mean completely innapropriate for what people do with weblogs today, from posting images to using audio and so on.

To see why, look at the following lists of methods in each API:

Blogger API 1.0
blogger.newPost: Creates a new post.
blogger.editPost: Edits a given post.
blogger.getUsersBlogs: Returns information on all the blogs a given user is a member of.
blogger.getUserInfo: Authenticates a user and returns basic user information.
blogger.getTemplate: Obtains the main (or archive) index template of a given blog.
blogger.setTemplate: Sets the main (or archive) index template of a given blog.

MetaWeblog API
metaWeblog.newPost: Creates a new post.
metaWeblog.editPost: Edits a given post.
metaWeblog.getPost: Obtains a given post.
metaWeblog.newMediaObject: Uploads an image, movie, song, or other media object from a user's computer to the user's blog.

On the surface, the Blogger API appears to be more complete than MetaWeblog. This is not the case however, and there's a simple reason: the Blogger API considers the content of a post to be simply a string with no parameters whatsoever allowable. For example, when you editPost using the Blogger API, you can't change the date of the post, or do anything except modify its main text content. Yuck. Again, this comes from a simpleminded view of what a weblog post is, and one that is entirely innapropriate for the use most bloggers give to their blogging tools today.

The MetaWeblog API is, as I said, much, much better. It considers post content to be structures rather than simple strings, and the structures are elements of the item tag in RSS, so you can create essentially anything that you can read. Furthermore, it almost passes all of the "tests" I mentioned above. It doesn't have a way to query for a user's blogs or obtain information, and it doesn't let you edit templates etc. That said, all tools that I've seen implement the MetaWeblog API also implement the Blogger API, so you can use the getUserInfo call from Blogger and then use MetaWeblog for postings.

In summary: MetaWeblog API, good. Blogger API 1.0, bad. The Blogger API 2.0 apparently fixes many of these problems, let's hope it gets (re-)released soon.

In the end however, it's unlikely that any developer, particularly small developers, can choose one over the other. We will have to work with both for the foreseeable future, supporting other APIs like LiveJournal separately when necessary.

Final thoughts

A few things that will be important in the future, and are still missing: the ability to edit categories, and to specify things like RSS feed targets, among others. This of course falls into remote configuration of weblog software, rather than use of the software itself. This area hasn't been explored at all, but I think that as more people use blogging software the need to have simple, client-side configuration tools will grow.

Categories: technology
Posted by diego on May 3, 2003 at 2:29 PM

beta update

a new beta (rev5) of clevercactus was released yesterday to the list, and so far it seems that the IMAP problems have been solved, with lots of help in in getting debug traces from the people in the mailing list. Also, I now have 5 different IMAP servers installed in my machine for testing. There are a couple of new problems, but they are not easy to reproduce; I'm working on them. However, since the core code for communications now is approaching stability, I have begun finalizing code that has been around for a while, but never properly integrated: code for synchronization. First in line is XML-RPC Weblog sync. I've been looking at what has changed on blogging software APIs since I last took a look at them in December/January (summary: not much). I've been writing up a review of how they compare, and will probably post it tomorrow. That aside, I'm also advancing on Palm and Symbian (SyncML) synchronization-- freshening my knowledge on both, looking for new development tools that might have appeared and so on. I had downloaded and installed the Palm Conduit Development Kit in my other machine but now I can't find the install binary--so I have to download it again. I was kind of hoping that I'd have DSL by now, but Eircom has outdone itself again--3 weeks and counting. We'll see if it comes in next week, in the meantime I've just started to download it, and at 56 Kbps those 45 MB will take about 3 hours. Oh well. I'll do something else in the meantime. The plan is to release a public beta by the end of next week. Lots of things to do!

And, another thing: Matthew Walker sent a shell script to run cactus on Mac OS X using the extensions defined by Apple, so that it can integrate better with the OS (e.g., the menu appears on the top OS menubar, rather than on the frame). He also sent links to a couple of screenshots showing the effect of the change: before and after. Very cool. Thanks Matthew!

Categories: clevercactus
Posted by diego on May 2, 2003 at 9:46 PM

don't forget IrDA

Mobitopia

With all the hoopla surrounding bluetooth in the past few months, one could justifiably think that the idea of transparent, zero-configuration synchronization was invented a couple of years ago. But we shouldn't forget the trailblazer, and the technology that is essentially the "spiritual predecessor" to Bluetooth: IrDA.

IrDA started out precisely with the aims of Bluetooth: to provide the ability to easily connect devices in a short range network, for syncing and basic communication. At the beginning (say, 10 years ago), there was much discussion of IrDA being used on everything from printers to portable devices, and so solve the "cable problem" once and for all. Sadly, IrDA had a couple of big problems: directionality (the sender/receiver have to be more or less aligned) and its "one to one nature".

At the beginning, configuring IrDA was a nightmare, but as with everything, it got better and better. Today, I can turn on the IrDA capability in my Nokia 6210 (yes, I own a 6210, please don't laugh) and align it with the IR receptor in my notebook (a Thinkpad T21) and immediately I get a popup identifying the connection for the phone. Windows (and, I assume, Linux as well) comes built it with the capability to identify that connection as a "phone line" of sorts, allowing you to create an Internet dial-up connection just as you would with a landline. And Nokia, like other cellphone makers, provides a nice package of tools that you can install on your PC to sync the contents of the phone (including SMS), which is useful not only as backup but also to create content on the PC (say, memos, calendar entries...).

So I find it heartening that all the new phones that I've seen (Nokia's 7210, 3650, SonyEricsson's P800) come with Bluetooth and IrDA. This is brilliant: it's going to be tough for a while to find Bluetooth-enabled PCs and notebooks, while all notebooks have IrDA, and getting an IrDA receiver/transmitter for a PC is easy and, more importantly, cheap. Sure, it won't be as convenient as Bluetooth, but it's still useful.

So, here's hoping that new devices, even ones that are on the pipeline now, will still support IrDA. It will still be useful for the next couple of years, as Bluetooth becomes more widely deployed, and a common built-in option in new systems.

Categories: technology
Posted by diego on May 2, 2003 at 7:58 PM

anonymous blogging

This is interesting: Invisiblog.

"invisiblog.com lets you publish a weblog using GPG and the Mixmaster anonymous remailer network. You don't ever have to reveal your identity - not even to us. You don't have to trust us, because we'll never know who you are."
As far as anonymity goes, this is probably the furthest you can go (okay, if, as they mention in the site, you were using Freenet then it would be really, really difficult to trace the origin of a packet, let alone of a post.

That said, I have also been thinking about PKI in the context of blogging, and what it could do in terms of allowing or disallowing comments or even referrers that are not from sources that authenticate themselves properly. A few months ago there was a surge of blog-spam, both on comments and on referrers (I got hit by a few of both), but it has subsided. If it reemerges, we might have to find a way to deal with it, just as with email, and 'signed' posts, or 'signed links' might be one part of the solution.

Categories: technology
Posted by diego on May 2, 2003 at 4:10 PM

how good is 'bowling for columbine'?

I've heard many, many good comments about Michael Moore's documentary Bowling for Columbine in which he examines the 'gun culture' of the US, and tries to find reasons why the US has a higher rate of gun homicides than any other country in the world. However, I missed it when it got released here in Ireland, so now I'm waiting for the DVD.

In the meantime, I found two sites (here and here) that debunk several, if not all, the premises on which the documentary was built. Since I haven't seen the movie I can't really comment, but one thing I find interesting about this "debunking" is that it should be easy to verify; I mean, just watch the movie and these things should be obvious. For example, the splicing of different Charlton Heston speeches mentioned in the first article should be clear since it appears that he is wearing two different suits in a segment that implies the sequence is linear. The spinsanity piece (second link) is particularly interesting to me since they are non-partisan and have attacked spin in the left as much as in the right.

One thing I do find interesting is that, if true, Moore (an avowed lefty) is engaging in little more than what other people (particularly in the right, although no one is clean of this) have been doing more of recently: bending the truth or 'connecting dots' of dubious precedence. The White House in particular has been heavily engaged in this in the past few months when trying to shore up support for action in Iraq. Unless they are so extreme that they are disgusting, I respect (although I might disagree) almost any position, as long as the person/group espousing them is honest and consistent (or makes it clear when they've made a mistake--anyone can change their mind). But consider for example this quote from Bush's speech yesterday at an aircraft carrier, declaring the end of armed conflict (although not the end of the war--if they did that, under the Geneva convention they'd also have to release the estimated 6,000 POWs currently under Coalition control, which would be, shall we say, inconvenient). Bush

[...] spoke in emotional terms not only about the troops who toppled Mr. Hussein but also about the Sept. 11 attacks, melding the battle against terrorism with the battle against Iraq. "We have not forgotten the victims of Sept. 11th, the last phone calls, the cold murder of children, the searches in the rubble," he said. "With those attacks, the terrorists and their supporters declared war on the United States. And war is what they got."
I find it awful that the tragedy of Sept. 11 is used for this purpose. US intelligence agencies themselves identified the hijackers mainly as Saudis (12 of them) and the operation to be organized by Saudis. Today, as was widely reported before the war began (take, for example, this article), almost half of US citizens believe that Iraq was either heavily involved or somewhat involved in the Sept. 11 attacks. There are no facts whatsoever that point in that direction. The Bush Administration itself identified Al-Qaeda as the main culprit, and, when linking Iraq and Al-Qaeda in the UN in February, Collin Powell talked much more about the risk of Iraq's weapons falling in the hands of terrorists than on the apparent links (which, tenous or not, he argued as being recent).

Both Moore (if he did what is claimed with his documentary) and the Bush Administration (if they are, as it appears, encouraging overtly or covertly the spread of things that aren't true) could be say to be voicing things in a way that reinforces what they truly believe in. I guess it goes back to the question: "Would you be willing to lie (or at least not tell the whole truth) to advance a 'cause' you truly believe in"?

As far as I'm concerned, the answer is no. In more mundane situations, gray areas are more commons, but for these ethical/moral/philosophical questions, when you are affecting millions of people with your message, making your case truthfully and honestly is a major element that determines true success.

Okay, I veered off into a rant there, this is a contentious subject and the particulars of each case are not what matters for what I'm trying to say. My point is: whether you're on the left or on the right, and specially for ideological debates, what counts is being honest. Everyone is entitled to their point of view, voicing their opinions and so on, but manipulating perceptions through half-truths and fabrications always ends up creating more problems than in solves. It doesn't matter if you think your cause is just: in these situations, the end rarely justifies the means.

Categories: art.media, geopolitics
Posted by diego on May 2, 2003 at 3:59 PM

more on spam

Continuing yesterday's thread of links, an excellent article by Brad Templeton: Reflections on the 25th anniversary of spam.

Categories: technology
Posted by diego on May 1, 2003 at 11:45 PM

sms and mms--not

Jim has a great posting on Mobitopia today about SMS and MMS-- and why they might be going the way of the 8-track tape.

Since we're more or less in topic: I would have really liked to go to the Symbian exposium, not just for the conference itself, but to meet the other Mobitopians. Too much work on the cactus side of things for that though (a new rev of the beta is being released tonight), and on top of that the term is ending at Trinity and I couldn't just vanish. At least I could get a bit of it vicariously through weblogs. Oh well. Next time.

Categories: technology
Posted by diego on May 1, 2003 at 5:31 PM

risk? what risk?

An article by Andrew Leonard on two new books:

Complex financial instruments have made Wall Street incomprehensible to the average consumer -- and allowed "experts" to make fortunes. Two new books remind us that swindlers may have always been with us, but that today they are running the show.
This is not just the fault of those who peddle services that no one understands, it's also the fault of those who plunge in, dollar signs in their eyes (Granted, there are many people that are simply investing their life savings and should be secure, and in any case, that doesn't excuse reckless behavior on the part of "risk managers"). I am reminded of that episode of the Simpsons where Homer puts the family's life savings into a company called "Animotion". He goes to buy the stock and the stockbroker says: "Sir, are you sure you understand the risks of stock trading?". Cut to those priceless images of what goes on in Homer's brain and you see a display of dancers, homer in the center, and a giant gorilla that appears behind courtains, growling and holding fistfulls of dollars, while Homer and the dancers sing: "Bring in the money... Bring in the money...". Cut back to the stockbroker, who is waiting for Homer's answer, and Homer says: "You heard the monkey. Make the trade."

LOL!

Since we're on Simpsons'-remembrance mode, that episode also has a great bit when Homer's checking the moves on the Animotion stock he just bought. He calls an automated phone service with voice recognition. On the other side there's one of those computer voices that speak-in-unnatural-breaks.

Computer: Please say the name of the stock you wish to check.
Homer: Animotion.
Computer: Animotion. Up-one. (or something of the sort).
Homer: (Celebrates) Yahoo!
Computer: Yahoo. Up-ten.
Homer: (looking puzzled at the phone) Eh? What is this crap?
Computer: FOX Networks. Down-eight.

Hilarious.

Categories: technology
Posted by diego on May 1, 2003 at 5:18 PM

Copyright © Diego Doval 2002-2011.