mnot’s blog

Design depends largely on constraints.” — Charles Eames

all entries

Monday, 17 March 2014

Trying out TLS for HTTP:// URLs

The IETF now considers “pervasive monitoring” to be an attack. As Snowden points out, one of the more effective ways to combat it is to use encryption everywhere you can, and “opportunistic encryption” keeps on coming up as one way to help that. I was asked to introduce the session on this topic at the recent STRINT workshop. There was a lot of disagreement both about the terminology to use, as well as back-and-forth on whether it’s a good idea....

this entry’s page

Thursday, 30 January 2014

Nine Things to Expect from HTTP/2

HTTP/2 is getting close to being real, with lots of discussions and more implementations popping up every week. What does a new version of the Web’s protocol mean for you? Here are some early answers: 1. Same HTTP APIs Making HTTP/2 succeed means that it has to work with the existing Web. So, this effort is about getting the HTTP we know on the wire in a better way, not changing what the protocol means. This means HTTP/2 isn’t introducing...

this entry’s page

Saturday, 4 January 2014

Strengthening HTTP: A Personal View

Recently, one of the hottest topics in the Internet protocol community has been whether the newest version of the Web’s protocol, HTTP/2, will require, encourage or indeed say anything about the use of encryption in response to the pervasive monitoring attacks revealed to the world by Edward Snowden. Jari Arkko, the IETF Chair, has encouraged me to write some of my thoughts about this down, to explain to a wider audience how we got here and where it might lead....

this entry’s page (1 comment)

Sunday, 23 June 2013

Five Reasons to Considering Linking in Your HTTP APIs

There’s been a lot of interest in and effort expended upon “hypermedia APIs” recently. However, I see a fair amount of resistance to it from developers and ops folks, because the pragmatic benefits aren’t often clear.  This is as it should be, IMO; if you’re not able to describe concrete benefits without hand-waving about the “massive scale of the Web.” The trick, is that those benefits are often subtle and situational. A while back I talked about different types of...

this entry’s page (5 comments)

Friday, 21 June 2013

A Few Thoughts about PRISM

The NSA PRISM story broke while I was on the road; last week I was in Tokyo for W3C meetings, moving to San Francisco for a HTTP meeting and Velocity. As  a result, I’ve had a chance to see the reaction of a pretty good cross-section of the tech industry’s reaction. To generalise, I’d say it was condemnation, but not surprise. As many have written, there’s a strong streak of respect for privacy and individual rights in Silicon Valley, but...

this entry’s page

Wednesday, 15 May 2013

Indicating Problems in HTTP APIs

A common part of HTTP-based APIs is telling the client that something has gone wrong. Most APIs do this in some fashion, whether they call it a “Fault” (very SOAP-y), “Error” or whatever. Most of them define a new format for just this purpose; for examples, see Amazon’s, OpenStack’s, Twitter’s, Facebook’s, and SalesForce’s. Twitter's is fairly representative:  {"errors":[{"message":"Sorry, that page does not exist","code":34}]} Here, they associate a human-readable message and an error code with the error. That’s a good start, but...

this entry’s page (15 comments)

Sunday, 20 January 2013

A Short Note

In 2001, Charlie was born, and (understandably) we were freaking out a bit, having a new child and all. However, at about the same time, I met this really remarkable kid at the W3C, and I asked him what advice he could give me, from his perspective. The response was that school was rubbish ;) and a recommendation for a book (which I still have, somewhere). Over the years, we e-mailed a bit, especially about RSS and some Web-related software...

this entry’s page

Friday, 4 January 2013

Exploring Header Compression in HTTP/2.0

One of the major mechanisms proposed by SPDY for use in HTTP/2.0 is header compression.  This is motivated by a number of things, but heavy in the mix is the combination of having more and more requests in a page, and the increasing use of mobile, where every packet is, well, precious.  Compressing headers (separately from message bodies) both reduces the overhead of additional requests and of introducing new headers. To illustrate this, Patrick put together a synthetic test that...

this entry’s page (5 comments)

Tuesday, 18 December 2012

"Why Don't You Just…"

A proposal by John Graham-Cumming is currently doing the rounds: HMURR (pronounced ‘hammer’) introduces a new pipelining mechanism with explicit identifiers used to match requests and responses sent on the same TCP connection so that out-of-order responses are possible. The current HTTP 1.1 pipelining mechanism requires that responses be returned in the same order as requests are made (FIFO) which itself introduces a head-of-line blocking problem. This seems attractive at first glance; rather than starting a whole new protocol, why not just incrementally improve an...

this entry’s page

Friday, 7 December 2012

HTTP Status: 101 Switching Protocols

The HTTPbis Working Group met in Atlanta last month; here’s how things are going. HTTP/1.1 We’re now out of Working Group Last Call on all of our “core” documents, so the editors are working through the issues that brought up. As soon as that’s done, we’ll go to IETF Last Call, and hopefully soon after well have a number of new RFCs defining HTTP/1.1. Here, you can see the upswing in number of issues during our WGLC period: To see...

this entry’s page (1 comment)

Tuesday, 4 December 2012

Evolving HTTP APIs

One of the most vexing problems that still seems to be facing people when I talk to them about HTTP APIs is how to handle versioning and extensibility — i.e., how they evolve. I tend to think about this a lot and talk to quite a few people about it, since I’m intimately familiar with the approaches to versioning that the HTTP protocol itself takes, and with the general attitude taken to it in the broader Internet architecture by the...

this entry’s page (6 comments)

Monday, 29 October 2012

OPTIONS is Not the Method You're Looking For

Once in a while, people ask me whether they should use the OPTIONS HTTP method, and whether we should try to define formats for discovering resource capabilities with it. I usually say “no.” This is a personal position, nothing “official”. That said, the conversation usually goes like this: What’s Wrong with OPTIONS? A few things. First and foremost, it can’t be cached. Usually, people want to use OPTIONS to discover some metadata about the server (the “OPTIONS *” case) or...

this entry’s page (7 comments)

Sunday, 28 October 2012

Production Notes

I’ve (finally) moved this server to another Rackspace cloud server; same (small) size, but with a fresh OS. In the process, I’ve also changed the way I bring the box up into a known state from using shell scripts to Ansible (after an unsuccessful dalliance with Puppet).  So, if you have any problems with mnot.net, redbot.org or isitrestful.com, please drop me a line. The only noticeable change should be that Twitter sign-in to this blog now works, thanks to Mark Carey....

this entry’s page

Monday, 24 September 2012

Caching POST

One of the changes in Apple's release of iOS6 last week was a surprising new ability to cache POST responses. Lots has been said about this, but some people reading RFC2616 have come away scratching their head about whether this is actually a bug or not. The HTTP spec says this about POST: Responses to this method are not cacheable, unless the response includes appropriate Cache-Control or Expires header fields.  Which, on the face of it, seems to say that...

this entry’s page (4 comments)

Thursday, 13 September 2012

Akamai, Again

I’ve spent the last year working at Rackspace, and it’s been quite a ride. However, I joined there thinking that our work on HTTP was winding down. Turns out, that couldn’t be further from the truth. Not only is HTTP/2.0 happening, but there’s a lot of exciting new work on HTTP “APIs” to do. “The Rack” was very supportive of my work, but I’ve felt conflicted about spending so much time working on HTTP when it’s not part of the...

this entry’s page (6 comments)

Wednesday, 5 September 2012

Why PATCH is Good for Your HTTP API

A common problem for APIs is partial update; when the client wants to change just one part of a resource’s state. For example, imagine that you’ve got a JSON representation of your widget resource that looks like: {   "name": "abc123",   "colour": "blue",   "count": 4 } and you want to update the “count” member’s value to “5”. Now, you could just PUT the entire thing back with the updated value, but that requires a recent GET of its...

this entry’s page (30 comments)

Saturday, 4 August 2012

HTTP in Vancouver

The HTTPBIS Working Group is in a transitional phase; we’re rapidly finishing our revision of the HTTP/1.1 specification and just getting steam up on our next target, HTTP/2.0. So, we met in Vancouver this week as part of IETF84. Here’s a quick summary. HTTP/1.1 Five years ago, we held a Birds of a Feather meeting at IETF69, discussing whether we should attempt to revise RFC2616, the specification of HTTP/1.1. It’s turned out to be a massive job, but we’re close...

this entry’s page

Wednesday, 11 July 2012

Bad HTTP API Smells: Version Headers

One thing I didn't cover in my previous rant on HTTP API versioning is an anti-pattern that I'm seeing a disturbing number of APIs adopt; using a HTTP header to indicate the overall version of the API in use. Examples include CIMI, CDMI, GData and I'm sure many more. These APIs are designed so that the client can send a request header advertising what version of the protocol they support: GET /foo HTTP/1.1 Host: api.example.org BadApiVersion: 1.2 and the server will...

this entry’s page (2 comments)

Monday, 25 June 2012

HTTP API Complexity

@dret: if your scenario is homogeneous and models are harmonized across participants, #REST is of limited utility for you. Erik’s tweet just now reminded me of something I’d been wanting to write about for a while; complexity in HTTP APIs, and their effect on how you use the protocol. One Client, One Server The simplest HTTP API is one where you have a known client and server talking to each other; they may be managed by separate people or the...

this entry’s page (3 comments)

Tuesday, 17 April 2012

Profiles

Erik Wilde - otherwise known as dret - has published an Internet-Draft for a “profile” link relation type: This specification defines the ‘profile’ link relation type that allows resource representations to indicate that they are following one or more profiles. Why am I excited? Three words: Media Type Proliferation For better or worse, everyone and his dog is minting “RESTful” APIs. One byproduct of this is the need to identify formats, so they’re going off and creating new media types....

this entry’s page (21 comments)

Saturday, 14 April 2012

User Personas for HTTP APIs

When you’re designing HTTP APIs, you need to keep a lot of concerns in mind. Stealing a page from XP, let’s look at some possible personas and their user stories for HTTP-based APIs: Joe at HugeCorp Let’s start with the people who consume the APIs. Joe uses Java (or some similar statically typed language). He’s used to having good tool support, with IDEs that manage all of the sticky details for him, and language features that keep him out of...

this entry’s page (3 comments)

Friday, 13 April 2012

JSON or XML: Just Decide

When people create HTTP APIs, one of the common decisions is about what format to use, usually revolving around “JSON or XML?” The thinking often goes like this: JSON is simple, easy to use, and “cool”; clients using dynamic languages will love it BUT, many people (especially those using static languages) are invested in XML So, I’ll just support both! Unfortunately, it’s not that easy; just because HTTP allows you to negotiate for formats doesn’t mean it’s a good idea...

this entry’s page (19 comments)

Saturday, 31 March 2012

What's Next for HTTP

We had two great meetings of the HTTPbis Working Group in Paris this week — one to start wrapping up our work on HTTP/1.1, and another to launch some exciting new work on HTTP/2.0. HTTP/1.1 The HTTP/1.1 specification (RFC2616) was standardised in the mid-to-late 90’s. At the time, there was a lot of pressure to produce something quickly, because the Web was getting popular, and swamping a lot of networks in the process. As a result, the spec is somewhat...

this entry’s page (2 comments)

Friday, 25 November 2011

Linking in JSON

To be a full-fledged format on the Web, you need to support links -- something sorely missing in JSON, which many have noticed lately. In fact, too many; everybody seems to be piling on with their own take on how a link should look in JSON. Rather than adding to the pile (just yet), I thought I'd look around a bit first. What am I looking for? Primarily, a way to serialise typed links (as defined by RFC5988, "Web Linking") into...

this entry’s page (28 comments)

Tuesday, 25 October 2011

Web API Versioning Smackdown

A lot of bits have been used over on the OpenStack list recently about versioning the HTTP APIs they provide. This over-long and rambling post summarises my current thoughts on the topic, both as background for that discussion, as well as for review in the wider community. The Warm-up: Software vs. Web Versioning Developers are used to software versioning; e.g., for every release, you bump an identifier. There are usually major versions, minor versions, and sometimes things like package identifiers....

this entry’s page (17 comments)

Friday, 21 October 2011

Why ESI is Still Important, and How to Make it Better

More than ten years ago, I was working at Akamai and got involved in the specification of Edge Side Includes (ESI), sort of a templating language for intermediaries. In that time, interest in ESI has grown, waned and been reborn. As far as I can tell, it's implemented not only by Akamai and Oracle (the main forces behind it), but also in Varnish, Squid, and lots of other places too. Back then, I had a strong suspicion that it'd die because...

this entry’s page (9 comments)

Wednesday, 12 October 2011

Thinking about Namespaces in JSON

Since joining Rackspace to help out with OpenStack, one of the hot topics of conversation I’ve been involved in has been extensibility and versioning. I think most of my readers (yes, all six of you) are fairly familiar with, if not tired of (hi, Dave!) the various arguments and counter-arguments in this space. However, there is one new-ish bit; how to do distributed extensibility in JSON. That’s because OpenStack’s API allows vendors to add extensions in various ways, in an...

this entry’s page (11 comments)

Friday, 2 September 2011

RFC6266 and Content-Disposition

HTTPbis published RFC6266 a little while ago, but the work isn’t finished. This is the RFC that clarifies how the Content-Disposition header is used in HTTP; in a nutshell, while basic file downloads worked OK, there wasn’t any broad interoperability between browsers for non-ASCII filenames. Julian Reschke did the hard work of coming up with a test suite to find how how bad things were, filing bugs with browsers (such as here and here), and finally writing the draft that eventually...

this entry’s page (3 comments)

Sunday, 28 August 2011

Better Browser Caching

In discussing my whinge about AppCache offline with a few browser vendory folks, I ending up writing down my longstanding wishlist for making browser caches better. Without further ado, a bunch of blue-sky ideas; Cache Contexts Most current HTTP caches — whether browser or proxy — put everything they cache into a single “bucket” that shares configuration and storage space. While that makes sense for a HTTP proxy run by your ISP, it doesn’t make as much for browsers, because...

this entry’s page

Thursday, 25 August 2011

And now for something completely different... again.

Today is my last day at Yahoo!, after five and a half years (yes, I got a gumball machine). It’s been a lot of fun and I wish all of the folks there that I’ve worked with over those years well; I’ve learned and done a lot, and Y! has given me a lot of room (both metaphorical as well as physical, given that for most of it, I’ve been more than 7,500 miles from my boss), which is much...

this entry’s page (5 comments)

Wednesday, 24 August 2011

Distributed Hungarian Notation doesn't Work

It used to be that when you registered a media type, a URI scheme, a HTTP header or another protocol element on the Internet, it was an opaque string that was a unique identifier, nothing more. Sure, there are some substructures (e.g., vnd. and prs. in media types) to aid in avoiding collisions, but they don’t actually do anything. And even so, they need to be used judiciously (e.g., the problems inherent in x-). However, it’s now becoming fashionable to...

this entry’s page (4 comments)

Friday, 5 August 2011

HTTP Pipelining Today

Last week, Blaze.io highlighted how mobile browsers use HTTP pipelining. I’ve been active in trying to get pipelining more widely deployed, but to date I haven’t tested mobile browsers much. So, one VM and two test pages (20 images on each) later, I asked my twitter peeps to hit it with their phones while I was watching with htracr. The results confirm what they saw; mobile browsers do pipeline, sometimes aggressively. A normal build of Firefox (and pretty much...

this entry’s page (2 comments)

Wednesday, 27 July 2011

CSP

FYI, I’ve implemented Content Security Policy on this site. If your’e a Mozilla user, please tell me if you have any problems. (No, I’m not particularly worried about XSS here; I just want to get a feel for it; see my feedback so far.)...

this entry’s page

Monday, 11 July 2011

What Proxies Must Do

The explosion of HTTP implementations isn’t just in clients and servers. An oft-overlooked but important part of the Web ecosystem is the intermediary, often called just a “proxy”*. These days, it’s pretty easy for anyone to build a proxy using Python, Ruby, Perl, Java or Node.JS, and there are a bunch of frameworks that can help you do this, such as node-http-proxy. Additionally, there are lots of off-the-shelf proxies that you can use, from the widely-known Squid and Traffic...

this entry’s page (5 comments)

Sunday, 19 June 2011

Fixing AppCache

HTML5’s AppCache mechanism is one confused little puppy. Purporting to be for taking web applications offline — a compelling and useful thing — it’s more often used by performance-hungry sites that want to use it as an online cache. Unfortunately, this means that those sites will be popping up dialogues like this: Even more unfortunately, if you click “Don’t Allow”, you’ll just be asked to approve it again next time you navigate to the site. And again. And again....

this entry’s page (4 comments)

Friday, 27 May 2011

Linked Cache Invalidation

After designing and deploying Cache Channels, it quickly became apparent that one Web cache invalidation mechanism wasn’t able to cover the breadth of use cases. In a nutshell, Cache Channels trades off immediacy for reliability; that is, while cache invalidations don’t take place right away (there’s a 10-30 second window), you know that they’ll be respected, because of how the protocol is designed. That’s great if you need to (for example) invalidate news articles with months of TTL because...

this entry’s page (4 comments)

Wednesday, 18 May 2011

On HTTP Load Testing

A lot of people seem to be talking about and performing load tests on HTTP servers, perhaps because there’s a lot more choice of servers these days. That’s great, but I see a lot of the same mistakes being made, making the conclusions doubtful at best. Having spent a fair amount of time benchmarking high-performance proxy caches and origin servers for my day job, here are a few things that I think are important to keep in mind. It’s...

this entry’s page (19 comments)

Monday, 4 April 2011

HTTP POST: IETF Prague Edition

Last week found lots of HTTP-ish folks in Prague for IETF 80. In short, the good bits: HTTPbis HTTPbis had a cracker of a meeting, with three RFC2616 authors and representatives of all five major browsers in the room. First and foremost, the Content-Disposition draft has been approved for publication as an RFC by the IESG. This is great news for interoperability, with growing browser support for the revised specification. With one critical issue scheduled for a fix in...

this entry’s page (3 comments)

Tuesday, 22 March 2011

Your REST worries have ended.

Now, you can test any URL to instantly determine if it’s RESTful. You’re welcome....

this entry’s page (2 comments)

Wednesday, 9 March 2011

htracr in Two Minutes

I made a quick and dirty screencast to show off some of the newer features in htracr. htracr demo from mnot on Vimeo. It’s still a work in progress (you can see at least one visible bug if you’re looking!)....

this entry’s page

Tuesday, 1 March 2011

Last Call: Content-Disposition

The IESG has received a request from the Hypertext Transfer Protocol Bis WG (httpbis) to consider the following document: 'Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)' <draft-ietf-httpbis-content-disp-06.txt> as a Proposed Standard The IESG plans to make a decision in the next few weeks, and solicits final comments on this action. Please send substantive comments to the ietf@ietf.org mailing lists by 2011-03-14. Exceptionally, comments may be sent to iesg@ietf.org instead. In either case, please retain...

this entry’s page

Saturday, 27 November 2010

Digging Deeper with htracr

There’s a lot of current activity on the binding between HTTP and TCP; from pipelining to SPDY, the frontier of Web performance lives between these layers. To get more visibility in exactly what’s happening down there, I decided to throw together a little tool to show how HTTP uses TCP: htracr. In a nutshell, It’s a packet sniffer written in JavaScript, thanks to node_pcap, and it uses RaphaelJS to visualise what’s going on. It’s still very young (lots of...

this entry’s page (2 comments)

Friday, 1 October 2010

HTTP Roundup: What’s Up with the Web’s Protocol

I’m going to try to start blogging more updates (kick me if I don’t!) about what’s happening in the world of HTTP. HTTPbis The effort to revise the core HTTP specification (RFC 2616) is going nicely, albeit slowly. Given the nature of the work, slow is better than rushed. In late July, some of the HTTPbis WG editors met in (then) sunny Münster before IETF78 in Maastricht. The result of that were drafts -10 and -11, closing a number...

this entry’s page (8 comments)

Friday, 23 July 2010

Thou Shalt Use TLS?

Since SPDY has surfaced, one of the oft-repeated topics has been its use of TLS; namely that the SPDY guys have said that they’ll require all traffic to go over it. Mike Belshe dives into all of the details in a new blog entry, but his summary is simple: “users want it.” I don’t think it’s that simple. Trust I trust my ISP, to a point; I have a business relationship with them, so I don’t worry too much...

this entry’s page (7 comments)

Wednesday, 30 June 2010

Падручнік па кэшаванню

Patricia Clausnitzer has kindly translated the Caching Tutorial to Belarusian. Thanks!...

this entry’s page (4 comments)

Monday, 21 June 2010

The Winter of Our Disconnect

A few weeks ago I was browsing through My Bookshop in Hawksburn, where on a whim I picked up The Winter of Our Disconnect by Susan Maushart. As I write this, I’m at 30,000 feet, and have just finished one of the more enjoyable and informative reads I’ve had in a while. Maushart is a Perth-based journalist and single parent of three who, questioning the effect of media — from TV to iPods to video games to mobile phones...

this entry’s page (1 comment)

Thursday, 3 June 2010

Why Our New TV Doesn't Like the Web

A while back we used an absurd amount of reward points from our credit card to get some Myer gift certificates, and on the weekend these miraculously turned into a new TV, the Sony 32EX600. Overall, we really like it; while I’m still trying to find the exact recipe to successfully encode video to feed to it via DLNA, it’s beautiful to look at, and (unlike most TVs these days), the UI is a pleasure to use. Except. One...

this entry’s page (4 comments)

Thursday, 6 May 2010

RFC5861: HTTP Stale Controls

On a bit of a roll, RFC5861: HTTP Stale Controls has (finally) been published as an Informational RFC. As discussed before in “Two HTTP Caching Extensions,” these are very useful ways to hide latency and errors from your end users. While they’re most useful in HTTP gateway caches (a.k.a. reverse proxy caches / accelerators), very latency-sensitive sites might find them useful as well when working with “normal” proxy caches. Both are implemented in Squid 2.7. Not only does Squid...

this entry’s page (5 comments)

Wednesday, 5 May 2010

Thoughts on Archiving HTTP

Steve Souders and others have been working for a while on HAR, a HTTP Archive format. I love the idea behind HAR, but as I expressed on the mailing list (so far no response), I have a hard time believing that different implementations will parse and process HTTP and then serialise it into HAR in exactly the same way. My use case is incorporating HAR support into RED, both for import and export. However, RED needs byte-for-byte access to...

this entry’s page (8 comments)

Wednesday, 7 April 2010

RFC5785: Well-Known URIs

One of the nagging theoretical problems in the Web architecture has been finding so-called “site-wide metadata”; i.e., finding something out about a Web site before you access it. We wrestled with this in P3P way back when, and the TAG took it up after that. The easy solution to this is to define a static “well-known” URL — like /robots.txt. However, having a third party come along and squat on part of every Web site’s URL namespace is less than...

this entry’s page (3 comments)

Wednesday, 10 March 2010

Caching-Tutorial für Webautoren und Webmaster

Thomas Hühn has graciously translated the caching tutorial into German. Thanks! See also the Chinese, Czech and French translations. To help the translators keep up with changes, I've started hosting the raw document on Github, which can also be used to log issues....

this entry’s page

Thursday, 18 February 2010

Are Resource Packages a Good Idea?

Resource Packages is an interesting proposal from Mozilla folks for binding together bunches of related data (e.g., CSS files, JavaScript and images) and sending it in one HTTP response, rather than many, as browsers typically do. Intuitively, this seems to make sense; less HTTP requests is good, right? Maybe, maybe not. AFAICT, there aren’t any metrics comparing RP vs. traditional sites (has anyone done this?). In any case, a few concerns come to mind about this approach to making...

this entry’s page (18 comments)

Friday, 15 January 2010

WS-REST (heh, heh)

If you haven’t seen it already, check out the Call for Papers for the First International Workshop on RESTful Design (WS-REST 2010), where I’m on the program committee, along with many of the usual suspects. Submissions due February 8, 2010, 23.59 Hawaii time. If only I were there to receive them…...

this entry’s page (1 comment)

Wednesday, 16 December 2009

HTTP + Politics = ?

Australia has apparently decided, through its elected leaders, to filter its own Internet connection. Since many, many other people are discussing whether this is advisable or indeed effective, I’ll focus here on what this will do to HTTP, and by extension the Web. What’s on the Table Reading the white paper, there are three different technologies for filtering the Web on the table; “pass-by hybrid”, whereby the ISP’s router will shunt traffic to target IP addresses to another box...

this entry’s page (3 comments)

Friday, 13 November 2009

Will HTTP/2.0 Happen After All?

A couple of nights ago, I had a casual chat with Google’s Mike Belshe, who gave me a preview of how their “Let’s make the Web faster” effort looks at HTTP itself. SPDY (nee FLIP) is an alternate application protocol that’s in Chromium, but buried so deeply that you have to enable it with a command-line option (—use-flip). AFAICT there aren’t even any public servers that support it yet, but it’s still a very exciting development. Why? In a...

this entry’s page (6 comments)

Friday, 30 October 2009

Traffic Server

A long time ago*, the word in high-performance proxy-caching was Inktomi’s Traffic Server. It was so fast it was referred to being “carrier grade” and this could be said without people smirking, and it was deployed by the likes of AOL, when AOL was still how most people accessed the Internet. Then, in 2001, Yahoo! bought Inktomi. They did this because they wanted to be a player in Search, and they happened to get a proxy/caching product for free....

this entry’s page (6 comments)

Monday, 19 October 2009

Working with the US on Education

Dear Ms. Gillard, I am a US citizen who moved back to Melbourne almost three years ago with my Australian wife. We did so largely because we wanted our sons to grow up in Australia and go to Australian schools. So, it’s with quite a bit of interest that I read about your understanding with the US government regarding education. We did a fair amount of research about Australian schools, and are very confident that we enjoy some of...

this entry’s page

Thursday, 13 August 2009

#gov2au

Although I'm a bit concerned to see so many references to "Web 2.0", it's very exciting to see Australia talking about opening up government. They've asked for feedback, so I've submitted my AU.02, and will try to attend the Melbourne roadshow to see what's up. Actually, no I won't; I'm already attending a school council meeting that night. Damn....

this entry’s page

Sunday, 12 July 2009

RED gets a blog

Just FYI, for those interested: RED now has a blog detailing news and other developments. I’ll still post about it here occaisionally, but most RED-related things are going over there… First (substantial) post: Using RED on a page’s assets....

this entry’s page

Friday, 3 July 2009

Come to the Stockholm IETF!

The Stockholm IETF meeting is shaping up to be an interesting one (and not just because it’s in such a beautiful city). As announced on the mailing list, we are having a HTTPbis working group meeting. It looks like all of the editors will be there as well, so we’ll have a chance to get good feedback from the community, as well as move forward on the documents in between other meetings. Additionally, I’m helping to arrange a couple...

this entry’s page

Thursday, 25 June 2009

The Resource Expert Droid

A (very) long time ago, I wrote the Cacheability Engine to help people figure out how a Web cache would treat their sites. It has a few bugs, but is generally useful for that purpose. However, as I’ve got more involved in using HTTP for non-browser things, it’s become apparent that more than caching is important when you’re examining a resource to see how it behaves; things like partial content, syntax checking and other esoteric but important details. Very...

this entry’s page (15 comments)

Wednesday, 17 June 2009

面向站长和网站管理员的Web缓存加速指南

The caching tutorial is now available in Chinese, courtesy of Che Dong (and apologies for taking so long in linking to it!). Norwegian should be coming soon......

this entry’s page (1 comment)

Friday, 12 June 2009

What to Look For in a HTTP Proxy/Cache

Part of my job is maintaining Yahoo!’s build of Squid and supporting its users, which use it to serve everything from the internal Web services that make sites go to serving Flickr’s images. In that process, I often am asked “what about X?”, where X is another caching or load balancing product (yes, Squid can be used as a load balancer). For example, Varnish, or lighttpd. Generally, these comparisons come down to three factors; performance, features and manageability. Almost...

this entry’s page (3 comments)

Friday, 5 June 2009

Opera Turbo

HTTP performance is a hot topic these days, so it’s interesting that Opera has announced a “turbo” feature in Opera 10 Beta; Ever felt a Web site was loading slowly? Do you think it will happen again? Think again: Opera Turbo is a compression technology that provides significant improvements in browsing speeds over limited-bandwidth connections like a crowded Wi-Fi in a cafe or browsing through your mobile phone while commuting. They go on to give more details in their...

this entry’s page (20 comments)

Friday, 29 May 2009

Most Revealing Google Wave Comment

Everybody’s atwitter (yeah, sue me) about the Google Wave developer preview. Lots of new stuff there, but for me the most revealing comment, almost a throwaway, was here: Did we mention we use Squid? In other words, Google’s hot new, Web 2.0-on-steroids HTML5 XMPP++ open social platform buzzword generator works well with, indeed relies upon (for the purposes of making a nice demo) a more than 15-year-old piece of nearly-forgotten (in some quarters) Web infrastructure. That’s pretty cool....

this entry’s page (7 comments)

Tuesday, 14 April 2009

Counting the ways that rev="canonical" hurts the Web

I had a lovely holiday weekend in Canberra with the family, without Web access. Perhaps I’ll blog about that soon — Canberra being in my opinion one of the nicest overlooked cities in the world — but that will have to wait. Going offline for a few days always brings a certain dread of what one’s inbox will hold when you get back, and this one was no exception. That’s because while I was watching the kids rolling down...

this entry’s page (30 comments)

Tuesday, 24 February 2009

Cobbler / children / shoes / etc.

Rob Sayre points out that this blog still doesn’t show a preference for Atom, embarrassingly enough. I know that at one point I had a transition plan, and started by generating an Atom feed alongside the RSS, but I never completed the switch. Oops. So, at his prodding, I just finished the changeover, making all of the feeds on this site Atom. Note that some that I point to elsewhere are still RSS, and since it’s late and I’ve...

this entry’s page (1 comment)

Tuesday, 24 February 2009

The FSF, IETF and Use Patents

Over the past few weeks the Free Software Foundation has had its knickers in a twist about TLS authentication — specifically, its patent encumbrance; That patent in question is claimed by RedPhone Security. RedPhone has given a license to anyone who implements the protocol, but they still threaten to sue anyone that uses it. If our voice is strong enough, the IETF will not approve this standard on any level unless the patent threat is removed entirely with a...

this entry’s page (2 comments)

Tuesday, 24 February 2009

Caching When You Least Expect it

There’s a rule of thumb about when a HTTP response can be cached; the Caching Tutorial says: If the response’s headers tell the cache not to keep it, it won’t. If the request is authenticated or secure, it won’t be cached. If no validator (an ETag or Last-Modified header) is present on a response, and it doesn’t have any explicit freshness information, it will be considered uncacheable. And, generally, this is true; most implementations won’t both caching something that...

this entry’s page (6 comments)

Wednesday, 18 February 2009

Stop it with the X- Already!

Sometimes, it seems like every time somebody has a great idea for a new HTTP header, media type, or pretty much any other protocol element, they do the same thing. Rather than trying to figure out how to fit into how the rest of the world operates, getting adequate review and socialising their proposal, they just stick a bloody X- on the front and ship it. The IETF has no-one to blame but itself for this situation, of course....

this entry’s page (19 comments)

Friday, 2 January 2009

Have a Drink (or hundred)

Now here's a good meme for the New Year... Instructions: 1) Copy this list into your blog, with instructions. 2) Bold all the drinks you’ve imbibed. 3) Cross out any items that you won’t touch 4) Post a comment here and link to your results. OR If you don’t have a blog, just count the ones you’ve tried and post the number in the comments section. Manhattan Cocktail Kopi Luwak (Weasle Coffee) French / Swiss Absinthe Rootbeer Gin Martini...

this entry’s page (4 comments)

Friday, 21 November 2008

OAuth in Minneapolis

There are lots of new “Web 2.0” specs emerging — many beginning with “o” — that are both exciting and concerning. Exciting because the Web is still evolving and still being applied to new problems, but concerning because the Web is big and has many moving parts. While it’s easy to design something new to address one use case or or set of interests, it’s much harder to make sure it works across the breadth of the Web and...

this entry’s page

Monday, 27 October 2008

Dev-Friendly Web Caching

Ryan Tomayko announces Rack::Cache, a HTTP cache for Ruby’s generic Web API; The basic goal is standards-based HTTP caching that scales down to the early stages of a project, development environments, light to medium trafficked sites, stuff like that. HTTP’s caching model is wildly under-appreciated in the Ruby web app community and my hope is that making its benefits more accessible will lead to wider understanding and acceptance. I commented and, of course, focused solely on one aspect of...

this entry’s page (4 comments)

Thursday, 16 October 2008

/site-meta

Metadata discovery is a nagging problem that’s been hanging around the Web for a while. There have been a few stabs at this problem (including at least one by yours truly), but no real progress. This is both unfortunate and worrisome, because as the next generation of Web-based protocols informed by REST, Web 2.0 and the like roll out, they’re going to need a way to find and talk about metadata on the Web in an automated fashion. And...

this entry’s page (17 comments)

Friday, 4 July 2008

The WS-Empire Strikes Back... feebly

Here’s a gem on a little-used mailing list: As most of you know, over the last several years fairly good progress has been made on standardizing Web services. Many Web services specifications have, in fact, been standardized in W3C (i.e. SOAP 1.2, WSDL 2.0, WS-Addressing, WS-Policy, etc). There is still some work to be done. Accessing data about a resource through Web services is an area of the Web services architecture that has yet to be fully realized. Some...

this entry’s page (9 comments)

Thursday, 22 May 2008

The Pitfalls of Debugging HTTP

Some folks at work were having problems debugging HTTP with LWP’s command-line GET utility; it turned out that it was inserting Link headers — HTTP headers, mind you — for each HTML <link> element present. Blurgh. This brought to mind some other peculiarities that can make debugging HTTP more complex and REALLY ANNOYING… Curl automagically adds a Pragma: no-cache to requests, so that you don’t have to worry about scaling the Web or getting decent performance. LiveHTTPHeaders shows you...

this entry’s page (25 comments)

Thursday, 15 May 2008

Atom gets a new audience

Huh. The Atom Format RFC has been out for a while, and as one of the authors, I get the odd mail now and again asking a question or just saying “thanks.” In the last week or two, however, there’s been a bit of an uptick, and all of these e-mails contain the word “Astoria.” As a Unix/Open Source developer, it’s easy to forget that there’s a whole other world out there that’s much bigger than the one I live...

this entry’s page (1 comment)

Wednesday, 2 April 2008

Moving the Goalposts: “Use” Patents and Standards

It’s become quite fashionable for large IT shops to give blanket Royalty-Free licenses for implementation of “core” technologies, such as XML, Web Services and Atom. I’ll refrain from linking to any of them, as the purpose of this post* is not to pick on any single one**. Rather, it’s to call attention to a blind spot. IT folk see these licenses, nod their heads and relief, and assume that all is well; they can use this technology in their...

this entry’s page (8 comments)

Thursday, 20 March 2008

Moving Beyond Methods in REST

Having complained before about the sad state of HTTP APIs, I’m somewhat happy to say that people seem to be getting it, producing more capable server-side and client-side tools for exposing the full range of the protocol; some frameworks are even starting to align object models with resource models, where HTTP methods map to method calls on things with identity. Good stuff. However, something’s been bugging me for a long time about this. While there’s a nice internal logic...

this entry’s page (11 comments)

Monday, 3 March 2008

DAV WTF?

Not many people that I know outside of IETF circles realise that a new *DAV effort has started up; CardDAV. An address book access protocol leveraging the vCard data format. The Internet-draft draft-daboo-carddav will be the starting point. The WG is explicitly cautioned to keep the base specification feature set small with an adequate extension mechanism, as failure to do so was a problem for previous PAB efforts (ACAP). Draft-daboo looks like it’s taken a page out of CalDAV...

this entry’s page (4 comments)

Sunday, 17 February 2008

POST and PATCH

It’s 7am, I’m sitting in the Auckland Koru Club on my way home and reading the minor kerfuffle regarding PATCH with interest. For me, the critical difference between PATCH and POST is generality; PATCH is a generic method (as all good HTTP methods should be), while POST is not (the exception that proves the rule). As such, it should be possible to take a PATCH request and a current representation of the resource it’s being applied to and —...

this entry’s page (2 comments)

Wednesday, 13 February 2008

Location, Location, Location

I’m back in the Bay Area for work, and out of curiosity I thought I’d check in on the housing market here. After updating my super-secret source of housing sales, I tried something new; charting price paid for square foot by county. This was on a tip from Mark Mansour, a fellow recent Melbourne homebuyer; although it’s not perfect, valuing just by land size is a simple, frank and easy-to-calculate assessment of price. Here are the results; I filtered...

this entry’s page (3 comments)

Wednesday, 6 February 2008

Another Kind of HTTP Negotiation

Here’s one that I’ve been wondering about for a while, for the LazyWeb (HTTP Geek Edition); PUTs and POSTs can result in the creation of new resources, or changes to the state of existing ones. The response to both can contain one of a status message about what happened, or a representation of the resource (or most important one, if more than one was created/modified); often signalled by the Content-Location header, or nothing (i.e., just the status line and...

this entry’s page (25 comments)

Monday, 21 January 2008

Watching WADL (and other rambling thoughts)

I’m following the discussion of RESTful Web description in general, and WADL in particular, with both difficulty and interest (see Dare, Patrick and Joe’s thoughts for a nice contrast). Difficulty because there’s so much of it, and it’s hard to give each piece the attention it deserves. Interest because it goes to the heart of the harder parts of REST — e.g., “hypertext as the engine of application state.” On top of that, I was one of the people...

this entry’s page (1 comment)

Friday, 4 January 2008

Cache Channels

The stale-while-revalidate and stale-if-error extensions aren’t the only fiddling we’ve been doing with the HTTP caching model. Now that Squid 2.7 is starting to see daylight, I can explain about a much more ambitious project — Cache Channels. In HTTP, there are generally two ways to keep something in a cache fresh; using a freshness lifetime (e.g., Cache-Control: max-age), and validation (e.g., If-Modified-Since). Together, they do a really good job of making the Web seem faster and reducing load...

this entry’s page (4 comments)

Wednesday, 12 December 2007

Two HTTP Caching Extensions

We use caching extensively inside Yahoo! to improve scalability, latency and availability for back-end HTTP services, as I’ve discussed before. However, there are a few situations where the plain vanilla HTTP caching model doesn’t quite do the trick. Rather than come up with one-off solultions to our problems, we tried going in the other direction; finding the most general solution that still met our needs, in the hopes of meeting others’ as well. Here are two of them (with...

this entry’s page (16 comments)

Sunday, 9 December 2007

Why Revise HTTP?

I haven’t talked about it here much, but I’ve spent a fair amount of time over the last year and a half working with people in the IETF to get RFC2616 — the HTTP specification — revised. That effort reached a milestone last week when the HTTPbis Working Group had its first face-to-face meeting in Vancouver. It’s still early days, but we’ve already made good progress; based on what we saw in the room, for example, it looks like...

this entry’s page (9 comments)

Friday, 2 November 2007

WADL Documentation XSLT Updated

I've updated the WADL documentation stylesheet, primarily to; Fix a bug with finding and displaying XML Schema Make it compatible with xsltproc (and hopefully most other XSLT1.0 processors that understand EXSLT node-set) Generate valid XHTML The hard part was getting support for xsltproc; while switching over to the node-set function was easy, it uncovered other bugs around how libxml handles copying namespace nodes; an ugly and tiresome hack was required to work around it, but it seems to work....

this entry’s page

Saturday, 8 September 2007

5005

Feed Paging and Archiving (nee Feed History) has finally made it to a standards-track RFC. For many non-traditional (read: non-blog) applications of Atom, I think archived feeds in particular are going to be vital. I’m already using it in some places which should be seeing the light of day before too long; e.g., sending events to HTTP caches — a problem space that people have been noodling on for a very long time indeed. I’m also hoping that blog...

this entry’s page (3 comments)

Tuesday, 7 August 2007

ETags, ETags, ETags

I’ve been hoping to avoid this, but ETags seem to be popping up more and more often recently. For whatever reason, people latch onto them as a litmus test for RESTfulness, as the defining factor of HTTP’s caching model, and much more. So, let me counter: they’re not all that. In fact, there are a number of pitfalls you need to be wary of if you use them. First, depending on how they’re generated, you might find different boxes...

this entry’s page (8 comments)

Saturday, 28 July 2007

URI Templates Redux

URI Templates -01 is now an Internet-Draft. After sitting on the spec for a while and trying to figure out an elegant solution to the encoding problem, we decided to take the simple route and see how it sticks. The only encoding that the template spec itself does is for characters that are outside the range of those allowed in URIs. Everything else is application-specifc. So, for example, this variable; foo = "/thing?@ <--stüff-->" with this template: http://www.example.com/{foo} will...

this entry’s page (5 comments)

Saturday, 30 June 2007

Vic Schools Mashup

For the somewhat limited audience of parents looking at neighbourhoods and schools in Victoria, Australia, I present the Victorian Schools / Google Maps Mashup. Note that there are two pages; one for secondary schools, one for primaries. It’s not perfect (in particular, many of the addresses only have street resolution), but it does include both state and private schools, with affiliations, approximate enrolment numbers, URLs where available. Additionally state schools’ markers indicate their Like School Group — a curious...

this entry’s page (8 comments)

Wednesday, 20 June 2007

The State of Proxy Caching

A while back I wrote up the state of browser caching, after writing a quick-and-dirty XHR-based test page, with the idea that if people know how their content is handled by common implementations, they’d be able to trust caches a bit more. The other half that they need to know about, of course, is proxy caching; depending on who you listen to, somewhere between 20% and 50% of clients on the internet are behind some kind of proxy, and...

this entry’s page (13 comments)

Wednesday, 13 June 2007

Safari 3: Protecting Client-Side State

It's a little thing, but I'm very pleased to see that Safari 3 will check with you before you discard a page where you've entered data on a form; A nice step forward....

this entry’s page (4 comments)

Tuesday, 15 May 2007

Expires vs. max-age

I occasionally get a question from readers of the caching tutorial about whether to use the Expires header or Cache-Control: max-age to control a response’s freshness lifetime. Some people claim that Expires is better, because it’s defined by HTTP/1.0, whereas Cache-Control only came about in HTTP/1.1. Since there are still HTTP/1.0 agents out there, the reasoning goes, this is the safer path. The problem with that line of reasoning is that HTTP versions aren’t black and white like this;...

this entry’s page (7 comments)

Thursday, 10 May 2007

Intelligent Design, Eames-Style

For a while, I’ve had the fairly well-known Charles Eames quote “Design depends largely on constraints” as the tagline on my blog (if you read this in a feed aggregator, you’ll have to go to one of the HTML pages to see it). In putting together one of her classes, Anitra came across the full interview from which it was sourced. The relevant section says it well, whether the topic is furniture design, graphic design or designing the architecture...

this entry’s page

Monday, 7 May 2007

Australia != America

We were… refreshingly reminded that we’re not in Kansas (or even California) any more while watching The Daily Show on TV tonight, and this commercial came on; Nando’s is a national fast-food chicken chain. They’ve spent years building their brand; in the US, this would be suicide, but in AU, it’s just a bit clever. UPDATE: Some people seem to have taken an offhand comment I made above as an opportunity for America bashing and/or pro-American chest-beating, so I’ve removed...

this entry’s page (3 comments)

Tuesday, 1 May 2007

httperf rev

Martin Arlitt makes an exciting announcement; It is my pleasure to announce two new versions of httperf: 0.8.1 and 0.9.0. version 0.8.1 fixes the known bugs in version 0.8, which was released almost 7 years ago. The primary new feature in 0.9.0 is improved portability. It has been tested on HP-UX 11i (64-bit PA-RISC and IA-64) Red Hat Enterprise Linux AS (AMD64 and IA-64) SUSE Linux 10.1 (i386) openSUSE 10.2 (i386) OpenBSD 4.0 (i386) FreeBSD 6.0 (AMD64) Solaris 8...

this entry’s page

Sunday, 29 April 2007

Squid is My Service Bus

The QCon presentation (slides) was ostensibly about how we use HTTP for services within Yahoo’s Media Group. When I started thinking about the talk, however, I quickly concluded that everyone’s heard enough about the high-level benefits of HTTP and not nearly enough details of what it does on the ground. So, I decided to concentrate on one aspect of the value that we get from using HTTP for services; intermediation, as an example. If your service is struggling to...

this entry’s page (6 comments)

Sunday, 22 April 2007

Around the World in 24 Days

I haven’t blogged for a while because I’ve been on the road, a lot. Although I got back a while back, I’m just now catching up. Part of working this remotely means visiting the mother ship regularly, and this was my first trip back. Because it was at the same time as a few interesting events, and since I was already on the move, I opted for a round-the-world trip ticket. A RTW ticket is actually a pretty good...

this entry’s page

Thursday, 5 April 2007

WWW2007 Developers’ Track

We’ve announced the program for this years’ Developers’ Track, and I’m very excited about the lineup. For example, Ryan Boyd from Google will be presenting about GData right before Pasha Sadri talks about Yahoo! Pipes. These are two cutting-edge uses of feeds, and with a little luck we might even be able to get them to field some joint questions in the middle. Also on the topic of feed syndication, Elias Torres is scheduled to talk about Apache Abdera...

this entry’s page

Tuesday, 27 February 2007

REST Issues, Real and Imagined

I think that most of the debate about REST focuses on the wrong things, leading developers down the garden path at the expense of their productivity and the success of their projects. Time and time again, I’ve seen folks who are new to REST get caught up on small stuff like this; False Choice: “High” vs. “Low” REST Lots of blog space has been devoted to figuring out what PUT and DELETE are good for, leading many to believe...

this entry’s page (14 comments)

Monday, 12 February 2007

Things to Remember when Moving Country

It’s always more expensive than you plan. The few weeks before you go are the busiest of your life. It’s on the scale of planning a wedding where royalty are involved, because there are so many loose ends to tie up with no chance to “get to them later”, and people will come out of the woodwork to have that last chat/party/booze-up/shopping trip before they never see you again. It’s time well spent. You will spend an inordinate amount...

this entry’s page (4 comments)

Wednesday, 7 February 2007

Pipes!

Yahoo! (finally!) released Pipes as a beta today; congrats to the very talented team that put this together. Niall gives the geeks-eye view, and to be clear, this is not going to be the next great consumer Web site; your grandmother is not going to go out and build pipes. However, I do think it’s going to be a big wake-up call for the “Enterprise” software industry. This tool does more to deliver on their promises of non-programmers slicing...

this entry’s page (8 comments)

Wednesday, 7 February 2007

Developers, Developers, Developers

A reminder: proposals for the Developers’ Track at WWW2007 should be in by February 16th. We’re looking for Web-focused presentations, demos and tutorials for and by developers. I’m particularly interested in seeing what’s happening in Syndication, HTTP, XML, and Web Frameworks. Submissions need to include an abstract and either a) rough slides, b) a description of or screenshots from a demo, or c) a paper. More info at the CfP. P.S. We also have some limited funding (courtesy of...

this entry’s page

Tuesday, 16 January 2007

So close, yet so far...

this entry’s page (3 comments)

Wednesday, 3 January 2007

Connectivity in .au - Help!

So, no that we have a place to live, there are a few choices; Phone — Since we’re keeping jobs as well as friends and relatives in the States, we’re going to be making a lot of international calls. Rather than pay line rental, I’m very tempted to go the VoIP route with someone like MyTel; for $5.95 a month, I get a lot of features and calls to the US for less than AU$.03/minute. Is this the way...

this entry’s page (9 comments)

Wednesday, 3 January 2007

Week Two in Victoria

I say “Victoria,” not Melbourne, because we’re currently staying in Forest Hill, courtesy of Roger and Marg, who are on holiday. The good news is that today we signed a six-month lease for a flat in Kia Ora on St Kilda Road, right next to Inger and Luke (as well as Fawkner Park), which will serve as a base of operations while we look for somewhere more permanent. Once we spend an absurd amount of money for appliances (e.g.,...

this entry’s page (1 comment)

Sunday, 24 December 2006

Week One in Melbourne

It’s Christmas Eve, and Charlie and I have been on the ground in Melbourne for a week. So far, we’ve got a new mobile phone (sweet), checked in with his school, and looked at a lot of apartments, trying to find somewhere to live for a few months while we house-hunt. Not quite as fast as I’d like, but not too shabby. Meanwhile, most of our possessions are about two months behind us, somewhere between San Francisco and Singapore....

this entry’s page

Monday, 4 December 2006

SOA Jumps Shark

Uche calls it; So the SOA wars are heating up. More and more smart people are pointing out that the emperor has no clothes; but stakes is still crazy high. Some folks haven’t yet made all their money from SOA. So how do the stakeholders respond? With cold-blooded threats. … and here’s where it started. Priceless. I think that most “enterprises” (whatever that means) do need a shake-up, and maybe some new blood. But not to buy into an...

this entry’s page (2 comments)

Thursday, 30 November 2006

Schema for JSON

One of the perceived deficiencies of JSON is that it doesn’t have a schema language. I say “perceived” because the problems that a schema language brings often outweigh the benefits; after all, look at the mess that XML Schema is in. Even that said, schemas are useful for documentation and QA. So, I’m finding the work that Robert Cerny has done very interesting; it’s basically schemas for JSON, in JSON (or very nearly so). For example, here’s the schema...

this entry’s page (12 comments)

Wednesday, 15 November 2006

Seven Year Itch

In a nutshell: After a lot of angst, back-and-forth, and false starts, we’re moving back to Melbourne next month, seven years and a few days after we arrived in San Francisco. This shouldn’t surprise anyone who knows us well, although many of our Australian friends have expressed that they won’t really believe it until we step off the plane. The Long Story In late 1999, Anitra and I were living in Australia, and I was working for Merrill Lynch...

this entry’s page (16 comments)

Friday, 27 October 2006

Friday Fun: I Hate Cookies

There are plenty of reasons to hate HTTP Cookies, but there’s one thing that especially annoys me; their syntax. Specifically, the Netscape spec allowed an “expires” field that contains the date the cookie should be discarded; Set-Cookie: CUSTOMER=WILE_E_COYOTE; path=/; expires=Wednesday, 09-Nov-99 23:12:40 GMT What’s wrong with that? Well, HTTP uses commas to delimit different instances of the same header, saying: It MUST be possible to combine the multiple header fields into one “field-name: field-value” pair, without changing the semantics...

this entry’s page (8 comments)

Thursday, 19 October 2006

Thoughts on Declarative Ajax

Dave Johnson writes up a nice summary of the issues of adding new elements to HTML for declarative Ajax, something that I ran into when doing HInclude. Basically, IE doesn’t give you access to any non-HTML element that’s not in a namespace, and you have to access it by the full QName, so your hands are tied somewhat (e.g., the user can’t swap in a different prefix), but it’s doable. E.g., var includes = document.getElementsByTagName("hx:include"); if (includes.length == 0)...

this entry’s page (7 comments)

Tuesday, 17 October 2006

Wanted: HTTP Yahoo!s

My team at Yahoo! is looking for a mid-level developer (5-10 years experience) to help build our HTTP/REST toolkit, among other things. The job is mostly coding Perl and PHP, with some C or C++ skills desirable. There’s also the opportunity for design input and work on related projects (e.g., we work closely with Dave Beckett’s team). We’re also looking for an engineering manager. This is a technical role requiring at least five years of management experience. If you’re...

this entry’s page

Monday, 16 October 2006

The Flipperdex

I’ve been playing with sales data for houses in the Bay area for a while, and have always wanted to come up with an index of same-home sales — reputed to be one of the more accurate ways to do an index, because you’re not having to compensate for differences in intrinsic value between different houses. I’m kind of stuck on that*, but in the meantime, the Flipperdex is a list of same-house sales in the Bay area, sorted...

this entry’s page (3 comments)

Friday, 13 October 2006

Does the Enterprise (Vendor) Get the Web?

A couple of interesting things have happened recently; first, Jonathan Marsh has a new job; WSO2 is a year-old startup which provides support services around Apache’s Axis 2 Web services application server. The company’s CEO, Sanjiva Weerawarana, on Saturday announced that it has hired Jonathan Marsh from Microsoft to head up development efforts in mash-ups. “Jonathan will drive the development of our 3rd major product; WSO2 Tellurium, which will be a server-side mashup platform. (Somewhat akin to what a...

this entry’s page (3 comments)

Wednesday, 4 October 2006

URI Templating, the Spec

As mentioned a while back, there are a variety of places where it would be useful to be able to describe the structure of a URI, rather than just convey a URI itself. I took a stab at this in the Link Header draft, and have also been working in the background with DeWitt Clinton, Joe Gregorio, Marc Hadley, Dave Orchard, and James Snell on a more general specification, URI Templates, the first draft of which we (finally!) got...

this entry’s page (8 comments)

Sunday, 1 October 2006

More JavaScript Updates

Hot on the heels of the last batch, Stefan pointed me to Jesse Skinner’s addDOMLoadEvent, which seems to avoid the problems I found earlier (you know you’re in for some debugging when you’re cutting-and-pasting code from blog comments!). As a result, I’ve updated HInclude and URL Templates (both in new homes). For a demo of how well the new HInclude works, take a look through some photos and note when the included footer loads. Thanks, Stefan and Jesse! Next,...

this entry’s page

Thursday, 28 September 2006

Javascript Updates

I’ve updated the url_template.js and json_form.js libraries to fix some bugs, to make the demo I gave at XTech run more smoothly. It should work well on Safari, Mozilla and IE6 (despite some glitches at a showing inside Y! the other day; the demo gods were not smiling). It does not work in Opera; it seems like the more I use XHR in that browser, the more bugs I find. I’m thinking of updating the XHR tests to catch...

this entry’s page (3 comments)

Saturday, 16 September 2006

Surfing the Barcoded Web

Apple’s shipping an iSight camera in just about everything these days, and one of the coolest apps to use it is Delicious Library. If you follow that to its logical conclusion, everything should be barcode-enabled, by Web-enabling it. For example, if you go to a wine site and scan a bottle that’s sitting on your shelf, Safari should be smart enough to automatically navigate to a page with details for that bottle (e.g., a map of where it was...

this entry’s page (4 comments)

Wednesday, 13 September 2006

Some Questions for Software Vendors

Everyone seems to be gushing about Microsoft’s Open Specification Promise. While any headway is good in the horrible landscape that is Intellectual Property, my initial reaction is that it — like most such vendor promises — is too little, too late. “Too late” because the WS-* stack has been in the standardisation process for more than seven years now, and for all of that time, the threat of patent claims has hung over it like the sword of Damocles....

this entry’s page

Sunday, 3 September 2006

This Site Powered By...

A while back, I mentioned that I was considering changing my hosting setup. In the end, I decided to outsource, for a few reasons; Administration — There’s always an overhead to running your own box. Security — Keeping systems up-to-date is challenging; somebody doing it full-time is always going to be better than me. This used to not be such a problem, because I did it full-time, but it’s been a while. Stability — Every time I move, I...

this entry’s page (2 comments)

Monday, 21 August 2006

Caching Performance Notes

There have been some interesting developments in Web caching lately, from a performance perspective; event loops are becoming mainstream, and there are lots of new contenders on the scene. Fortuitously, I’ve been benchmarking proxies with an eye towards the raw performance of their HTTP stacks (i.e., how well they handle connections and parse headers, serving everything from memory), for work, so that we can select a platform for internal service caching. In particular, I’ve been looking at the maximum...

this entry’s page (15 comments)

Friday, 18 August 2006

Un tutoriel de la mise en cache

Many thanks to J.J. Solari for translating the Caching Tutorial to French!...

this entry’s page

Monday, 14 August 2006

Putting the Web back in Web 2.0

Timbl has this great term “Webizing” that he uses to talk about giving existing systems the benefits of the Web architecture. Despite the first part of “Web 2.0”, I think AJAX is in severe need of some serious Webizing. Case in point, script.aculo.us has a great autocomplete function, but it uses POST by default. What’s up with that? GET will do just fine, and gives you caching for free. Furthermore, it forces you into using query strings (e.g., http://example.com/suggest?q=AAPL),...

this entry’s page (2 comments)

Monday, 10 July 2006

On Patents, Briefly

This would be funny, if this wasn’t so scary. Subscribed nevertheless....

this entry’s page (1 comment)

Friday, 30 June 2006

Friday Fun: Percent Encoding

If you boil down the BNF in both RFC2396 and RFC3986, path segments can contain the following characters without percent-encoding them: ALPHA DIGIT ! $ & ' ( ) * + , - . : ; = @ _ ~ Query components can contain these: ALPHA DIGIT ! $ & ' ( ) * + , - . / : ; = ? @ _ ~ Which means that " < > [ \ ] ^ ` { | }...

this entry’s page (12 comments)

Saturday, 24 June 2006

Welcome, Hugo!

Hugo has finally blogged the big news. He’s left one of the coolest jobs in the world — working for the W3C — to come to another one of ‘em, working for Yahoo. I’m really looking forward to continuing to work with him; there’s lots to do! (Is it clear now why he's been poking around the Yahoo properties on his blog so much? ;)...

this entry’s page

Thursday, 22 June 2006

Bringing Back the Link - With a Twist

Recently, there’s been a resurgence for the Link element in HTML; everything from Microformats to Atom autodiscovery is using it. This isn’t surprising; as machines start processing Web documents more, it’s necessary to use hyperlinks — the foundation of the Web — to tie resources together, without getting in users’ faces. Such linking is useful beyond HTML, of course; Atom defines its own concept of link relationships, and uses them in the Atom Publishing Protocol. Usually, embedding this kind...

this entry’s page (8 comments)

Tuesday, 20 June 2006

Microsoft's RESTful Robots

A friend (who shall remain anonymous) pointed me to Microsoft’s announcement today regarding their foray into robotics, of all things. My eyes glazed over until they rested upon the Microsoft Robotics Application Model; The term “REST” was originated by Roy Fielding. It abstracts, and to a degree, formalizes the Web architecture. REST builds on the notion introduced by Tim Berners-Lee that a URI refers to a resource and all interactions with that resource happens by exchanging state. One can...

this entry’s page (13 comments)

Friday, 9 June 2006

Friday Fun: Feed Authentication with Cookies

See if your aggregator can subscribe to this feed (username/password: test/test) and post the results in comments.While you’re there, it would be interesting to know what happens if you shut down / log out of your aggregator, get back in, and then refresh....

this entry’s page (22 comments)

Thursday, 25 May 2006

Web Services are Dead, Long Live Web Services

When I joined Yahoo, one of the biggest adjustments I had to make was to their use of “Web Services”. There, that phrase means any kind of machine-to-machine communication using HTTP; SOAP isn’t assumed (or preferred). This is diametrically opposed to the vendor and standards worlds, where “Web Services” means the stack of SOAP, WSDL and friends. Much confusion ensued on my part, because outside of the vendor and standards hothouse, real-world developers are still using the phrase to...

this entry’s page (10 comments)

Tuesday, 16 May 2006

Caching Web 2.0

I just finished my XTech presentation, “Web 2.0 on Speed”. here are the slides [pdf]; I’m going to try to s5 them soon. There isn’t much new in this talk; it’s just a synthesis of a few different observations; 1. Static Web servers are fast. You might say ‘duh’, but people often overlook the obvious; with event-looped Web servers like lighttpd (see c10k for more information), you can get 2-3 orders of magnitude more requests/second over LAMP and similar...

this entry’s page (7 comments)

Thursday, 11 May 2006

The State of Browser Caching

Updated 2006-06-03 One of the big problems that Web developers have with HTTP caching is that they don’t know how the caches behave; while the specs say one thing, the actual behaviour of the cache often significantly deviates — usually because the cache’s developer or operator thinks they can do better. The easiest way to overcome this obstacle is to measure the behaviour of the caches. In particular, thanks to XmlHttpRequest, it’s fairly easy to test a browser’s cache by...

this entry’s page (22 comments)

Thursday, 11 May 2006

Yaron Uncloaks!

Yaron publicly says what he’s doing at Microsoft (scroll down); I hear that HTTP stuff is pretty cool. If anyone cares you can peruse a bunch of blog entries on my website (www.goland.org) where I walk through a number of key enterprise scenarios and show that nothing more than HTTP+XML is required. And yes, I still work for Microsoft. In fact, one of my jobs is to write the best practices for the design of all external interfaces for...

this entry’s page (5 comments)

Wednesday, 10 May 2006

Vendor-pires

Anne-Thomas Manes extolls the virtues of WS-*; The single, most important feature that inspires my enthusiasm about WS-* is that it has universal support from all the major vendors. Ah, there we are; major vendors. What she’s basically saying here is that if you’re silly enough to have invited one of these vampires into your home, you’ll have the option of selecting other vampires to replace them at will, and that your vampire will be able to talk with...

this entry’s page (18 comments)

Sunday, 23 April 2006

Housing Derivatives

The Economist gives a heads-up [subscription required] about the Chicago Mercantile Exchange’s plans for housing derivatives; In the next few weeks, the CME is likely to open trading in financial futures and options linked to American house prices. Investors who want to hedge the risks of residential property—or merely to speculate on the market’s direction—will be able to bet on a rise or drop in a house-price index, without having to buy or sell bricks and mortar. They’re starting...

this entry’s page (2 comments)

Sunday, 23 April 2006

XTech

It’s official; I’ve got a last-minute slot at XTech, talking about all things Web caching....

this entry’s page (2 comments)

Thursday, 20 April 2006

DOM vs. Web

Back at the W3C Technical Plenary, I argued that Working Groups need to concentrate on making more Web-friendly specifications. Here’s an example of one such lapse causing security problems on today’s Web. Safety in HTTP HTTP methods have a property known as safety; RFC2616 describes it in section 9.1.1; Implementors should be aware that the software represents the user in their interactions over the Internet, and should be careful to allow the user to be aware of any actions...

this entry’s page (24 comments)

Tuesday, 18 April 2006

Three Months at Yahoo!

I’m quickly coming up on three months as a Yahoo, and a bunch of people have been asking me how things are going, as well as what I’m doing. In a nutshell, I’m having more fun than should be legal. My biggest problem is prioritising cool things to do! Anitra thinks I’m still in the honeymoon, but I’ve seen enough companies in Silicon Valley to know a good one when I see it. It is incredibly liberating to be...

this entry’s page (3 comments)

Friday, 14 April 2006

Another WS-*

A friend in the trenches put me on to the funniest thing I’ve seen in a long time. Paging through the quotes, there are a few that are especially apropos; [X-wings are approaching Death Star] Wedge Antilles (Red 2): Look at the size of that thing. Red Leader: Cut the chatter, Red 2. [approaching the Death Star] Luke: I have a very bad feeling about this. and on a more personal note; Han Solo: YAHOOOOO! You’re all clear, kid....

this entry’s page

Thursday, 13 April 2006

Viva Italia!

According to ABC Online (that's Australian Broadcasting Corporation to the Americans out there): Two Melbourne men have been elected to the Italian Parliament. It is the first time Italians living overseas have been allowed to vote and stand for election. Nino Randazzo, who will represent Italians in Oceania and Africa in the Senate, says he is honoured to have won the seat for the centre-left party. That's fantastic! Although governments have been encouraging free trade and skilled migration to...

this entry’s page

Thursday, 13 April 2006

Bug Syncronicity

I’ve had a lyric running through my head for the last day or so, thanks to a couple of bugs. I am thinking it’s a sign that the freckles / In our eyes are mirror images and when / We kiss they’re perfectly aligned — The Postal Service, Such Great Heights Let me explain. Apache Apache’s ap_meets_conditions in http_protocol.c is responsible for handling conditional HTTP requests. If you send Apache an If-Modified-Since, this code will figure out whether or not...

this entry’s page (3 comments)

Sunday, 9 April 2006

Looking for a Big House? Wait!

Most discussion you see about the housing market these days tends to focus on a) whether there’s a bubble (reliable sources say yes, at least in many places) and b) when and how it will pop (it already is, and agonisingly slowly). This little nugget from The Australian makes me wonder; PLANS by one in five Australians to downsize the family home to fund their retirement may be risky and could cause a market glut. The report by Citibank...

this entry’s page (2 comments)

Friday, 7 April 2006

Are Namespaces (and mU) Necessary?

It’s become axiomatic in some circles — especially in WS-* land, as well as in many other uses of XML — that the preferred (or only) means of offering extensibility is through URI-based namespaces, along with a flag to tell consumers when an extension needs to be understood (a.k.a. mustUnderstand). The reasoning is that extensibility should be as easy as possible. By leveraging one registry — DNS — you can use URIs to allow anyone to create your own...

this entry’s page (13 comments)

Thursday, 6 April 2006

What good is SOAP to HTTP?

I’m a little confused by Mark Baker’s stance regarding SOAP; he seems to encourage the Web services world to use SOAP on top of HTTP in a fashion compatible with HTTP. As I asked Chris Ferris recently, what’s the point? UPDATE: Mark responds. While I agree that evangelising HTTP is good, and that teaching certainly brings benefits to the teacher as well, I’m concerned that people will only see HTTP through the imperfect, low-resolution lens of SOAP, not realising...

this entry’s page (3 comments)

Sunday, 26 March 2006

Workers of the World, Untie

A few snippets from the day; 1) The Wall Street Journal reports on the divergence between productivity and wages; Since the end of 2000, gross domestic product per person in the U.S. has expanded 8.4%, adjusted for inflation, but the average weekly wage has edged down 0.3%… Since the end of the recession of 2001, a lot of the growth in GDP per person — that is, productivity — has gone to profits, not wages. This reflects workers’ lack...

this entry’s page (1 comment)

Monday, 20 March 2006

Don’s False Choice

True to form, Don’s using his witty charm and good looks (such as they are ;) to shape discussion of a topic… in this case, REST, where he splits the RESTifarian world into two; “hi” and “lo.” To get a more accurate picture of what we’ve done so far, I’ll break this category in two: Lo-Rest, which is the use of HTTP GET (or equiv) for information retrieval/query, and Hi-Rest, which is characterized by the use of HTTP PUT...

this entry’s page (9 comments)

Thursday, 16 March 2006

Web Authentication

There’s some excitement out there about “Cookie-less HTTP Authentication.” While it’s tempting to say that cookies are evil (the fru-it of the dev-il), using them for authentication isn’t actually that bad, from a REST standpoint; the main loss is that you can’t use standard mechanisms to log in, instead relying on an HTML form. This brings problems with non-browser clients, such as RSS aggregators, WebDAV and CalDAV clients, and XSLT stylesheets. In short, you lose some of the network...

this entry’s page (11 comments)

Wednesday, 15 March 2006

WS-Transfer, WAKA and the Web

Microsoft and friends (of the keep your enemy closer variety, I suspect) have submitted WS-Transfer to the W3C. I found the Team comment interesting; e.g., WS-Transfer can therefore be seen as an underlying protocol-independent version of HTTP, i.e. bringing the capabilities and properties of the Web and HTTP in contexts where HTTP is not used. The use of WS-Transfer is not limited to non-HTTP transports, and can also be used when HTTP is used as a communication tunnel. As...

this entry’s page (10 comments)

Wednesday, 1 March 2006

Feed History Redux

Over the weekend, I submitted a new draft of Feed History. The big (and hopefully, last) change this time is the use of the “previous” and “subscription” Atom link relations, rather than extension elements. Of course, just because they’re in the Atom namespace doesn’t mean that they can’t be used in RSS. The algorithm for recreating the state of a feed is also specified much more carefully; please have a look and make sure it makes sense, and does...

this entry’s page

Saturday, 18 February 2006

Invalidating Caches with POST

Have you ever posted a comment to a blog, found it missing, so you re-posted it, only to find two entries? Annoying, huh? Aaron pinged me the other day with this problem, and I responded that the Right way to do this is to POST to the same resource (i.e., the blog entry), so that the POST invalidates the cache. HTTP has this to say about the matter; Some HTTP methods MUST cause a cache to invalidate an entity....

this entry’s page (12 comments)

Wednesday, 15 February 2006

Prosper

So, a few weeks ago, I was sitting in the Galleria with Pete and Brian, having a coffee and talking about work. When, up comes two women with clipboards, asking us to take a survey. We’re bored, and want distraction, so why not? Turns out they’re trying to figure out the best name for their Web site that allows people to loan each other directly, bypassing banks, and creating a true market. We got excited about the possibilities; I...

this entry’s page

Tuesday, 7 February 2006

Offline

Interesting; there are not one but two sessions at the upcoming ETech about taking Web applications offline. Given the current bent of O’Reilly conferences — speed dating for VCs and their willing prey — this is a pretty sure sign that we’re going to see another startup hypedfunded. This isn’t the first time this topic has been broached, of course, but we haven’t seen too many serious efforts at it. Adam Bosworth noodled on the topic back when we...

this entry’s page (6 comments)

Friday, 27 January 2006

And Now for Something Completely Different

For the past three and a half years, I’ve learned a lot, had a tremendous amount of fun, and made some really good friends working at BEA Systems in the Office of the CTO. I’ve also enjoyed working with the great people at WS-I and in the W3C’s Web Services Working Groups (particularly, the folks in Web Services Addressing). However, all good things must come to an end, and I want to get my hands a little dirtier than...

this entry’s page (10 comments)

Wednesday, 25 January 2006

Little Orange “feed” Buttons

About two years ago, I got a little grouchy about those little orange XML buttons, and exhorted people to label them properly with RSS. Then came along a little thing called Atom, and “RSS” doesn’t necessarily cover it. Besides which, a TLA isn’t necessarily the most user-friendly way to foist a new Web technology onto people. Rather than confronting people with a miniature forest of icons and badges for different formats, I’ll be gracefully transitioning to Atom by first...

this entry’s page (10 comments)

Monday, 23 January 2006

How Web-Ready is XMLHttpRequest?

I’ve been playing around with some ideas that use XMLHttpRequest recently, but I keep on bumping up against implementation inconsistencies on IE vs. Safari vs. Opera vs. Mozilla. Although the interface exposed is pretty much the same, what it does in the background is very different, especially with regards to HTTP. For example, some implementations will handle redirects and cache validation for you, while others will pass through the HTTP status codes, expecting you to pick up the pieces....

this entry’s page (29 comments)

Friday, 13 January 2006

Para publicadores de conteúdos e Webmasters

The RSS Tutorial for Content Publishers and Webmasters has been translated to Brazilian Portuguese, thanks to the efforts of Maurício Samy Silva. Note that while the title says “RSS”, it isn’t limited to that; or as Maurício wrote, Apresenta ainda informações sobre um formato semelhante denominado Atom. What a beautiful language. Maybe it’s just because today’s Friday, but reading this makes me want to fly to Brazil…...

this entry’s page (1 comment)

Wednesday, 11 January 2006

Safari and Content Sniffing

It took two years, but Apple has finally taken steps to limit Safari’s content-sniffing ways; Safari now displays certain documents that have text/plain headers as plain text rather than treating them as HTML. — About the Mac OS X 10.4.4 Update Why “certain” documents, though? My trivial test is handled correctly now, but what about others? What’s the heuristic now?...

this entry’s page (1 comment)

Monday, 9 January 2006

Making headway on OPTIONS

On the heels of mod_cgi, PHP now does the right thing (at least in 5.1) when setting the Allow header. mod_dav is still broken, though. Backstory here....

this entry’s page (1 comment)

Sunday, 8 January 2006

Colour Management in OSX

After hearing about how I lusted after Bob’s D100 in Japan last November, Anitra kindly splurged on a Nikon D50 for my birthday, and I was re-introduced to serious photography. After getting some lenses and figuring out the basic components of my workflow (RAW images, iPhoto for organising and Photoshop CS2 for editing), I became interested in colour management, because there was such a difference in what I saw in camera, on the various monitors, and in print. My...

this entry’s page (3 comments)

Monday, 26 December 2005

2005 in Feeds

Another year has gone by, and rather than cataloguing music, movies or books that I liked, here are some feeds on the Web that I enjoyed reading throughout the year. I’ll avoid repeating the obvious news, technical and blogroll feeds. HotelChatter remains one of my favourite feeds, perhaps due to my acknowledged problem of collecting boutique and design hotels. If you have to travel for work or pleasure, check your destination out there first; you might find a great...

this entry’s page

Saturday, 24 December 2005

RFC 4229: HTTP Header Field Registrations

The useful end of RFC 3864 (at least regarding HTTP) is finally* here. When you need to know where a particular header is defined there’s now one place to do it; IANA’s Message header registry and repository have been filled with HTTP-related headers by RFC 4229. The content was almost completely automatically generated, by scraping the pertinent information from the RFC citations, using cwm to infer some things about it, processing that n3 with a specialised script and then...

this entry’s page

Thursday, 22 December 2005

How to Throw a Holiday Party

One thing I detest about many technology companies is their tendency to treat employees like overgrown 15-year-olds with no social skills. This was most evident at Java One’s “Social Event” as previously discussed, but you also tend to see it in Silicon Valley holiday* parties. So, here’s a tip for people who do these things for tech companies; treat your employees like adults. You’ll be surprised at how they’ll rise to the occasion, and thank you for doing it....

this entry’s page (1 comment)

Wednesday, 21 December 2005

Choosing a School in a Global Marketplace

Every parent should take a flip through the OECD’s Education at a Glance*, their annual look at the state of learning in most industrialised countries. Why? First of all, it’s a wonderful way to cut through a lot of FUD and local politics when you’re trying to figure out how well your kids are being educated. While no statistics are perfect (or often even close), it’s a whole lot better to make measurable comparisons between systems than it is...

this entry’s page (5 comments)

Tuesday, 13 December 2005

Where have the Professional Journalists Gone?

Like a blogger trying to pump up their buzz, the New York Times declares; Australian Unrest Spreads to Other Cities What’s happened now? Have Melbourne and Brisbane been overrun by rioting yobs? No, this is what the Times is referring to; Australian Broadcasting Corp. radio reported Tuesday that a family of Middle Eastern origin was attacked in the western city of Perth by a group of 11 white men, who threw eggs, shouted abuse and kicked their garage door....

this entry’s page (2 comments)

Tuesday, 6 December 2005

The End Is Nigh?

Bloomberg calls it; In the U.S. bond market, the housing bubble has burst. Bonds backed by home loans to the riskiest borrowers, the fastest growing part of the $7.6 trillion mortgage market, have lost about 2.5 percent since September on concern an 18-month rise in interest rates may force more than 150,000 consumers to default. “We’ve been hearing about risks of a house price bubble, easy credit and loans to borrowers that really don’t qualify, and now in the last...

this entry’s page

Monday, 5 December 2005

RFC 4287: The Atom Syndication Format

Atom has finally realised its most important advantage over the various flavours of RSS — it’s a Standards-Track RFC. What does this mean? It doesn’t mean that it’s (necessarily) technically better, is easier to use, or will be more broadly adopted. Hopefully, it will have these things due to the quality of the WG participants and exposure to the resources of the IETF. What it does mean is that there isn’t any contention at all about who owns it...

this entry’s page

Saturday, 26 November 2005

Leveraging the Web: Caching

The first in an occasional series about the real-world benefits of REST and the Web architecture, as applied to HTTP. I used to work for a fairly huge company as a Web/Internet guru. One day, I got sucked into a meeting with a visiting executive who was talking about rolling out a new set of servers to allow customer service reps access internal documentation. The requirement was to make large-ish PDF files available on the internal network world-wide nearly...

this entry’s page (6 comments)

Wednesday, 23 November 2005

Travel Notes: Japan

My pictures from a week in Japan are now up. This was a trip for the Addressing WG, with a day beforehand to get over jetlag, and a few days afterwards on my own time. Many thanks to Hitachi and especially Bob and Nishiyama-san for doing such an exceptional job hosting us, and also to Paul for letting me crash with him in Tokyo on the way out. Having travelled little in Asia beforehand (just to Singapore and Hong...

this entry’s page

Tuesday, 22 November 2005

It's Official: Blogs are Everywhere

One of the oldest continuously-run enterprises in the world (and a former employer of my wife), Oxford University Press, first publisher of the King James Bible, namesake of a punctuation mark, now has a weblog....

this entry’s page

Friday, 18 November 2005

TripSense

Just got an e-mail from Progressive, who want people to sign up for Tripsense; What driving habits determine whether you’re a safer driver than others? We’re trying to determine that with TripSense, Progressive’s innovative program that collects driving data about mileage, speed and trip times which, when the program is rolled out, will be used to provide customers with a more accurate insurance rate. The TripSense program is still in the research stage, so we’re looking for policyholders to...

this entry’s page (11 comments)

Monday, 7 November 2005

REST vs..?

More and more people are getting turned on to the advantages of using REST as a higher-level abstraction for networked applications, often comparing it favourably to SOAP and Web services. However, as many have pointed out, this is a bad comparison to make; REST is an architectural style, while SOAP is a protocol. So, what should be compared? When this question comes up, I’ve found it helpful to draw a table with different architectural styles in the columns, and...

this entry’s page (12 comments)

Sunday, 30 October 2005

Frameworks

Stumbled across this, from Ian Bicking; My problem with a lot of MVC web frameworks is that they are really a way of codifying one developers internal thinking about a web application, and they don’t map well when they are used by another web developer; or they require both the code and the developers mind to be reshaped. This is fine, until another framework comes along that requires another shift in mindset and code. Or you have a problem (or...

this entry’s page (4 comments)

Wednesday, 26 October 2005

Calendar <-> Feed?

Does anybody know of a program or service that will look at a calendar file (e.g., vCalendar, iCalendar, hCalendar) and publish the entries on it as an RSS feed, where each entry in the feed has a link to that one calendar entry? It strikes me that this would be useful for public calendars where you don’t want to see the whole thing dumped into your personal calendar, but instead want to selectively add events to your calendar as they...

this entry’s page (6 comments)

Sunday, 23 October 2005

Emulating W3C ,tools with mod_rewrite

I don't know if this has already been done (it's not exactly rocket science), but for the benefit of those who want to emulate the W3C's cool ,tools functions with mod_rewrite; # tools RewriteRule ^(.*),validate http://validator.w3.org/check?uri=http://%{HTTP_HOST}/$1 [L,R] RewriteRule ^(.*),checklink http://validator.w3.org/checklink?uri=http://%{HTTP_HOST}/$1 [L,R] RewriteRule ^(.*),rchecklink http://validator.w3.org/checklink?recursive=on&uri=http://%{HTTP_HOST}/$1 [L,R] RewriteRule ^(.*),text http://cgi.w3.org/cgi-bin/html2txt?url=http://%{HTTP_HOST}/$1 [L,R] RewriteRule ^(.*),cssvalidate http://jigsaw.w3.org/css-validator/validator?usermedium=all&uri=http://%{HTTP_HOST}/$1 [L,R] RewriteRule ^(.*),links http://www.google.com/search?as_lq=http://%{HTTP_HOST}/$1 [L,R] RewriteRule ^(.*),blinks http://blogsearch.google.com/blogsearch?scoring=d&q=link:http://%{HTTP_HOST}/$1 [L,R] RewriteRule ^(.*),cacheability http://www.ircache.net/cgi-bin/cacheability.py?descend=on&query=http://%{HTTP_HOST}/$1 [L,R] For example, you can validate this page....

this entry’s page (3 comments)

Saturday, 22 October 2005

Why Just GET and POST?

Why is it that Web browsers — Amaya excluded — don’t support PUT and DELETE? After all, if there are enough VCs foolish enough to part with their money for something like Flock, surely we could at least support all of HTTP’s methods. It’s not just browsers, of course; heck, even Python’s new, mega-complete urllib2 library restricts itself to GET and POST. Other languages are similarly limited. So, why does the implemented Web restrict itself to half of CRUD? It’s...

this entry’s page (10 comments)

Wednesday, 19 October 2005

OPTIONS Getting Better

Roy Fielding has just closed a bug that’s been around since 1996, and which I’ve previously lamented here; The block has now been deleted from all active branches of httpd (1.3.35, 2.0.56, 2.1+). Thanks for sending in the more complicated patches, but I feel that CGI scripts should be able to handle all methods by now (or be fixed to do so properly). Broken CGI scripts, you’ve been warned. Now if PHP would get its act together, we could implement...

this entry’s page (3 comments)

Tuesday, 18 October 2005

XSLT for the Rest of the Web

I’ve raved before about how useful the XSLT document() function is, once you get used to it. However, the stars have to be aligned just so to use it; the Web site can’t use cookies for anything important, and the content you’re interested in has to be available in well-formed XML. While that’s all fine and good on some higher-plane, utopian, RESTful, stateless, DTD- and Schema- described, Cool URIish Web, it’s not the useful on the Web that most of...

this entry’s page (12 comments)

Wednesday, 5 October 2005

2.0

Does anybody else chortle quietly when they see “2.0-this” and “2.0-that”? It’s getting absurd; first we had “Web 2.0” (never mind that this term has been used for years in different ways, and that what they’re referring to is really just the original Web being used to its full potential) and now “Identity 2.0.” What gives? The whole things smacks of marchitecture. To top it off, linear versioning (a la 1.0, 2.0, etc.) is very un-Web. I guess people...

this entry’s page (3 comments)

Wednesday, 14 September 2005

Bennet Murray Nottingham

this entry’s page (22 comments)

Monday, 5 September 2005

Feed History -04

Feed History draft -04 is out, with the only major change being the replacement of fh:stateful with fh:incremental, with corresponding changes throughout the document, to make the concepts a bit clearer. This revision also makes cardinality, relative URIs and white space handling more explicit, and adds an acknowledgements section as promised. On the implementation front, here’s a quick-n-dirty Python script that demonstrates reconstruction of an incremental feed (RSS or Atom); while it’s more prototype code than something you’d want...

this entry’s page (1 comment)

Thursday, 1 September 2005

RSS Tutorial for Content Publishers and Webmasters

I took a pass at a revision of the RSS Tutorial for Content Publishers and Webmasters on the train this morning, as I realised it was dreadfully out of date. It now includes Atom, and RSS 2.0, rather than 0.94. Corrections and suggestions are always welcome; in particular, I’m interested in any links you might have for the Tools or More Information sections (although I’ll only list free — preferably Open Source — products and services)....

this entry’s page (2 comments)

Monday, 29 August 2005

sparta.py 0.8

I’m happy to announce that version 0.8 of sparta, a simple API for RDF, is now available. As always, feedback and suggestions are appreciated. This revision requires rdflib 2.2.1, as the APIs sparta relied upon have changed. It also adds a new method on the factory, addAlias, that lets you bypass the prefix_localname convention for URIs that don’t map well to python tokens. See spartaTest.py for an example of its use. Thanks to Bill de hÓra for the suggestion...

this entry’s page (6 comments)

Thursday, 25 August 2005

Bubble Fun

It seems that the debate has switched from if there’s a housing bubble to when and where it will pop. “Americans pay for their houses with money they borrowed from the Chinese.” — Paul Krugman...

this entry’s page

Thursday, 25 August 2005

Wanted: Blogging Fund Manager

Does anybody know of a mutual fund manager who also has a blog? I’d be interested if someone in the financial industry had such a rich channel to their customers (and potential customers). It probably won’t happen due to SEC rules, etc. — but it sure would be nice....

this entry’s page

Monday, 15 August 2005

Advertise on the BBC!

Is it just me, or is this a thinly-veiled press release? I don’t see how Bluetooth is relevant; they might as well point out that it runs on electricity and uses transistors. Sure, the fact that it’s wireless is innovative, but it’s hardly worth mentioning Bluetooth in the headline and a pullout. The fact is, a cable would be just as good. The real story is that there’s a new diagnostic tool that happens to use bluetooth, but it...

this entry’s page

Monday, 15 August 2005

Putting History in Your Feed

I’ve had a few e-mails asking how I got this site’s RSS feed to include its history, so here are the instructions for doing it in Moveable Type (the software that I use to manage this site). If you have instructions for other feed-generating software, please either leave them in comments below, or send me an e-mail. In a nutshell, there are two easy steps; 1. Link your archives together The feed needs to be archived for it to...

this entry’s page (1 comment)

Monday, 15 August 2005

Feed History -03

Draft -03 of Feed History: Enabling Stateful Syndication is now available. Significant changes include: Added fh:archive element, to indicate that an entry is an archive Allow subscription feed to omit fh:stateful if fh:prev is present Clarified that fh doesn’t add ordering semantics, just allows you to reconstruct state Cleaned up text, fixed examples, general standards hygiene See this site’s feed for an example. There’s going to be at least one more draft, as I neglected to acknowledge people who...

this entry’s page

Saturday, 13 August 2005

Adding Semantics to Excel with Microformats and GRDDL

When I worked in the financial industry, I quickly noticed that Excel spreadsheets contain the bulk of the data in the enterprise. It may make IT execs tear their hair out, but having the data nearby and ready for analysis is sloppy, but oh-so-effective. The challenge is to make the data reusable elsewhere. Unfortunately, spreadsheets are a mish-mash of structured but meaningless data; there’s no easy way to tell which columns contain data and which ones are headers. To...

this entry’s page (1 comment)

Wednesday, 10 August 2005

Separating the Data Model from its Serialisation

For some time, I’ve noticed that people defining XML formats spend an inordinate amount of time talking about the structure of the format. This is especially apparent in standards working groups, where hours — no, days — can be spent agonizing over whether to make something an attribute or an element. Part of this is obviously stylistic; people have different thoughts on what makes good XML, and they’re fight the same battles over and over again. I’ve often thought...

this entry’s page (11 comments)

Monday, 8 August 2005

HTTP Performance (again)

Some folks at IONA have written a paper entitled Where HTTP Fails SOAP. I had a chance to look at this before I got it published, and their conclusions make a lot of sense — if you accept the premise that SOAP (and Web services) is about integration with existing applications. In other words, if you’re using SOAP to integrate with existing systems, you’re probably going to use whatever interfaces are already available on the box; if there’s a...

this entry’s page (1 comment)

Saturday, 23 July 2005

Who Do We Work For?

The FT Global 500 is pretty much what you see when you look up “capitalistic orgy” in the dictionary. It’s a compilation of the largest 500 mega-corporations in the world, as measured by the market. So, when I picked up the print edition while overseas last month, I was frankly a bit surprised to see an openly soul-searching article entitled “Fair shares?” by FT’s management editor, Michael Skapinker. It relates the concerns of those who criticize unbridled capitalism; Every...

this entry’s page (20 comments)

Friday, 22 July 2005

Transformational Standards

Don Box (whose blog doesn’t seem to be taking comments any more, so I’ll do it over here) points out some very cool technology he’s using, Microsoft’s Office Communicator. Sounds very slick, I’m jealous (with my old tech phone line and last year’s GSM mobile)! I think it’s fair to give a nod to the standards that Communicator are built upon, SIP and SIMPLE. The fact is, this very cool technology demo wouldn’t even be a gleam in a...

this entry’s page

Thursday, 21 July 2005

John Kerry, Spammer

Both my wife and I signed up to johnkerry.com’s mailing list during the last federal election cycle. After he lost, we inevitably lost some immediacy of interest in what he had to say, so we’ve unsubscribed from the list. At least three times each, with no effect. John, how could you?...

this entry’s page

Monday, 18 July 2005

Core Image Fun House

Am I just behind, or is Core Image Fun House the coolest thing ever? With Core Image, Apple has basically built Photoshop into the OS, except that all of the filters are real-time. If you’re on Tiger, install the Developer Tools (on the Tiger install DVD) and go into /Developer/Applications/Graphics Tools/. My favourite so far is the Glass Lozenge distortion filter; try combining it with Torus Lens Distortion. Wicked cool. Granted, it’s just a demo, and a number of...

this entry’s page (6 comments)

Saturday, 16 July 2005

Making Syndication Enterprise-Grade

After more than five years, syndication is maturing rapidly. It’s being used for more than blogging — whether it be stock quotes, system logs, or order lists — and even blogging will change in nature as it gets more popular; people will be using blogs to fundamentally change the way they do business, inside and outside the firewall. In the enterprise, people are going to look at syndication as a pub/sub replacement. While feeds over HTTP won’t be able...

this entry’s page (6 comments)

Friday, 15 July 2005

Don’t use the ‘feed’ URI Scheme

It’s been covered before elsewhere, but just a friendly reminder: ‘feed’ URIs are bad for the Web, as are any that are used solely for dispatch (e.g., ‘itms’, ‘pcast’). I’m looking at you, Apple. Interestingly, Apple also supports doing Web dispatch the right way; with media types. I know this because going to my test page — a zero-length file with a generic extension, but a ‘application/atom+xml’ media type — gets dispatched to my RSS reader in Safari on...

this entry’s page (3 comments)

Tuesday, 12 July 2005

Naked & Angry

Talk about ground-breaking online business models! Naked & Angry lets you submit your own patterns that people will vote on for seven days; the winners will get $500 and free product, and the winning designs will be made into limited-run numbered neckties (and, apparently, other silk things too) that are for sale on the same site. How cool is that? These guys are strictly intermediaries, and they’ve balanced “high-concept design, consumer/designer interaction, limited availability, and reasonable affordability” (as said...

this entry’s page

Saturday, 9 July 2005

Never Mind the Corporate Blogs; Here’s the Wiki

While a lot of companies are exploring blogs as a means of building communities, Intuit* (makers of Quicken, TurboTax, etc.) has skipped directly to the next logical step; using Wikis. TaxAlmanac is a Wiki about taxes, for tax professionals; they can browse the current Internal Revenue Code for free, ask a question and share information they’ve learned about one of the most obfuscated organisations in the world, the IRS. Why? In their words, So, what’s the catch? There is...

this entry’s page (1 comment)

Friday, 8 July 2005

One Description to Bind them All? Nah.

You can describe just about anything with sufficient precision in plain English, given enough words. In practice, this doesn’t happen; specialised fields — whether science, finance or art — develop specialised jargon as a shorthand for concepts that are well-understood in that field. It gives greater precision, easier flow of ideas, and yes, it raises the bar to entry for newcomers. The trade-off is worth it, usually; although it would be genuinely useful if a layman could understand the...

this entry’s page

Friday, 1 July 2005

(Statistical) Information Wants to Be Free

The Australian Bureau of Statistics has announced that as of today, their online publications and tables are now free to download, instead of requiring an account and a per-download charge, as before. Considering the breadth of statistics they’re involved in, this should be of significant benefit to the Australian people, as well as businesses. They publish everything from Price Indices to information about Internet use to tourism, crime, education and unemployment figures. Check out the popular statistics page to...

this entry’s page (1 comment)

Thursday, 30 June 2005

JavaOne

So, this week was my first JavaOne. It felt like most other industry conferences; an exhibition floor, free lunches, good technical sessions, and so forth. The big news this year was Microsoft; they had quite a few MSFT people present, to demonstrate interoperability between Java and .NET. This included a panel session that I participated in; if anybody was there, I’d love to hear feedback in comments (or e-mail). Anyway, yesterday evening’s entertainment was a large conference hall filled...

this entry’s page (2 comments)

Monday, 27 June 2005

Perspectives on the Addressing Experiment

I don’t talk much about it here, but I’m honoured to be the Chair of the W3C Web Services Addressing Working Group. This is something of an experiment for the W3C, so I gave an update on its progress as part of a panel discussion at the Advisory Committee meeting a few weeks ago. I’d like to share some of what I presented there. What’s the Experiment? Standards can be developed in many ways. The W3C, historically, has had...

this entry’s page (2 comments)

Thursday, 23 June 2005

Another, More Disturbing Reason Not to Buy a House

As you might guess, I’m not too keen on buying a house at the moment, due to what I (and others) perceive to be a bubble in prices. That’s a situation that will undoubtedly correct itself in the long term. However, the Supreme Court has just made buying a house in the US a much more risky proposition, and because of the way that the legal system works here, there isn’t much recourse. In a nutshell, they’ve decided that...

this entry’s page (8 comments)

Monday, 20 June 2005

Bubble News Roundup

This week the Economist continues casting doubt upon the notion that housing prices will continue going up, up, up: This boom is unprecedented in terms of both the number of countries involved and the record size of house-price gains. Measured by the increase in asset values over the past five years, the global housing boom is the biggest financial bubble in history. The bigger the boom, the bigger the eventual bust. They then continue to meticulously rip through the...

this entry’s page (3 comments)

Tuesday, 14 June 2005

Getting Rid of QNames in Content

Or, What’s Wrong with XInclude? QNames are evil (at least in content), so I never really liked the WSDL convention of using them to name and refer to constructs. It makes much more sense to refer to things on the Web as TimBL intended; using URIs. Using URIs — including fragment identifiers — to refer to portions of documents is an intuitive, scalable, and much less intrusive way to modularise XML formats. XML Base — being unevil — allows you...

this entry’s page (5 comments)

Tuesday, 24 May 2005

Web Description at the W3C

The W3C has just started a mailing list for discussion of Web description formats; This mailing list is dedicated to discussion of Web description languages based on URI/IRI and HTTP, and aligned with the Web and REST Architecture. Unlike WSDL (Web Services Description Language), such languages are not targeted towards description of Web Services. What’s interesting is that many Web Services people — such as David Orchard, Marc Hadley and myself (although I always think of myself as an...

this entry’s page (2 comments)

Sunday, 22 May 2005

Prefetching (again)

There’s been quite a kerfuffle over Google’s Web Accelerator, because it prefetches Web content. It’s amusing to see these issues recycle over time; in the late nineties, prefetching was one of the biggest areas of research in Web caching. There were lots of papers written (search for “prefetch”), and even a commercial implementation; CacheFlow was the prefetching cache (they called it “active content”), and it was pretty controversial in the industry. After a long period of back-and-forth and considerable...

this entry’s page (1 comment)

Sunday, 22 May 2005

Freakonomics

After hearing a review on NPR and reading the Economist’s, I was (as was once said) with child to read Freakonomics. After finding myself in a queue of 411 other people putting it on hold in the Peninsula Library System, I broke and bought it. This book spells out perfectly why I’m so interested in economics; it’s not the numbers or the money, it’s the interplay of incentive and action. From the introduction; Morality, it could be argued, represents...

this entry’s page (3 comments)

Saturday, 21 May 2005

XML Base: Evil?

If you accept that QNames in content are evil, the next logical question is whether XML Base is any better. In fact, if you turn your head a certain way, it appears that there’s very little difference between a default namespace and XML Base. Why? XML Base requires someone to know when element or attribute content is a URI, because it has to be applied to them before they can be used. This leaves you in an uncomfortable spot;...

this entry’s page (5 comments)

Wednesday, 18 May 2005

WADLing towards Web Description

Marc Hadley has released WADL in the wild, and I’m intrigued; based on a first look, I’d say it’s the most promising Web (as opposed to Web Services) description language yet. Why? First of all, it’s very resource-oriented; you can clearly and easily see the deliniation between different described resources. It encourages good practices, and supports generative URIs both in query strings and in path segments, which I think is crucial. It’s simple and easy to read. Initial Feedback...

this entry’s page (5 comments)

Tuesday, 17 May 2005

OxygenXML, Now with Visual Schema Editing

OxygenXML 6.0 is out, and it sucks even less. The biggest news is — finally! — a visual Schema editor. This may be the biggest threat yet to Gudge’s job security, as Human Schema Editor. :) I’ve only played with it a bit (as an Eclipse plug-in), but so far, so good; hopefully, the Syncrosoft guys weren’t tempted into XML Spy “compliance”; its visual Schema editor is the root of a lot of problems, and if Oxygen’s implementation is...

this entry’s page

Sunday, 15 May 2005

Effects of Australian Tax Cuts

Last week, the Australian government announced a new budget. It included a number of tax cuts that were even more ambitious than expected. To help figure out who these cuts benefit, I’ve fed the rates that will take effect in the 2006-2007 tax year, along with the old ones for the 2004-2005 tax year (i.e., those with the $70,000 phase-in for the 47% rate), into an Excel spreadsheet. The results for a single-earner family (which, for these purposes, are...

this entry’s page (1 comment)

Thursday, 12 May 2005

Google's Cache-Control Extensions

I happened to look at the HTTP headers returned from Google News just now (what can I say, I’m a HTTP geek), and I noticed something unusual; Last login: Thu May 12 16:52:59 on console Welcome to Darwin! mnot-laptop:~> telnet news.google.com 80 Trying 64.233.161.147... Connected to news.l.google.com. Escape character is '^]'. HEAD / HTTP/1.1 Host: news.google.com HTTP/1.1 200 OK Set-Cookie: PREF=ID=d33570687b199641:TM=1115954884:LM=1115954884:S=EKAAPop2tSe_wM0T; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.com Content-Type: text/html; charset=ISO-8859-1 Server: NFE/0.8 Cache-Control: private, x-gzip-ok="" Content-Length: 0 Date: Fri,...

this entry’s page (5 comments)

Tuesday, 10 May 2005

Notes on Generational Accounting

Social Security represents a pact between generations—a financial and social commitment among people of all ages. — US Social Security Administration Although George Bush has caused a brouhaha with his ill-defined plans to reform Social Security, it’s actually part of a larger problem that’s been known about for some time. In a nutshell, demographic shifts (Americans are retiring earlier, living longer and having fewer children) and the rising costs of health and aged care mean that the pact between...

this entry’s page (4 comments)

Monday, 9 May 2005

Greasemonkey and the Web

There’s a lot of cool apps emerging for GreaseMonkey (and GreaseMonkIE and PithHelmet, for IE and Safari respectively). It seems like these extensions have a love/hate relationship with the Web, philosophically. On the one hand (with L O V E sprawled across the knuckles), GM is a great example of taking advantage of the representational nature of the Web. SOAP-heads would call this “loose coupling” or “document-oriented.” The fact that you can rock up and modify somebody else’s content...

this entry’s page (20 comments)

Sunday, 1 May 2005

Arguments for Buying a House Now

In the interest of equal time, two quotes attributed to Keynes; If you owe your bank a hundred pounds, you have a problem. But if you owe a million, it has. The market can stay irrational longer than you can stay solvent. P.S. That’s not to say he’d plop down a cool million for a 1,300 square foot two-bedder....

this entry’s page

Friday, 29 April 2005

Questions Leading to a Web Description Format

A while back, I published a series of entries (1,2,3,4) about would-be Web Description Formats, with the intent of figuring out which (if any) is suitable, or whether a new one is required. I’d like to keep this moving, by documenting some requirements for such a format. Although a few requirements and use cases did come up in that discussion, I'd like to work through a more general set of questions that need to be asked as a way...

this entry’s page (6 comments)

Friday, 29 April 2005

Data Modeling and Abstraction

Today’s release of Tiger includes a new but little-discussed framework for developers, CoreData. What’s most interesting to me is its similarities — and differences — to SDO, IBM and BEA’s* effort to abstract away the specifics of how data is stored. Will we see an über-framework encompassing all of these? Will Apple get on board with IBM and BEA (unlikely, but hey, who knows)? How does it relate to the Semantic Web (which I believe most people should be...

this entry’s page

Sunday, 24 April 2005

Personalised RSS and Cookie Sharing

Should cookies be shared between your RSS aggregator and your Web browser? If they were, sites would be able to automatically personalise the feeds you subscribe to; would people be interested in that, or see it as an intrusion in their privacy? The possibilities are certainly interesting; if I knew who you were, I could not only modify entries to suit you, but I could also insert an entry into just your feed, saying anything from “Hi” to “Do...

this entry’s page (6 comments)

Sunday, 24 April 2005

Syntax for Distributed Computing

XML is arguably one of the bigger things to come onto industry’s radar for a while, and as a result programming languages (e.g., ECMAScript, Comega, Java) are changing to accommodate it. This isn’t just happening in libraries; the syntax of the languages is changing. This could be just because of the importance of XML, but I also think that it’s because XML is foreign to most programming models; it doesn’t fit well into data structures, objects and functions, and...

this entry’s page (3 comments)

Tuesday, 12 April 2005

Try This RSS Experiment

Way back when I put the first Atom drafts together, I included a placeholder for a section that I hoped would allow reconstruction of feed state. Presently, this often isn’t necessary, because you have to be away for a seriously long time (e.g, on vacation) before you actually miss anything. However, I’d put forth that this state of grace is going to be increasingly unlikely. Why? While your average, computer-obsessed geek — the main audience for syndication so far...

this entry’s page (8 comments)

Sunday, 10 April 2005

Coffee, Tea, or Shove that Phone Right Up Your…?

As if flying wasn’t enough of a trial already, you may have heard that the FCC is considering lifting their ban on mobile phone use in airplanes. While the FAA may still restrict their use, this is just one barrier less to having a person yammering away for hours on end, one foot away from your ear. While most people find this offensive, there are a minority of people who would like to be able to use their phone...

this entry’s page

Sunday, 10 April 2005

Tempest in a Teacup, Counterclockwise*

Those who have been preoccupied by Two Funerals and a Wedding may have missed news of a developing diplomatic crisis in Australia. Sir Michael Somare, the Prime Minister of Papua New Guinea, happened to transit through Brisbane airport on his way back from New Zealand a little while back. When his shoes set off the metal detector, they asked him to take them off; he refused. When he finally did get home, he complained. A lot. He also demanded an...

this entry’s page (1 comment)

Sunday, 3 April 2005

A Call to OPTIONS

Web metadata discovery is not a new topic, and one on which the final word has not been spoken. However, one of the most basic means of discovering something about a resource, the HTTP OPTIONS method, is not widely enabled by current implementations. I’m immediately interested in this because it would be nice to use it in conjunction with POE, but this isn’t the only use case; things like privacy policies, robot policies, configurations and site descriptions need to...

this entry’s page (8 comments)

Friday, 1 April 2005

Can Somebody Explain to Me...

RDF has a simple, usable, universal model; everything’s nodes and arcs, so it avoids the problems of the Infoset, which IMO are brought by its complexity and special cases. Years of disquiet about attributes by portions of the XML cognoscenti support this view unintentionally, I think. So, WHY DOES RDF HAVE A SPECIAL CASE, THEREBY LOSING ITS SIMPLICITY? I’m talking about RDF datatypes, of course. As far as I can see, they’re a special case to the data model;...

this entry’s page (4 comments)

Wednesday, 30 March 2005

Memory, Sweet Memory...

Just added a 512M module to the Powerbook for a total of 1G (was 768M), for a pittance — $79! — courtesy of Amazon. Everything’s much snappier, especially Eclipse; I feel more productive already. If you have an Aluminum Powerbook, now’s the time… P.S. — Virtual PC is actually usable now; not fast, mind you, but the start and shutdown times are bearable, and it’s reasonable responsive....

this entry’s page (5 comments)

Friday, 25 March 2005

Site Updates

After a deeply wounding comment about this site’s design from SOMEONE WHO KNOWS WHO THEY ARE last week, I’ve refreshed the mnot.net stylesheets and front page design. OK, truth be told I was working on it anyway. Still, the comment was noted — NOTED, my friend — and I’m taking names. Tweaking is still taking place; IE/Win doesn’t quite work right (but I’m not too motivated to fix it) and colours were never my strong suit, so I’m getting...

this entry’s page

Monday, 21 March 2005

Nevermore

A while back, I wrote up a description of a pattern for avoiding messages like “click submit only once.” I didn’t do much after that, because I’ve been a bit busy, and because I wanted to do some implementation of a more general HTTP framework before I wrote a more formal document. One delay led to another, and to make a long story short, I never got around to writing that specification… until now. Why now? The short answer...

this entry’s page (6 comments)

Thursday, 17 March 2005

Sparta.py 0.7

I’m happy to announce that version 0.7 of sparta.py, a simple API for RDF, is now available. As always, feedback and suggestions are appreciated. My goal for this release was to clean up cardinality. In particular, I wanted to make Sparta usable with the Atom OWL work that’s been going on. Unfortunately, it’s difficult to show — both because Atom is a moving target, and due to a few flaws in the stylesheet and model — but with a...

this entry’s page (2 comments)

Thursday, 17 March 2005

Travel Warning

I personally like Airbus planes, especially the A340, but Risks Digest has given me a reason to avoid some of them; [A]fter (an earlier) disaster, more than 20 American Airlines A300 pilots asked to be transferred to Boeings, although this meant months of retraining and loss of earnings. Some of those who contributed to pilots’ bulletin boards last week expressed anger at the European manufacturer in vehement terms. One wrote that having attended an Airbus briefing…, he had refused...

this entry’s page (1 comment)

Saturday, 5 March 2005

More notes on the Bay area housing market

Carlos sent me an interesting summary page about the Bay area housing bubble. I wish there were more links substantiating the assertions there (a few ring false), but it is thought-provoking. I happen to have a bit more specific data; namely, the sales figures for houses in the Bay area over the past few years. I’m interested in the affordability of a 3-bedroom house (or condo, or apartment) in San Mateo county, and this is what a little Python scripting...

this entry’s page (40 comments)

Wednesday, 2 March 2005

Using XML in Data-Oriented Applications

So, you’ve got some data that you need to give to somebody else, and you want to use XML to do it; good for you, you’ve seen the light / hopped on the bandwagon / drunk the Kool-Aid. At first glance, this seems like a pretty straightforward task; after all, it’s just angle brackets, right? Not so fast. If you’re the only person who every has to look at the XML or write software to work with it, you’re...

this entry’s page (5 comments)

Tuesday, 22 February 2005

document(Web)

I love the XSLT document function. With it, you can access the whole Web from a stylesheet; this gives a lot of flexibility, in the right situation. For example, my local library’s online system is based upon iPac (now sold as the Horizon Information Portal, I think), a common packaged library management system. One of its nifty features is letting you keep a list of books (“My List”) that you’d like to eventually check out of the library. In...

this entry’s page (2 comments)

Monday, 7 February 2005

The Map is Not the Territory

Werner makes an excellent point; [W]e need to continue to take care that we do not consider The Model to be The Truth. The web based internet is a massive organic process that is similar to Nature, and we can develop models to observe its phenomena. We can use these models to build our tools on, but we have keep in mind that we cannot use the model force the organic process to behave the way we want it...

this entry’s page (3 comments)

Saturday, 5 February 2005

Who’ll Clean Up?

Listening to people talk about the economy -- and the housing bubble in particular -- made me wonder; what happens after it bursts?

this entry’s page (1 comment)

Monday, 24 January 2005

JSON and XML

I’m intrigued by the JSON effort. While many people (and vendors) have chosen XML for data interchange because it’s not platform- or vendor-specific, these folks have chosen the other path; by leveraging the serialisation of data structures in ECMAScript (nee JavaScript) — a nearly ubiquitous language, on every desktop that has a browser — they get an automatic installed base and at least one API for free. Then, by defining mappings to other languages (e.g., Java, Perl and C#;...

this entry’s page (16 comments)

Sunday, 23 January 2005

WS-Who's on First?

There are MEPs in SOAP and MEPs in WSDL. WS-Addressing doesn't have MEPs, but it does allow you to create patterns of messages.Meanwhile, SOAP has bindings and WSDL has bindings, and WS-Addressing have bindings too. But, a SOAP binding binds an underlying transport, a WSDL binding binds an abstract interface, and an Addressing binding binds abstract properties.That's not the properties in SOAP, by the way, which aren't exactly the same as the properties in WSDL.

this entry’s page (1 comment)

Wednesday, 19 January 2005

On How Google Fixed Comment Spam

More than a year after my modest suggestion, Google takes a step to fix comment spam. Hopefully, other people who re-publish Web content (like mailing list archives) will start doing this as well. Perhaps the most interesting thing about this was how it was done. Google has added an HTML rel attribute value unilaterally (OK, they did co-ordinate with a few blog product vendors). Is this a good or a bad thing? The “right” way to add a rel...

this entry’s page (1 comment)

Wednesday, 5 January 2005

Melbourne

Since the W3C Web Services Addressing Working Group is visiting my (sort of) home town in a couple of weeks, I've updated the Opinionated Guide to Melbourne that I sometimes give to people by e-mail and put it on the Web. /me dons flame-retardant suit...

this entry’s page (6 comments)

Friday, 17 December 2004

Tufte would be Proud

The Australian Bureau of Statistics has released an SVG-based "animated population pyramid" that very nicely visualises the change in that country's population over time.

this entry’s page (2 comments)

Wednesday, 15 December 2004

text/python?

I’m thinking about whether it would be a good idea to have a media type for Python source files, call it “text/python.” The main benefit that I see to doing this is the definition of a fragment identifier syntax; i.e., what the bit after the ‘#’ refers to. This would allow URIs to point to specific functions and classes in Python source files, which would be very useful when documenting code. It would also allow some cool import tricks...

this entry’s page (9 comments)

Monday, 6 December 2004

Sparta.py 0.6: RDF (and RSS!) Made Easy

Based on feedback (thanks, John), it's now mapped to an object that implements a subset of the interface of sets.Set, and produces a full sets.Set when you call the copy() method. rdf:Seq is mapped to a list, joining rdf:List; this allows Sparta to work with RSS 1.0, along with other formats that use Seq. The factory takes an optional schema_store argument, so you can store schema hints for Spara separately, if you wish.

this entry’s page (1 comment)

Friday, 26 November 2004

Shop ‘til you Drop

Stephen Roach, the chief economist at investment banking giant Morgan Stanley, has a public reputation for being bearish. But you should hear what he’s saying in private. Roach met select groups of fund managers downtown last week, including a group at Fidelity. His prediction: America has no better than a 10 percent chance of avoiding economic “armageddon.” Press were not allowed into the meetings. But the Herald has obtained a copy of Roach’s presentation. A stunned source who was...

this entry’s page

Wednesday, 17 November 2004

What's Going on at Amazon?

I tend to use shopping carts at online stores as to-buy lists; if I'm interested in something, I'll hold it in a shopping cart and muse on it for a while.... Having someone use your site to save their shopping list is a gold mine; you get to see what they're interested in, and they tend to come back to you a whole lot more, because they've built up a lot of state.... Well, Later has apparently come and passed; I've finally made a choice about my next digital camera, and upon adding it to my shopping basket, discovered that -- wait for it -- the camera was the only thing in there.

this entry’s page (11 comments)

Friday, 5 November 2004

FYI

For some reason, people are considering a change, such as this one. Might I make another suggestion [pdf].

this entry’s page (3 comments)

Saturday, 16 October 2004

Partisan Hackery

I’m not the first to blog this by any means, but it’s notable enough to interrupt our regular… err… broadcast. Stop what you’re doing and see John Stewart take on Crossfire. A taste; STEWART: It’s not honest. What you do is not honest. What you do is partisan hackery. And I will tell you why I know it. CARLSON: You had John Kerry on your show and you sniff his throne and you’re accusing us of partisan hackery? STEWART:...

this entry’s page (2 comments)

Sunday, 10 October 2004

Why POST is Special

In a recent post, Don gave his take on the enlightening nature of WS-Transfer; Honestly, WS-Transfer has been in the oven for quite a while. It’s been interesting to see people’s reaction to it. Stage 1. What good is this? Stage 2. Ahh, the idea of uniform application protocols seems pretty useful. Stage 3. Wow, I can model my entire universe using less verbs/operations than I have fingers on one hand. Why would I ever author another WSDL portType?...

this entry’s page (11 comments)

Tuesday, 5 October 2004

A Foolish…

this entry’s page

Wednesday, 29 September 2004

Is there a Web Services Architecture?

As I'm sure many others were, I was intrigued to see that Microsoft published an Introduction to the Web Services Architecture the other week. Unlike their usual collaborative selves, they did this without any partners, co-authors or even acknowledgement to the outside world; it reads as if Web services is a beast that was bred purely within the gates of Redmond.

this entry’s page (3 comments)

Monday, 27 September 2004

The ‘Web’ in Web Services

I was very interested to see the reaction that people had to WS-Transfer over the last few days. While the SOAP Resource Representation Header had opprobrium heaped upon it (""), Transfer passed by with nothing more than a few nodding heads and people saying "aha." In my view, WS-Transfer deserves a lot more of that criticism; if anything, the Resource Representation Header tries to supplant MIME, not HTTP.

this entry’s page (2 comments)

Sunday, 19 September 2004

Back

If you're wondering where the promised travel stories from Melbourne got to, you'll have to wait a bit longer. Right after I got there, Anitra was bit by a spider (a supreme irony, really) and had to go to the emergency room, because all sorts of unpleasant things were happening.

this entry’s page (5 comments)

Wednesday, 8 September 2004

And now for something completely different: Roadblog!

I'm typing this from the Red Carpet Club in San Francisco International Airport, about to disembark on a snap vacation to Australia. By 'snap vacation,' I mean that I didn't have a gleam in my eye about this trip two weeks ago, but thanks to generous fares from United ($650 round trip!)... Anitra and Charlie are staying behind for this one; she couldn't get away from work, and will be going to Australia to hear some wedding bells (shhh, big secret) in January.

this entry’s page (1 comment)

Wednesday, 8 September 2004

HTTP Header Registries

An update to the Internet-Draft that provides initial values for the HTTP Header Message Registries is now available.

this entry’s page (2 comments)

Monday, 6 September 2004

Saving the Village with Wal-Mart

In BusinessWeek, Chris Kenton brings us a thoughtful piece about the Faustian bargains that localities are making in the name of progress; [A]t the end of the day, we are giving up a society in favor of an economy. When every decision — even decisions that cut to the core of our community — are dictated by the most immediate profit opportunity, it makes sense to tear down a city in order to build a mall. It makes sense...

this entry’s page

Thursday, 2 September 2004

Innocent Fraud

...I have learned that to be right and useful, one must accept a continuing divergence between approved belief -- what I have elsewhere called conventional wisdom -- and the reality. And in the end, not surprisingly, it is the reality that counts.-- John Kenneth Galbraith, "The Economics of Innocent Fraud"I'm just starting this book, but it's pretty thought-provoking so far.

this entry’s page

Thursday, 26 August 2004

HTTP Authentication and Forms

It's no secret that HTTP authentication isn't used as often as it should be.

this entry’s page (22 comments)

Wednesday, 25 August 2004

“It seems that the housing party is over”

Today’s Wall Street Journal has an article, “Hot Housing Market Simmers Down.” I can’t reference it directly because I’m not a subscriber, but it basically notes that, according to the Association of Realtors, existing single-family home sales declined 2.9% in July, while in California the housing inventory has increased to 3.3 months, surpassing three months for the first time since February 2003. Of course, the Realtors are trying to spin this like crazy (hint: just because “inventories are depleted” doesn’t...

this entry’s page (2 comments)

Saturday, 21 August 2004

sparta.py 0.5: RDF made easy

Version 0.5 of sparta.py is now available; with this release, it's roughly feature-complete.

this entry’s page (1 comment)

Thursday, 19 August 2004

On Jargon and Applicability

Alfred Marshall, who is credited with turning economics from a sideline to a proper discipline of its own, had this to say: (1) Use mathematics as a shorthand language, rather than as an engine of inquiry. (2) Keep to them till you have done.... (4) Then illustrate by examples that are important in real life.

this entry’s page (1 comment)

Sunday, 8 August 2004

Preliminary Experimentation Indicates...

Baileys Irish Cream (2 measures) Kahlúa (3 measures) Macadamia nut liquor, or dark rum (e.g., Myer’s) (1 measure) Coconut Milk (4 measures) Cream, or half and half (3 measures) Banana (1 whole) Ice (to suit) Blend; makes two very large or four normal servings....

this entry’s page (1 comment)

Sunday, 8 August 2004

Resistance is Futile

Bill points out the inevitability of the Pythonification of the world. I couldn’t agree more; if you listen to the whispers in the halls, all of the old objections are falling away, and people are taking a serious look at dynamically typed languages. Here’s a little tip; rather than gnashing your teeth holding onto the remnants of big, old statically-typed, clumsily compiled languages, instead of flirting with halfway measures and Johnny-come-lately languages, stick with the real thing. Most of the...

this entry’s page (16 comments)

Thursday, 5 August 2004

The ‘Document’ in Document-Oriented Messaging

(Another instalment in “XML Heresies.”) One of the foundations of most vendors’ approach to Web services is called document-oriented messaging. This is the notion that interoperability is improved by describing a protocol in terms of the artefacts that are exchanged on the wire, rather than how the code that handles them is written. As far as it goes, that’s good advice. Implementation-specific specifications lead to brittleness, because you can’t swap out the implementation; the message is too tightly coupled to...

this entry’s page (10 comments)

Thursday, 5 August 2004

ComputerSpeakerPhone

Oh LazyWeb, please give me software that lets me use my Powerbook as a Bluetooth speakerphone…...

this entry’s page

Monday, 2 August 2004

The Age Gets RSS Feeds

Melbourne’s The Age now has RSS feeds available — hooray! I’ve been scraping them and bugging the staff for a while, so it’s nice to see that Fairfax (now “Fairfax Digital” instead of “f2”… whatever) finally get it. Oh, and Sydneysiders apparently have feeds of its own; not that anyone really cares about what happens to that lot… These links were really hard to find, under their “mobile” section instead of “syndication,” and not linked off of the newspaper’s home...

this entry’s page

Saturday, 31 July 2004

The Whole Web in a Python Dictionary

A few days ago I blogged a straw-man API for client-side HTTP based on dictionaries. This turns out to be well-aligned with a project I’ve had on the back burner for a while; coming up with some Python APIs for HTTP that are usable, encourage good practice, and well-aligned with the specifications. So, a first prototype is now available, with three modules defined; http.message, which defines common constructs for HTTP messages and their payloads, http.status, which enumerates the defined HTTP...

this entry’s page (8 comments)

Friday, 30 July 2004

Corporate Citizenship

Apple is making an executive summary of the 9/11 commission report and the major speeches from the Democratic National Convention available for free on the iTunes Music Store. They deserve a lot of praise for this, and I hope they continue this practice. Dissemination of information through multiple channels is all the more important as Americans’ rights are eroded; Police officers in Louisiana no longer need a search or arrest warrant to conduct a brief search of your home or...

this entry’s page

Monday, 26 July 2004

Dictionary as API?

From the Daily Python URL comes another noteworthy API for XML; XMLFragment. I haven’t tried it yet (it doesn’t appear to be separately available, hint, hint), but I like the look of it. There are two interesting things going on here. First of all, XMLFragment basically gives up on modelling the complexity of XML in the language, instead punting to XPath. I think that’s a reasonable choice; it’s arguably more intuitive and simple than anything you could do with an...

this entry’s page (6 comments)

Sunday, 25 July 2004

A Monkey’s Lunch is…

Baileys Irish Cream Kahlúa Macadamia nut liquor, or dark rum (e.g., Myer’s) Coconut Juice Cream Banana Ice The labs will be working on the exact proportions; stay tuned....

this entry’s page (1 comment)

Sunday, 18 July 2004

Web-izing The Finder

Timbl has talked about Web-izing databases and languages; what about operating systems? Despite Microsoft’s legal troubles brought about trying to integrate the browser into Windows, it’s a good idea. Here’s one for the LazyWeb: create a Mac OS X Contextual Menu plug-in with a very simple function — “Copy URL.” When used on a file or folder that’s served by the built-in Web server (e.g., in /Library/WebServer/Documents/ or ~/Sites), it should place the appropriate HTTP URL on the clipboard. For...

this entry’s page (2 comments)

Saturday, 3 July 2004

Safari as HTML Editor?

Surfin’ Safari hints that the next version of WebCore will be able to edit as well as render HTML. Does this mean that we’ll soon see Safari sport an “edit” button along with HTTP PUT, a la Amaya? Even better would be full WebDAV with search, ACLs, locking, versioning, etc....

this entry’s page

Friday, 2 July 2004

Geopolitical Arbitrage

To develop a previous theme; As markets become more transparent and liquid, it becomes more easy to see opportunities for arbitrage. A wide-scale example of this (to stretch the definition of “arbitrage” a bit) can be seen if you consider the growing ease of moving between countries, and therefore taxation regimes, due in part to globalisation. In other words, free trade affects jobs not only by moving jobs, but also by moving people, and when people have a choice about...

this entry’s page (8 comments)

Thursday, 1 July 2004

Internet Mapping For the Little Guy

When Tim O’Reilly gave his keynote at eWorld this year, one of his major points was that Internet-based mapping (e.g., Yahoo maps, Mapquest) had failed to take off, despite their obvious utility, because they were walled gardens; unlike eBay and Amazon, they don’t integrate user data and third-party applications very well. For example, if I want to put maps of things on my Web site, I can only do what amounts to a cut-and-paste; I can’t layer in my own...

this entry’s page (2 comments)

Thursday, 1 July 2004

Come One, Come All

The W3C Workshop on Constraints and Capabilities for Web Services promises to be a quiet, calm, tightly-scoped discussion of a well-understood topic, lacking any controversy whatsoever. What else could possibly result from mixing up Web services and metadata? Make sure to bring well-defined use cases....

this entry’s page

Wednesday, 30 June 2004

More on the Housing Bubble^H^H^H^H^H^HMarket

HSBC has apparently been indiscreet enough to call it a bubble, but I can’t find the actual report (“The U.S. Housing Bubble — The case for a home-brewed hangover.”). Anyone have a link? Prices are 10 to 20 percent too high and can overshoot on the way down. […] We think the party stops by mid-2005. A series of rate hikes will cause a reassessment of likely future house price risks and its associated debt, thereby triggering housing’s fall. Morgan...

this entry’s page (1 comment)

Wednesday, 30 June 2004

SOAP: Protocol or Format?

Way back when the XML Protocol Working Group started kicking around, Henrik and I had a long-running, low-level “discusssion” about whether SOAP was a protocol or a format. Henrik won, and SOAP is known as a protocol* today (despite the fact that the ‘P’ no longer stands for anything). I’m wishing I’d fought just a bit harder to keep the distinction. What Makes SOAP A Protocol? Although people call SOAP a protocol, it’s really more of a protocol construction toolkit;...

this entry’s page (2 comments)

Monday, 28 June 2004

Social Security

If you work in the United States or intend to retire there, grab yourself a copy of today’s Wall Street Journal, which contains a special section that covers this topic with unusual lucidity....

this entry’s page

Wednesday, 23 June 2004

XML Language Bindings Done Right

John Schneider was in the office last week and gave me a demo of something he’s been working on for a while, E4X — by far one of the coolest technologies I’ve seen in some time. I think that every language is going to want one when they see this stuff. In a nutshell, E4X is a native XML binding for Javascript (sorry, ECMAScript); it makes XML a first-class datatype, rather than stuffing it into an object model. John explains...

this entry’s page (9 comments)

Wednesday, 16 June 2004

What?

Check out the Web Hypertext Application Technology Working Group; it looks like our last, best hope for extending the browser platform to grow the Web....

this entry’s page

Monday, 14 June 2004

Use Cases for Web Description Formats

One thing about Web description formats that hasn’t seen much discussion yet is how people intend to use them. The WSDL Working Group has a Usage Scenarios document and a Requirements document, but unfortunately they only talk about the kinds of Web services they want to describe, not how the descriptions themselves are to be used. So, here are the use cases for Web description formats that I’m aware of, along with examples and some of my conclusions (skip ahead...

this entry’s page

Saturday, 5 June 2004

Extreme URL Scraping and Debugging

Because Web sites often don’t make information available to us in the way we’d like, we have to bring the mountain to Mohammed and scrape screens. I’ve played around with this in the past with xpath2rss, a scraping tool that allows you to generate RSS feeds from HTML. Jon Udell has done likewise with his excellent LibraryLookup experiment (Jon, if you read this, please add Peninsula Library). In many cases, scraping the HTML is less than half the battle; the...

this entry’s page (5 comments)

Saturday, 5 June 2004

Send Wiki and Comment Spammers a Message

Netcraft reports that “Search Engine Optimisers” are unable to resist the siren call of spamming. Digging a little deeper, it turns out that this is part of a little contest between practitioners of that sordid profession. Apparently, the SEO who gets #1 for the phrase “nigritude ultramarine” on June 7 (and then again on July 7) wins. We’ve seen this before in comment spam, and now it’s turning up in Wikis. To add insult to the injuries of diluting the...

this entry’s page

Monday, 31 May 2004

Why I Won’t Be Buying a House in the Bay Area Soon

Benjamin Wallace-Wells’ “There Goes the Neighborhood” captures what many have been saying for a while now; it’s a bubble, a bubble, a bubble....

this entry’s page (1 comment)

Sunday, 30 May 2004

Ubiquitious Fragment Identifiers

Tim Bray is trying out “purple number signs” on his Web site to make fragment identifiers ubiquitous and easy to find. This site has something along similar lines, through this CSS: [id]:hover:after { content: " #" attr(id) " "; font-size: 50%; color: #ccc; text-decoration: none; } which means that everything with an id attribute gets its anchor advertised when you mouse over it; try the front page and the RSS tutorial for examples. I prefer this to the “purple” approach,...

this entry’s page (2 comments)

Friday, 28 May 2004

WebDAV Access Control Protocol

RFC 3744 has been published: This document specifies a set of methods, headers, message bodies, properties, and reports that define Access Control extensions to the WebDAV Distributed Authoring Protocol. This protocol permits a client to read and modify access control lists that instruct a server whether to allow or deny operations upon a resource (such as HyperText Transfer Protocol (HTTP) method invocations) by a given principal. A lightweight representation of principals as Web resources supports integration of a wide range...

this entry’s page

Friday, 28 May 2004

XML Infoset, RDF and Data Modelling

I’ve been talking with a few people about my previous assertion that the Infoset is a bad abstraction for data modelling, and my subsequent post about the informational properties of the Infoset. The feedback has been positive, especially regarding the notion that the Infoset offers great tools for document markup, but presents more problems than solutions when directly used in non-markup applications; i.e., those that are data-oriented. The best examples of the kind of unneeded complexity I’m talking about are...

this entry’s page (5 comments)

Friday, 28 May 2004

Rename with Date.applescript

Hey mac fans — I need to track changes in a lot of documents, so I’ve cobbled together a simple AppleScript that renames the Finder’s selected files with the date: Rename with Date. For example, The File.doc becomes The File (2004-05-28).doc based upon its last modification date. The script checks for naming clashes. I use it in ~/Library/Scripts/Applications/Finder; it should be easy to adapt it to a droplet or folder action as well, though. Enjoy!...

this entry’s page

Tuesday, 18 May 2004

The Syndication Sky is Falling!

A few people got together in NYC to talk about Atom going to the W3C this morning. One part of the minutes of this discussion raised my eyebrows a fair amount; sr: […] Lots of people are saying RSS won’t scale. Somebody is going to say I told you so. bw: Werner Vogels at Cornell has charted it out. We’re at the knee of the curve. I don’t think we have 2 years. sr: I have had major media people...

this entry’s page (6 comments)

Saturday, 15 May 2004

sparta.py 0.4: Data Binding for RDF in Python

After a short pause (OK, nearly three years), I’ve released version 0.4 of sparta.py. Sparta is a simple API for RDF that binds RDF nodes to Python objects and RDF arcs to attributes of those Python objects. As such, it can be considered a “data binding” from RDF to Python. For an example of its use, see spartaTest.py and its output. New in this Version This version is based on rdflib, which makes it much easier to install and simpler...

this entry’s page (4 comments)

Wednesday, 12 May 2004

Informational Properties of Infosets

Recently, I’ve been thinking about the influences that using the Infoset has on the information you place in it. To put it another way: if you work with XML at the Infoset level, what tools are you given to express information with? As an informational channel, the structures that XML gives you can express pretty much anything, of course, but they lend themselves to some things better than others. As such, using the Infoset encourages data to be moulded to...

this entry’s page (6 comments)

Tuesday, 11 May 2004

OxygenXML is Good Enough

I’ve been playing around with the new OxygenXML 4.0 plug-in for Eclipse M8. Overall, it's very good; much better than the competition, although a lot of the slickness can be attributed to Eclipse. While it isn’t everything I want in an XML editor (don’t get lazy, guys), it’s pretty close, and cross-platform licensing is a bonus, so I’m about to take the plunge, pay the fee and switch from BBEdit, at least for XML tasks. Hints to the Oxygen guys:...

this entry’s page (1 comment)

Friday, 7 May 2004

What is print.google.com?

It looks like Google is starting to index books and magazines; I came across this in a Google search I did today, but can’t find any reference to it on their public pages. I don’t think this is the same content that Amazon makes available on a9 (although there may be some sharing); the content I found was from a magazine, not a book. What’s the scoop? Sure looks like Google wants to have a finger in just about every...

this entry’s page

Friday, 7 May 2004

XopParser.py 0.2

To help inform discussion of XOP (and to save Sam the trouble ;), I’ve put together a quick-and-dirty (we’re talking two hours) XOP parser in Python. It isn’t particularly efficient, nor is it well-tested or robust; it’s only to demonstrate how a XOP parser might behave. On the command line, it can regurgitate XOP Packages as XML 1.0 serialisations of the Infoset; mnot-laptop:~/Desktop> ./XopParser.py -t <?xml version="1.0" encoding="iso-8859-1"?> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xop="http://www.w3.org/2003/12/xop/include" xmlns:xop-mime="http://www.w3.org/2003/12/xop/mime"> <soap:Body> <m:data xmlns:m="http://example.org/stuff"> <m:photo xop-mime:content-type="image/png"> Ly8gYmluYXJ5IG9jdGV0cyBmb3IgcG5nCg= </m:photo> <m:sig...

this entry’s page

Wednesday, 5 May 2004

iTunes

I’ve got to say that iTunes 4.5 is scary addictive. Usually, I have a problem in buying music, because by the time I get to the record shop, I forget what I want, and I’m confronted with rows and rows of albums and a lack of patience. The iTunes Music Store helped a little bit because it’s always there (as long as you’re online), but you’re still confronted with the sheer volume of potential selections. Now, in the newest rev,...

this entry’s page (3 comments)

Wednesday, 5 May 2004

Boo!

Without pointing fingers, some people have a bee in their collective bonnet about the dangers of allowing binary content to be represented in XML, care of XOP. Others are up in arms about re-inventing HTTP in SOAP, courtesy of the Representation Header. Both of these are products of the XML Protocol WG, of which I’m a member, so I’d like to share my viewpoint (which is not that of either my employer nor the working group, etc., ad nauseam). XOP...

this entry’s page (4 comments)

Monday, 3 May 2004

Go PATCH Go

It looks like the HTTP PATCH method proposal might be based on Delta Encoding, which is IMO one of the cooler and lesser-known HTTP technologies. I've heard of a few implementations of delta, including one by Patrick McManus a long time ago that I believe shows up in Navisite's DeltaEdge [pdf]. It’s a win-win; less spec work has to be done, implementations can take advantage of existing code if they have it, and it increases the exposure of Delta Encoding,...

this entry’s page

Sunday, 2 May 2004

Taxing Wages

I probably shouldn’t go around interpreting OECD statistics, as I’m not an economist (I just play one on the Web). However, the OECD’s Centre for Tax Policy and Administration has made some excerpts of its 2002/2003 edition of “Taxing Wages” available, and there’s some interesting reading therein. The Man Giveth, The Man Taketh Away Let’s start by comparing taxation and wages in developed countries. The average production worker in the United states will pay 16% of their gross wages in...

this entry’s page (12 comments)

Sunday, 2 May 2004

Economic Indicators from the Web

An idea for the LazyWeb: Purchasing Power Parity (PPP) is a measure of how much goods and services cost in different countries, irrespective of exchange rate; it’s a way to compare the true cost of living in different countries. The Economist popularised this concept with its Big Mac Index. Why not use the Web to get a faster and more fine-grained indicator? Cost comparison purposes like Froogle could be used to automatically index the cost of goods in different countries...

this entry’s page

Saturday, 1 May 2004

Stupid Compression Tricks

I’m watching a company called Riverbed with interest, because they just released a new product, “Steelhead”. In a nutshell, it’s IP datagram compression done with a shared, dynamic dictionary. That’s right, it has a disk on each end of the wire, and they keep copies of what goes by locally, so that they can send a hash or other nonce of it if they have a hit. They also do some optimisation of crappy protocols, but that’s the easy part....

this entry’s page

Tuesday, 27 April 2004

How do we use SOAP Headers?

Way back when in the XML Protocol Working Group, one of the concerns that came up was the processing model for SOAP headers. In particular, while SOAP 1.2 does a good job of specifying how that model operates, a key peice of information is missing; how to order the steps in processing a message. In other words, if you get a SOAP message that has headers to, say, encrypt a message, and also to apply an XSLT stylesheet, you have...

this entry’s page (3 comments)

Tuesday, 27 April 2004

Using WebDAV as a Description Format for REST

In the past, I’ve talked about reusing WSDL as a format for describing Web resources, as well as coming up with a bespoke format. One path that I’ve overlooked so far is reusing WebDAV to describe Web resources. The WebDAV protocol defines and allows you to describe the properties of a Web resource; e.g., the last-modified time is such a property, and so is the fact that it requires authentication. WebDAV also defines a way to get a representation of...

this entry’s page (6 comments)

Tuesday, 27 April 2004

Understanding Arnie

I think I'm starting to sympathise with Our Great Governor in California; the state senate has passed a bill banning the production or sale of foie gras. That's right, when they're not telling us what's good for us on the Internet, they're telling us what to eat. *sigh* On a related note (maybe we can stop antics like this), I'm thinking more about using technology to open government. Ironically, you come across some of the least usable content when trying...

this entry’s page (1 comment)

Monday, 26 April 2004

Typography Out of the Box

Don Box: As for OpenOffice’s lame typography support, have you tried Microsoft Office 2003. I still have ~$200 left of quota over at the company store… Hmm. In OSX, It’s built-in; no need for apps to fiddle with typography; it’s all there (my favourite: the Typography palette, especially ligature control), in every Cocoa app, from Text Editor on up. To see it in a full, Word-compatible word processor, see the excellent Nisus Writer Express. If you want to play, I...

this entry’s page

Saturday, 24 April 2004

Madonna Dead

This is why heuristics aren't such a hot idea. UPDATE: For those wondering what this is about, the original version of this article had a picture of Madonna, the actor/singer/etc., and links for more information about her, not the famed Madonna Inn. Yahoo has since fixed it (showing that there is a human somewhere at the helm)....

this entry’s page

Tuesday, 20 April 2004

Sean’s Words of Wisdom

Sean McGrath always has carefully considered positions, and he hits it out of the ballpark with this one. A few thoughts; Eventually though, to fully realise RESTian SOA we need to get linguistic determinism working for us, not against us. To do that, we need to bake key SOA distributed computing concepts right into the language. Surely you mean that we should bake in REST, no? In the case of the all important concept of dynamic typing, this means we...

this entry’s page (1 comment)

Monday, 19 April 2004

Asynchrony: There Is No Spoon

One of the things that people find compelling about Web services is its promise of asynchrony. “HTTP is only request/response, and therefore synchronous; it’s terrible for long-lived business processes, where the server needs to contact the client at some arbitrary time in the future” they say. A single HTTP request/response is indeed synchronous, so that that level this argument holds. In the common case, one party (the server) can’t send messages to the other (the client) without receiving a corresponding...

this entry’s page (1 comment)

Friday, 16 April 2004

Describing Generative Identifiers in WSDL

To use WSDL to describe RESTful interactions, you need some way of accommodating generative resource identifiers. In a nutshell, this means some part of the URI is dynamic. For example, with HTTP I might describe an address book where someone named “Jones” has a corresponding entry URI; http://www.example.org/people/Jones When describing the overall interface on offer, it’s not that interesting to talk about this particular resource; rather, you want to describe the interface provided for all people. To do this, you...

this entry’s page

Thursday, 15 April 2004

Five Favourite Protocol Design Papers

Lots of papers come and go over the years; take a look at any tech conference, online bibliographies (even subject-specific ones; Webbib is a favourite), and you’ll be inundated. However, a few rise above the rest (no pun intended) and have real staying power; invariably, they’re about good, principled design, usually with the benefit of hard experience. I admit a bias towards those about the Web and HTTP, but considering its success, I think it’s something other protocols could emulate....

this entry’s page (4 comments)

Wednesday, 14 April 2004

A(nother) Description Format for REST

I’ve talked before about describing RESTful Web resources, going as far as prototyping a new format. That work was predicated on the assumption that WSDL wasn’t adequate. However, Dave Orchard has been looking at this in the WSDL WG, and recently challenged me to think about it again. I’m becoming convinced that it would be workable. To give an example (using my usual yardstick, an online address book); <portType name="AddressBookEntry"> <operation name="getHTML" web:Method="GET"> <output message="tns:AddressBookEntryDocument" wsa:Action="urn:ietf:params:mediatype:text/html"/> </operation> <operation name="getVCard" web:Method="GET">...

this entry’s page (5 comments)

Tuesday, 13 April 2004

More Software that Everybody Should Download

Spike is a networked clipboard that allows you to easily share text, pictures and other interesting things with others near and far. The nice part is that a) it uses ZeroConf (a.k.a. Rendezvous) and b) it’s cross-platform (Windows and Mac). This is deeply cool; I have a feeling that it will be invaluable at those meetings where everybody hands little USB memory dongles around, or scrambles to find each other on IM. Now, how about a cross-platform, ZeroConf chat application...

this entry’s page

Tuesday, 13 April 2004

GMail

People of Fremont, you might want to consider your voting choices a little more carefully. Liz Figueroa (your senator) has decided that Google’s GMail is “like having a massive billboard in the middle of your home,” and therefore wants to outlaw it. Liz, try to think before you open your mouth. Billboards create an eyesore; if you’re driving down a highway (a public good), you have no choice but to be confronted with a billboard beside it. They can be...

this entry’s page (2 comments)

Monday, 12 April 2004

Leading from Afar, or Out of Touch?

From the Washington Post: This is Bush’s 33rd visit to his ranch since becoming president. He has spent all or part of 233 days on his Texas ranch since taking office, according to a tally by CBS News. Adding his 78 visits to Camp David and his five visits to Kennebunkport, Maine, Bush has spent all or part of 500 days in office at one of his three retreats, or more than 40 percent of his presidency. I guess I...

this entry’s page (4 comments)

Friday, 9 April 2004

Elegance in Integration

Elegance in integration is multiplicity — solving one problem in ways that aid another. Elegance is optimization. Elegance is assembly — an apparatus readily put together and taken apart. Elegance is tolerance-ordering, where tolerance means uncertainty in some manufacturing operations. Elegance is simplification. As engineering designs evolve, they gain false sophistication — empty but seductive ingenuities. Ruthlessly, agonizingly, these must be stripped away. Elegance, finally, is work-arounds — minimizing the risks, endemic to all [projects], of… failures or costly delays...

this entry’s page

Friday, 9 April 2004

xml:id is Coming

This is a good idea for so many reasons. The media type registration will have to be changed to take advantage of it, but I believe that RFC3023 is under review anyway....

this entry’s page

Thursday, 1 April 2004

The Market for AdWords

Google’s AdWords program allows advertisers to target their dollars at specific words; for example, I can say that I want to buy advertising on search results when the terms are “elephant cookie.” This is cool, because it creates a market for Web advertising that’s very liquid, because of Google’s size, the low barrier of entry to the service, and its ease of use. However, it isn’t a transparent market, because buyers and sellers can’t see each others’ offers; instead, Google...

this entry’s page (1 comment)

Monday, 29 March 2004

Python Just Got a Whole Lot Cooler

OK, so I know they’ve been around for a while, but I haven’t really got into Python’s metaclasses until just now, because I’ve been… well… busy. This excellent presentation about them from the most recent PyCon woke me up to what they could do — which is just about anything. One of the goals is making more information in Python declarative. To me, this means things similar to (but more elegant than) JSR175; the only thing we’re missing now is...

this entry’s page

Monday, 29 March 2004

Behind the Scenes at Your (very) Local Music Store

Aaron Swartz has started to document the iTunes Music Store; this is a good example of a non-browser, cross-platform application reusing HTTP. It would be interesting to see the interface documented on a per-URI basis. Now, if they’d just allow some offline capability…...

this entry’s page

Sunday, 28 March 2004

Growing the Web

Ian Hickson is thinking about client-side technologies (scroll down a bit). Some of his ideas resonated; Sortable tree views and list views with rich formatting. Do a search on eBay, and you’ll find you have to hit the server whenever you want to change the sort order. That shouldn’t be necessary. +1; after reading Adam’s thoughts on client-side stuff, I played around with the idea of annotating HTML tables to allow them to be sorted by a particular column or...

this entry’s page (2 comments)

Tuesday, 23 March 2004

XGrid and BEEP

I just stumbled across Apple’s new preview of XGrid, their ad hoc clustering technology. It’s got lots of cool features, like discovery via Rendezvous (aka ZeroConf), a job control dashboard, and a bioinformatics demo app. This will be invaluable in making Windows users even more jealous (if Expose isn’t enough), both at work and at conferences; based on the number of Apple logos I see around the office and in places like the W3C Tech Plenary, we should be able...

this entry’s page

Monday, 22 March 2004

Thoughts on a Suburban Nation

Interested in living in actual communities, rather than subdivisions or “pods”? Tired of spending most of your life in a car? I’ve been getting a lot of books from the library recently, and one of my recent reads was Suburban Nation. I’ve got to say that it’s one of the best non-fiction books I’ve ever read; every page resonates as it explains what’s so wrong with American sprawl, planning and development, with clear illustrations. As a direct result, I’ve become...

this entry’s page (2 comments)

Wednesday, 17 March 2004

Outage in the Web: Server Configuration

In an otherwise excellent article, Jon Udell blames the lack of one-click subscribe in syndication formats on lack of vision; How users will interact with the formats and APIs is left as an exercise for the implementer. But of course that’s where the rubber meets the road. So syndication still lacks a well-known mechanism for one-click subscribe. In fact, there’s a clear path to one-click subscribe in syndication. Here’s how: If every syndication format were served with a well-known media...

this entry’s page (11 comments)

Wednesday, 10 March 2004

Google Spam Redux

Someone calling themselves Scott Wiseman has started sending messages to the HTTP-WG mailing list. Although anyone has a right to make on-topic posts to the list, Scott is stretching it; each of his posts responds to someone else’s in a trivial fashion (e.g., “That is so deep”), and includes a lengthy signature containing a variety of URLs for sites he’s presumably promoting (I won’t reproduce the mail here, lest I encourage them). This is an excellent way to up your...

this entry’s page (2 comments)

Sunday, 7 March 2004

The Problem With Infosets

An interesting issue poked its head up at the W3C Technical Plenary last week. XML Protocol (known as SOAP to mere mortals) is defined in terms of XML Infosets — it describes how to move Infosets around and process them, as the basis of Web services. Now, the working group could have chosen to describe SOAP in terms of XML 1.0 angle brackets, but the Infoset provides a nice abstraction; instead of saying “a QName followed by the equals character,...

this entry’s page (3 comments)

Friday, 5 March 2004

The Powerbook is Dead; Long Live the Powerbook

I’ve just got back from a two-week business trip, during which my 15” Titanium Powerbook showed increasing signs of shaking off this mortal coil. Specifically, the bottom 1/3 of the screen kept on flickering white. At first, I was able to tap the screen to make it better, but as time went on, tapping became hitting, and by the end, it was unresponsive. Considering the work this machine has done, I’m not terribly displeased. On the downside, I wasn’t able...

this entry’s page (1 comment)

Monday, 1 March 2004

Atom Theme Song?

This just popped up on the iTunes “new releases” list. I think we’re going to see some Atom-related products called “Tomato.”...

this entry’s page (3 comments)

Sunday, 15 February 2004

Caching Tutorial Update

I’ve published a revision of the Caching Tutorial for Web Authors and Webmasters, the first non-trivial edit in some time almost since I wrote it in 1998. That said, there aren’t any substantial changes; this is mostly tweaking and incorporation of new information. The bigger modifications include: - Replacing “Object” with “Representation” as appropriate - New information on Gateway Caches and Content Delivery Networks - Incorporation of various corrections and additional information received - Creative Commons licensing I’m sure there...

this entry’s page

Sunday, 15 February 2004

A Strategy for Atom Migration

One of the problems facing the syndication community as a whole is the number of formats that have been minted. This a particular concern for Atom as the newcomer; a common argument against it is that RSS content will never go away, so it’s just adding to this problem. Somebody has probably come up with this already, but it strikes me that this might be mitigated if there were simple extensions for each format that advertised the availability of the...

this entry’s page (1 comment)

Sunday, 15 February 2004

Economic Approaches to Spam

SPF is getting a lot of attention, but it’s got some pretty fundamental limitations, as well as some shorter-term practical problems. What else is there? An approach that makes sense is to acknowledge that spam is in the eye of the beholder; rather than finding technical ways to identify unsolicited mail, just charge spammers when you don’t want their mail; economics takes care of the rest. The Economist discusses this type of approach in its latest edition (subscription required). In...

this entry’s page

Saturday, 14 February 2004

Redefining the Ability to Pay

I know little about the politics or economy of Canada, but a proposal by Tony Clement (Conservative) is interesting. Mike Moffatt explains; The innovative “JumpStart” program he’s proposed would tie the income tax rate that someone pays to their lifetime earnings. A person, let’s call him “Mike”, who has just entered the workforce is likely to have very little savings. If JumpStart were enacted, Mike would not pay any income taxes until he reaches $250,000 of lifetime earnings. This would...

this entry’s page

Saturday, 14 February 2004

Krugman on Bush

Paul Krugman points out continuing efforts to shore up George Bush, the Myth; By my count, this year’s budget contains 27 glossy photos of Mr. Bush. We see the president in front of a giant American flag, in front of the Washington Monument, comforting an elderly woman in a wheelchair, helping a small child with his reading assignment, building a trail through the wilderness and, of course, eating turkey with the troops in Iraq[…] It was not ever thus. Bill...

this entry’s page (3 comments)

Saturday, 14 February 2004

XOP and MTOM

The XML Protocol Working Group (of which I’m a member) has released a first draft of XOP, XML-binary Optimised Packaging, and a revised draft of MTOM, the Message Transmission Optimisation Mechanism, that leverages XOP. In a nutshell, XOP is an alternate serialisation of XML that just happens to look like a MIME multipart/related package, with an XML document as the root part. That root part is very similar to the XML serialisation of the document, except that base64-encoded data is...

this entry’s page (3 comments)

Tuesday, 10 February 2004

RSS.py, version 0.45

This minor revision fixes the “admin” namespace’s URI to agree with the feed validator and pretty much all other implementations. From the docs; This library provides tools for working with RSS feeds as data structures. The core is an RSS parser capable of understanding most RSS formats, and a serializer that produces RSS1.0. The RSS channel itself can be represented as any arbitrary data structure; two such structures are provided both as examples and to service common usage. This approach...

this entry’s page (1 comment)

Monday, 9 February 2004

Video Chat — It’s Here

We’ve been playing with iChat AV, and I’ve got to say that it puts video chat in the same class as E-Mail and Web; killer app. This isn’t video chat like you’re used to; it’s fluid, has good resolution, and is easy to use (as long as the firewalls aren’t too picky, that is). With distributed family (US East coast and Australia) and work (pretty much everywhere), it makes a huge difference; this is what the pundits and hype a...

this entry’s page (2 comments)

Monday, 9 February 2004

Irony Defined

In the same week that Melbourne is yet again called the most liveable city in the world (a regular occurrence), John Howard, the Prime Minister of Australia, has negotiated a free-trade agreement that allows US businesses to invest as if it were just another state in the union. The effects will be felt widely and for a long time; Australia has been moving more towards the States every year, and not in a good way. In combination with the effects...

this entry’s page (5 comments)

Sunday, 8 February 2004

Delusions of Churchill

George Bush on why he should be re-elected: “I’m a war president. I make decisions here in the Oval Office in foreign policy matters with war on my mind.” Well, I’ll sleep better at night....

this entry’s page (2 comments)

Saturday, 7 February 2004

Messages vs. Files

Jon Udell is thinking about the benefits of data being globally available, rather than localised to a machine. I’m in complete agreement; in the last two years, I’ve used Linux, Windows and Mac OSX on the desktop, leading me to be ruthless about data portability. However, I’m not sure how this leads him to this conclusion; A general solution would require OSs that work like Groove, and applications that send messages rather than write files. Why do messages — which...

this entry’s page (1 comment)

Saturday, 7 February 2004

XPointer: Friend or Foe?

One of the uglier corners in the Web architecture is the relationship between fragment ids (the bit of the URI at the end, after the “#”) and content negotiation. In a nutshell, because dereferencing a single URI can return multiple formats, and because the fragID is interpreted by the client based on the format, it’s possible to have a fragID mean wildly different things across representations of a single resource. For example, consider this URI: http://www.example.org/news#fire If both XHTML and...

this entry’s page (2 comments)

Friday, 6 February 2004

Caltrain Scheduling Changes (and other thoughts on Public Transport policy)

Caltrain has proposed a set of schedules that re-introduce weekend services and tweak a number of trains’ timings and stops, to enable “bullet” service. These changes are honest attempts to improve service; after all, faster is better, right? The problem is that Caltrain is confusing the purpose of a public transport system with a regional transport system. The new schedules favour fast trains between San Jose and San Francisco, with few stops. To effect that, as well as improve other...

this entry’s page

Wednesday, 4 February 2004

Singing the Brief

I’m so sick of watching presidential candidates confidently telling news anchors that they’re doing well in the race, and explaining how well their ideas are going across. Where are the ideas? Instead of telling me why I should vote for them, the current crop’s strategy seems to be to convince me that everybody else is voting for them. In advertising, this is known as singing the brief; rather than doing the hard work of convincing me that a product is...

this entry’s page (2 comments)

Tuesday, 3 February 2004

What is NetKernel?

Just got some mail regarding the Cacheability Engine which led me to NetKernel; NetKernel is a Java-based virtual REST operating system for internet applications. NetKernel is a scalable microkernel which implements a modular REST abstraction in which all software components are URI addressable REST-services. Very interesting stuff; it’ll be instructive for many to be able to compare REST and SOA for the purposes of integration, etc. at something other than a theoretical level; while it’s been possible for quite some...

this entry’s page

Thursday, 29 January 2004

Anybody in the house know Latvian?

I found a link in the referrers to a Latvian blog where they’re discussing a previous entry here. Can anyone offer a translation? Google and Babelfish don’t do Latvian (something I’m sure Google, at least, will soon correct, with their forthcoming influx of cash). I’ve always wanted to go to the Baltic in winter… closest I’ve been to Latvia is Estonia in the midnight sun....

this entry’s page (2 comments)

Thursday, 29 January 2004

Orkut

I have to confess to being a bit underwhelmed by Orkut after all the hype; it feels like just YASN. I’m not complaining — it’s cool, and until I write my own social networking software, I don’t have the right ;) — but it isn’t everything that such a beast could be, and I don't think it would take that much to get it there. To me, the biggest shortcoming is that, like so many other online services, it locks...

this entry’s page

Wednesday, 28 January 2004

Can we stop it with the orange XML buttons already?

It’s like having a “get your ASCII here” button; completely meaningless. There are literally thousands of XML formats out there, so you’re not really being helpful by labelling it as such (the */xml media types have similar problems). If you want to advertise that you have an RSS feed available, call it RSS; it’s not that hard. And do us all a favour; put it at the top of the page so it’s easy to find. Orange is fine. (Feeling...

this entry’s page (2 comments)

Sunday, 25 January 2004

Legal Implications of Feedback on Weblogs

As alluded to before, you’re taking on legal risk when you allow people to say things to you. Yes, this is crazy, but hey, it’s the US legal system. Go figure. For Weblogs, this means copyright on comments. Specifically, if you reproduce something that someone else has created without a license from them, you open yourself to copyright violation lawsuits. Now, sane people know that comments are meant to be reproduced, and I’d be willing to bet reasonably large amounts...

this entry’s page (2 comments)

Saturday, 24 January 2004

Rebates and Privacy

Last weekend, I bought a Pioneer DVR-A06U DVD/CD Writer from Fry’s, for about $120, after a $30 manufacturer’s rebate. This weekend, I started filling out the rebate paperwork. All of the standard stuff is there; UPC (original, not copy), receipt (copy, not original), name, address, e-mail, etc. However, there’s one that I haven’t encountered before; they require a serial number, and stress the importance of getting it right; The correct serial number is required to be eligible for rebate… Fraudulent...

this entry’s page

Thursday, 22 January 2004

iTMS does RSS

This is the way syndication should be; user-customisable and aligned with the Web view of the resources it talks about. Cool. I’ve updated the RSS Tutorial to point to this as a shining example; it’s what all RSS feeds should look like. (Yes, I know that this link is “so this morning.” I’m falling behind…)...

this entry’s page (1 comment)

Thursday, 22 January 2004

©

Over the past month or two, I’ve been noticing a little link on larger news organizations’ Web articles, such as that of the New York Times and Christian Science Monitor. Note the “Reprints and Permissions” link. When you follow it, it takes you to RightsLink, by the Copyright Clearance Center, and it offers you a variety of ways to license the article. When I first saw this, I was somewhat pleased; it showed that these companies were making a...

this entry’s page

Wednesday, 21 January 2004

RESTful SPAM?

Just got this: Subject: DELETE to stay in debt, OPEN to become debt free. Non Profit Debt Elimination So close.. if they'd just said GET instead of OPEN......

this entry’s page

Tuesday, 13 January 2004

Papa Leave

This week’s Economist has an interesting article about parental leave in Sweden (alas, the Web version requires a subscription), a long-standing and generous benefit; they can take up to 13 months of leave, paid at 80%. Furthermore, it’s possible to divide this time between both parents, and it can be taken until the child is eight. In combination with the Swedes’ excellent child and health care options, this provides a good foundation for a society; if nothing else, The Economist...

this entry’s page

Monday, 12 January 2004

Decentralised Registration

Wouldn’t it be great if, whenever a business, government organization or just the guy down the block came up with a new format for their documents, they could easily get a media type, so that the format would be a first-class citizen on the Web? Of course, they already can, but the hassles that you have to go through to get into the centralised registry dissuade most people from doing so. It used to be that this high bar was...

this entry’s page (2 comments)

Monday, 12 January 2004

XQuery on the Web

There’s a lot of interest out there about exposing XQuery 1.0 / XPath 1.0 / XPath 2.0 in Web interfaces. On the face of it, this is quite a compelling idea; it allows you to reuse a generic query mechanism (goodness) to access arbitrary data based on the client’s needs (more goodness) and only the bits of data that you want go across the wire (yet more goodness). However, as many have noted, there’s a security problem; if you let...

this entry’s page

Monday, 12 January 2004

Jeffrey Record

From the Washington Post: The Army War College has published a paper questioning the scope and approach to the war on terror. Record’s core criticism is that the administration is biting off more than it can chew. He likens the scale of U.S. ambitions in the war on terrorism to Adolf Hitler’s overreach in World War II. “A cardinal rule of strategy is to keep your enemies to a manageable number,” he writes. “The Germans were defeated in two world...

this entry’s page (2 comments)

Sunday, 11 January 2004

Paul O’Neill

Well, this should liven things up… “These people are nasty and they have a long memory,” [O’Neill] tells Suskind. But he also believes that by speaking out even in the face of inevitable White House wrath, he can demonstrate loyalty to something he prizes: the truth. “Loyalty to a person and whatever they say or do, that’s the opposite of real loyalty, which is loyalty based on inquiry, and telling someone what you really think and feel—your best estimation of...

this entry’s page (2 comments)

Thursday, 8 January 2004

Officially Unofficial

Rod Chavez has posted an article about running BEA WebLogic Server 8.1 on OSX to O’Reilly. It’s really, really cool that this works, and I’ve had the entire platform (including Workshop) running on my TiBook happily for several months, thanks to Sam’s efforts. One thing I’d dispute — in the comments, someone says It’s good to see that there are at least a few people within BEA with an eye on Mac OS X, as “unofficial” as it may be...

this entry’s page

Wednesday, 7 January 2004

Cheap Eats

What a steal. If you live near San Francisco, or are visiting this month, make sure you check out Dine About Town — three-course, chef-selected prix fixe menus at over a hundred restaurants, $19.95 for lunch, $29.95 for dinner, all through January. When else can you get a meal somewhere like Boulevard, Bix, Betelnut or Bacar so cheaply (and that’s just the B’s on my list)? Reservations required; just don’t steal my seat… (The SF Visitor and Convention Bureau has...

this entry’s page

Wednesday, 7 January 2004

Traffic

Anitra is trying to beat a head of traffic that's built up behind an accident upstream; was able to check on the excellent SF Bay area real-time traffic map. I used one of these when I first moved to the Bay area, but it went away; Google found us another one. (When I checked the computer post-first-coffee today, the screen was glitching strangely; uh-oh. Looked like a hardware problem. Sync filesystems to the server (gotta love Unison), reboot. Hasn’t reappeared....

this entry’s page

Tuesday, 6 January 2004

More blogs

Welcome to the jungle, David Orchard, Chris Ferris and Tom Glover (Tom, we need RSS, OK?). (Yes, I know what song you can’t get out of your head now… get your fix here.)...

this entry’s page

Saturday, 3 January 2004

Extensibility and Interoperability

In his blog, Sean McGrath wonders about two potentially competing faces of standards; extensibility and interoperability. If “compliance” to X is open-ended via an extensiblity mechanism, then “X-compliant” means very little when it comes to interoperability. This is the constant struggle of interop, how not to stifle innovation and yet avoid babelization? Good question. Interop is what everyone looks for in a standard; it’s the whole reason that companies spend so much money and time talking to each other in...

this entry’s page

Saturday, 3 January 2004

Mail.app and X-Faces

Mail already shows you a little picture of someone when they’re in your address book. Why doesn’t it send and display X-Faces? Can somebody write a plugin to do this? (It also doesn’t display pictures in the LDAP server that I connect to at work, but that could just be its screwy, site-specific schema that Mail and Address book wouldn’t know about. Hmm, maybe those RDF people are onto something after all…) UPDATE: MailPictures does this, as well as sending...

this entry’s page (1 comment)

Tuesday, 30 December 2003

The Semantic Web’s Dirty Little Secret

Browse through the W3C Semantic Web pages and you’ll see this notice in a few different forms: Additional support for this activity has been provided by DARPA under the DAML program. Dig a bit further on the DAML site, and you’ll find that it’s more specifically sponsored by the “Information Exploitation Office,” a part of the US military with a mission that includes; Develop[ment of] sensor and information system technology and systems with application to battle space awareness, targeting, command...

this entry’s page (5 comments)

Monday, 29 December 2003

Comment Spam and Google

Hyperlinks have been disallowed in comment bodies on this blog for a while now, and I've just removed the link associated with comment authors as well. This is based on the assumption that the lion's share of comment spam is coming from people who want a link to their site for the benefit of their Google PageRank. That's fine for the time being, but it seems a bit drastic; links are the primary reason that the Web works; Google is...

this entry’s page (11 comments)

Sunday, 28 December 2003

What I want in a digital camera

Before all of this “Web” stuff came along, I was a photographer; I designed an… unusual university program that had me study fine art photography, photojournalism, aesthetics and the physics of light. After that, I spent a little time doing newspaper and studio work before realising that I wanted to do something else (long story here; buy me a beer). Since then, I haven’t picked up my traditional cameras (two black Nikon FM2ns with an assortment of fixed-aperture lenses, a...

this entry’s page

Saturday, 27 December 2003

Next trip: Molvania

Inger put me onto a new travel guide, and I’m already planning the trip. Molvania (“A land untouched by modern dentistry”) looks like a really interesting country. For example; Molvania’s national anthem was chosen in 1987 as part of a competition, with the winning entry coming from an elderly local composer V. J. Rzebren. It is sung to the tune of ‘Oh What a Feeling’ from Flashdance, with the third verse generally considered optional, as it is in contravention of...

this entry’s page (7 comments)

Friday, 26 December 2003

What’s after Red Hat?

Shortly after I moved to Melbourne in 1995, I set up a Red Hat Linux box in a little corner of our apartment on Flinders Lane. Shortly after that, the box was connected to the Internet via a 33.6k permanent dial-up connection with a static IP address, and it became mnot.cyber.com.au, later mnot.net. The box behind that address went through several other changes; in location (among a few other apartments in Melbourne’s CBD and later to Potrero Hill in San...

this entry’s page (7 comments)

Friday, 26 December 2003

Travel Notes: Vienna, Venice, Bolzano

We’ve lived in California for more than four years now, and Anitra grew up in Melbourne, with the result that she first saw snow falling from the sky when she was 25. When we had an opportunity to take a week’s holiday right before Christmas, we decided against somewhere sunny; why more of the same? Instead, we booked some tickets to Washington (so as to drop off the kid), then to Munich, and spent some serious time researching our advent travel opportunities, with the help of the Die Bahn Travel Planner, a couple of DK guides, and Google. Here are my notes from planning the trip, as well as my thoughts on what’s good if you go. See also the pictures.

this entry’s page (16 comments)

Monday, 15 December 2003

Cool OS X Software roundup

Small apps that make my life much, much easier: Kung-Log — Weblog writing and management, off-line (thanks, John) Shrook — RSS reader extraordinary Address Book — Yes, it comes with the OS, but I don’t think most people appreciate just how cool this app is OmniOutliner — Great if you make lists, nifty XML output and columns capability (try this instead of Stickies) OmniGraffle — If people ever find out about this, Visio’s days are numbered Romeo — Control your...

this entry’s page (7 comments)

Saturday, 13 December 2003

For those who've had kids recently.

Anitra turned me on to what happened to Steve from Blue’s Clues. As he would say, “Cool!”...

this entry’s page

Friday, 12 December 2003

Now I remember why I switched...

The other day, I bought a copy of an extremely nifty piece of software, Virtual PC. It didn’t come with an OS, but that’s OK, because I have a copy of WinXP Pro on a box that I’m not using, so I can move it over to the mac (after appropriate decommissioning, etc.). Upon booting into XP and doing “Windows Update,” I get something like 16 “critical updates.” Fine; I knew that this was coming. Problem is, I then get...

this entry’s page

Friday, 12 December 2003

Notes on Atom

As you may know, I’m editing the Atom format draft in my copious spare time, but not actively participating in the community (I am watching, but I don’t have the time to really dig in). I think this is healthy, because it forces me to concentrate on the quality and clarity of the specification; so many efforts come up with unreadable (and therefore unimplementable, unless you were at the table) specifications because you “had to be there” to understand what...

this entry’s page (7 comments)

Thursday, 11 December 2003

Tim and Sam talk about offline content

Tim Bray's latest missive contains a passage about offline RSS; But, pointed out Sam, think of it as a synchronization/offline problem. If I stick the whole essay in the feed, then someone can read it even when they're offline, because their RSS reader will have pulled it in. That's true, but why can't anyone write an aggregator with a "fetch this feed's content for offline use" option? That's the best of both worlds......

this entry’s page

Wednesday, 10 December 2003

Oh, for shame, Apple, for shame.

mnot-laptop:~> uname -a Darwin localhost.local 7.0.0 Darwin Kernel Version 7.0.0: Wed Sep 24 15:48:39 PDT 2003; root:xnu/xnu-517.obj~1/RELEASE_PPC Power Macintosh powerpc mnot-laptop:~> echo "<a href='/'>test</a>" > ~/Sites/test.txt mnot-laptop:~> chmod a+r ~/Sites/test.txt mnot-laptop:~> curl -is http://localhost/~mnot/test.txt | grep Content-Type Content-Type: text/plain mnot-laptop:~> open http://localhost/~mnot/test.txt Please get a clue, Apple....

this entry’s page (3 comments)

Tuesday, 9 December 2003

Python for the CLR

IronPython is an implementation of Python for the CLR with some intriguing initial perf numbers. [ via Jeremy Hylton’s Weblog ] Shame I don’t have a Windows box where I could play with this… I got Virtual PC last week, but it’s too painfully slow to be usable....

this entry’s page (1 comment)

Monday, 8 December 2003

Why Do Web Server APIs Suck So Much?

HTTP provides considerable benefits to Web applications that take advantage of it; everything from scalability (through caching), client-integrated authentication, automated redirection, multiple format support and lots more. I’ve been drafting some entries about how cool all of these things are; I’m going to try to get a few up in the coming weeks. As I’ve been writing, however, I’ve noticed a common thread — just about every one of them is difficult to realise using existing server-side technology. Web Metadata...

this entry’s page (13 comments)

Monday, 8 December 2003

Perspective Enhancement

The BBC NEWS | Science/Nature | UN warns of population surge" href="http://news.bbc.co.uk/2/hi/science/nature/3302497.stm">BBC reports that the UN is a bit concerned about population growth. Pretty much everybody knows this, I’m sure, but the degree of their concern is a bit of a shocker; The United Nations has published new predictions on the size and age of the world’s population 300 years from now. It says that if fertility stays at the current level, the global population could rise to 134 trillion....

this entry’s page

Sunday, 7 December 2003

A Description Format for REST

Adam asks if there’s a description format for REST. I don’t know of any that have wide acceptance (and I think the hard-core RESTafarians will answer “REST is self-describing, that’s the point” ;) but I have been noodling on something for my own purposes. So far, I have a sample XML file that describes the RESTLog API (with some modifications to make it more interesting), as well as a stylesheet to do code generation for Tarawa (which is also still...

this entry’s page (3 comments)

Sunday, 7 December 2003

The New RDF

I spent a little time on the plane the other day reading the latest WD of the RDF Primer. I didn’t attempt to review the entire document set, as reading a 71 page primer is quite enough! I haven’t followed RDF for quite some time; I’ve been busy with other things, and haven’t had a direct requirement to be familiar with the technology, so my concept of RDF was, until I started reading this, circa 2001. So far I’ve only...

this entry’s page (1 comment)

Saturday, 6 December 2003

QNames are Evil

How's this analogy: Putting QNames into your XML content is like using TCP packets as delimiters in an application protocol. Both can be technically done, but they force an awareness of the special problems they bring up in software layers and intermediaries that could otherwise function in a generic fashion. Anybody got a better one?...

this entry’s page (3 comments)

Wednesday, 26 November 2003

Hoping for Better XML Editors

I’m getting a few requests for clarification and additional information from 3rd party vendors regarding my previous rant on XML editing. With any luck, XML editing will get much more interesting soon…...

this entry’s page (2 comments)

Sunday, 9 November 2003

housekeeping

I've done some adjustment to this Web log; you may or may not notice the differences. Most of is is cosmetic and tightening up of the templates, but I've also changed the URI layout (thanks, Mark), and as a result RSS aggregators may act strangely before they settle down. Or not; mine, Shrook - a very fine aggregator for OSX indeed - doesn't get tripped up. P.S. The old archive pages (which were laid out according to MT's default, in...

this entry’s page (1 comment)

Thursday, 30 October 2003

DIME is dead.

'cause Gudge says so, and as we all know, Gudge is always right....

this entry’s page

Tuesday, 21 October 2003

You say tree, I say URI...

I can't help but wonder if what Adam wants could be had using plain old HTTP by just defining a new format that is nothing but a list of links to stuff that's in-scope for a query. That way, when you want to load up your mobile device with the right restaurants from Zagat, you just perform your search and ask for that format back (using content negotiation), so that your client can remember which URIs are associated with it....

this entry’s page

Friday, 17 October 2003

ROTFL

Love your work, Banksy. A statement from Tate Britain said that a man "had left a personal possession in one of the galleries"....

this entry’s page

Friday, 17 October 2003

Cross-Platform DRM and other artefacts of Hell freezing over

Now that hell has frozen over, it's interesting to speculate how far Apple will dip their toes in, and what their market opportunities are. Case in point, Tristan Louis considers the DRM built into Apple's iTunes, and the implications of the fact that it's now cross-platform. Interesting stuff....

this entry’s page

Tuesday, 7 October 2003

Humboldt Fog

Saute Wednesday has exposed one of our vices... ashed goat's cheese is like nothing else on earth. These days it's Humboldt Fog (from the Mollie Stone's around the corner; hell, there are the remnants of a $4.69 chunk in the refrigerator as I type this), but in Australia the Milawa Cheese Company does a pretty credible ashed goat's cheese as well (and that's just off the top of my head; country Victoria is fairly littered with high-quality cheesemakers). They also...

this entry’s page

Friday, 3 October 2003

RSS-Data and Web services

Jeremy Allaire is writing about something he calls RSS-Data, and I must say it touches on a lot of interesting points. A few; data encoding - Jeremy's view of SOAP Encoding (aka "Section 5 Encoding") seems to be contrary to the rest of the industry, as evidenced by WS-I's ruling it out in favour of document-style services, because there is no schema for sec5 encoding. However, I think his problem is more relevant to...XML Schema - There's a lot of...

this entry’s page

Friday, 3 October 2003

Loose Coupling, Late Binding and REST

Mark Baker says that REST is SOA + late binding. While I see the truth in this, I think it's pretty orthogonal, and it's not that compelling for most SOAish folks. This is because their use cases are machines talking to machines, not people talking to machines. In Web browsing, this is great, because people are smart enough to look at the late-bound semantics in a representation and figure out what they want to do; machines aren't, yet. That means...

this entry’s page

Thursday, 2 October 2003

Modularity by reference

Many XML-based formats could benefit from using references to promote modularity. For example, imagine a catalogue format; <x:catalogue owner="Bob"> <x:widget id="foo" name="FooWidget"> <x:description>The Foo Widget</x:description> </x:widget> <x:widget id="bar" name="BarWidget"> <x:description>The Bar Widget</x:description> </x:widget> </x:catalogue> The format's designer wants to allow Mary's catalogue to refer to items in Bob's, so that she doesn't have to redefine them. There are a few ways to do this. XInclude is the first that comes to mind, but it has a problem. Imagine Mary's catalogue...

this entry’s page

Thursday, 2 October 2003

Why do XML editors suck so much?

I'm seriously sick of using programs that call themselves "XML editors" because they colourize markup. I'm talking about XML Spy, Oxygen, BBEdit, and thousands of lesser programs. All of them are just glorified text editors - they still operate on the level of characters, not information items. This is what I want to see: Element selection - the primary selection mechanism should be per-element, not per-character. I want soft boundries on each element - maybe even go so far that...

this entry’s page (11 comments)

Wednesday, 24 September 2003

RSS and E-mail

Tim Bray wonders what the difference between an RSS feed delivered via HTTP and an e-mail folder (e.g., via IMAP) is; I've wondered the same thing myself. As far as I can tell; * Subscribing to an RSS feed is anonymous; no one can send you messages outside of the channels you're subscribed to, and if one starts carrying content you don't like, you can unsubscribe. With e-mail, once your address is out there, you can't get it back. *...

this entry’s page (3 comments)

Saturday, 20 September 2003

Seen this week's Economist?

Concise and witty, as always....

this entry’s page

Thursday, 18 September 2003

A rodent of *truly* unusual size

The BBC reports an... inconceivably large rodent, aka "Guinea-zilla". They "... could have run in huge packs," and weighed 700kg. 700kg?!? I'm going to have nightmares tonight......

this entry’s page

Saturday, 13 September 2003

Roundup

Next time somebody says "let's install Bugzilla to track that" consider Roundup instead (unless you *like* painful, bloated software). Roundup is well-architected, modular, extensible, small in footprint, and Pythonic. You can run it on top of any number of back ends (standalone Web server, Apache CGI, Zope) and it speaks HTTP, e-mail and command-line. It's well-documented (a rarity these days) for both users and developers (with the bonus of a design overview). It conforms to good UI practices. What's not...

this entry’s page

Saturday, 13 September 2003

Click Submit Only Once

I shudder when I see these words. Everyone I’ve asked has, at least once, gotten two orders of something online (personally, I’ve had the SonyEricsson store ship *three* duplicate orders); “Click Submit Only Once” is intended to stop that. The problem is, it puts me and every other shopper between a rock and a hard place. That’s because if there’s any problem with my browser, my computer’s network connection, the Internet itself or the server, I don’t know the status...

this entry’s page (9 comments)

Friday, 12 September 2003

Anna Lindh

I was in Stockholm earlier this summer as a stopover on the way home from Helsinki. One morning, Jorgen and I were walking along Strömkajen, waiting for a ferry, when a well-dressed man walked by, just a few feet away. This wasn't unusual, but the larger man in sunglasses with a discrete earphone behind him at a discrete distance was. This was the only sign that he wasn't an ordinary person; a single bodyguard. I've always found Sweden to be...

this entry’s page

Wednesday, 10 September 2003

The Gherkin

One of the most interesting examples of architecture I’ve seen in a while is the nearly-finished Swiss Re building(aka 30 St. Mary Axe) in London, also known as “The Gherkin” by locals there. I first saw it wondering the streets around BEA’s office in the City. I happened across the Lloyd’s building - a landmark in and of itself - turned the corner, and saw Swiss Re. The audacity of it takes your breath away, and I predict that it...

this entry’s page (4 comments)

Wednesday, 10 September 2003

iPod update

Our problems continue. We took advantage of the $39.90 restocking fee to upgrade to the new 20G iPod; no difference at all in the battery behaviour (although the circle pad has a different design, IMHO spiffier; A doesn't like it so much). Strike one. Another attempt was to power the eMac's FireWire bus while it's asleep by connecting the iPod power adapter to the other FireWire port on the eMac, courtesy of a normal, 6-to-6 FireWire cable ($19 at the...

this entry’s page

Thursday, 28 August 2003

Frank Chu update

As previously noted, I often pass San Francisco figure Frank Chu on the way to and from work. This morning, I noticed something new - there's a professionally-printed ad on the back of his sign, for a crepe place, with the tagline "best crepes in the 12 galaxies." Are we getting so ad-saturated that companies' next logical move is to sponsor the local nutter? Also, Kevin Burton links to a related, highly SF-specific joke....

this entry’s page

Monday, 25 August 2003

The 'i' stands for 'idiot'

I got Anitra an iPod (an intensely desirable object) last week, because the new car (new to us, at least) doesn't have a CD player, and she's got a long commute. Along with an iTrip, it seemed just the ticket. First problem: Amazon advertises the iTrip "for new iPods," but still ships the old version. I'm out two-day shipping, and have to wait until it comes into stock. Second problem: Apple has, in their infinite wisdom, released a dock for...

this entry’s page

Sunday, 24 August 2003

Atomic Draft

Somehow, I've been drafted into editing the Atom syntax specification, and have just thrown up a first draft. I'm reasonably happy with the language around the requirements, but a lot more needs to be said about conformance (maybe it's all that time in WS-I ;) and use of XML, as well as extensibility and embedding. For those who wonder, my place in this process is pretty much at arm's length; I'm interested in Atom/Pie/Echo/Whatever, but don't have time to actively...

this entry’s page

Saturday, 23 August 2003

Registering Media Types

I've had a fairly large and annoying bee in my bonnet for the past few months, regarding media type registration. It started buzzing when I tried (and failed) to register a media type for RSS, and has continued to grow as I attempt to do the same for SOAP, on behalf of the XML Protocol Working Group. Those who defend the registration process (as embodied in RFC2048) will say that it accommodates a number of scenarios, and is adequate...

this entry’s page (1 comment)

Thursday, 21 August 2003

HTTP Performance

I've heard several people in the industry assert that HTTP fundamentally limits the performance of applications that use it; in other words, there's a considerable disadvantage to using it, and that therefore other protocols (usually proprietary or platform-specific systems that those same people happen to sell) are needed to "unleash the power of Web services." Specifically, it's common wisdom that HTTP maxes out at a few hundred requests per second per CPU, give or take, while the requirements for "enterprise-class"...

this entry’s page (1 comment)

Monday, 18 August 2003

Web Services

If you're lost in a sea of specs, pundits and opinions, might I suggest two very well-written, thoughtful papers: Principles of Service Oriented Integration by Sean McGrath at Propylon [pdf] Putting the "Web" in Web Services by Steve Vinoski at Iona [pdf] As a bonus, Vinoski gives us Middleware Dark Matter and the Performance Presumption, both PDFs and both espousing views that I hold quite strongly; that grass-roots technology is important, and that performance isn't as important as everyone makes...

this entry’s page

Tuesday, 12 August 2003

WebCapture

Here's something different. WebCapture "is a secure capture and playback system that records, in context, all web session pages that comprise an e-business transaction." "Capturing the INTENT and PROCESS is a centuries old and important standard essential in proving that transacting parties fully understand their actions. Additionally, using WebCapture transacting parties can easily play back the agreement and pre-empt any potential misunderstanding." In other words, it not only logs the pages you go to, it keeps copies of them. In...

this entry’s page (1 comment)

Monday, 11 August 2003

Photos and metadata

I love iPhoto's interface and its functionality, but the fact that the metadata is so closed is frustrating. I think I'm going to be able to import the RDFPic metadata embedded in most of my photos, with a short detour through IPTC metadata, courtesy of Caption Buddy (great stuff, a real gem) and a bit of Perl scripting. Ewwww. He said "Perl." This is why it's taken so long to update the photo library; I was just managing under Linux,...

this entry’s page

Monday, 11 August 2003

Structured URIs

I just found a draft finding that the W3C TAG published about a month ago, regarding the use of metadata in URIs. This is very cool, and I especially like the emphasis on authorities’ ability to embed metadata in URIs. To me, though, it begs a big question. Right now, there isn’t any normal way for an authority to describe how that metadata is structured; one has to resort to more prosaic descriptions, which doesn’t really scale. What I’ve wanted...

this entry’s page (1 comment)

Monday, 4 August 2003

iDisk Offline

Marc Hadley points out that the version of iDisk in OSX Panther looks like it will enable offline functionality with caching; it also looks to do some synchronization. I'd really like to have a look at how they've done it. Hey Apple, how about opening up the specs and the client so that we can do it with any site?...

this entry’s page

Monday, 4 August 2003

RSSJobs

RSSJobs looks interesting; hopefully, we'll see more of these "non-traditional" uses of RSS as time goes by....

this entry’s page (2 comments)

Saturday, 2 August 2003

NewAirplane

Boy, I'd sure like some of whatever the Boeing folks are smoking. [ via The Economist, print edition, pg. 8-9 ]...

this entry’s page

Tuesday, 29 July 2003

Subversion

Ted Leung points out that caching PUT (and other WebDAV methods) would suit Subversion - probably the most interesting WebDAV application under open development - quite well. The only thing he says that I disagree with (and it might just be a misunderstanding) is in regard to a need for a Subversion-specific client cache; the whole point of doing this with Web protocols it to avoid application-specific infrastructure. A well-designed WebDAV cache should work equally well for any application, not...

this entry’s page

Tuesday, 29 July 2003

httpRange-14

Mark Baker is the latest in a series to weigh in on the TAG issue regarding what a HTTP URI can identify. I haven't followed the debate closely, but it appears that the arguments haven't changed substantively. Another way of stating this issue is asking whether a URI scheme fundamentally constrains the types of resources it identifies. If you look at it that way, the scheme component of a URI is fairly special; it's a declaration of support for a...

this entry’s page (1 comment)

Saturday, 26 July 2003

Caching PUT

If we WebDAV-enable Web applications, people will be able to interact with them like filesystems. To blog something, you'd be able to write an entry in the text editor of your choice, and then drag-and-drop them into what MSFT has called "Web folders." What happens, however, when you're offline? Right now, you get an error. Sure, you could write that article, save it on your local filesystem, and then drag-and-post it later when you connect, but who wants the hassle?...

this entry’s page (2 comments)

Saturday, 26 July 2003

Blogging with WebDAV

One of my personal background tasks in the last couple of months has been finding sample applications to excercise Tarawa with. Although my load is high and I've only got a single processor - me - I'm still trying to push this. One of those that I've been considering has been a blog engine, where each post has a URI and therefore a corresponding Resource instance, and so forth. One of my other goals has been to WebDAV enable Tarawa,...

this entry’s page

Saturday, 26 July 2003

Dude

I spent more time today saying "dude" than I ever have before (proportionally), because I took a little drive. As you may have guessed, Antibes left me a little cold, despite the weather; I'm not a big fan of seaside resorts. So, after a little time in the markets this morning followed by a session in a laser (whereby I reminded myself that sailing *isn't* just like riding a bike, after ten years), I took Yves' advice (thanks!) and drove...

this entry’s page

Friday, 25 July 2003

Profiling HTTP

Mark Pilgrim is starting to think about issues surrounding the transport, transfer and general moving around of the Format Formerly Known as Echo (nee Pie). This feels suspiciously like a profile of HTTP. We tried that a little bit in the Basic Profile, and I'm still undecided as to whether it was worthwhile or not. That having been said, some thoughts and suggestions: * Move away from RFC2119 language (MUST, SHOULD, MAY and friends) and make it more advisory. HTTP...

this entry’s page (3 comments)

Friday, 25 July 2003

On Antibes

Pros * Makes everybody jealous when you say you're going there * Great beaches and the Alps nearby * Sailing! Cons * Very hot and humid, especially when you're used to weatherless northern California * Full of tourists in high season * Beach towns are the same the world over...

this entry’s page

Friday, 25 July 2003

BosBlog

Adam Bosworth gives us a small taste of his thoughts re: Web services, with a promise of more. Glad to see the writer's block has broken!...

this entry’s page

Monday, 21 July 2003

RSS Profile Testbed

Back when we were exploring the possibity of a profile of RSS, I set up a wiki on the topic and promptly let it run wild, to see what would happen. Although most people have moved on to other approaches since, there have been a few interesting things happening there, including the RssProfileTestbed , apparently started by Ken MacLeod. This is the ground-up approach; rather than talking about how to make things interoperable, they're showing how they aren't. This is...

this entry’s page (2 comments)

Friday, 18 July 2003

The RSS Advisory Board

Dave Winer has announced a few changes to RSS, which seem positive at first glance, but need a little closer inspection. It appears that the copyright for RSS 2.0 is now in the hands of Harvard Law school, and maintained by an Advisory Board. Good stuff so far. This implies that there is some legal basis for the Board; unfortunately, we don't know the extent of the powers of the Board, how it operates, or how its membership is appointed....

this entry’s page

Tuesday, 15 July 2003

Switcher

I'm very happy to say that, after using Windows on the desktop for about a year, and various flavours of Unix on the desktop for about six years, I've Switched back to the Mac (which I happily used for about six years before that). Specifically, a very kind colleague (thanks, Andrew!) in the office down the hall sold me his 667Mhz 15" Powerbook G4 for a quite reasonable price (due to the hardship of getting himself a 17" Powerbook). I've...

this entry’s page (10 comments)

Friday, 11 July 2003

Hey Dave

This is exactly what namespaces are for....

this entry’s page

Thursday, 10 July 2003

Too much money, not enough sense

Adam Curry explains how he's bought placement in RSS aggregators. Trouble is, RSS isn't universally supported, as evidenced by the echo project, and he feels cheated. Now, I'd understand this if RSS were a well-defined standard, backed by a broad portion of the industry (although I'd still be inclined to think of other things to do with the cash, but that's his choice, I suppose). However, it's not. The politics around RSS are ugly in a spectacular fashion, and it...

this entry’s page

Saturday, 28 June 2003

On Helsinki

Pros: * They're serious about this "midnight sun" thing * Discovered I actually like herring * Fantastic mobile phone coverage * Hima & Sali * Free bicycles! Cons: * They're serious about this "midnight sun" thing * Finns don't seem to understand the function of blackout curtains * Strange fascination with cleaning shoes * How can I put this kindly? It's a bit... quiet....

this entry’s page

Saturday, 28 June 2003

Caching is often enough

I feel compelled to respond to Norm Walsh's thoughts on caching. It's important to distinguish between the capabilities of a specific product (such as WWWoffle) and the technology that it implements (caching). I would agree that the general state of cache implementation leaves much to be desired, both in clients and in proxies. However, I would not write off the technology wholesale. For example, Norm claims that you can't populate a cache. Untrue; it's simple to populate any cache, simply...

this entry’s page

Tuesday, 24 June 2003

GoogleStuff

You might notice a few ads in the Weblog and a few other places on the site; I'm playing with Google AdSence, first pointed out by AaronSW. This is really nifty - Google looks at your page, decides what's relevant, and serves up some of their famous text ads. This leverages Google's assets in the nicest way - now I know what Aaron (the other one, works at Google) has been going around smiling about for so long. The other...

this entry’s page (5 comments)

Tuesday, 24 June 2003

Bees and Ants

The W3C Semantic Web wiki has an entry called 'BeesAndAnts' that very effectively conveys something that I've been trying to articulate for a while (and, as usual, failing). It's not about the Semantic Web in my mind, so much as it's about REST and Web Services (which means that there's something to this Web architecture stuff yet, I think). Many people are approaching Web services as bees; you expose an API, do some dancing and you get interoperability. In my...

this entry’s page (2 comments)

Tuesday, 24 June 2003

SOAP1.2

We finally did it. More than two years ago, I went to North Carolina almost by accident; at the last minute I asked David Fallside if I could come to the first meeting because it sounded "interesting." One of the biggest issues in many people's memory is whether it would be called SOAP at all; but, after some wrangling in Dinard, we kept the name and dropped the acronym. Go figure. To a large degree, it was a process of...

this entry’s page

Tuesday, 24 June 2003

Starting Fresh

Sam Ruby suggests a roadmap for a new effort that may very well replace RSS. I and many other people have been tempted in the past to do this, and the landscape is littered with the their bones (always wanted to use that phrase in context). They haven't worked because they don't have convergence - adding another format to the mix doesn't help, especially with RSS getting more adoption every day. In large part, this is why I chose to...

this entry’s page

Monday, 23 June 2003

On Tallinn, Estonia

Pros: * quick 1.5-hour boat ride from Helsinki * cool, still-foreign-looking passport stamps * full of beautiful european architecture / city planning Cons: * v. aggressive postcard-selling girls on EVERY corner * still not sure what the currency is called; locals refer to it as "estonia money" * beautiful european architecture / city planning is starting to look the same everywhere I go...

this entry’s page

Sunday, 22 June 2003

RSS History as state transfer

Mark Baker responded to my thoughts on RSS history a while back, and I'm *finally* getting around to responding (nothing like a hotel lobby to clear your thoughts...). I agree very much with just about everthing Mark says; RSS feeds should be modeled as state transfer. The problem is that the approach he advocates implies the semantics of that state transfer, and RSS isn't *nearly* robust enough of a format, nor its implementations interoperable enough, to count on implied semantics....

this entry’s page (1 comment)

Sunday, 22 June 2003

Economics of standards

Looks like a good to-read list: John Beatty: Economics of Standards (via John Beatty, one of my fellow BEA-ers; hi John!)...

this entry’s page (1 comment)

Friday, 20 June 2003

Question for the day

Is a Weblog a medium or is it a genre? (yes, this is a Weblog post about Weblogs. Oh, dear God, I've been sucked in...)...

this entry’s page (1 comment)

Tuesday, 17 June 2003

Spot the difference...

What does this interesting new, ad hoc work have to do with this interesting , new standards work and this interesting, new-ish effort by GK?...

this entry’s page (1 comment)

Monday, 16 June 2003

Weblog data modeling

Sam Ruby has announced a Wiki about what a weblog entry is. Couple of things out of the way first; * 'log' is confusing; I thought he was talking about logfile formats when I first saw it. Call it a Weblog, don't try to invent new terminology! (and see below for an even better reason not to take the 'Web' out of 'Weblog') * 'well-formed' doesn't make much sense to folks coming from an XML angle, where the phrase means...

this entry’s page

Saturday, 14 June 2003

OxygenXML

Sean McGrath, Macintouch and others point out OxygenXML, a pretty slick-looking XML editor. Either it's pretty new and only now coming onto the scene, or I've had my head deeper in the sand than is typical. To put it through its paces, I shoved the source for the WS-I Basic Profile through it. Pretty impressive; it does XML Schema validation (and apparently RNG too), as well as XSLT (doesn't seem to recognize the appropriate PI, tho). The place where it...

this entry’s page

Thursday, 12 June 2003

Web-izing the Palm Pilot

Having a network-enabled (even if only through BlueTooth and infrared) is a heady experience; the ability to access the Web and sync applications from anywhere - really anywhere - is quite liberating. However, after playing with the new toy for a few days, I'm left wanting more. I want to sync my addresses and todo lists with online versions that now live in a LDAP directory and a Wiki, not Palm Desktop or Outlook. I want to edit my Weblog...

this entry’s page (1 comment)

Thursday, 12 June 2003

Identifying RSS-Like Formats

I'm surprised by Dave Winer's continuing reluctance to identify RSS 2.0 with a namespace, given howstrongly he feels about interoperability and respecting format definitions. If RSS 2.0 had a namespace, the conformance and semantics of a particular RSS document would be unambiguous - if you use the namespace, you follow the spec. Versioning doesn't buy you this, because there isn't any management of the version namespace - anybody can say "that's RSS 2.0", and only people that recognize Dave as...

this entry’s page (2 comments)

Friday, 6 June 2003

Newest Toy

Got the Palm Tungsten T the other day ($309 from buy.com, - $50 trade-in). Nifty, much better than the aging handspring I was toting around. Cool apps include Kinoma for video viewing (anyone asking how Charlie is doing now gets treated to full-motion video :) Vindigo (as always; well worth the $24/year). Tried sync'ing to a mac, and BOY is that nice; the integration of the addresses with mail.app and addressbook.app, as well as that of todo's and calendar with...

this entry’s page

Wednesday, 4 June 2003

RSS Soundbite

Tim Bray is looking for an RSS soundbite, what some people would call an elevator pitch, I suppose (aren't they supposed to be level? Never mind). I made an attempt at motivating RSS for people a while back, in the same style as the caching tutorial; I've gotten reasonably good feedback since, but I'm still not sure it's good enough to sell it to a non-technical crowd. Comments?...

this entry’s page (1 comment)

Thursday, 29 May 2003

Real-World RDF

Jo Walsh has created a Semantic Web system that appeals quite strongly - a means of using RDF to map to the real world in "gonzo geographical data collection". Very nice. I've been thinking about RDF-izing the Travel bookmarks for quite some time; this might be just the ticket. Also is nice to see this stuff in non-academic applications for once. [ via Sam Ruby ]...

this entry’s page

Thursday, 29 May 2003

XCAP

Jonathan Rosenberg published a new Internet-Draft, XCAP, to the SIMPLE Working Group in the IETF. Here's the skinny: Abstract This specification defines the Extensible Markup Language (XML) Configuration Access Protocol (XCAP). XCAP allows a client to read, write and modify application configuration data, stored in XML format on a server. XCAP is not a new protocol. XCAP maps XML document sub-trees and element attributes to HTTP URIs, so that these components can be directly accessed by HTTP. [...] With a...

this entry’s page

Wednesday, 28 May 2003

While we're talking about standards...

I agree with just about everything that Jim Waldo says here (at least for protocol standards). Well said!...

this entry’s page

Wednesday, 28 May 2003

One-Man Standards

Dave Winer argues that RSS implementers should toe the line: The same philosophy dictates an end to the disagreement over RSS. If they want respect for the formats and protocols they implement, they must do RSS exactly as UserLand does. The thing that Blogger and MT currently call RSS is not only not what UserLand does but it isn't even an improvement over what UserLand does. Lose-lose. This would make sense if Dave's version of RSS were the only one...

this entry’s page

Sunday, 25 May 2003

RSS, Subscribers and Business Models (oh, my!)

Tim Bray thinks out loud about mechanisms to allow RSS subscribers to be counted. His poison of choice is adding a query components to the URI in the Referrer header. I don't think that this is such a hot approach, because it's breaking the semantic of the Referrer header; instead of being "where I got this link", the Referrer becomes something closer to the User-Agent header, with user-specific information stuffed in. This messes up log analysis programs and causes yet...

this entry’s page (4 comments)

Monday, 19 May 2003

Look what the browser dragged up...

Oh... My... Gawd... I'm sooo confused. It's a Web site, and it has an RSS feed, and it uses Moveable Type, and it even has a blogroll down the side, so it must be a blog, right? But, like, it's by more than one person - how are you supposed to get into a flamewar if there's no dominant personality? And, like, they don't talk about blogs very much. At all. Or what they did yesterday. It's almost like reading...

this entry’s page

Friday, 16 May 2003

A sign of bad times?

Hmm. Passed the 12 Galaxies guy on the way home from work today. Usually, he's very polite and keeps to himself. This time, he was yelling at passers by and waving his sign at him. Violently. Hope he's OK......

this entry’s page (3 comments)

Sunday, 11 May 2003

Are we bored of RSS Standardization yet?

Don wants to send RSS to OASIS, of all places. Doesn't that mean it'll have to be corporations standardizing it? Urgh. I agree with most of Tim's assessment; the IETF is the most hospitable place for this. I'm happy to do whatever work is necessary, but I'd observe that unless a good chunk of the community is behind it, it'll be useless, or even bad for RSS. This is why I've been advocating a profile, rather than Yet Another RSS...

this entry’s page (6 comments)

Saturday, 10 May 2003

RSS Profiling Wiki

Don, Sam, Ben, Mena and others have started blogging about a profile of RSS. I don't think blogs are the best medium for this kind of development - it's too hard to follow a thread, and it's too easy for one person or point of view to dominate. So, I'm starting an experiment. I've created a RSS Profile Wiki for the explicit purpose of tracking people's thoughts on RSS issues. The idea is to use it as the basis for...

this entry’s page (1 comment)

Saturday, 10 May 2003

IT Survey in the Economist

If you are in "the industry," you owe it to yourself to go out and pick up a copy of this week's Economist. Alongside their customary digs at Larry Ellison (what do they have against that guy? I can't imagine...) are several excellent articles, including topics such as growth, commoditisation, and open standards (although one paragraph was so far off-base that it made me LOL). There's also an interesting article on using history to determine coming trends in IT, which...

this entry’s page

Friday, 9 May 2003

We need WikiVerbs!

Before, I was wondering about the intersection of Wikis and the Semantic Web. I've since done some noodling and prototyping, and the idea came together on the train home tonight. You *can* build some semantics using just WikiNames. For example, let's say you have a Wiki about your company's products. If you have a line of widgets that are different colours, you could create a WidgetProduct WikiName and use that term on all of the pages that describe the different...

this entry’s page (3 comments)

Thursday, 8 May 2003

Conneg based on XML Dialect

I know at least one person who will think that this is a good idea. Anybody else? I'd looove to do this work......

this entry’s page (3 comments)

Monday, 5 May 2003

Tarawa

I've finally gotten sick enough of a project that I've been working on for waaaay too long to release it to the unsuspecting^H^H^H general public. Tarawa is, in short, a HTTP server API that tries to apply some of the lessons we've learned recently in discussions regarding the Web architecture and REST. This release is for Python; the API is currently very Python-specific, but I expect that to change. It's also very alpha, but should be functional for playing with....

this entry’s page

Sunday, 4 May 2003

The Genius Bar is dry

Don't get me wrong - I love Apple and all things apple. But, the Genius bar at the Apple Store never fails to annoy. Every time I go in with a hardware problem, I have to wait behind an endless queue of people who seem to be there to do nothing more than have a good chat. What's up with that? Fine, Apple is a friendly company and wants to give good customer service. I can appreciate that. I can't...

this entry’s page (5 comments)

Saturday, 3 May 2003

Yet more proof of things being seriously wrong in the US these days...

From the Montreal Gazette - "Deborah Wolfe, a Canadian citizen who was just breast-feeding her son and changing his diaper while en route between Houston and Vancouver, says her "subversive" actions led to her being threatened with detainment, RCMP involvement and legal charges for terrorist action against a U.S. citizen in international airspace while on an American flight during a time of war." I'm speechless (even if Ashcroft hasn't taken the right away). [ via Risks Digest ]...

this entry’s page

Saturday, 3 May 2003

Semantic Syndication

Excellent. Danny Ayers proposes a Simple Semantic Resolution RSS 2.0 Module. This approach is the most sensible for ANY application of Semantic Web technology (as I've argued before). Rather than foisting RDF's ugly, unusable XML syntax on applications, map from a native XML format to RDF. This gives you a number of advantages; - the syntax is more natural and appropriate to the application - the mapping to the semantics is more flexible; you can change it as your understanding...

this entry’s page (1 comment)

Saturday, 3 May 2003

RSS Traffic Characterisation

I'm setting up a weblog for a fairly well-known colleague, and doing some traffic estimates to try to size his server. Assumptions: * 5000 people will eventually subscribe to the weblog * Each person's aggregator will poll once an hour for twelve hours a day (some less, some more) * 75% of the hits will generate 1k of downstream traffic (304 Not Modified) * 25% of the hits will generate ~50k of downstream traffic (200 OK) So, 5000 * 12...

this entry’s page

Saturday, 3 May 2003

Mail.app broken?

One of the joys of moving to a mac for my personal machine is using Apple's excellent Mail.app; IMHO it's the best GUI mail client yet. However, I'm having a WEIRD problem; it seems that all drag-and-drop in Mail.app is broken. I can't drag message to mailboxes, can't even drag toolbar items in "Customize toolbar." Does anybody else have this problem? I'm using Mail.app 1.2.5 (v552) on MacOS 10.2.5. Strangely, it doesn't happen on my Anitra's eMac with the same...

this entry’s page (1 comment)

Thursday, 1 May 2003

ZeroConf is cool

Anybody know how to get ZeroConf working on Linux, so that I can advertise services on my server to the Macs at home?...

this entry’s page (5 comments)

Tuesday, 29 April 2003

RSS Schema and dates

Sam mentions dc:date; that's what I was thinking, except that 'date' on its own is pretty useless. As Bill points out, dcterms gives you different date semantics. dcterms:issued seems to match RSS's pubDate most closely, while as far as I can tell, dcterms:modified matches lastBuildDate. The question I have is of precedence; aggregators that support both will need to defer to one or the other. I'd think that the W3C-formatted form would be preferable, because it's easier to parse (so...

this entry’s page (3 comments)

Monday, 28 April 2003

Wiki as Semantic Web?

Anybody else notice how you can use a Wiki like a Semantic Web engine? For example, define a WikiName, say PersonThing. Only use the PersonThing WikiName on pages that identify... person things! You're basically saying a :PersonThing . OK, it's limited; I'm not sure how you'd get any other predicates in there. But you can do some nifty stuff in there; by using certain objects on a page and then doing searches on multiple facets, you can capture a lot...

this entry’s page (4 comments)

Monday, 28 April 2003

I'm an overlord and I'm OK...

[ I tried to post this as a comment on Sam's blog, but I think there may still be transitional issues over there... ] Overlord? COOL... I don't think I've ever been the overlord of anything. Seriously, as Sam says, it's more about documenting best practices and getting people to agree upon something. If we rely on one person - whether it's Sam, me, Don, Dave, Ben or anybody else with a monosyllabic given name, we're asking for still more...

this entry’s page (2 comments)

Monday, 28 April 2003

Amazon and Privacy

Amazon sent my wife a nice, juicy bit of SPAM this morning. "Get the Amazon.com Platinum Visa card!" This despite her having her "Communication Preferences" set to not allow anything but legal notices. Are credit card offers legal notices, suddenly? Perhaps they mean to proactively sue us for bad debt before we incur it. Of course, Amazon will say that they didn't violate her privacy, because it was an in-house mailing; it's only if she requests the card that her...

this entry’s page (1 comment)

Sunday, 27 April 2003

RSS history module

For discussion: RSS history module (the eventual result of this)....

this entry’s page

Saturday, 26 April 2003

It's alive

For those who have been helping, it's alive, has been for almost a week, but I still want to do a bit more documentation, hunt down a few bugs, and get some more unit tests down. Unfortunately, I need more !@#$ memory for the iMac to do that (long story), and !@#$ Fry's sold me a dodgy 512M module. On top of that, Charlie was sick Thursday night, I was sick last night and still feel crap, and Anitra has...

this entry’s page (1 comment)

Thursday, 24 April 2003

ETags

It's not necessary to lament the lack of ETags on generated Web pages; cgi_buffer automagically generates and validates them for Perl, Python and PHP scripts. Yes, I keep on shamelessly plugging this one, but the question keeps on coming up......

this entry’s page (2 comments)

Thursday, 24 April 2003

now available - Photoblog!

OK, here's the deal. As previously reported, we got the nifty Ericsson phones that come with free cameras. They're Internet-capable. The next obvious step is to hook it up to a blog, and presto! You've got photoblog! You get to see people I meet, places I go and the mediocrity of daily life (as well as my struggles with predictive text input) in near-real time! Very exciting. From the technical side, I'm using an RSS feed with mod_image; it allows...

this entry’s page (5 comments)

Wednesday, 23 April 2003

Current favourite TV

Anitra and I have taken to watching What Not To Wear. Yes, it's a fashion show, but it's probably the most non-American show on right now; very refreshing and wicked good fun to watch. Contrast with the US version - boring, sappy, Californian pap....

this entry’s page (1 comment)

Tuesday, 22 April 2003

RSS needs Profiling

Tim says thatRSS Needs Fixing. Right on! Some people are intereted in endless tinkering with RSS - I'm not. I'm interested in putting it on everybody's desktop, and making it transparent to them. This means we need better interop. How do we fix this? Maybe I've just got a hammer, but it seems like we've faced this problem before - with SOAP. SOAP 1.1 had a lot of ambiguities, but the community got together and came up with a profile...

this entry’s page (1 comment)

Tuesday, 22 April 2003

Sam wants namespaces

Sam proposes some changes to RSS 2.0 regarding namespaces. My first question was, "why?" but upon reading his next post, I get it. The Big Problem with namespaces the first time around was that it broke some software, which Dave is very sensitive to. Fair enough. So, there are a few ways to go about this; 1) change it in the Internet-Draft - but that wouldn't be RSS2.0, it'd be something else, and I'm quite loath to introduce Yet Another...

this entry’s page (2 comments)

Saturday, 19 April 2003

RSS.py 0.43

RSS.py has been revved; fixed some problems with addItem (now takes an index argument to say where to add the item; default is first - used to be last), and a few other tweaks. Yes, I am aware of the rich irony of this being an RSS 1.0-speaking library. *shrug*...

this entry’s page

Friday, 18 April 2003

Pellet, indeed.

Don's worried about the glaciating influences of having a stable spec for RSS 2.0. I couldn't disagree more. Like Don, RSS is my hobby; has been since about 1999, when I started the Syndication list. I watched and occasionally pitched into the RSS wars, to no avail. At the end of the day, I'm just a little sick of having to support a bunch of different formats that do the same thing; four Internet years is a long time, even...

this entry’s page (1 comment)

Friday, 18 April 2003

Let's try this.

RSS needs a bit of stablity (as I've often said), so I've gotten off of my duff and done something about it. For your interest, an Internet-Draft of RSS 2.0. As it says, this is RSS 2.0, as Dave has specified it, just in spec-ese. It is derived from Dave's spec, but I DON'T intend to fork it with this effort; the idea here is to document the format in a way that can be normatively referenced by the media...

this entry’s page (6 comments)

Thursday, 17 April 2003

Flair?

There seems to be a a lot of new blogs showing up from inside companies... I can only wonder if it's becoming the microserf equivalent of flair....

this entry’s page (2 comments)

Tuesday, 8 April 2003

HTTP header sniffing

LiveHTTPHeaders for Mozilla is the best HTTP header sniffer I've seen yet; up till now, I've been using WebTee, but for *most* purposes, this is much better. Enjoy....

this entry’s page

Thursday, 27 March 2003

Macrosoft, Part II

Dave seems excited by Macromedia's announcement. I'm less enthusiastic. Not only does it lock you into one vendor, but their product, well, sucks. Anitra loaded up Flash MX on the trusty eMac the other week, to refamiliarize herself before teaching a lesson on it. I'd been saying "Don't worry, Flash is easy!" for weeks; then I looked at the UI. Needless to say, Flash is no longer easy; it's about the most counterintuitive interface I've ever seen. If this is...

this entry’s page

Tuesday, 25 March 2003

RSS standardization (again)

Jorgen hits a subject that's of great interest to me; RSS standardization. I originally started the Syndication list to get RSS moving towards some sort of recognized standard; more recently, my effort to register an RSS media type was stalled by the lack of a stable spec published by a recognized group. More recently, there was an informal meeting of the minds in San Francisco last (northern) autumn regarding this topic. There was good participation from the blogging, RSS weenie...

this entry’s page

Friday, 14 March 2003

Friendster

Not sure I like the name, but Friendster looks interesting. In a nutshell, it's a social networking tool that's very similar to the FOAF efforts, but with better UI and features. It would be nice if it plugged into FOAF data, of course. It would be even better if it let you link to a blog, and sucked in that blog's RSS feed (or any RSS feed that you publish, for that matter). Still interesting, though....

this entry’s page

Thursday, 27 February 2003

Prototyping Kirk

Just finished reading Blue Latitudes, which follows the trail of Captain Cook, both in history as well as geography; Horowitz follows (roughly) the path of cook, sailing and flying to destinations such as New Zealand, Australia, Tonga, the Aleutians and Hawaii, as well as Cook's native Yorkshire. I think I was first interested because of the Australian angle, but reading about this remarkable man and his untimely end was engaging and thought-provoking on many more levels. For example, Cook covered...

this entry’s page

Friday, 14 February 2003

Australia thinks twice

Word is that somewhere in the neighborhood of200,000 Melbournians got out of bed yesterday and decided to give a peice of their minds to the government. Good thing, too; you can argue as much as you like about whether America should be invading Iraq, but Australia has no business there whatsoever; they can barely mind their own back yard. P.S. This is an excellent use of Federation Square, BTW....

this entry’s page

Thursday, 13 February 2003

Why oh why is it so hard?

One of the goals for me in using computers is to make my data and access to it platform-indenpendent; I've switched platforms too many times (Mac->Ultrix/Digital Unix->Linux->SunOS/Solaris->Windows NT->Linux->OSX->Windows2000->WinXP->?); I can't have my data tied up in proprietary formats or APIs, despite the best efforts of various vendors. Doing so is also a nice complement to the Web. So, I recently go sick of supporting both Appleshare IP and SMB for getting files to and from my server. I've been using...

this entry’s page

Thursday, 30 January 2003

mnot : Bookmarks : Travel

Travel bookmarks have been reorg'd and cleaned; the RSS feed gives you the latest additions. Suggestions welcome....

this entry’s page

Sunday, 26 January 2003

Blogging Zipf

I always wondered why so many people had their blogs' comments and even trackback indicators turned off. Go ahead and surf around; it's a rare blog indeed, at least in my experience, that has these features visible for the world to see. It's obvious, now that i've actually had a blog (OK, it's about as healthy as the plant in the living room that I Really Should Water Soon, but I think this goes even for healthy blogs). It's that...

this entry’s page (3 comments)

Tuesday, 21 January 2003

Interestinger and interestinger...

So all the sudden everybody's talking about RSS again. It came up spontaneously at work - DaveO proclaimed "I'm totally getting into RSS" unprompted the other day. Very cool. Now Tim Bray is pondering the future of RSS. Interestinger still. I tend to agree with the browser-based assessment that both Tim and DavidG makes. Sounds like it's time to close the lid on Tarawa and spool up the next rev of Page for a public release... ...'cause I have *plenty*...

this entry’s page

Tuesday, 14 January 2003

Location, location...

Dave takes issue with people's comments about the Bay area. I have mixed feelings; SF has a lot against it - cost of living and some measures of quality of life (let's face it, there's not a lot going on in the valley if you don't like geek culture), but the weather is nice (counts for more than you think) and crime is low (at least in our little slice). The views are generally breathtaking. In all, it's yet another...

this entry’s page

Saturday, 11 January 2003

Master and Commander

If you haven't read Patrick O'Brian's astounding Aubrey/Maturin novels, now's probably your last chance before at least one is made into film, by none less than Peter Weir. I am very, very excited....

this entry’s page

Wednesday, 8 January 2003

Keynote

I'm no SVG expert, but this sure seems like it. Gotta get me a copy of that....

this entry’s page

Wednesday, 11 December 2002

Switching

Aaron points out the Apple Switch commercial starring Yo Yo Ma. Cool; how long before we see a Switch ad with TBL? :)...

this entry’s page

Sunday, 8 December 2002

RSS Wishes

Wouldn't it be great if The Royal Society, the Commonwealth Club and your local council all had RSS feeds available, conspiquous and up-to-date?...

this entry’s page (1 comment)

Wednesday, 27 November 2002

Mozilla Prefetching

I'm extremely wary about the new prefetching feature in Mozilla. The Web caching community has tried this from about every angle, but the general consensus of professionals (with one notable exception) is that prefetching is a bad approach. For one thing, it assumes free bandwidth; not such a hot idea in a lot of places (e.g., Australia, where you pay per Mb). I've also had network and server administrators calling me in a panic because they're being flooded with...

this entry’s page (4 comments)

Tuesday, 26 November 2002

Eh?

Hixie, Mark and others are talking about serving up application/xhtml+xml selectively to browsers. One question; how do you do this without either doing the wrong thing (e.g., if a shared cache in between stores a copy meant for, say, Mozilla, and then later serves it to IE), or completely killing cacheability (by using a Vary header which basically means that you'll be blowing caches out with one entry per User-Agent string)? I suppose you could stick Cache-Control: no-cache="Content-Type" on the...

this entry’s page (1 comment)

Monday, 25 November 2002

What is an RSS Channel?

Almost forgot - today I put an exploration of the semantics of RSS:Channel out there for comment. I've been thinking about various aspects of this for a while; not sure how far I've gotten, but I think it's important to nail this down if we want to move RSS forward....

this entry’s page

Monday, 25 November 2002

RSS XP

RSS: XHTML Profile, to me, is another proof that syntax isn't important, as long as you can boil whatever you get down to a format you know. Nice job!...

this entry’s page

Sunday, 17 November 2002

New toys

We just replaced our phones with Sony Ericsson T300s with T-Mobile; sooo cool. I've never really been interested in WAP, WML, etc., but now the floodgates have opened. Unfortunately, there are a few problems; apparently, their gateway limits page size to somewhere south of 6k (ouch), and the GPRS is a bit erratic. Now I just need to get more application/vnd.wap.xhtml+xml content up there. For the curious, here's the media types listed in the Accept header: application/vnd.wap.wmlc, application/vnd.wap.wbxml, application/vnd.wap.wmlscriptc, application/xhtml+xml,...

this entry’s page (1 comment)

Saturday, 16 November 2002

RDF Model and Syntax

Jack William Bell makes a precise, short and readable effort at explaining why RDF is simple and important. In the article and subsequent discussion, it's clear that RDF model and syntax are very different topics. EVERYONE that I talk to agrees that the RDF model is elegant, useful and fundamental. Almost everyone agrees that the RDF/XML syntax is flawed, at best. I tend to agree. RDF may be damned by history and overshadowed by its older brother, XML. Remember when...

this entry’s page

Sunday, 10 November 2002

IETF Transparency

Finally, the IESG puts its money where its mouth is; this tool allows you to see the status and individual AD's comments about a particular I-D. It's only a start, but at least you have some idea of what's going on, instead of being left out in the cold....

this entry’s page

Friday, 1 November 2002

You Are Crazy.

unböring is a great campaign - I'd love to know who their agency is. It's so... Swedish; the one with the creamer and the guy on the bicycle is classic. Speaking of Sweden, this reinforces the resolution we made on our last trip; we must live there. Now, there's just the matter of the paperwork......

this entry’s page

Wednesday, 30 October 2002

Googlism

Cool....

this entry’s page

Thursday, 12 September 2002

Macrosoft?

Jeremy Allaire talks about establishing a "rich client" platform because HTML is "stagnant." Two questions; will it be standards-based, and what about SVG? I'd really rather not have Macromedia succeed in its ambitions to be the next Microsoft......

this entry’s page

Tuesday, 10 September 2002

iCal, youCal

iCal is out, and is pushing me ever so closer to taking my perfectly reasonable Dell laptop and shoving it down the throat of the next IT person that I see. Nothing personal. The few chances I get to work with 10.2 amaze me; it's beautiful, intuitive and incredibly powerful. XP's antialiasing looks horrible next to it, and don't even go into usability. The application suite - Mail, iPhoto, iTunes, iDVD and now iCal - is very well positioned and...

this entry’s page (1 comment)

Tuesday, 10 September 2002

So funny... so true...

The Story About the Baby is the funniest thing I've read in a while, doubly so considering it's about children. Every geek parent has thought these thoughts. (from memepool)...

this entry’s page

Friday, 6 September 2002

Pardon our dust...

I'm trying out movabletype, as there were some pretty severe limitations doing it with the bookmarks......

this entry’s page

Tuesday, 3 September 2002

Global house prices

I've been following the Economist's new Global Housing Index with some interest. They seem to have softened their view somewhat, but I'm hearing more about a global housing bubble recently - first, in a WSJ article about the author of "Manias, Panics and Crashes" (which I'm now reading, alas, too late) and later in a story on NPR. It is interesting that there aren't good tools for tracking the state of real estate, even though there's more money there than...

this entry’s page

Tuesday, 3 September 2002

RSS 0.94

I see Dave is once again rev'ing RSS. I have reservations about the some of the new mechanisms (e.g., shoe-horning MIME into XML is a horrible idea) but I'm encouraged by hints that using XML Namespaces is being considered. IMHO the smart thing for Dave to do would be to start a version of "Minimal RSS"; maybe 0.95, that is just the very, very core markup (say, title, link and description, maybe one or two others for channel metadata)...

this entry’s page

Monday, 26 August 2002

Buzz - Continuing thoughts on F2F

One of the most intriguing parts of this, to me, is section 3.1.2; "How people meet: being in the in-group." Possibly because I'm usually not in the in-group... Storper theorizes that F2F communication is necessary to maintain the boundries of the in-group, so that one who has been ejected can't rejoin, but AaronSW pointed out that IRC has a similar function without F2F. Fascinating. I wonder what the intersection of this and the Advogato trust metric is, along with a...

this entry’s page

Monday, 26 August 2002

Unequal Relief

This pisses me off. Victims of terrorism certainly should get some support - that's the function of government in a society. But why should that support take the form of tax relief? People who pay a lot of taxes - and therefore get the most benefit - are the ones who least need this (and witness the high threshold on death taxes forgiven; 8.5 million). They already have substantial assets and generous life insurance to take care of their survivors....

this entry’s page

Saturday, 24 August 2002

Face-to-face communications

This article (you can google for the original paper) is, to me, pivotal to emerging Web standards. Both Semantic Web and Web Services are about machine-to-machine communication; the promise that machines will be able to act as an agent, and to integrate business processes, respectively (yes, there's a lot more to each). The question is, when will people trust and actually use machines to do this? If Storper's paper is correct, the pie-in-the-sky visions of a 'Web of Trust'...

this entry’s page (1 comment)

Saturday, 24 August 2002

DC:Date

Harumph. Date is a datatype, not a property....

this entry’s page

Saturday, 24 August 2002

RDF and RSS

Interesting; I'm glad thiswas written, because RDF is good stuff, and this is a good walkthrough. However, it still doesn't approach what I see as the critical problems with using RDF in RSS. First of all, considering that it's trying to enable the Semantic Web, RDF/RSS is pretty light on semantics. RDF is about making assertions about resources, which are identified by URIs; in this case, the channel is making assertions about the items' links. However, there's currently no way...

this entry’s page

Tuesday, 20 August 2002

Don Box on Tolerance

Don talks about the evils of tolerance in receiving implementations, and I say Amen, brother! Preach! The classic approach works when there are relatively few implementators; however, when the whole world implements a protocol (whether it's SOAP or HTML or whatever), you're asking for trouble if you allow too generously....

this entry’s page

Creative Commons