| d2r diego's weblog: May 2003 Archives |
nullsoft does it againJust 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. :-) more on Microsoft-AOLRegarding 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... bluetooth on javaRuss 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). st. petersburg's 300th anniversarySpeaking 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> the two-week summerThe 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. microsoft competes... with itselfWhy 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. animatrix reviewYesterday 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:
waste: new P2P collaboration softwareJim 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. animatrix rocksAnimatrix 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. 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. little poor AOLAOL 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. the standard Kilogram is... losing weightAccording 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. digitalIDworldI 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. gibson on media and technologyIf 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.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. it's the people, stupidClay 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. :) cc mailing listsThe 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...) bloggers meeting in dublinKarlin 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).'Pass the word' in this case could also be called 'spread the link' :). from playstation to supercomputerA group at the NCSA has built a supercomputer using PlayStation 2s and Linux's clustering technology for 50,000. Cool. news from the worldA compilation of various news articles from around the world on the "crisis of democracy", from Salon. the Economist on EthernetThe 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.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. moving mountains for fun and profitOle 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. more cc commentsDan 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! the cinematic roots of The MatrixI 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.
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. 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. 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. autoblogging?Remember CueCat? Microsoft Research is using it for something they call autoblogging. Interesting. more about NextelIn 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.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.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 :)). '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. studying for profitFrom the New York Times: Computing's lost allure. <rant> looking back to see aheadKevin 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.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. there is no spoon: a review of Matrix Reloaded
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?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:
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... more on SCO v. LinuxA 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... reloaded needs reloadingI 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. :) 'push to talk' goes globalNews.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. browsers galoreI 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. big brother's big brotherSo 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!Later: Another piece of surveillance news, courtesy of Maureen Dowd at the New York Times. googling your weblogDave Winer has integrated a demo of his new software into his weblog. The software integrates weblogs and google search in a new way. Nice!. '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!. go
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. :-)) rumour pushbackSo 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? mailing list migration and wormsTwo 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. from startup to crime... in internet timeA 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. more on social softwareAn 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. some comments on the cactus releaseCatching 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. T-Mobile drops MS phone softwareAnother 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."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... second actsCharles Cooper on strategic makeovers by technology companies, with two main examples: Borland and Handspring. Interesting read. blogging APIs - part 2Or 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."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)."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 -> BooleanI 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. a day of restSlowing 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. the lawsuit-fest at SCOSCO 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. media momentsRuss 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... clevercactus lives!
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! IM-aloneA 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... 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. :-) I'm a machead
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. "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.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. :-) those good old clunky keyboardsScott 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.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. (simple) roundtrip weblog/RSS/email integrationI'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. :-) 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. lying for a livingThe 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. why the new install system for JDK 1.4.2 is badI'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). 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.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. google to separate blogs from the web -- notEvan 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. 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... :-) google to separate blogs from the webThe 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. 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. syncml and palmStill 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... (re)loading...
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. the future of handspring: "communicators"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. metaweblog gets updatedWow, 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. computers and phones... and microsoftBack 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 messagesIt'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. :) 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). swamped by googleKoz 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 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. the shape of protonsThis 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: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). and speaking of blogging APIsOn 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. blogging APIs: a mini how-toThere 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 So keeping on with this, the basic parameters that the HTTP call needs are:
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 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. 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 <BR><BR> I don't like sunny days. Do you?</value></param> <param><value>true</value></param> </params> </methodCall>
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><a href="[url obtained through call to metaWeblog.newMediaObject">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 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. blogging APIs - the commentsThere'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. computers and phonesJon 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. first post from clevercactusThis is the first post to my weblog from within clevercactus. Several UI elements to figure out completely yet. But getting there! :-) esther dyson does bloggingA 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. clevercactus palm synchronizationI 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. daily news screenshotsI 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! a review of blogging APIsAs 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. :) 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:
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.0blogger.newPost: Creates a new post. MetaWeblog APImetaWeblog.newPost: Creates a new post. 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. beta updatea 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! don't forget IrDAWith 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. anonymous bloggingThis 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. 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. more on spamContinuing yesterday's thread of links, an excellent article by Brad Templeton: Reflections on the 25th anniversary of spam. sms and mms--notJim 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. 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. Hilarious. Copyright © Diego Doval 2002-2007.
|


Okay, I've seen it. Did I like it? 


I 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. 