all entries
Wednesday, 15 May 2013
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...
Sunday, 20 January 2013
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...
Friday, 4 January 2013
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...
Tuesday, 18 December 2012
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...
Friday, 7 December 2012
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...
Tuesday, 4 December 2012
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...
Monday, 29 October 2012
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...
Sunday, 28 October 2012
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....
Monday, 24 September 2012
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...
Thursday, 13 September 2012
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...
Wednesday, 5 September 2012
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...
Saturday, 4 August 2012
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...
Wednesday, 11 July 2012
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...
Monday, 25 June 2012
@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...
Tuesday, 17 April 2012
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....
Saturday, 14 April 2012
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...
Friday, 13 April 2012
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...
Saturday, 31 March 2012
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...
Friday, 25 November 2011
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...
Tuesday, 25 October 2011
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....
Friday, 21 October 2011
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...
Wednesday, 12 October 2011
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...
Friday, 2 September 2011
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...
Sunday, 28 August 2011
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...
Thursday, 25 August 2011
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...
Wednesday, 24 August 2011
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...
Friday, 5 August 2011
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...
Wednesday, 27 July 2011
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.)...
Monday, 11 July 2011
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...
Sunday, 19 June 2011
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....
Friday, 27 May 2011
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...
Wednesday, 18 May 2011
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...
Monday, 4 April 2011
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...
Tuesday, 22 March 2011
Now, you can test any URL to instantly determine if it’s RESTful. You’re welcome....
Wednesday, 9 March 2011
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!)....
Tuesday, 1 March 2011
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...
Saturday, 27 November 2010
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...
Friday, 1 October 2010
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...
Friday, 23 July 2010
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...
Wednesday, 30 June 2010
Patricia Clausnitzer has kindly translated the Caching Tutorial to Belarusian. Thanks!...
Monday, 21 June 2010
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...
Thursday, 3 June 2010
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...
Thursday, 6 May 2010
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...
Wednesday, 5 May 2010
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...
Wednesday, 7 April 2010
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...
Wednesday, 10 March 2010
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....
Thursday, 18 February 2010
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...
Friday, 15 January 2010
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…...
Wednesday, 16 December 2009
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...
Friday, 13 November 2009
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...
Friday, 30 October 2009
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....
Monday, 19 October 2009
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...
Thursday, 13 August 2009
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....
Sunday, 12 July 2009
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....
Friday, 3 July 2009
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...
Thursday, 25 June 2009
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...
Wednesday, 17 June 2009
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......
Friday, 12 June 2009
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...
Friday, 5 June 2009
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...
Friday, 29 May 2009
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....
Tuesday, 14 April 2009
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...
Tuesday, 24 February 2009
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...
Tuesday, 24 February 2009
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...
Tuesday, 24 February 2009
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...
Wednesday, 18 February 2009
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....
Friday, 2 January 2009
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...
Friday, 21 November 2008
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...
Monday, 27 October 2008
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...
Thursday, 16 October 2008
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...
Friday, 4 July 2008
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...
Thursday, 22 May 2008
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...
Thursday, 15 May 2008
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...
Wednesday, 2 April 2008
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...
Thursday, 20 March 2008
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...
Monday, 3 March 2008
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...
Sunday, 17 February 2008
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 —...
Wednesday, 13 February 2008
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...
Wednesday, 6 February 2008
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...
Monday, 21 January 2008
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...
Friday, 4 January 2008
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...
Wednesday, 12 December 2007
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...
Sunday, 9 December 2007
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...
Friday, 2 November 2007
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....
Saturday, 8 September 2007
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...
Tuesday, 7 August 2007
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...
Saturday, 28 July 2007
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...
Saturday, 30 June 2007
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...
Wednesday, 20 June 2007
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...
Wednesday, 13 June 2007
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....
Tuesday, 15 May 2007
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;...
Thursday, 10 May 2007
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...
Monday, 7 May 2007
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...
Tuesday, 1 May 2007
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...
Sunday, 29 April 2007
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...
Sunday, 22 April 2007
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...
Thursday, 5 April 2007
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...
Tuesday, 27 February 2007
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...
Monday, 12 February 2007
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...
Wednesday, 7 February 2007
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...
Wednesday, 7 February 2007
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...
Wednesday, 3 January 2007
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...
Wednesday, 3 January 2007
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.,...
Sunday, 24 December 2006
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....
Monday, 4 December 2006
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...
Thursday, 30 November 2006
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...
Wednesday, 15 November 2006
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...
Friday, 27 October 2006
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...
Thursday, 19 October 2006
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)...
Tuesday, 17 October 2006
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...
Monday, 16 October 2006
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...
Friday, 13 October 2006
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...
Wednesday, 4 October 2006
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...
Sunday, 1 October 2006
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,...
Thursday, 28 September 2006
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...
Saturday, 16 September 2006
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...
Wednesday, 13 September 2006
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....
Sunday, 3 September 2006
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...
Monday, 21 August 2006
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...
Friday, 18 August 2006
Many thanks to J.J. Solari for translating the Caching Tutorial to French!...
Monday, 14 August 2006
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),...
Monday, 10 July 2006
This would be funny, if this wasn’t so scary. Subscribed nevertheless....
Friday, 30 June 2006
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 " < > [ \ ] ^ ` { | }...
Saturday, 24 June 2006
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? ;)...
Thursday, 22 June 2006
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...
Tuesday, 20 June 2006
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...
Friday, 9 June 2006
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....
Thursday, 25 May 2006
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...
Tuesday, 16 May 2006
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...
Thursday, 11 May 2006
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...
Thursday, 11 May 2006
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...
Wednesday, 10 May 2006
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...
Sunday, 23 April 2006
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...
Sunday, 23 April 2006
It’s official; I’ve got a last-minute slot at XTech, talking about all things Web caching....
Thursday, 20 April 2006
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...
Tuesday, 18 April 2006
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...
Friday, 14 April 2006
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....
Thursday, 13 April 2006
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...
Thursday, 13 April 2006
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...
Sunday, 9 April 2006
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...
Friday, 7 April 2006
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...
Thursday, 6 April 2006
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...
Sunday, 26 March 2006
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...
Monday, 20 March 2006
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...
Thursday, 16 March 2006
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...
Wednesday, 15 March 2006
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...
Wednesday, 1 March 2006
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...
Saturday, 18 February 2006
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....
Wednesday, 15 February 2006
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...
Tuesday, 7 February 2006
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...
Friday, 27 January 2006
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...
Wednesday, 25 January 2006
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...
Monday, 23 January 2006
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....
Friday, 13 January 2006
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…...
Wednesday, 11 January 2006
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?...
Monday, 9 January 2006
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....
Sunday, 8 January 2006
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...
Monday, 26 December 2005
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...
Saturday, 24 December 2005
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...
Thursday, 22 December 2005
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....
Wednesday, 21 December 2005
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...
Tuesday, 13 December 2005
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....
Tuesday, 6 December 2005
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...
Monday, 5 December 2005
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...
Saturday, 26 November 2005
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...
Wednesday, 23 November 2005
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...
Tuesday, 22 November 2005
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....
Friday, 18 November 2005
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...
Monday, 7 November 2005
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...
Sunday, 30 October 2005
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...
Wednesday, 26 October 2005
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...
Sunday, 23 October 2005
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....
Saturday, 22 October 2005
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...
Wednesday, 19 October 2005
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...
Tuesday, 18 October 2005
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...
Wednesday, 5 October 2005
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...
Wednesday, 14 September 2005
Monday, 5 September 2005
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...
Thursday, 1 September 2005
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)....
Monday, 29 August 2005
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...
Thursday, 25 August 2005
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...
Thursday, 25 August 2005
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....
Monday, 15 August 2005
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...
Monday, 15 August 2005
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...
Monday, 15 August 2005
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...
Saturday, 13 August 2005
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...
Wednesday, 10 August 2005
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...
Monday, 8 August 2005
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...
Saturday, 23 July 2005
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...
Friday, 22 July 2005
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...
Thursday, 21 July 2005
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?...
Monday, 18 July 2005
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...
Saturday, 16 July 2005
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...
Friday, 15 July 2005
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...
Tuesday, 12 July 2005
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...
Saturday, 9 July 2005
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...
Friday, 8 July 2005
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...
Friday, 1 July 2005
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...
Thursday, 30 June 2005
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...
Monday, 27 June 2005
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...
Thursday, 23 June 2005
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...
Monday, 20 June 2005
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...
Tuesday, 14 June 2005
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...
Tuesday, 24 May 2005
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...
Sunday, 22 May 2005
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...
Sunday, 22 May 2005
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...
Saturday, 21 May 2005
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;...
Wednesday, 18 May 2005
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...
Tuesday, 17 May 2005
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...
Sunday, 15 May 2005
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...
Thursday, 12 May 2005
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,...
Tuesday, 10 May 2005
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...
Monday, 9 May 2005
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...
Sunday, 1 May 2005
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....
Friday, 29 April 2005
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...
Friday, 29 April 2005
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...
Sunday, 24 April 2005
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...
Sunday, 24 April 2005
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...
Tuesday, 12 April 2005
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...
Sunday, 10 April 2005
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...
Sunday, 10 April 2005
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...
Sunday, 3 April 2005
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...
Friday, 1 April 2005
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;...
Wednesday, 30 March 2005
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....
Friday, 25 March 2005
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...
Monday, 21 March 2005
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...
Thursday, 17 March 2005
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...
Thursday, 17 March 2005
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...
Saturday, 5 March 2005
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...
Wednesday, 2 March 2005
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...
Tuesday, 22 February 2005
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...
Monday, 7 February 2005
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...
Saturday, 5 February 2005
Listening to people talk about the economy -- and the housing bubble in particular -- made me wonder; what happens after it bursts?
Monday, 24 January 2005
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#;...
Sunday, 23 January 2005
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.
Wednesday, 19 January 2005
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...
Wednesday, 5 January 2005
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...
Friday, 17 December 2004
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.
Wednesday, 15 December 2004
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...
Monday, 6 December 2004
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.
Friday, 26 November 2004
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...
Wednesday, 17 November 2004
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.
Friday, 5 November 2004
For some reason, people are considering a change, such as this one. Might I make another suggestion [pdf].
Saturday, 16 October 2004
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:...
Sunday, 10 October 2004
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?...
Wednesday, 29 September 2004
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.
Monday, 27 September 2004
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.
Sunday, 19 September 2004
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.
Wednesday, 8 September 2004
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.
Wednesday, 8 September 2004
An update to the Internet-Draft that provides initial values for the HTTP Header Message Registries is now available.
Monday, 6 September 2004
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...
Thursday, 2 September 2004
...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.
Thursday, 26 August 2004
It's no secret that HTTP authentication isn't used as often as it should be.
Wednesday, 25 August 2004
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...
Saturday, 21 August 2004
Version 0.5 of sparta.py is now available; with this release, it's roughly feature-complete.
Thursday, 19 August 2004
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.
Sunday, 8 August 2004
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....
Sunday, 8 August 2004
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...
Thursday, 5 August 2004
(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...
Thursday, 5 August 2004
Oh LazyWeb, please give me software that lets me use my Powerbook as a Bluetooth speakerphone…...
Monday, 2 August 2004
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...
Saturday, 31 July 2004
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...
Friday, 30 July 2004
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...
Monday, 26 July 2004
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...
Sunday, 25 July 2004
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....
Sunday, 18 July 2004
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...
Saturday, 3 July 2004
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....
Friday, 2 July 2004
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...
Thursday, 1 July 2004
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...
Thursday, 1 July 2004
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....
Wednesday, 30 June 2004
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...
Wednesday, 30 June 2004
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;...
Monday, 28 June 2004
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....
Wednesday, 23 June 2004
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...
Wednesday, 16 June 2004
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....
Monday, 14 June 2004
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...
Saturday, 5 June 2004
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...
Saturday, 5 June 2004
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...
Monday, 31 May 2004
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....
Sunday, 30 May 2004
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,...
Friday, 28 May 2004
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...
Friday, 28 May 2004
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...
Friday, 28 May 2004
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!...
Tuesday, 18 May 2004
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...
Saturday, 15 May 2004
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...
Wednesday, 12 May 2004
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...
Tuesday, 11 May 2004
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:...
Friday, 7 May 2004
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...
Friday, 7 May 2004
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...
Wednesday, 5 May 2004
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,...
Wednesday, 5 May 2004
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...
Monday, 3 May 2004
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,...
Sunday, 2 May 2004
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...
Sunday, 2 May 2004
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...
Saturday, 1 May 2004
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....
Tuesday, 27 April 2004
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...
Tuesday, 27 April 2004
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...
Tuesday, 27 April 2004
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...
Monday, 26 April 2004
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...
Saturday, 24 April 2004
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)....
Tuesday, 20 April 2004
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...
Monday, 19 April 2004
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...
Friday, 16 April 2004
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...
Thursday, 15 April 2004
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....
Wednesday, 14 April 2004
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">...
Tuesday, 13 April 2004
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...
Tuesday, 13 April 2004
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...
Monday, 12 April 2004
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...
Friday, 9 April 2004
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...
Friday, 9 April 2004
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....
Thursday, 1 April 2004
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...
Monday, 29 March 2004
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...
Monday, 29 March 2004
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…...
Sunday, 28 March 2004
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...
Tuesday, 23 March 2004
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...
Monday, 22 March 2004
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...
Wednesday, 17 March 2004
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...
Wednesday, 10 March 2004
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...
Sunday, 7 March 2004
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,...
Friday, 5 March 2004
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...
Monday, 1 March 2004
This just popped up on the iTunes “new releases” list. I think we’re going to see some Atom-related products called “Tomato.”...
Sunday, 15 February 2004
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...
Sunday, 15 February 2004
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...
Sunday, 15 February 2004
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...
Saturday, 14 February 2004
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...
Saturday, 14 February 2004
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...
Saturday, 14 February 2004
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...
Tuesday, 10 February 2004
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...
Monday, 9 February 2004
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...
Monday, 9 February 2004
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...
Sunday, 8 February 2004
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....
Saturday, 7 February 2004
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...
Saturday, 7 February 2004
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...
Friday, 6 February 2004
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...
Wednesday, 4 February 2004
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...
Tuesday, 3 February 2004
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...
Thursday, 29 January 2004
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....
Thursday, 29 January 2004
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...
Wednesday, 28 January 2004
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...
Sunday, 25 January 2004
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...
Saturday, 24 January 2004
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...
Thursday, 22 January 2004
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…)...
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...
Wednesday, 21 January 2004
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......
Tuesday, 13 January 2004
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...
Monday, 12 January 2004
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...
Monday, 12 January 2004
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...
Monday, 12 January 2004
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...
Sunday, 11 January 2004
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...
Thursday, 8 January 2004
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...
Wednesday, 7 January 2004
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...
Wednesday, 7 January 2004
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....
Tuesday, 6 January 2004
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.)...
Saturday, 3 January 2004
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...
Saturday, 3 January 2004
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...
Tuesday, 30 December 2003
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...
Monday, 29 December 2003
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...
Sunday, 28 December 2003
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...
Saturday, 27 December 2003
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...
Friday, 26 December 2003
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...
Friday, 26 December 2003
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.
Monday, 15 December 2003
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...
Saturday, 13 December 2003
Anitra turned me on to what happened to Steve from Blue’s Clues. As he would say, “Cool!”...
Friday, 12 December 2003
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...
Friday, 12 December 2003
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...
Thursday, 11 December 2003
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......
Wednesday, 10 December 2003
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....
Tuesday, 9 December 2003
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....
Monday, 8 December 2003
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...
Monday, 8 December 2003
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....
Sunday, 7 December 2003
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...
Sunday, 7 December 2003
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...
Saturday, 6 December 2003
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?...
Wednesday, 26 November 2003
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…...
Sunday, 9 November 2003
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...
Thursday, 30 October 2003
'cause Gudge says so, and as we all know, Gudge is always right....
Tuesday, 21 October 2003
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....
Friday, 17 October 2003
Love your work, Banksy. A statement from Tate Britain said that a man "had left a personal possession in one of the galleries"....
Friday, 17 October 2003
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....
Tuesday, 7 October 2003
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...
Friday, 3 October 2003
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...
Friday, 3 October 2003
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...
Thursday, 2 October 2003
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...
Thursday, 2 October 2003
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...
Wednesday, 24 September 2003
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. *...
Saturday, 20 September 2003
Concise and witty, as always....
Thursday, 18 September 2003
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......
Saturday, 13 September 2003
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...
Saturday, 13 September 2003
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...
Friday, 12 September 2003
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...
Wednesday, 10 September 2003
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...
Wednesday, 10 September 2003
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...
Thursday, 28 August 2003
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....
Monday, 25 August 2003
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...
Sunday, 24 August 2003
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...
Saturday, 23 August 2003
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...
Thursday, 21 August 2003
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"...
Monday, 18 August 2003
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...
Tuesday, 12 August 2003
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...
Monday, 11 August 2003
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,...
Monday, 11 August 2003
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...
Monday, 4 August 2003
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?...
Monday, 4 August 2003
RSSJobs looks interesting; hopefully, we'll see more of these "non-traditional" uses of RSS as time goes by....
Saturday, 2 August 2003
Boy, I'd sure like some of whatever the Boeing folks are smoking. [ via The Economist, print edition, pg. 8-9 ]...
Tuesday, 29 July 2003
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...
Tuesday, 29 July 2003
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...
Saturday, 26 July 2003
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?...
Saturday, 26 July 2003
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,...
Saturday, 26 July 2003
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...
Friday, 25 July 2003
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...
Friday, 25 July 2003
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...
Friday, 25 July 2003
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!...
Monday, 21 July 2003
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...
Friday, 18 July 2003
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....
Tuesday, 15 July 2003
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...
Friday, 11 July 2003
This is exactly what namespaces are for....
Thursday, 10 July 2003
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...
Saturday, 28 June 2003
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....
Saturday, 28 June 2003
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...
Tuesday, 24 June 2003
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...
Tuesday, 24 June 2003
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...
Tuesday, 24 June 2003
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...
Tuesday, 24 June 2003
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...
Monday, 23 June 2003
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...
Sunday, 22 June 2003
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....
Sunday, 22 June 2003
Looks like a good to-read list: John Beatty: Economics of Standards (via John Beatty, one of my fellow BEA-ers; hi John!)...
Friday, 20 June 2003
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...)...
Tuesday, 17 June 2003
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?...
Monday, 16 June 2003
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...
Saturday, 14 June 2003
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...
Thursday, 12 June 2003
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...
Thursday, 12 June 2003
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...
Friday, 6 June 2003
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...
Wednesday, 4 June 2003
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?...
Thursday, 29 May 2003
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 ]...
Thursday, 29 May 2003
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...
Wednesday, 28 May 2003
I agree with just about everything that Jim Waldo says here (at least for protocol standards). Well said!...
Wednesday, 28 May 2003
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...
Sunday, 25 May 2003
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...
Monday, 19 May 2003
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...
Friday, 16 May 2003
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......
Sunday, 11 May 2003
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...
Saturday, 10 May 2003
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...
Saturday, 10 May 2003
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...
Friday, 9 May 2003
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...
Thursday, 8 May 2003
I know at least one person who will think that this is a good idea. Anybody else? I'd looove to do this work......
Monday, 5 May 2003
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....
Sunday, 4 May 2003
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...
Saturday, 3 May 2003
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 ]...
Saturday, 3 May 2003
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...
Saturday, 3 May 2003
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...
Saturday, 3 May 2003
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...
Thursday, 1 May 2003
Anybody know how to get ZeroConf working on Linux, so that I can advertise services on my server to the Macs at home?...
Tuesday, 29 April 2003
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...
Monday, 28 April 2003
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...
Monday, 28 April 2003
[ 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...
Monday, 28 April 2003
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...
Sunday, 27 April 2003
For discussion: RSS history module (the eventual result of this)....
Saturday, 26 April 2003
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...
Thursday, 24 April 2003
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......
Thursday, 24 April 2003
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...
Wednesday, 23 April 2003
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....
Tuesday, 22 April 2003
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...
Tuesday, 22 April 2003
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...
Saturday, 19 April 2003
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*...
Friday, 18 April 2003
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...
Friday, 18 April 2003
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...
Thursday, 17 April 2003
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....
Tuesday, 8 April 2003
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....
Thursday, 27 March 2003
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...
Tuesday, 25 March 2003
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...
Friday, 14 March 2003
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....
Thursday, 27 February 2003
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...
Friday, 14 February 2003
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....
Thursday, 13 February 2003
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...
Thursday, 30 January 2003
Travel bookmarks have been reorg'd and cleaned; the RSS feed gives you the latest additions. Suggestions welcome....
Sunday, 26 January 2003
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...
Tuesday, 21 January 2003
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*...
Tuesday, 14 January 2003
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...
Saturday, 11 January 2003
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....
Wednesday, 8 January 2003
I'm no SVG expert, but this sure seems like it. Gotta get me a copy of that....
Wednesday, 11 December 2002
Aaron points out the Apple Switch commercial starring Yo Yo Ma. Cool; how long before we see a Switch ad with TBL? :)...
Sunday, 8 December 2002
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?...
Wednesday, 27 November 2002
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...
Tuesday, 26 November 2002
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...
Monday, 25 November 2002
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....
Monday, 25 November 2002
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!...
Sunday, 17 November 2002
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,...
Saturday, 16 November 2002
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...
Sunday, 10 November 2002
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....
Friday, 1 November 2002
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......
Wednesday, 30 October 2002
Cool....
Thursday, 12 September 2002
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......
Tuesday, 10 September 2002
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...
Tuesday, 10 September 2002
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)...
Friday, 6 September 2002
I'm trying out movabletype, as there were some pretty severe limitations doing it with the bookmarks......
Tuesday, 3 September 2002
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...
Tuesday, 3 September 2002
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)...
Monday, 26 August 2002
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...
Monday, 26 August 2002
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....
Saturday, 24 August 2002
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'...
Saturday, 24 August 2002
Harumph. Date is a datatype, not a property....
Saturday, 24 August 2002
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...
Tuesday, 20 August 2002
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....