intertwingly

It’s just data

CMIS


Roy Fielding: All of those points are rather small compared to my overall complaint that it isn’t appropriate to define a “REST” binding to a specific data model’s limitations. The whole point of REST is to avoid coupling between the client applications and whatever implementation might be behind the abstract interface provided by the server.

First, by way of disclosure, I had an opportunity to provide some input several months ago as this was being developed, and a number of changes were made based on my input.  I also chatted with Al Brown last night.

I also chose to be willfully oblivious to any hype.  I have no comment on any complaints that have been made along those lines.

What matters most to me is not how they derive or express this specification, but on whether the operational behavior is such that a pure HTTP client can fully participate up to the limits of the HTTP specification, and AtomPub clients can participate to the limits of the AtomPub specification.  By that I mean that extensions are fine, if they are truly optional, e.g., an AtomPub client which is otherwise unaware of CMIS would be able to traverse collections, and fetch, update, and delete resources.

Based on my discussion with Al last night, I’m cautiously optimistic that this will be the case.  I looked at specific instances of service documents and feeds before I came to this conclusion.  Furthermore, they were open and responsive to my feedback, and I believe that their invitations for others to participate to be sincere.

Roy’s point that HTTP headers that affect the representation returned without a VARY header will poison caches is valid, and represents a bug.  I’ll point out that adding such a VARY header could very well cause caches to be less effective.  But, again, I view that as a simple bug, one that the TC intends to address, and one that isn’t overly surprising or a cause for concern at this early stage of standardization. 

Certainly neither HTTP nor AtomPub standardize query, as such I do not see it as a problem if a new media type is introduced for this use case.  Perhaps there might be a better way, and if so, it should be pursued, but otherwise a new media type is a perfectly acceptable solution.

As I’ve done with numerous other Atom extensions, I plan to work with this team to add support for CMIS to the Feed Validator.

Planet Hopping


Jacques Distler: I got quite annoyed that the existing software (Venus) was unable to handle my own Atom feed. Apparently, the Universal Feedparser is weak, and easily confused by posts like this one.

Inside the feedparser is the following comment, originally by Mark Pilgrim:

# This will horribly munge inline content with non-empty qnames,
# but nobody actually does that, so I'm not fixing it.

The bad news is that continued further progress is difficult.  The internal model for the feed parser for content is a serialized string.  Such a string is repeatedly pulled apart using a SGML parser and put back together.  It was the best technology at the time.  Workable, but not ideal for HTML.  Problematic for XHTML.

That’s what inspired me to produce Mars.

...

RubyConf 2008


My proposal has been accepted for RubyConf 2008.  Because of the presence of Ruby implementers, this is going to be a bit challenging as it will likely turn into two talks at once.  One sharing experiences with fellow developers concerning things they may need to watch out for, and another with language designers about the impact of their changes.  It also is likely to be true, as it was at OSCON, that there will be members of the audience who know way more about this subject than I do.

I had originally requested a slot on Saturday.  My current slot requires me to shave a day off of ApacheCon.  I’ve again asked that the slot be changed, but even if it doesn’t move, I can manage this.  At least we are only talking about a short hop from New Orleans to Orlando.

Small Updates


Alf Eaton: Aside: if you’re reading a Planet that contains HubLog, those posts will all jump to the top - sorry! (I wish Planets dealt better with small updates so I didn’t have to worry about it).

I don’t know what publishing software you use, but I see you provide an Atom feed, and Planet 2.0 and Venus both implement atom:updated as specified in RFC 4287.

...

SVG via CSS


Now that I have my weblog looking reasonably consistent between Gecko and WebKit based browsers, I’ve taken another look at Opera.  Opera doesn’t have support for border-radius, but does have support for background images in SVG, which can be used to provide the same effect.  My Nav Bar on my test site now employs this technique, and it requires two separate images: 039 on CCD and CCD on FFF.

Frankly, my first reaction to this was mixed.  The pluses for SVG in CSS is that it doesn’t require either adjusting your markup or JavaScript to achieve these effects, a desirable characteristic that generally the other techniques don’t share.

...

Raleigh Convention Center


Grand Opening is occurring this weekend.  Took a tour yesterday, looks modern, clean, and should attract more businesses into downtown.

The facilities looks to be about a quarter the size of the combined Moscone Center (i.e., North, South, and West combined).  I’d wager that the weak link in attracting major (international or even national) conferences is the airport, as Raleigh is neither a major destination nor a national hub.

One unique feature is the shimmer wall which is fun to look both at night and day.

Chrome Polishing


Google Chrome gave view-source some much appreciated attention.  I often want to take a look at the CSS or JavaScript or some related link, and control-U takes me to the source of the page in a separate tab, with all of the lengthy lines line wrapped and line numbered.  Best of all, all of the links are active.  I simply find what I’m looking for, and click on it, and I see that page in another tab.

This caused me to track down and fix a few WebKit compatibility issues, both with my weblog, and with my planet.

...

Continuing Saga of text/plain


Is this feed valid?  At the moment, the feedvalidator only issues a warning on the use of a text/plain mime type.  At the time the feedvalidator was originally written, this was only a venial sin, primarily because browsers had no material feed support at the time, and because both desktop and web server based aggregators largely ignored the content type.

Times have changed a bit.

...

X-Content-Type-Options: nosniff


Eric Lawrence: Sending the new X-Content-Type-Options response header with the value nosniff will prevent Internet Explorer from MIME-sniffing a response away from the declared content-type.

I can’t can now reproduce this, either with the feeds I care about or and with the testcase provided.

...

Translation is Hard; Let’s Go Shopping!


I should have known better, but when I started to take a deep dive into Localizing Rails for the purpose of adding coverage to this in AWDwR3, I thought I could handle translating the dozen and a half phrases that appeared on the website.

That turned out to be much harder than I would have thought.

...

What’s SUP?


Paul Buchheit: You can see SUP <link> elements in FriendFeed’s Atom feeds (e.g., http://friendfeed.com/paul?format=atom), and you can see FriendFeed’s SUP feed at http://friendfeed.com/api/sup.json.

Excellent!  I took a look with the thought of updating the feedvalidator to support this, but it turns out that there was nothing to be done.  As Col. John “Hannibal” Smith would say, “I love it when a plan comes together”.

...

“Improved” Namespace Support


Internet Explorer 8 Beta: The Features: Internet Explorer 8 simplifies the use of standards-compliant XML-based webpages that support namespace features like scalable vector graphics, XML user interface language, mathematical markup language, and others.

Let’s give it a spin.

...

ES Decimal Updates


10

A summary of changes to ECMAScript decimal support, based on input from the committee in the last week or so:

Output and a summary of the run of the small but growing unit test suite.

W3C HTML 5 Conformance Checker


Karl Dubost: We are happy to announce that W3C has integrated a version of HTML 5 conformance checker into a beta instance of the W3C Markup validator. That will help us to detect bugs, improve the user interface, and benefit from the large W3C communities.

Gotta love the “random” page that Olivier Théreaux chose to mention in his announcement.

Standardizing RESTful JSON


Kris Zyp: The notes in this post are based on the behavior of server implementations of JSON REST including Persevere, CouchDB, GrassyKnowl, Amazon S3, and RoR’s ActiveResource, and on client implementations including Dojo, Jester, and Persevere JavaScript client.

It looks like Joe Gregorio may have started something.  Again.

AWDwR3 Beta 5


Agile Web Development with Rails, Third Edition beta 5 is now available.  The current list is much more manageable.  The people who have participated in the beta have been tremendous, and the forums have been quite active.  Meanwhile, I’ve converted all of my personal Rails apps to Phusion Passenger. ...

Wii Fit Update


I’ve lost ten pounds since I got a WII fit, but that number doesn’t tell the whole story.  Losing another 10 pounds (gradually: over the course of 3-6 months) would put me into the fitness category in terms of body fat percentages, and would seem to be a worthy goal.

I’m not convinced that the exercises contributed significantly to my weight loss.  It is possible that early morning stretching and aerobic exercise set my metabolism for the day.  But more importantly, at least for me, is the daily tracking and graphing.  I often see up to two pound fluctuations day to day, even when the measurements are taken at the same time and same conditions.  But the ten day moving average (not graphed by the WII) trends are clear and consistent.  This feedback keeps me focused.  And has provided feedback on the relative “costs” of various activities.

...

Tilting at Windmills


Damien Katz: "The web is built on REST. Therefore REST is good" Bullshit

I’m not sure what the purpose is behind creating a strawman based on a caricature of what some people view as best practices and then proceeding to shoot it down.

...

Tasty Rails Caching


Tim Bray: This matters if your Web app is maxed on some combination of CPU and database, and a noticeable proportion of requests don’t really need a page-rebuild, and your existing caching and last-modified setup isn’t getting the job done.

While I agree with that, I claim that the potential benefits are much more than that.  Much more.  Furthermore, the upcoming Simpler Conditional Get Support is not the only arrow in Rail’s quiver, and not always the best one.

...

Live HTML5 Parser


Henri Sivonen: So without further ado, here’s Live DOM Viewer with an HTML5 parser running as JavaScript in your browser.

Wow!  I’m impressed by the speed.  I can definitely see myself tweaking, if not outright developing, the SVG images I create using this.  I can also see this being used in a comments live preview function.

...