Like almost everyone, I receive a lot of spam every day, much of it offering to help me get out of debt or get rich quick. It’s ridiculous,
says Bill Gates.
Sapere Aude
Month: June 2003
Like almost everyone, I receive a lot of spam every day, much of it offering to help me get out of debt or get rich quick. It’s ridiculous,
says Bill Gates.
The enclosed XSLT transformer will take an arbitrary well-formed XML input document and turn it into an arbitrary lisp-style list that can be processed using modern processing tools, such as any scheme implementation after ~1974.
,imagWe at Q42 have been extremely busy making Xopus ready for release. At
this moment we feel confident we have a worthy beta version. At the end
of this week we will ship this beta to you and others.
congrats guys, i’m looking forward to trying it out.
UPDATE sjoerd has a picture of the debugging process. next time im there, i will urge these guys to try CVS 🙂 oh, and cool debugging technique.
duct tape (with a tip-o-hat to clarisa)
I support the Log Format Roadmap because it has a fighting chance to become the first practical step to achieve CMS content interop. Blogs will drive adoption of the principles stated in against the grain. As a weblog vendor, I support it because it will drive the adoption of better tools, and will increase the market for everyone.
2003-06-27: Sam Ruby has been spearheading a major standardization effort in the blog world recently, and he has this to say about his motivations:
About a month ago, my interest and activity in this space kicked into high gear. I started attending weblogging conferences.
Far from claiming to have been the inspiration, it is still very nice to think that OSCOM was able to contribute to the drive towards standardization. This is the stuff we are talking about.
2004-06-08: So that is what Greg Stein has been up to. The sprint was much fun, as were the drinks.
Ever since Atom first popped up, I’ve been interested in it, and even attempted to join a small sprint/discussion at Seybold last year to talk about WebDAV. The bomb threat shut that down, but we simply moved locations for drinks rather than hacking 🙂 So while I’ve been tracking it generally, my specific current interest is through my work at Google. I’m the engineering manager for the Blogger group, so I’ve gotta pay some attention to what we’re signing up for 🙂
2005-09-06: All feeds for this blog now serve Atom 1.0. It will be interesting to watch if anyone notices / cares. Longer term, /atom.xml is the canonical url if you want to subscribe.
2006-10-18: RSS / ATOM / OPML schematron is much easier to work with than the mysterious feed validator code. Plus it works for really huge feeds. This has the README for the RSS validator. Pretty out of date, but a good starting point. For one, you need the latest schematron from Rick Jellife, not the old one on this site.
2006-11-21: Gdata JSON. They also do jsonp, and reuse the Atom serialization.
2006-12-01: GData for Google Spreadsheets. The data web circle gets more complete. This is (one) counterpart to the web formulas in Google Sheets. Now as to how GData can play in the semweb space. Maybe via Queso.
2007-01-31: Tim wonders how to use Atom categories properly. Link to the wikipedia url of the tag I’d say.
2007-02-14: If you browse to a page with an RSS or Atom feed, you get the option to immediately add that feed to Google Reader for mobile via Mobile Proxy Feed Discovery.
2007-03-31: Some Atom extensions by nature to encourage text mining. I don’t know.. They do not seem to reuse core Atom in their examples. Plus I am not sure how useful a word count really is.
2007-05-16: GdataServer
Generally speaking, the Lucene GData Server is an extensible syndication format server providing CRUD actions to alter feed content, authentication, optimistic concurrency and full text search based on Apache Lucene.
2007-05-25: APP frontend to LDAP. This might enable some interesting scenarios.
2007-06-01: Opensearch / Atom interface for Swiss whitepages. Nice!
Wir haben für unser Telefonbuch eine Schnittstelle entwickelt, welche es erlaubt unsere Telefondaten in anderen Applikationen oder Websites zu integrieren. Die Schnittstelle basiert auf dem Konzept von REST. Die Resultate werden als Atom-Feed geliefert, welcher mit OpenSearch- und tel.search.ch-spezifische Felder ergänzt ist. Mit Hilfe eines Schlüssels werden die Resultate auch strukturiert zurückgeliefert. Die Resultatzahl ist pro Abfrage auf 200 Einträge beschränkt.
2007-06-08: GData Fails as a Protocol
Gregor Rothfuss wondered whether I couldn’t influence people at Microsoft to also standardize on GData. The fact is that I’ve actually tried to do this with different teams on multiple occasions and each time the I’ve tried, certain limitations..
2007-06-10: Oy. And all this because I asked Dare why Microsoft doesn’t use APP.
There was quite a flurry of blogging about the Atom Publishing Protocol (APP) over the weekend, all kicked off by Dare Obasanjo’s criticisms of the protocol. Some of the posts were critical of Dare and his motives, but I’m thankful he started the conversation.
2007-07-26: The chorus for putting more REST into GIS / mapping gets louder, yay
The only thing needed to bring together this messy new world Atlas, is a global agreement about the structure of the data used to annotate the maps, as well as agreement on the format for retrieving such.
2007-07-28: WFS simple was hijacked, as usual, by people who don’t understand why worse is better. This is why I am not in the least interested in WFS and am betting on APP instead.
if the geospatial standards community continues on this path of isolating itself, of looking upstream to the ISO rather than downstream to the distributed neogeo developer community, it will miss out on being connected to amazing things.
Here’s a Feature Demo of a RESTful WFS-T with a call for GE to support posting of features. I would go further and ask for APP support.
Version control for Collaborative Mapping. Calls for diffs and patches. Might be built on top of an APP infrastructure, imho
The next major area of tool improvement I see is expanding the wiki notion of editing to more of a merging revision control model, with branches, versions, patches and eventually expanding in to distributed repositories. The ‘patch‘ is a small piece of code that can be applied to a computer program to fix something. They are widely used in the open source software world, both to get the latest improvements, and to allow those who have commit rights to a source repository to review outside improvements before putting them in. This helps create the meritocracy around projects, as they don’t let just anyone in to the repository as they might break the build. Such a case is less likely with maps, but sometimes core contributors might want to see a couple sample patches before letting a new member in. In the GeoServer versioning WFS work we have a GetDiff operation that returns a WFS Transaction that can then be applied to another WFS. This fits in with the technical part of how a patch works – they’re really easy to apply to one’s dataset. But unfortunately a WFS transaction is not as easy to read as a code patch. The other great thing about patches is that when leaf nodes are updating their data they can just request the change set – the patches – instead of having to do a full check out. So I’m still not sure how to solve this problem, the WFS Transaction is the best I’ve got, but I think we can do better, have a nice little format that just describes what changed.
Better UIs for Collaborative Mapping. More calls for rollback tools, and would like to see GE post to geoserver, etc
I think we need more user friendly options for collaborative editing. Not just putting some points on a map, but being able to get a sense of the history of the map, getting logs of changes and diffs of certain actions. Editing should be a breeze, and there should be a number of tools that enable this. Google’s MyMaps starts to get at the ease of editing, but I want it collaborative, able to track the history of edits and give you a visual diff of what’s changed. Rollbacks should also be a breeze – if you have really easy tools to edit it’s also going to be easier for people to vandalize. So you need to make tools that are even easier to rollback.
2007-07-29: Atom Futures
AtomPub sits in a very strange place, as it has the potential to disrupt 6 or more industry sectors, such as, Enterprise Content Management, Blogging, Digital/Desktop Publishing and Archiving, Mobile Web, EAI/WS-* messaging, Social Networks, Online Productivity tools. As interesting as the adoption rates, will be people and sectors finding reasons not use it to protect distribution channels and data lockins with more complicated solutions. Any kind of data garden is fair game for AtomPub to rationalize.
2007-07-30: Towards signed feeds
Why Digital Signature? This idea was first proposed by James Snell, and it’s a good one. Mind you, the benefits are a little bit theoretical, since no feed-reading clients that I’ve seen actually check a digital signature. The argument for this is similar to that for TLS; a bad guy who could somehow insert a fake press release into the feed could make zillions by gaming the share price. A verifiable digital signature would let someone reading the feed know that the news in it really truly did come from Sun.
2007-07-31: Atom for KML. Nice. I want to do more, but this is a good start. The Atom / KML meme spreads. Perception is reality, and I approve.
2007-08-03: Appfs
appfs can mount remote resources exposed via the Atom Publishing Protocol as a local filesystem.
2007-08-07: RESTful partial updates. Maybe useful for APP / KML to supplement update
over the past couple of months, there’s been a lot of discussion about the problem of partial updates in REST-over-HTTP. The problem is harder than it appears at first glance. The canonical scenario is that you’ve just retrieved a complicated resource, like an address book entry, and you decide you want to update just one small part, like a phone number. The canonical way to do this is to update your representation of the resource and then PUT the whole thing back, including all of the parts you didn’t change. If you want to avoid the lost update problem, you send back the ETag you got from the GET with your PUT inside an If-Match: header, so that you know that you’re not overwriting somebody else’s change.
Zend Google Data Client
The Zend Google Data Client provides a PHP 5 component to execute queries and commands against the Google Data APIs.
2007-08-14: Winer on Atom. Sore loser.
2007-08-19: How to deal with the sliding window problem where feed producers update more often than consumers, and consumers thus might miss entries.
A standardized way to get at previous entries that have scrolled out of a feed, and at the complete archive.
2007-08-28: YouTube GData. Nice to see more media-heavy usages. Now we have pretty much all of them, only KML is missing.
2007-10-29: APP Lock-In. So cute. Microsoft is in a tight spot: Admit they have no strategy and use APP, or invent their own. It seems they are trying to build a case to do just that.
It seems that while we weren’t looking, Google move us a step away from a world of simple, protocol-based interoperability on the Web to one based on running the right platform with the right libraries. Usually I wouldn’t care about whatever bad decisions the folks at Google are making with their API platform. However the problem is that it sends out the wrong message to other Web companies that are building Web APIs. The message that it’s all about embracing and extending Internet standards with interoperability being based on everyone running sanctioned client libraries instead of via simple, RESTful protocols is harmful to the Internet. Unfortunately, this harkens to the bad old days of Microsoft and I’d hate for us to begin a race to the bottom in this arena.
2007-12-06: FeedSync. The full syncing requirement makes this heavy weight
Although FeedSync is capable of full-blown multi-master synchronization, there are all kinds of interesting uses, including simple one-way uses. Consider, for example, how RSS typically has no memory. Most blogs publish items into a rolling window. If you subscribe after items have scrolled out of view, you can’t syndicate them. A FeedSync implementation could enable you synchronize a whole feed when you first subscribe, then update items moving forward. It could also enable the feed provider to delete items, which you might not want if the items are blog postings, but would want if they’re calendar items representing cancelled events.
i attended a reunion on saturday, and i wish i hadn’t. memory is a curious thing, but the way it works, it tends to emphasize the good, and neglect the bad. i’d much rather have fond memories of a past long gone, than to destroy that illusion in the vain attempt to bring it back. for that particular reunion, i now have fresh memories of people i held in high esteem, and the new memories are far less impressive than the ones they replace. a pity really to spoil it like that.
my thesis made it to NEC citeseer. very cool.

It feels good to end our self-inflicted NDA. Kaywa Ltd. are the result of a collaboration of switzerland’s weblog pioneers to create the best Weblog tool anywhere, and bring (mo)blogging to the masses. Roger will unveil our tool at the first International Moblogging Conference in Tokyo, and will of course provide coverage with the help of his picturephone.
Meanwhile, we are getting ready with the public beta of our new product. We will waive fees for all participants in the public beta for 2003, so sign up today, and help us to make our product even better.
Kaywa are:
ps. yes we will eat our own dogfood shortly 🙂
we spent saturday at a farm.








