News
Deconstructing the AtomAPI
Yesterdays idea of applying the AtomAPI to wikis got me thinking about the AtomAPI more generally. The idea of using a link tag on the web page to be edited points to idea that some parts of the AtomAPI could be eliminated. So let't take some time and push that idea to its logical extreme to see how small the AtomAPI could be made. N.B. What follows is a thought experiment.
News
An editable web
Today on IRC Sam Ruby challenged some of my preconceived notions of a weblog editing API. In particular he asked the very simple question, "How do you find the entry you want to edit".
Having a pre-conceived notion of blogs having a linear structure, I hadn't really thought too hard about that. But both Blosxom and Wikis don't necessarily have that linear structure. Blosxom allows creating entries with a directory structure, with no predetermined concept of order among the individual entries.
News
Content Negotiation
In my last article I stated that Content Negotiation should be avoided. Here I give an overview of how content negotiation works, problems I have run into, and pointers to problems other people have had with it.
Continue reading Should you use Content Negotiation in your Web Services? on The Well-Formed Web.
News
Should you use Content Negotiation in your Web Services?
Should you use Content Negotiation when building your web service? The short answer is no. There are definite problems with conneg and I can give some examples of problems I have run into and also point to problems other have run into.
First let's back up and explain Content Negotiation. Your browser is a generic display program and can take in various kinds of media, such as HTML, JPEGs, CSS, Flash, etc.
News
Please do not use D as an ACCESSKEY in your HTML
Congrats, your new site is redesigned, all shiny and new, and in the redesign you decided to cover accessibility and in the process start using accesskey. Now accesskey is neat, in that it which gives you the power to re-map keys to move the keyboard focus to a control or to follow a link, but with that power comes responsibility. You can add an accesskey attribute to a, area, button, input, label, legend, and textarea.
News
Training your retriever
I have been using Mozilla 1.4 for the past two weeks and have been very happy with the spam filtering capabilities. I don't really get a lot of spam, maybe three to five pieces a day, but it came with good initial filters and has learned pretty quickly. When I first started up and had it scan my Inbox, which was clean of spam, it marked an entire thread on [xml-dev] as junk.
News
New AtomAPI Implementation Release
We came, we saw, we did, we got spanked, we did it right.
Last week Mark Pilgrim and I released an implementation of the AtomAPI, both a client and a server. That implementation included a new authorization scheme that we came up with. Now we would have liked to used HTTP Digest authentication, and the AtomAPI should support Digest authentication, but for many users setting up Digest just isn't possible.
News
Eco-Scooter
Christopher worked hard all summer baby sitting his youngest brother, mowing the lawn and doing chores around the house, all with the aim of collecting enough money to buy an electric scooter. Well he finally saved enough and it arrived this week. The EcoScooter he bought is a neat little electric scooter that runs on 24 volt batteries, runs for about a half an hour on a full charge, goes about 15-18 miles an hour depending on rider weight, and is really fun to ride.
News
How safe is that verb?
"Is the HTTP verb PUT under Apache safe or dangerous?" This is a question I come across often, and have now run into it twice in the work on Atom. So is it safe? The answer is maybe.
Continue reading The HTTP verb PUT under Apache: Safe or Dangerous?
I've tried to post a comment via commentAPI , as it is specified in the RSS. But no luck ; getting HTTP/1.
News
The HTTP verb PUT under Apache Safe or Dangerous?
"Is the HTTP verb PUT under Apache safe or dangerous?" This is a question I come across often, and have now run into it twice in the work on Atom. So is it safe? The answer is maybe.
Here are two such examples:
Using DELETE and PUT may be the "right thing to do" in an ideal world, but the fact of the matter is that a lot -- if not the vast majority -- of webservers do not allow these operations.
News
Working AtomAPI Implemenation
A real live working implementation of the AtomAPI has been posted. Mark has all the details.
This is an implementation in two parts. The first is a server-side CGI script that Mark wrote in Python that hooks into a Movable Type installation. Yes, it's true, this is an AtomAPI implementation for Movable Type.
The second part of the implementation is a client side GUI written in Python that allows you to create, modify and delete entries.
News
Snippets The cognitive dissonance over The tools will save youedition
The tools may or may not save you:
The tools will save you: The google calculator is amazing. For example, the total amount of energy released if the earth was turned into energy. Google is a tool. It saves me every day. The tools will save you: Nutch, an open source search engine project that has Mitch Kapor and Tim O'Reilly on the advisory board [via Joi Ito]. Open source is a tool.
News
Faceted Classification
pixelcharmer has a nice intro to using faceted classification with MovableType. A worthwhile read in itself it also contains pointers to other web resources on faceted classification:
A Simplified Model for Facet Analysis Ranganathan for IAs IAWiki: Faceted Classification
News
The AtomAPI is not a Web Service
I repeat, the AtomAPI is not a Web Service. At least as the term Web Service is defined by the W3C Web Services Architecture Working Group.
Definition: A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.
News
Thoughts on the Google API
It's been a while since Google released it's SOAP based API and all ensuing discussion. I only recently have had a chance to play with the API and it does raise a question.
Paul Prescod covered what the API would have looked like if it were formulated under REST, but his formulation does have a major weakness, in that it encodes the Google Key into the URI. The problem is that the URI may show up in referrer logs and thus increasing your chance of getting your key stolen.
News
draft-gregorio-07.html
Rev 07 – 6Aug2003 Latest version of the AtomAPI draft RFC is now available. Differences from version 6 to 7:
Removed the use of the RSD file for auto-discovery. Changed copyright until a final standards body is chosen. Changed query parameters for the search facet to all begin with atom- to avoid name collisions. Updated all the Entries to follow the 0.2 version. Changed the format of the search results and template file to a pure element based syntax.
News
MTS
MTS, my former employer, is being investigated by federal authorities who suspect that it illegally sold testing equipment for nuclear weapons research in India.
News
Other snippets
I have tried this link checking service from the W3C, just drop in a URL and will check all the URLs on the page, looking for dead links or malformed ones. Cool, but just one problem, it fails with a 404 on every single link on my site. I think it's a content negotiation thing but haven't had the time to download the source to try to fix it. Found via my referrer logs.
News
Extending the AtomAPI
One of the key features of the AtomAPI is it's potential for extensibity. As an example of that kind of extensiblity here in an outline of one way the AtomAPI could be enhanced in a completely safe way by a vendor. The example I am going to use is that of moods. Moods are pretty particular to LiveJournal and are reflected in their current XML-RPC interface. A mood is just that, the mood of the writer at the time they wrote their entry.