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.
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:
comet
long-poll
AJAX
keep-alive sockets
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.
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.
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.
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).
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?
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.
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.
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.
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.
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.
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.
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.
Stefan Tilkov: describe the values that are common to those who aim to improve upon the typical company’s IT landscape, regardless of the actual technical architecture
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.
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.
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 4.0.222.5. Primary environment is Ubuntu 9.04, but I see similar things on Windows XP.
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.
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.
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.
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.
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)
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.
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.
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.
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.
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.
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.
codeplex.org: 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.
Eliminated md5 deprecation warning when running with Python 2.6.
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.
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 google.com.
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:
string.split(//)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 Validator.nu’s Tokenizer that is this totally unofficial, experimental, and subject to change.
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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:
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.
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.
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.
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.
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.
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.
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...
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.
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.
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.
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).
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.
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.
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.
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 alternative. Who does it benefit?
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
<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?
$ 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('http://blog.mozilla.com/rob-sayre/feed/atom/')
>>> feed.entries[2].content[0].value
u'<p><a href="http://visitmix.com/Articles/Web-Standards-Where-the-ROI-is#200901200614472">Joshua Allen</a>: <i>“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?”</i></p>\n<p>The source for that page contains the string</p>\n<p><code><br></code><br></code></p>\n<p>I wonder what Joshua thinks that means.</p>'
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.
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)
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.
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 aslucky with Venus.
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
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.
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.
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.
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.
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.
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, http://www.whitehouse.gov/ 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.
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.
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.
Benjamin SmedbergThe 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.
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.
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.
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.
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.
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.