intertwingly

It’s just data

Rails 3.0 Beta

P P

David Heinemeier Hansson: You thought we were never going to get to this day, didn’t you? Ye of little faith. Because here is the first real, public release of Rails 3.0 in the form of a beta package that we’ve toiled long and hard over.  It’s surely not perfect yet, but we were out of blockers on the list, so here we go. Please give it a run around the block, try to update some old applications, try to start some new ones, and report back all the issues you find.

For those who have purchased (or who have yet to purchase) Agile Web Development with Rails, Edition 3, I’ve begun a page which details the differences that affect what is described in the book.  Edition 3 was based on Rails 2.2.2, and this page is cumulative.  My perception is that the differences that affect applications is way less than the differences between Rails 1 and Rails 2, and frankly not much more than the differences between Rails 2.2 and Rails 2.3.

Work on Edition 4 is well underway, and now that Rails has shipped a beta, I’ll may be able to get a beta of the book out by the end of the month.  It will not only be based on Rails 3.0, but will also be focused on current best practices and new APIs.

Things I am tracking at this point: a RubyInstaller for Windows that supports a version of Ruby that Rails can run on, a version of the will_paginate gem that works on Rails 3.0 which was just made available last night and I will be testing with it today, a regression in the (yet to be released) Ruby 1.8.8 that will affect both Builder and Rails, and some inconsistencies in how I18n YAML files are treated with respect to html_safe.


Rails 3.0 on Cygwin

Rails 3.0 requires 1.8.7 or later. Both InstantRails and the (current, released) version of RubyInstaller bundle Ruby 1.8.6.  The files on the Ruby site seem to be a scavenger hunt.  While the next release of RubyInstaller will address this, we can run today with Cygwin.

...


FireBug + Ubuntu + AMD64

Tools => AddOns => Extensions => Firebug 1.5.0 => Uninstall => Uninstall => Restart Firefox

sudo apt-get install firebug

Restart Firefox

Fixes bug 449744.


Evolution of Tinkering

Jim Stogdill: The automobile went through a similar evolution. From eminently hackable to hood essentially sealed shut. When the automobile was new, you HAD to be a mechanic to own one. Later, being a mechanic gave you the option of tinkering and adapting it to your specific interests. In fact, that’s how most people up until about 1985 learned to be mechanics.

...


Secretary Workflow

The next step of automating the workflow of the Apache Software Foundation secretarial task went operational today: automatic sending of confirmation emails once documents are received and filed.

...


Think Different

Tim Bray For creative people, this device is nothing.  Tim also is quite concerned about losing access to emacs.

Imagine a 2.66GHz Intel computer with five USB 2.0 ports, one FireWire 800 port, a mini-DVI port, and a DVD burner.  Comes with a wireless keyboard and a 9.7 inch wireless display.  The display is fully touch enabled, and can even support a virtual keyboard.  Yes, this system runs EMACs.  It also can run J2EE, Ruby on Rails, and Django.  The display connects to the base station via 802.11, and supports both canvas and AJAX.  Comes with OS/X, but you can also install Windows 7 and/or Linux alongside it if that is your preference.

...


Retro Virus

Randall Munroe: HAHA, CLEANING VIRUSES?  MAN, WHAT A BLAST FROM THE PAST!

How timely.  Within the past week, both my sister-in-law and my wife’s netbooks got hit by viruses.  I spent yesterday wiping and reinstalling my wife’s machine.  While many of the details have changed, the overall process was very familiar.

...


Content-Disposition

Yesterday, I collaborated with Joshua Peek on improving the parsing of the Content-Disposition header in Rack.  Content-Disposition is used on file upload scenarios.

The previous state was that rack used a simplistic regular expression that didn’t match either the RFC or what browsers actually sent.  What the new code does is first try to strictly follow RFC 2183.  When that fails, it tries to follow what browsers actually do.  And in this case, what browsers actually do is slap quotes around the file name, independent of whether the file name contains backslashes or quotes.  A notable exception to this is recent versions of Chrome.


Peg svn revisions

Ben Collins-Sussman, Brian W. Fitzpatrick, and C. Michael Pilato: You need only append an at sign to the end of the path, such as news@11@

But only for versions of svn >= 1.5.  Very annoying.  Especially if you have a script that works for everything you throw at it, until it comes across a file with name containing an ‘@’.  So you dutifully add the ‘@’ as others have done, find that the code passes all of your tests and then fails on a co-worker’s machine who is running a different version of svn.

...


REST in Raleigh

Darrel Miller: Was the idea to call the REST workshop WS-REST designed to be as inflammatory as possible? http://www.ws-rest.org [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.


PowerNap

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.

...


WebSockets

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.


Recertified

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

P P

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?

...