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.
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.
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?
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.
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.
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.
I’ve now got a Ruby module that calls into the JAXP API. Why is this a big deal? Validator.nu 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 Validator.nu tests.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.