It’s just data

REST in Raleigh

Darrel Miller: Was the idea to call the REST workshop WS-REST designed to be as inflammatory as possible? [via Don Box]

Oh, cool, a conference with a topic I’m interested in in my back yard!

It’s a shame it is too late to submit a talk proposal.  Guess I’ll get to enjoy it as a civilian.


Just noticed a new addition to Ubuntu: PowerNap.  I have a server that I use to offload running some tests from my primary development machine.  I start jobs via a web interface, and they retrieve the sources to test using git and svn.  The net result is that there is no keyboard or mouse activity, not even ssh.

PowerNap’s value proposition is that it monitors processes, looking for arbitrary regular expressions, and considers the presence of matching processes as activity.  Simple and effective.

PowerWake determines and caches MAC addresses, simplifying wakeup.

Zap Gremlins

Monthly, the Apache Software Foundation has a board meeting, and the work flow that leads up to this is that a rotating selection of Officers prepare written reports and either commit them directly to subversion or email them to a mailing list where they will be picked up. 
It is an unfortunate truth that a number of these officers are still using proprietary operating systems and tools.  The end result is predictable: a file which contains a number of encoding errors.



Joe Armstrong: After a small amount of experimentation I was able to make Erlang talk to a web page using pure asynchronous message passing.  I think this means the death of the following technologies:

I see the appeal for a single node Erlang or Eventmachine or node.js server.  (Can sockets be passed between servers?)

I’m less clear about how this could work with request/response servers like PHP or Rails.  Event loops on the server are not typically application patterns for applications using such frameworks — shared nothing is more of the norm.

Relaxed Inc.

Damien Katz: I, Jan, and Chris are building a startup around Apache CouchDB

CouchDB crossed my radar just over two years ago, a few months later, Damien was at IBM, it entered incubation at the ASF a little over a month later.  It has been an exciting project to watch.

My role was simply as a catalyst at a few junctures.


Lately I’ve been moving around more between my netbook, laptop, and desktops, so having any single machine being designated as my mail portal at the moment often means that I often don’t have convenient access to my email.

I figured it was time to investigate running my own mail server.


Depot Dashboard


Sometimes the answer to information overload is to seek more information.

I’ve been trying to track the changes to both Rails 3.0 and Ruby 1.9.2 which affect Edition 3 of Agile Web Development with Rails, as well as track both with my work on Edition 4.  Depot Dashboard is a static snapshot of the result, updated frequently throughout the day.


Collaborative Editing Formulas

Jacques Distler: To borrow a phrase from Samuel Johnson, “… like a dog’s walking on his hind legs. It is not done well; but you are surprised to find it done at all.”

Jacques has a way with words.  It does seem to me that collaboratively editing complex formulas and simple diagrams would be one of the use cases for Google Wave, yet I can see the vast number of separate problems that need to be solved in order for this to be addressed ubiquitously (i.e. using only the browser that the user happens to have in front of them at the time).

Chrome Beta

Dan Kegel and Evan Martin: Google Chrome for Linux is finally ready for beta

sudo apt-get update
sudo apt-get remove google-chrome-unstable
sudo apt-get install google-chrome-beta

Looks like a clean substitution: icon in my gnome panel still works, history is preserved, etc


Desarrollo Web con Rails

I got a copy of this book in the mail.

An excerpt that made me chuckle: Es un alivio, así que recordando un poco del español que aprendimos en el colegio, vamos a comenzar a trabajar.

The context is a chapter on Internationalización. Further background.

Telex Digraph Mappings

Aurélio, Küng, Stärk, Uña, Łuksza, these are but a few of the names of contributors to the ASF.  Names which contain non-ASCII characters.  Characters that subversion doesn’t deal with consistently between Mac and other platforms.

The Wikipedia entry for Umlaut indicates that there is set of rules for mapping such characters to ASCII for Telex devices, but I have been unable to locate these rules.  Anybody have a pointer?



I’ve refactored a number of helpers I’ve used to simplify development of Server Side Single Page Applications into cgi-spa, also available as a gem or even as a standalone file.

There are times when the scalability I care about is the ability to scale down.  For many applications, one request per second is more than enough, as the application has few users, often only one.  These applications tend to contain all of the same types of bits that “real” applications do: markup, stylesheets, server side logic, and client side logic; just generally not enough to spread across multiple files.


First Patch

I believe that this is my first patch to the Ruby language itself.

Discovered while testing the latest master of Rails 3.0-pre against the last build of Ruby 1.9.1 using RVM.

A Software Freedom Scorecard

Simon Phipps: Your browser doesn’t seem to support HTML 5 (or perhaps the Ogg Theora standards) so you’re missing the embedded video here.

Excellent presentation (and excellent means of delivery via the web) by Simon.  His thesis is that a license is a necessary but not sufficient indicator of openness in a community.  (Related: Mark Wielaard points out a contemporary example [via Dims]). In my opinion, whether Simon’s got all of the details right isn’t the point, the point is to start a conversation on this important topic.

Incidentally, I was cameraman for this particular video, a task which entailed my pushing a single button and then holding a flip video recorder for approximately a half hour.

SFScon Slides

Slides from a presentation that I should be giving in just over two hours.

Static rendering and HTML-syntax compatibility turned out to be useful as I could simply place my presentation on a flash drive and copy it onto the machine provided for presentation (also running Ubuntu), and then launched using firefox agenda.


Too Funny

Hi Ellen!

I’m sure that there is a rhyme or reason to this, but for the life of me I can’t imagine what it would be.  If anybody has any insight as to what it might be, suffice it to say that I am very curious at this point.


X3Dom works today in nightly builds of FireFox 3.7, and makes use of a namepsace and mixed case element and attribute names in XHTML.  We will be discussing this tomorrow.


SubVersion → ASF

CollabNet: The CollabNet-sponsored Subversion project and The Apache Software Foundation (ASF) announced today that the award-winning Open Source project has formally submitted itself to the Apache Incubator in order to become part of the Foundation’s efforts.

Introduction to Decentralized Extensibility

Noah Mendelsohn: This is the presentation I will be giving on 4 November 2009 at the W3C Technical Plenary session on Decentralized Extensibility

Liam Quin: Automatic XML namespaces

Tony Ross: Distributed Extensibility Submission from Microsoft

Purity Smurity

Mark Pilgrim: Anyone who tells you that HTML should be kept “pure” (presumably by ignoring browser makers, or ignoring authors, or both) is simply misinformed. HTML has never been pure, and all attempts to purify it have been spectacular failures, matched only by the attempts to replace it.

I strongly agree with Mark’s statement.  Furthermore, I believe that it is a useful predictor of which parts of HTML will ultimately succeed and which parts will ultimately fail.


Binary Free

On a lark, I converted the few images referenced by my CSS file to data URLs.  Seems to work just fine in the latest release of all major browsers.

I used the following simple script to do the conversions:


Ubuntu Netbook Remix

Installing Ubuntu NetBook Remix on my ASUS EEE PC 900A was as simple as burning the boot image to a USB stick, inserting it into the EEE, pressing escape on boot, selecting the USB drive, and installing normally.  This is now my third OS on this NetBook, all Linux based.

First impressions: it is quite noticeably faster.  Firefox had been sluggish at times, but now is snappy.  Installing flash was straightforward (visit YouTube, follow the links, select the .deb for Ubuntu) and while video had been nearly jerk free, it now is completely smooth.



I’m presenting at SFScon next month.  I often don’t accept these invitations, and this particular opportunity is coming directly off a particularly busy time for me, but my wife wanted to go, and I’ve never been to Italy before.  As always, slides will be posted on the web.

How it always starts...

Exhibit A:

Exhibit B:

With apologies to Joe Gregorio.

Book Update


Time for a fourth printing!  I can confirm that this puts this book comfortably on the left hand side of this pie chart.  I have other reasons for liking working with PragProgs, as the entire package as a whole is something that I enjoy.

The fourth edition is coming along, and looks like it will be every bit as much work as the previous edition.  I could save myself some grief by waiting until Rails 3.0 is done, and simply documenting that, but instead I’m participating in the process.


Open Core

Bradley M. Kuhn: judge the freedom of your codebase not only on its license, but also on the diversity of the community that contributes to it.

+1 insightful.  Lots of good stuff in that post.  Copyright assignment is a community smell.

It isn’t surprising that Brad believes that the GPL while retaining copyright is the best way to build a diverse community, my experience is that the Apache License is often more effective at being able to attract from a larger pool of developers.  Either way, we agree that the goal is a diverse community, the license chosen is but one of many factors that may help you get there.

Brad’s observations also apply to standards, politics, and pretty much any context where any group of people are treated as “more equal” than an other group.

CSS3 box-shadow

Chris Casciano: CSS properties box-shadow and rgba() and others like text-shadow are absolutely usable in the wild right now.

Works fine on elements that are position: fixed (example: my nav bar).  When I try to put it on either my articles or my section h2s, scrolling becomes jerky on Firefox 3.5.3, but remains smooth on Chrome  Primary environment is Ubuntu 9.04, but I see similar things on Windows XP.

Mountain Home

Having completed his tech training, my son is now stationed in Mountain Home, Idaho.  In between, he took some leave, visited home and friends in NC and Virginia.  Having a number of possessions he needed to get to his new base, including a car, he opted to drive.  It is a tough trip, and doing so alone would have made it tougher, so I surveyed my options and decided to take the opportunity travel with him.  I’m glad I did.


XSS Protection by Default in Rails 3.0


Michael Koziarski: Switch to on-by-default XSS escaping for rails.:

For existing applications, the changes needed will tend to be small and easily spotted.  The biggest impact will be to books and tutorials.  For new applications, this is all goodness.  Edition 4 will be updated to reflect this change.


View Source Tutorial

Brad Neuberg: View Source Tutorial: Fancy Web Page Using HTML5, CSS, and SVG [via Tim Strehle]

Not only is it a thing of beauty (both visually and from a view source perspective), it also nearly validates... and furthermore the validation errors are useful.  This is hopefully an indicator of the way the web is heading.

With a little content negotiation and with this bug fixed, perhaps it could even work on IE.

I Hear That

Lowell McAdam: Either you have an open device or not, This will be open.


Depending on what’s offered, sometime next year I’ll seriously consider an out-of-cycle (i.e., non-subsidized) upgrade.

ARMs Race

Aditya Bansod: We created a new compiler front end that allowed LLVM to understand ActionScript 3 and used its existing ARM back end to output native ARM assembly code. We call this Ahead of Time (AOT) compilation—in contrast to the way Adobe Flash Player and Adobe AIR function on the desktop using Just in Time (JIT) compilation. Since we are able to compile ActionScript to ARM ahead of time, the application gets all the performance benefits that the JIT would offer and the license compliance of not requiring a runtime in the final application.

Four Credits


582331: The course is based on the course book: Agile Web Development with Rails, Pragmatic Bookshelf, Third Edition, 2009 (Sam Ruby, Dave Thomas, and David Hansson) (original)

The course is taught by Matti Paksula, who was a co-presenter at SVG Open, where he shared this juicy tidbit.


Background SVG Images in Opera

Erik Dahlström: something like ".footer { background: url(my.svg); }"

Eric uses this technique on his site, unfortunately this demonstrates a limitation in the ability of CSS to define fallbacks for browsers which do not support SVG as background images — Firefox and Chrome, for example, show white text on a white background.

I’ve implemented this on my web site, but instead of browser sniffing, I sniff the URI.


SVG Open Keynote

SVG Open Slides.

Despite bringing my Windows laptop.  Despite setting my display to 1024x768.  Despite arriving early.  Despite testing my laptop with the presentation equipment.  Despite all of that, I still couldn’t present from my laptop when my time came.  Brad was kind enough to swap time slots to allow me an opportunity to regroup, and further nice enough to let me use his laptop when I still could not present from my laptop despite a total and cold reboot.

That just sucks.



I’m on flight AA 179 accessing the internet via gogo inflight internetAgain.

This doesn’t get old.  Next up: SVG Open.

Distributed Extensibility Submission

Tony Ross: A Distributed Extensibility model for standard HTML is desirable because it means that user agents from different vendors that adhere to the standard can be assured of correctly processing mark-up that contains extensions without destroying the integrity of the document.


Muppet Show: Java
Tracey Ullman Show: City of Strangers

Chromie Don’t Play That

Alex Russell: Right now, we aren’t supporting the HTTP header (although we do support a separate MIME type, application/chromeframe)

Current tally: Google Chrome Frame violates HTML 4 by using http-equiv to specify something other than an HTTP header, it violates HTML 5 by using an unenumerated value for http-equiv, and violates RFC 2616 by not specifying the correct ACCEPT header.



Amit Joshi, Alex Russell and Mike Smith: To start using Google Chrome Frame, all developers need to do is to add a single tag:

<meta equiv="X-UA-Compatible" content="chrome=1">

That’s just so wrong on so many levels.  What’s on the web site doesn’t even match the videoInstant legacy!

Ruby 1.9 and Rails 3.0

Much to my surprise, it looks like these two will be ready for each other.  The latest release is Ruby 1.9.2 Preview 1, and blows up and spills its entrails the first time you try to generate scaffolding.  But undaunted, I tried the latest Ruby head against the latest Rails head.  The only failure you see is the same one that I get with Rails head and Ruby 1.8.7 and the subject of this ticket.

After a bit of work, I have managed to produce a single scenario with some minor “if” checks that works any combination of Ruby 1.8.7 or 1.9.2 with Rails 2.3.4 or Rails 3.0.  I’m now making the working assumption that Edition 4 of Agile Web Development with Rails will target Ruby 1.9.2 (which if tradition holds, will be available at Christmas 2009), but will work with only minor differences noted in the book with Ruby 1.8.7.


Microsoft Sponsors SVG Open

Brad Neuberg: Microsoft just announced they are a sponsor for SVG Open! They join IBM as a Gold Sponsor

SVGOpen is October 2 to 4 2009 in Mountain View, California.  I’m one of the keynote speakers.  It is not too late to register.


Primarily due to the help of wycats and nzkoz, I’ve got a decent feedback loop going between ongoing book development and ongoing Rails development.  The root problem is that given the rate of change of Rails, every single tutorial and book out there is atrophying due to either intentional or unintentional changes to Rails.

My, admittedly selfish, goal is to be aware of any such change that affects either the current edition of AWDwR, or the one under development.


RVM for Ubuntu Tip

sudo apt-get install libssl-dev libreadline5-dev

Do the above before installing any VM’s.  If you don’t it isn’t too late.

With that out of the way, rvm is highly recommended.

Codeplex Foundation Our contribution agreement. This serves as a template for how companies or individuals may make intellectual property cntributions[sic] to the Foundation.

If Microsoft’s goal was to be at arm’s length, I would have recommended that they follow Eclipse’s or Apache’s model.  Copyright assignment may provide benefits down the road, and can work for obviously independent organizations like the FSF, but in this case I’m concerned that this may prevent a successful and sustainable bootstrap.

Update: Sam Ramji is leaving Microsoft.  I did’t see that one coming.

Venus Updates

I’ve updated planet Venus.  Summary of the changes:

While I’m dog-fooding this myself, it might be wise to wait a few days to see what bugs shake out before upgrading.  When the bugs are shaken out the result should be more secure (example: HTML5lib will sanitize URI schemes), and should also fix Mozilla bug 514534 without the need to resort to the application/xhtml+xml mime type, which causes other problems.

Bug reports should go to the mailing list.

First Polyglot Validator Check Deployed

... to  Look for the Profile option.

The only checks that are made for now is for attribute values.  Attribute with values that are unquoted are flagged if either the Pedagogical or Polyglot profile is selected.  Additionally, attributes without values at all will be flagged if Polyglot is selected.  To see this live look for nowrap in the output for


Dealing with broken utf-8 with Ruby

I’ve know that str.split had an idiom which split strings into characters (by default, bytes in Ruby 1.8) if passed a regular expression that matched a zero-width string, thus:


What I didn’t know was that this idiom was sensitive to either the encoding of the regular expression (example: //u) or the value of KCODE.

But that’s not the most important part.  The interesting thing is how this function deals with splitting of strings that are not correctly encoded UTF-8.  It doesn’t complain, it simply splits them out too.  This makes cleanup (either simple removal or replacement with substitution characters) a breeze.

Changes: rails, instiki.

CI Zero


Yehuda Katz: Inbox Zero is important for the same reason that CI Zero is important.

It has been a struggle to keep Rails 3.0 to a CI Zero, but once again we are on track (meaning no red in the table of contents).  Rails 2.3.4 also passes.

A struggle, but a totally worthwhile one.


Polyglot Validation

The HTML5 Super Friends: The spec should clarify that an author can use XHTML or HTML syntax, that it is a coding style preference. It would be great if Henri could add a toggle to the validator that will check for syntax. Something along the lines of “Also check for XHTML syntax validity.”

At the moment Henri is a bit firefox-focused, but I’ll volunteer to help to the extent that I can, with one key proviso, namely that the “super friends” produce concrete test cases for what they want flagged.


HTML5 Update

Two significant events happened this week in the portions of the W3C where I happen to frequent.  First, the HTML Working Group published a new Working Draft.  Second, Chris Wilson stepped down as co-chair, and was immediately replaced by Paul Cotton of Microsoft and Maciej Stachowiak of Apple.

A lot of people are working hard to get to the point where we hopefully can have a Last Call this year with the prior concurrence not only the WHATWG, but also including Microsoft and the related Working Groups inside of the W3C including the WAI and SW communities.


Agile Web Development with Rails, Edition 4


Why another edition?  Well, first up will to address each of the changes that have happened since the third edition went up for sale.  Second will be a shift in focus, more towards newer users, many of which have never used either Ruby or even the command line, and less on being a complete reference, given that the online materials have improved dramatically since the first edition of this book.  Along with this will more of a focus on best practices.  Examples will use cookie backed sessions, HTTP authentication, and active record based forms.  Alternatives will be mentioned in prose and online references provided where more information can be located, but the primary thrust will be on the right way to use Rails.  DHH will continue to be a part of the team, and I expect him to keep me on my toes.


Willful Violation of the Spec

At the present time, the front page of my weblog does not validate.  From what I can tell, I am using an extension point in a manner totally consistent with the intent of that grammar, and in a way that produces useful results, at least with Firefox.  My only sin is that I’m using that attribute in a way that was unanticipated by the authors of the SVG.

From what I can tell, the HTML5 specification doesn’t have much to say on the matter.

Sand Mandala

John Resig: _why’s entire online presence and code was presented in the sand mandala that was ‘_why’. The person behind ‘_why’ simply decided to move on and close that portion of his life.

Mountain, Mohammed; Mohammed, Mountain; Please Talk

<Hixie> well then aria won’t make LC
<Hixie> we can always do it after LC

I must say, that’s just goofy.  “Here’s a document, it is not functionally complete, but it is your last chance to provide input”.

Equally as busted: I’m told that the the PF WG has answers to the questions that are blocking Ian’s progress, but won’t share them.

And just to complete the insanity, I can get the relevant members of the PF WG to attend tomorrow’s call, but not Ian.

Beyond XHTML

svgopen: schedule published. Chock full and varied :-) Tough Choices :-( because of parallel sessions. As usual on

keynote.  I was tempted to call it “just” use HTML5.

Disappearing Silverware

Previously I said that there may be as many as four drafts by the end of the last month.  Here we are in August, and we are still holding at one draft.  I firmly believe that enabling forks is the best way to prevent such.  The clearest explanation I have ever heard as to why that premise applies so well in the context of spec writing was made by Joe Gregorio: Camera-Ready Copy and the Social Denial-of-Service Attack.  My experience is that people tend to become reasonable (or at least throttle down the urge to be unreasonable) if you set the expectation that they need to make a concrete and constructive proposal.

Accordingly, I plan to continue enabling such potential forks in the hopes that doing so will end up facilitating the amicable resolution of issues.  During the course of this discussion, I was able to assist a number of people with the preparation of their text for publishing, even though none actually got published.  The remainder of this post is about that process.


SvgWeb Deployed

Brad Neuberg: Hi Sam, now is a fine time to begin deploying to your site. That would be a great way to help catch issues and begin raising the profile of things.

If things go well, MSIE users may see svg icons on my front page (only!) for the first time, rendered via flash.  This is all very much pre-beta... not only is svgweb not yet released, I am not exactly using it as it was designed to be used <grin>.  In particular, I’m sending the same payload (but not the same Content-Type) to all browsers, and that payload is valid HTML5 and valid XHTML5 (depending on the MIME type) with embedded SVG.

Not all of the icons render, and apparently a simple refresh of the page is enough to cause things to fall over, but if the goal is to catch issues and raise the profile, I’m hoping to do exactly that.

Humpty Dumpty

Steven Pemberton: I’m not arguing about processing, I’m arguing about the document. And as far as I am concerned, when it comes to saying what sort of document it is, the author is most certainly normative.

While I doubt that I will ever understand why there are people who insist on calling their pages they produce with the intention of being processed as HTML by the name “XHTML”, I can’t deny that there clearly is something that such people want.  A conformance checker can assist such people, and to that end I’ve development a patch to’s Tokenizer that is this totally unofficial, experimental, and subject to change.


Die, Heretic!

Consistently putting quotes around attribute values — even when doing so isn’t required — is:

  1. A practice worthy of ridicule
  2. Harmless
  3. Best practice
  4. Compulsory

Editors Draft of HTML5+RDFa

Manu Sporny: The first public Editors Draft of RDFa for HTML5 was published earlier today.

Vendor Veto

Shelley Powers recently made a good faith effort to create a Formal Objection; however, to date I have not found a way to treat it as such.  The concern is certainly valid, but we need to find a process for dealing with the issue, and this post is a part of the process for determining the process.

The concern is that Ian made a decision to remove two subsections in his draft HTML5 spec in which codecs would have been required and that such a decision was widely viewed as a decision by the W3C.  It was not, in fact, a decision by the W3C, and as such it is not a subject to a Formal Objection.  But I can’t escape the fact that the perception exists, and is widely held.


Agile Web Development with... Rack

I believe that test-first and continuous-deployment are important characteristics of Agile Web Development.  That’s why it bothers me that Testing isn’t properly introduced until page 205 of AWDwR3, and deployment until page 651.  I am also aware that not everybody who comes to this book has the same background and experience.

I’m experimenting with a number of ways to address this, and this is my current iteration.

Feedback welcome.


XHML 2 Charter Set To Expire

Philippe Le Hegaret and Ian Jacobs: W3C management has decided to allow the Working Group’s charter to expire at the end of 2009 and not to renew it ... we expect the next generation XML serialization of HTML to be defined in the HTML 5 specification.

Media Dependent Styling

I finally decided to upgrade my cell phone to one that supports the web and email.  I settled on an LG enV3 in slate blue.  One of the pages I frequently check is my comments page, and as I had taken care to ensure that the markup degraded gracefully, the page displays adequately on my mobile device — with one obvious annoyance that surprised me.

To read the comments, I have to horizontally scroll.


Rails Book Update and Outlook

Agile Web Development with Rails, 3rd Edition is about to have its third printing.  Translations are under way for Chinese, Japanese, Korean, and Spanish.  One thing I wasn’t aware of before participating in the development of this book is that printers have an opportunity to address errata in each printing.  Other changes are fodder for a new edition (or possibly even a new title).  What would I like to see in a follow-on to this book?


ECMAScript 5 Test Suites

Christian Plesner Hansen: Today we’re releasing the Sputnik JavaScript test suite. Sputnik is a comprehensive set of more than 5000 tests that touch all aspects of the JavaScript language as defined in the ECMA-262 standard.

Allen Wirfs-Brock: Anyone who has the interest and skills for developing individual ECMAScript conformance tests are invited to participate in the project. If you’re interested check out the Codeplex site and get involved.

Test Notifications

Yehuda Katz: Last week, Carl and I started digging into the Rails initializer, and the tests in the initializer (railties) are more mock-based and less reliable than the tests in ActionPack (which we’ve been working with so far). They’re pretty reasonable unit tests for individual components, but getting all of the tests to pass did not result in an (even close) bootable Rails app.

To help with spreading the word, I’ve created a registration page where those with an interest in doing so can sign up for IM notification on test results.


Validator.Nu on GCJ Update

ruby test/fonts.rb test/google.html
size => -1
size => -1
size => -2
size => -2

I jotted down a few notes.


Revisiting RedHat

I switched to Debian in 2003 given the uncertainty at the time for RedHat.  Eighteen months later, I switched to Ubuntu as I found the unpredictable release cycle of Debian to be an issue.

I had occasion to try Fedora again yesterday when debugging a GCP/JAXP issue.  I was curious to see what had changed since I had last looked into a RPM based distribution over five years ago, and the answer in retrospect was totally obvious.  The difference between two 2009 vintage Linux distributions is much smaller than the difference between a 2009 vintage distribution and a 2003 vintage distribution, even of those distributions came from the same place.


Calling JAXP from Ruby

I’ve now got a Ruby module that calls into the JAXP API.  Why is this a big deal? has a HtmlDocumentBuilder that complies with HTML 5.  Furthermore, JAXP has full support for XPath and Nokogiri has the ability to convert CSS into XPath.  This may seem like going the long way around, but my intuition is that the expensive parts will be transferring data across the language boundary (especially strings).  Having a DOM entirely on the Java side, probed via CSS selectors and/or XPath expressions and only retrieving the specific nodes across the Java/Ruby boundary for further processing should minimize this issue.  And the end result should be able to pass all of the Nokogiri and tests.


Invoking HtmlParser from C++

On Friday, I said Next task is to repackage the htmlparser as a library, and to reimplement the HTML2XML tool itself in C++.  This is now done.  In the process, I also converted a SystemErrErrorHandler class into C++ so that I could be sure that I was able to do both Java=>C++ and C++=>Java calls.


Rest In Place

Edit in place is a handy feature where clicking on an area of a web page replaces that portion of the page with a form which will enable the user to update that information.  At one time, this was a part of Rails, but in 2007 it moved out to a plugin, and improved upon.  The one that looked like it most closely matched my needs was REST in Place.  It comes in three flavors, I picked JQuery.


Rails Edge - Very Stable Lately

Yehuda Katz: ... have focused quite a bit on maintaining backward compatibility (for the user-facing API) with Rails 2.3. If you try edge and find that we’ve broken something, definitely let us know.

I’ve been running automated tests on Rails, focusing on edge, for about a month now.  Four problems were found during the process.


Validator.Nu on GCJ

This turned out to be much easier than I thought.  The tool I chose to focus on itself isn’t very important, it simply converts HTML5 into XHTML5.  But for it to work at all essentially requires the whole of the htmlparser library to be functional, as well as its dependencies (namely chardet and icu4j).

Next steps are to rewrite the tool itself in C++ and generate bindings for a host of other languages.



Ryan Bates: Cron is great for handling recurring tasks, but it is an external dependency with a crazy syntax. In this episode I show you how to use Whenever to create cron jobs with Ruby.

In all of my re-provisioning activities, updating cron was the one piece that I didn’t automate.  Whenever does fill this need quite nicely.  In converting over existing applications, the only issue I encountered is that some of my tasks were executed at times that didn’t match the much simpler syntax that Whenever provides, so I added a few tests and made a fork.  I created a pull request, so hopefully this change (or at least the tests) will be pulled into javan’s tree shortly.

Google Chrome on Linux First Impressions

I took the Early Access version of Google Chrome for Linux for a spin.

I don’t see me changing my usage on my desktop as I don’t currently have any “pain points” with Firefox, but I can definitely see me switching on my NetBook later this year if Chrome continues to be appreciably faster that the version of the browser that ships with Karmic Koala.


Google Wave Robot w/Sinatra+JRuby+AppEngine

Mike Sofaer: Since I got a Google Wave account at Google IO, I felt like I should try to do something Ruby-ish in it.  I got talking to Charles Nutter, and he suggested a Sinatra template for Wave Robots.  So here it is.

Good job!  I’m jealous.  Not havinging the foresight to go to Google I/O, I can’t play yet.


Wave Robot Ruby Client

Wanting to learn more about Google Wave, I ported the Wave Robot Python Client library to Ruby, mainly because I wanted to understand the protocol.  The current protocol is tightly coupled to the Java server implementation.

Overall, I feel that this Google Wave could benefit from earlier and wider reviews.  In particular, the whole approach to JSON generation should be rethought.  I look forward to testing interop with a live server, in particular one that I can self host.


Google Wave

Google Wave is clearly a bold statement that “this is the type of application that every browser should be able to run natively without needing to resort to a plugin”.

Working on such a Ruby library, a Rails generator for Robots, and ultimately a Ruby implementation of the XMPP server itself would be of interest to me, once the project is open to outside participants.


Provisioning a New Machine

A failure on a five year old, and now rarely used, machine caused me to invest in an inexpensive replacement.  I chose that machine due to the low-wattage requirements, ability to easily add another 4-gig of RAM, and a second hard drive, allowing me to run Ubuntu and virtual machines while leaving the original Vista install intact for the purposes of dual boot.

This lead to me repeatedly trying to get the same configurations on multiple (often virtual) machines.



Yesterday, I was looking to move some code that I have running on one machine to a server which has Ruby 1.8.6 installed.  Once again, I encountered yet another difference with the version of REXML that was contained in that version of Ruby.  This time, instead of looking for a monkey patch, I looked for alternatives.


Segway Tour of Raleigh

Yesterday my wife and I and two friends (and two other couples we met there) took a tour of Raleigh on a segway.  In addition to all of the expected bit of learning of the history of Raleigh, there was an unexpected pleasure of riding past the Raleigh Convention Center during Animazement.  At which point we had people on segways taking pictures of (mostly young) people fully decked out in Anime costumes, as well as people fully decked out in Anime costumes taking pictures of (mostly middle-aged) people riding past on segways.

Wake on LAN

One of the issues with running remotely is this flat out doesn’t work if the remote machine is suspended or powered off.  As the summer months approach, power management is increasingly important, particularly in North Carolina, and particularly in a house where the office is in a finished attic.

Booting a machine is possible remotely, but it takes a series of steps to set up, but I managed to muddle through it.


Wii Fit Anniversary

Today is my one year anniversary of purchasing a Wii Fit.  Total weight loss for the year: 26 pounds.  I had joined a new gym just a month before that.  Total weight loss for the 13 month period: 31 pounds.  All of my clothes from the early 80s and fit with the exception of one three piece blue pin-striped suit purchased when I joined IBM.  The vest fits with no strain on the buttons, but there isn’t exactly much room.  Next up: a physical exam and an assessment from the gym.

Keeping Up With Rails

J Aaron Farr: the greatest difficultly of Rails development is that “best practices” have a shelf life of < 12 months

In an example in Agile Web Development with Rails, 2nd Edition, there is a test with a setup method that includes a few routes.  This example propagated forward to the third edition essentially unchanged.  This code worked in Rails vs 1.  It worked up to Rails v 2.2.2.



A number of efforts seem to have sprouted up in the past few days:

Undoubtedly, this will be controversial.


New Vector for Spam

Biz Stone: First, we’re making a change such that any updates beginning with @username (that are not explicitly created by clicking on the reply icon) will be seen by everyone following that account.

Now, you too, can ensure that your tweets have the reach of CNN or the New York Times or even Aston Kutcher.  Anyone want to place a bet on how long it will be before the religious right starts spamming followers of Obama?

Am I missing something obvious?  I certainly hope so.

This reminds me of Clay Shirky’s colloquial definition of social software.


It is a name I don’t care for, but alas, one that likely will stick.  The concept is to provide explicit support in HTML for embedding metadata in content.  Both Microformats and RDFa do related things.

As is common in distributed development, things haven’t exactly happened in chronological order.


Taxpayer Advocate Update

On Friday afternoon, while I was watching Star Trek, the assigned Taxpayer Advocate attempted to call me and left a message.  I returned her call this morning.

In short order, she spotted the error.  The person who processed my 2006 1040X in November mistakenly attempted to apply the changes to my 2007 return.  This request was quite understandably rejected, the matter was then inexplicably closed, and none of my subsequent phone calls made any bit of difference.


One Click Feed Validation for Firefox

If you are...

... then you might find it useful to register the FeedValidator as a “Feed Reader”.

Standalone Verification of HTML-based Output

One of the things I was blessed with when I came on board with Agile Web Development with Rails, was a book with plenty of executable examples.  One of the things I focused on was automating the execution of the scenarios so that I could try out small changes to the scenarios to see what the effects were.  Now I’ve started on the next level: automatic verification of the results.


Auto Detach

As part of a continuing (excruciatingly slow, but continuing) effort to automate what currently is a labor intensive activity at the ASF, I’ve written a small script that downloads mbox files, determines what hasn’t been processed yet, detaches all the relevant attachments, and commits them to svn for processing by others.  I’ve omitted one detail (the mechanism for downloading: hint rsync), but perhaps this script may be of use to others.

Rails on Jaunty

One of these days, aptitude install rails will be all that is needed.  With Jaunty, this is not quite the case, but nearly so.  What you get is Ruby 1.8.7 (good), gem 1.3.1 (good), and rails 2.1.0 (vintage June 2008).  Unfortunately, any rails commands will result in nine lines of the form /usr/lib/ruby/1.8/xmlsimple.rb:275: warning: already initialized constant.  Upgrading to 2.3.2 (vintage March 2009) is as simple as:

sudo gem install rails
export PATH=/var/lib/gems/1.8/bin/:$PATH

This also eliminates the warnings.  The last line should be dropped into your .bashrc file.

Taxpayer Advocate Needed

When I computed my taxes in 2006, I had a whopping tax bill, which I dutifully paid.  Later I got a corrected W2C from my employer, it turns out that my withholdings were underreported and I filed an amended 1040X tax return, I was due most of this back.  Knowing that I was on track to owe in 2007, I simply opted to have the money applied to my 2007 tax payment, in lieu of paying an estimated tax payment.  Big mistake.  One that I will never repeat.

Over a year later, and this is still not resolved.


Venus in the Clouds

Gordon Hodgson: the host has limited scripts to 60 seconds

A discussion about running Venus on a host that limits scripts got me thinking about running Venus elsewhere... like in the clouds.  Given that Venus is written in Python, Google App Engine seemed like a reasonable place to start.


SVG Open 2009

I’ve been asked to keynote SVG Open 2009.

It always feels a bit weird when I am ask to talk to people who know much more than I do on a particular subject about that very subject.  There will be plenty of people in the audience who will know more than I do on the spec, the capabilities, and the future directions for SVG.  My thoughts, therefore, are to focus my keynote on the social aspects... in particular, what we can expect from the View Source Lesson as applied to SVG as it becomes a integral part of HTML5.

Basically, I want to see a world where more of this happens every day.

Irregular Taxes

"tax".pluralize.singularize => "taxis" ???

Turns out there already was a ticket and the issue is easily worked around.


Canonical Reverse Or Wisdom Defying Shorturl?

Mark Nottingham: I think this sort of thing is going to happen more often, not less. Microsoft and Netscape unilaterally extended the Web with MARQUEE and BLINK, and it was ugly, but the impact wasn’t nearly as bad as countless Web developers all extending the Web in their own way could be. The onus is clearly upon organisations like the W3C and IETF to make themselves as transparent and approachable to developers as possible, so that the latent experience and expertise in them can be drawn upon by these innovators, instead of being seen as either irrelevant or impediments.

If transparency and approachability are the solutions, then we need something radically more transparent and approachable than a wiki page.  Now that’s a sobering thought.


New Kindle Owner

Bought a kindle.  Now that the book I have been working on is now available in .mobi format, it seemed like the thing to do.

I’ve been skeptical about eBooks, but I must say that the Kindle pulls it off — I downloaded and read Predictably Irrational: The Hidden Forces That Shape Our Decisions (good book), and found that I quickly forgot that I was not dealing with a “real” book, and the pages quickly flew by.


Trees and Forests

David Dagastine: Reliability and compatibility are our greatest concerns

Very much appreciated, though I do quibble a bit on the word greatest.  If one takes a step back, Stephen Colebourne has done an excellent job reporting on the issue from a much broader perspective.  Meanwhile, yesterday’s second anniversary of Geir’s excellent open letter quietly passed.  I am pleased to see that the Executive Committee has acted exactly as I predicted.

Abusing Web Storage

Alberto Trivero: The aim of this white paper is to analyze security implications of the new HTML 5 client-side storage technology, showing how different attacks can be conduct in order to steal storage data in the client’s machine.

Has this been examined before?  It is not obvious to me that it has...

Naked HTML5

As is the annual tradition, I’ve removed my main stylesheet from my page.  This time, no object tags and absolutely no other changes than removing the stylesheet.

Problems We’d All Like To Have

Dave Thomas: I look forward to the day when our online store reaches the kind of size where we have to move away from Rails. I’ll tweet the fact with a tear in my eye, while my yacht sails me off to the sunset.

In related news, at least to me, I’m told that Agile Web Development with Rails, Third Edition went into second printing today.  I really don’t know anything about batch sizes or projected volumes, but I like to think that this is a good thing.  I also hear rumblings of translations.  It will be interesting to see how they translate the chapter on I18N.

HTML Reunification

Rob Sayre: this objection wouldn’t be relevant to a document with no “author conformance requirements”, right?

At the present time, the HTML 5 document is a browser behavior specification and a list of author conformance requirements.  The first part is essentially uncontroversial.  The second part is the source of seemingly unending controversy.


Open Cloud Principles

Sam Johnston: The Open Source industry is built around the Open Source Definition (OSD), which is itself maintained by the non-profit Open Source Initiative (OSI). The fledgling “Open Cloud” industry should be built on a similar set of well-defined Open Cloud Principles (OCP) and the associated Open Cloud Initiative (OCI) will closely follow their example.

It is getting to be a crowded place in the clouds, what with the Open Cloud Manifesto, the Cloud Bill of Rights, and the Cloud Computing Interoperability Forum.  I’m sure I’ve missed countless others.


Sun vs IBM

Jeff Kesselman: Based on my 6 years or so at Sun and that summer at IBM I thought I might do some more comparison and contrasting.

A few of these comparisons have a bit of a Sun slant, but most have an element of truth.  I can confirm being told the time or furniture rule.

Hypertext Bidirectional

Mark Nottingham: As discussed in the APPS area meeting last week, a new mailing list has been created to discuss the standards implications and actions related to HTTP “long poll” techniques (e.g., COMET, BOSH) as well as new protocols that serve similar use cases (e.g., WebSockets, rHTTP).

Floor Wax And Dessert Topping

Mark Pilgrim: HTML is not an output format. HTML is The Format.

HTML is also a pretty darn versatile Input Format.  It also fits in containers.  It also can serve as a container.

It also survives pretty well when abused as an output format.

Informal HTML / HTTPbis Meeting

I’ve had a very busy and productive week so far.  Last night was an ad hoc and informal IETF/W3C liaison meeting.  I’ve interleaved the minutes into the agenda.

Interest was expressed in having a similar meeting at The AJAX Experience in Boston in September.


M as in MVC

Noah Mendelsohn: it looks like Oslo is in part being positioned as a competitor to XML.

I don’t believe that Microsoft is explicitly positioning Oslo as an XML competitor, though that may very well be a completely unintentional side effect.

Instead, M is a Turing complete programming language being positioned as a scripting language for Model Driven Development.


SVG Interop

Dean Hachamovitch: I think it’s important to not just do SVG but have complete tests so SVG works the way developers want it to

On the lower right of this page is a “watermark”.  If you are viewing this page using IE, you won’t see it.  If you are viewing this web page using a recent, released version of Opera or Firefox, you will see it in its entirely.  If you are viewing this post using WebKit (either through Chrome or Safari), it will be clipped oddly on two sides.


Several Web technologies

Philippe Le Hegaret: Several Web technologies in ONE document

Background: at the Intro to W3C meeting, each of the Domain Leaders made a presentation introducing their domain.  This particular “slide” attracted a lot of interest, and a number of us goaded Philippe to split this one out and publish it.




Mark Pilgrim: Deep thought: every post on @samruby 's blog since June 2006 contains an image without a text alternative.

I liked it better when you were prescriptive, but if you like we can play 20 questions instead.  This blog entry has an image with a text alternativeWho does it benefit?

Redesign in Progress

After some testing with IE6, IE7, IE8, Chrome, Safari (Windows and Mac), Opera, and Firefox, I came to the following conclusion: much less accommodation is required to reasonably support IE8 than its predecessors.  Based on this, I decided that I’d do my small part to encourage people who wish to remain with IE to upgrade to IE8.


ie8 vs intertwingly

Dean Hachamovitch: Internet Explorer is focused on how real people use the Web

I always suspected this was the case, but I guess that confirms it:  I’m not a real person.


Microsoft Update

Jeff Barr: it was good to have several projects going simultaneously to make the best of your your time.

Jeff and my experiences are a lot alike. First, I was in the same geographic area at the same basic time (Greenbelt until summer of 78, Gaithersburg starting summer of 81: in between I completed both my senior year of high school and four years of college). I did punch cards, both FORTRAN and COBOL, face down, nine edge first, continuation in column 72. And I learned the same lesson about always wanting to have several projects going at all times, which brings me to the subject at hand...

As promised, Microsoft provided me with a credible offer.


Common Sense Dieting

Sean McGrath: low-carb regimes like Atkins are not as crazy as some would have us all believe.

I had great results with Atkins — in 2002.  By 2005, I again looked like this.

Over the last 10 months, I’ve lost over 1.5 stone myself, on a much smaller frame.


Yahoo and HTML: Rip. Mix. Burn.

Ben Adida: Yahoo has launched even more RDFa coolness: embed RDFa on your site to describe your flash games and videos, and they show up embedded in Yahoo search results for everyone, by default.

The moment a major search engine supports inline SVG image as a foaf:depiction I’m so totally in.

Related: Doug Crockford proposes an HTML 4.2.

Rails 2.3

David Heinemeier Hansson: Rails 2.3 is finally done and out the door.

Special thanks to Pratik Naik, Michael Koziarski, and Josh Peek for helping me debug the various release candidates that were produced during this process.


Clay Shirky: Revolutions create a curious inversion of perception. In ordinary times, people who do no more than describe the world around them are seen as pragmatists, while those who imagine fabulous alternative futures are viewed as radicals. The last couple of decades haven’t been ordinary, however. Inside the papers, the pragmatists were the ones simply looking out the window and noticing that the real world was increasingly resembling the unthinkable scenario. These people were treated as if they were barking mad. Meanwhile the people spinning visions of popular walled gardens and enthusiastic micropayment adoption, visions unsupported by reality, were regarded not as charlatans but saviors.

HTML5 Evolution

Background for the upcoming W3C AC meeting in general, and for the panel on the future of browsers in specific: A Few Select Quotes.

IBM += snoopdave

Dave Johnson: I feel very fortunate to have found such an excellent position a fairly tough job market and I’m more than ready to start working on new things.

Nice to know that every once in a while my employer does something right.  ;-)

As to whether or not Dave can continue blogging, read my disclaimer.

Rails System Integration Testing

Pratik Naik: 2.3 is looking really solid

Not to me.  Depot on latest git master.  Baseline for 2.2.  Search for db:sessions:clear.  Paging down from that point, I see a number of other failures that don’t obviously appear to be related.

makedepot.rb and data are all that you need to reproduce the failure.

That Was Quick

On Thursday, I signed up for twitter.  Today Linux Today has a story on Open source microbloggers you should follow which points to a tuxradar article of the same name.  I’m listed as an “Apache activist”.  The article is also widely dugg.

Of course, this is totally and completely insane.  Just yesterday, my sister-in-law was asking me how, if I just signed up on Thursday, did I already have 200 followers?  Today it is over 300.  I can’t begin to fathom what exactly is so riveting about this drivel.

Planet Apache Upgrades

PlanetApache now is  The software has been updated to the latest version of Venus.  The template has been updated to the same one that I’ve evolved with Planet Intertwingly


Administrative Chaos

Donald Ferguson: Well, had he thought it through some more, Don would have realized there are many, many, many other ways this could unfold.

I had forgotten how wickedly funny Don can be.  Subscribed.

Oh, and Don has posted pictures too.

Eat Your Broccoli

Stefano Mazzocchi: I suspect (which is the reason why I don’t use it) that Twitter is as addictive as any good IRC channel… and as pointless as they feel when you look at them for too short of a time span.

When my kids were younger, they were like that.  Won’t try something, but were sure that they won’t like it.  As a veteran of twitter (with just over 24 hours under my belt), I can already tell that it is nothing like IRC.


Rails 2.3RC2

David Heinemeier Hansson: The past month has seen a flurry of activity getting Rails 2.3 solid. We think we’ve ironed out all the major kinks now, but just to be sure, we’re running one last release candidate before it heads off to the presses.

This release candidate looks much better than the last one.



Michal Wallace: Scandium and Vanadium are back online.

What that means is that the upgrade is in largely complete.  I don’t yet seem to have my email back, but expect that shortly.

Please let me know if you see any problems with either my weblog or with the feedvalidator.  I’ve signed up with twitter.

Interesting Times

I expect to receive a credible offer from Microsoft in the next two weeks.  I in no way initiated the conversation, nor am I an any way unhappy with IBM.

Based on discussions so far, it looks like the offer would be to work for Omri Gazitt, or possibly John Shewchuk.  We’ve discussed a number of possible roles, most of them focusing on Open Web activities, either advocating their increased and correct use within Microsoft, and/or engaging in Open Web communities on Microsoft’s behalf.

I would expect to continue working with the ASF, the W3C, and ECMA TC39, though my role may end up changing a bit in the latter two.  Relocation is not an option at this time.


March, 2009

November, 2009

Venus and Video

Chris Blizzard: Admins for the various planets should probably update their feedparser versions to pick up this fix to get ready for the new video-enabled world.

I’d love to have a way to either either allow selected <object> or <embed> tags, or to outright convert them to <audio> or <video>.  Unfortunately, at the moment, all planet post-processing and filtering is post-feed parsing, which is where the sanitization logic currently sits.  A while back, I started to experiment with yet another refactoring, but haven’t devoted enough time to see that through.

Safari and Standards

Ian Hickson: a <section> in a <header>? sheesh ... html5 being abused already :-( ... oh lord, an <h3> in a <footer>, too

Context: Apple has long been a strong advocate of web standards: Introducing Safari 4.

In order to prevent such abuse from spreading, perhaps HTML5 should reparent such misplaced elements.

Cataloging Venial Sins

<jgraham> rubys: So do you agree with the position that, in the face of a specification with defined error handling, there should be no MUST-level document conformance critera?

Rob Sayre noticed a related issue.


Detailed Instructions on Transmitting Materials

Initial Implementing Guidance for the American Recovery and Reinvestment Act of 2009: For each of the near term reporting requirements (major communications, formula block grant allocations, weekly reports) agencies are required to provide a feed (preferred: Atom 1.0, acceptable: RSS) of the information so that content can be delivered via subscription. [via Aaron Swartz]

Here’s hoping that each agency provides a permanent, universally unique identifier for each and every entry and feed.

Engineer for Serendipity

Rob Sayre: Here’s how my last post ended up looking on Planet Intertwingly.

$ python
Python 2.5.2 (r252:60911, Oct  5 2008, 19:29:17) 
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from feedparser import parse
>>> feed=parse('')
>>> feed.entries[2].content[0].value
u'<p><a href="">Joshua Allen</a>: <i>&#8220;While proper use of web standards is about a lot more than validation, and we purposely stay away from the topic of validation in these articles, the page validates XHTML strict with 0 errors for me, using W3C validator. What are you using to validate?&#8221;</i></p>\n<p>The source for that page contains the string</p>\n<p><code>&lt;br></code>&lt;br></code></p>\n<p>I wonder what Joshua thinks that means.</p>'

Rob may have missed a name.

White House FeedBack Loop

David Glasser: Looks like it might be fixed now?

The “it” in this case is the White House feed.  Before it used the same UUID in each entry.  On Sunday, I deployed a change to the FeedValidator to indicate this error.  Today the feed has been corrected.


White House Feed Now Declared Invalid

When it first appeared the White House feed had a few entries, all with the same id.  Now it has 87 such entries.  As first suggested by James Holderness, the feedvalidator now marks this feed as invalid.



Manu Sporny: Another Q/A page has been started concerning questions surrounding RDFa, including common red-herrings and repeated discussions (with answers) that can be avoided when discussing what RDFa can and cannot do (more)

With related links and other highlights.


Debian Package Management

Mike Taylor: Why Debian Is Not My Favourite Operating System

This is a page that I often refer people to, but always seem to have difficulty finding it when I need it.  This time I decided to book mark it via my weblog.

When Can I Gracefully Bloom?

Arun Ranganathan: Time will tell, of course, how specifications bloom.

Shelley Powers: A better approach would be to focus on creating a simple, but elegant work, and then gracefully upgrading the work for more capable environments.

Brad Neuberg: Whoa, just stumbled on this; the State of the Open Web type idea Dion and the Open Web team here at Google has kicked around; it’s called ‘When can I use...’ and it lists the state of various web technologies


Jacques Distler: After some discussions, the current maintainer, Matthias Tarasiewicz, decided to adopt my branch (lock, stock and barrel) as the next version of Instiki.

Congrats!  Hopefully someday, I’ll be as lucky with Venus.

P.S.  Cute logo.

Rails 2.3.0 RC1

The rapid rate of change in Rails presents a considerable challenge to book authors that wish to include instructions on how to build a running application.  Rails 2.3RC1 is no different.  Released just two months and ten days after Rails 2.2, it includes quite a number of changes, for example


Wii and Dedication

Brian Crecente: I don’t know a single person who has bought the game who uses it routinely after a month

I do.  For eight months.  I’ve lost eight pounds since my last update.  On one hand, my rate of progress is slowing.  On the other hand, I’m not rebounding.

Taking your weight every day is an excellent feedback cycle.  A personal commitment to report publicly on this is an excellent motivator.

Online and Airborne

I’m on flight AA 15 accessing the internet via gogo inflight internet.

Needless to say, this is seriously cool.

IM, email, VPN all work.  Responsiveness and throughput is impressive.  Workspace with a T61p in seat 36C is a bit cramped, but workable.  Seat power appears to be a bit intermittent (dropping and reestablishing several times a minute), but sufficient to recharge my battery while I’m using my laptop.  I turned off sound as the beeps are annoying.

AWDwR3 Beta 10

Dave Thomas: we’re taking the current book to press—copy edit will start next week

What that means to me is that the book is largely outside of my hands now.  I plan to be responsive to the copy editor, watching the errata, and tracking 2.2.3.

IE Plans

Michael Calore: Microsoft’s Chris Wilson confirms that border-radius support is “high on the wish list,” though, and should make its way into the next release after IE8.  There is no official roadmap for IE9, but native SVG support is likely.

Blazing a Trail

Anne van Kesteren: Now we have all these early adopters of HTML5 it seemed about time to move the goalposts. With help from Simon Pieters (SVG, some CSS bits), Sam Ruby (notably smaller SVG), and Robbert Broersma (menu) my site now looks uglier in most browsers. In fact, although I have not tested Safari 3.1, I am relatively certain it will not render properly in any released browser.

I approve.


White House Blog Feed

Valid, with warnings.  Notably:

Content-Type: text/xml - technically illegal.  Content contains a “curly” apostrophe properly encoded as utf-8.  Does not tend to cause a problem in practice.

Two entries with the same id - technically legal, but in practice an egregious error.

In related news, is well-formed XHTML 1.0 Transitional, served as... you guessed it... text/html.  This time with charset=utf-8.  Again, nothing that causes any problems in practice.


A few weeks ago, I bought an Acer Aspire, based on good past experience with the brand and a good sale.  Much faster than what I had before, and fairly quiet.  First sign of problem: when I downloaded Windows 7 to another machine and rsync the result to this one, the md5 values didn’t match.  Theory: the lack of APIC support causes issues under time of high interrupts, such as network downloads.  Not sure what to try next, or how to send a report.


Running Remotely

I now use the EEE quite frequently for casual surfing, and a desktop machine when I am focused on a task.  This has affected the way I do email.  As a temporary solution, I am running Thunderbird remotely.


Innovators & Influencers

Information Week: A SaaS trailblazer, a REST activist, a firewall revisionist, even a president will all shape technology in the coming year.

That’s an odd choice to place next to Barack Obama.

Contributions Welcome

Shelley Powers: Frankly, you seem to have a very narrow sense of what a contribution is.

I didn’t use the word contribution anywhere on that page, and that’s not the immediate problem I am trying to solve.  The problem I am trying to solve is that we don’t have the benefit of voices such as yours on the mailing list.  I may never completely solve that problem, but I am committed to try.



The WHATWG has a FAQ.  In a number of places what is written there does not reflect my thinking on this matter.  Perhaps it doesn't reflect the opinion of others in the group?  As this wiki is not operating under the burden of rules like [citation needed] it is difficult to determine exactly whose opinion this page does reflect.

Here are some thoughts on the points made there.



Benjamin Smedberg The discussions about HTML and RDF have drifted from practical interoperability into theoretical “validity”, purity, and architectural grandiosity. Let’s get back to the specific technical question that needs to be answered: if you embed RDFa in HTML5, does it parse into a usable DOM? If not, are there specific changes to the parsing specification that will allow it to parse to a usable DOM?

Paraphrasing Mark Pilgrim, you are missing the point.  The HTML5 specification is political manifesto, cleverly disguised as a specification.


JQuery 1.3

John Resig: We have four announcements for you today, we hope you’ll enjoy them!


IE8 Beta 7000 Bug

The IE8 beta that comes with the Windows 7 beta, while much improved over previous betas, still doesn’t appear to implement Improved Namespace Support correctly.  Looking at the DOM, you can see that the svg element is processed into a single node, but that the enclosing article doesn’t close correctly.  Removing the path lines from the HTML causes the enclosing article to close correctly, at which point the error moves on to the next article.

I’m presuming that this is a bug.


Windows 7 on Ubuntu 8.10

Windows 7 is available for download for testing purposes only.  It can be made to work under VirtualBox OSE though getting network, sound, and Guest Additions requires some additional steps.


Mime Sniff

Barth & Hickson: The above algorithm is a willful violation of the HTTP specification

Mark Pilgrim was unavailable for comment.

Atom Media Extensions for Activity Streams

Dare Obasanjo: We have a similar problem when importing arbitrary RSS/Atom feeds onto a user’s profile in Windows Live ... What I like about the first draft of Atom media extensions is that it is focused on the basic case of syndicating audio, video and image for use in activity streams ... The interesting question is how to get the photo sites out there to adopt consistent standards in this space?

If I may be so bold as to make a humble suggestion:  implement them.  Demonstrate the value.  If WindowsLive, YouTube, and FriendFeed could join in on the discussion, this would be a slam dunk.  Others would quickly follow.

Easy Peasy

My Eee PC just got an upgrade.  I installed Easy Peasy, meaning I moved from an Xandros based distribution to an Ubuntu based one.  The netbook remix interface is real nice, two finger scrolling works, and I get Firefox 3.  Performance even seems snappier.

Video, wifi, suspend/resume all work fine, sound required a slight adjustment.


Building Firefox with HTML5 parser support

Instructions on downloading, building, and executing HTML5 Parsing in Gecko: A Build from source, on Ubuntu.


iCalendar Validator?

Jon Udell: If we recapitulate the RSS/Atom experience with ICS, and lots more ad-hoc ICS feeds arrive on the scene, charts like this will go even redder.  To make them go green, we’ll need a more robust ICS validator.

Jon has done an excellent first step: demonstrating that there is a problem.

The next step is harder.