Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

pmichaud (6013)

pmichaud
  (email not shown publicly)
http://www.pmichaud.com/

Patrick Michaud is the pumpking for the Rakudo Perl 6 compiler. He holds a Ph.D. in Computer Science and was formerly a Professor of Computer Science at Texas A&M University-Corpus Christi. He is currently a software developer and consultant focused on open source development and applications, including Perl, PmWiki, and Linux.

Journal of pmichaud (6013)

Friday June 19, 2009
12:17 AM

Rakudo Perl 6 development release #18 ("Pittsburgh")

On behalf of the Rakudo development team, I'm pleased to announce the June 2009 development release of Rakudo Perl #18 "Pittsburgh". Rakudo is an implementation of Perl 6 on the Parrot Virtual Machine. The tarball for the June 2009 release is available from http://github.com/rakudo/rakudo/downloads .

Due to the continued rapid pace of Rakudo development and the frequent addition of new Perl 6 features and bugfixes, we continue to recommend that people wanting to use or work with Rakudo obtain the latest source directly from the main repository at github. More details are available at http://rakudo.org/how-to-get-rakudo .

Rakudo Perl follows a monthly release cycle, with each release code named after a Perl Mongers group. This release is named "Pittsburgh", which is the host for YAPC|10 (YAPC::NA 2009) and the Parrot Virtual Machine Workshop. Pittsburgh.pm has also sponsored hackathons for Rakudo Perl as part of the 2008 Pittsburgh Perl Workshop.

In this release of Rakudo Perl, we've focused our efforts on refactoring many of Rakudo's internals; these refactors improve performance, bring us closer to the Perl 6 specification, operate more cleanly with Parrot, and provide a stronger foundation for features to be implemented in the near future. Some of the specific major changes and improvements in this release include:

  • Rakudo is now passing 11,536 spectests, an increase of 194 passing tests since the May 2009 release. With this release Rakudo is now passing 68% of the available spectest suite.
  • Method dispatch has been substantially refactored; the new dispatcher is significantly faster and follows the Perl 6 specification more closely.
  • Object initialization via the BUILD and CREATE (sub)methods is substantially improved.
  • All return values are now type checked (previously only explicit 'return' statements would perform type checking).
  • String handling is significantly improved: fewer Unicode-related bugs exist, and parsing speed is greatly improved for some programs containing characters in the Latin-1 set.
  • The IO .lines and .get methods now follow the specification more closely.
  • User-defined operators now also receive some of their associated meta variants.
  • The 'is export' trait has been improved; more builtin functions and methods can be written in Perl 6 instead of PIR.
  • Many Parrot changes have improved performance and reduced overall memory leaks (although there's still much more improvement needed).

The development team thanks all of our contributors and sponsors for making Rakudo Perl possible. If you would like to contribute, see http://rakudo.org/how-to-help , ask on the perl6-compiler@perl.org mailing list, or ask on IRC #perl6 on freenode.

The next release of Rakudo (#19) is scheduled for July 23, 2009. A list of the other planned release dates and codenames for 2009 is available in the "docs/release_guide.pod" file. In general, Rakudo development releases are scheduled to occur two days after each Parrot monthly release. Parrot releases the third Tuesday of each month.

Have fun!

References:
[1] Parrot, http://parrot.org/
[2] YAPC|10 http://yapc10.org/yn2009/
[3] Parrot Virtual Machine Workshop, http://yapc10.org/yn2009/talk/2045
[4] Pittsburgh Perl Workshop, http://pghpw.org/ppw2008/

Thursday May 21, 2009
11:46 AM

Rakudo Perl 6 development release #17 ("Stockholm")

On behalf of the Rakudo development team, I'm pleased to announce the May 2009 development release of Rakudo Perl #17 "Stockholm". Rakudo is an implementation of Perl 6 on the Parrot Virtual Machine [1]. The tarball for the May 2009 release is available from http://github.com/rakudo/rakudo/downloads .

Due to the continued rapid pace of Rakudo development and the frequent addition of new Perl 6 features and bugfixes, we continue to recommend that people wanting to use or work with Rakudo obtain the latest source directly from the main repository at github. More details are available at http://rakudo.org/how-to-get-rakudo .

Rakudo Perl follows a monthly release cycle, with each release code named after a Perl Mongers group. This release is named "Stockholm"; Stockholm Perl Mongers will be holding a Perl 6 hackathon on May 29 [3]. Perl 6 developer Carl Mäsak is a member of Stockholm Perl Mongers and a main author of November [4], Druid [5], proto [6], and other Perl 6-based packages. Carl also contributes patches to Rakudo, and has been stress-testing Rakudo over the past year, submitting nearly 400 bug reports.

In this release of Rakudo Perl, we've made the following major changes and improvements:

  • Rakudo is now passing 11,342 spectests, an increase of 875 passing tests since the April 2009 release. With this release Rakudo is now passing 68% of the available spectest suite.
  • We now have an updated docs/ROADMAP .
  • Errors and stack traces now report the file name and line number in the original source code.
  • Some custom operators can be defined, and it's possible to refer to operators using &infix:<op> syntax.
  • We can start to load libraries written in other Parrot languages.
  • Regexes now produce a Regex sub.
  • More builtin functions and methods have been rewritten in Perl 6 and placed as part of the setting.
  • There are many additional improvements and features in this release, see docs/ChangeLog for a more complete list.

The development team thanks all of our contributors and sponsors for making Rakudo Perl possible. If you would like to contribute, see http://rakudo.org/how-to-help , ask on the perl6-compiler@perl.org mailing list, or ask on IRC #perl6 on freenode.

The next release of Rakudo (#18) is scheduled for June 18, 2009. A list of the other planned release dates and codenames for 2009 is available in the "docs/release_guide.pod" file. In general, Rakudo development releases are scheduled to occur two days after each Parrot monthly release. Parrot releases the third Tuesday of each month.

Have fun!

References:
[1] Parrot, http://parrot.org/
[2] Stockholm.pm, http://sthlm.pm.org/
[3] Stockholm Perl 6 hackathon, http://vic20.blipp.com/pipermail/kameler/2009-May/000318.html
[4] November wiki engine, http://github.com/viklund/november/
[5] Druid, http://github.com/masak/druid/
[6] Proto, http://github.com/masak/proto/

Thursday April 23, 2009
12:10 AM

Rakudo Perl 6 development release #16 ("Bratislava")

On behalf of the Rakudo development team, I'm pleased to announce the April 2009 development release of Rakudo Perl #16 "Bratislava". Rakudo is an implementation of Perl 6 on the Parrot Virtual Machine [1]. The tarball for the April 2009 release is available from http://github.com/rakudo/rakudo/downloads .

Due to the continued rapid pace of Rakudo development and the frequent addition of new Perl 6 features and bugfixes, we continue to recommend that people wanting to use or work with Rakudo obtain the latest source directly from the main repository at github. More details are available at http://rakudo.org/how-to-get-rakudo .

Rakudo Perl follows a monthly release cycle, with each release code named after a Perl Mongers group. This release is named "Bratislava", home to Jonathan Worthington and reportedly an excellent place to obtain beer (a key component of Jonathan's contributions to Perl). The Bratislava.pm group is quite active [2], with regular technical presentations and social gatherings.

In this release of Rakudo Perl, we've made the following major changes and improvements:

  • Rakudo is now passing 10,467 spectests, an increase of 3,194 passing tests since the March 2009 release. With this release Rakudo is now passing approximately 65% of the available spectest suite.
  • About 2/3 of the increase in passing tests is due to improved Unicode support in Rakudo; constructs such as "\c[LATIN CAPITAL LETTER A]" and Unicode character properties in regexes are now supported.
  • The prefix:<=> operator is now gone from the Perl 6 specification (and thus from Rakudo). Use .get for reading individual items from iterators.
  • Rakudo now supports typed arrays and hashes (my Int @array), as well as parametric versions of the Associative, Positional, and Callable roles, and parametric role subtyping.
  • Rakudo now has sockets support (IO::Socket).
  • Subroutine return types are now enforced in some cases.
  • Rakudo now supports lexical sub declarations.
  • Rakudo now supports some P5-style regexes.
  • The "quantify-by-separator" feature has been added, so that one can write / [\w+] ** ',' / to get a comma-separated list of words.
  • More builtin functions and methods have been rewritten in Perl 6 and placed as part of the setting.
  • Release tar files now contain local copies of the appropriate spectests, instead of obtaining checkout copies via Subversion.
  • There are additional improvements and features in this release, see docs/ChangeLog for a more complete list.

The development team thanks all of our contributors and sponsors for making Rakudo Perl possible. If you would like to contribute, see http://rakudo.org/how-to-help , ask on the perl6-compiler@perl.org mailing list, or ask on IRC #perl6 on freenode.

The next release of Rakudo (#17) is scheduled for May 21, 2009. A list of the other planned release dates and codenames for 2009 is available in the "docs/release_guide.pod" file. In general, Rakudo development releases are scheduled to occur two days after each Parrot monthly release. Parrot releases the third Tuesday of each month.

Have fun!

References:
[1] Parrot, http://parrot.org/
[2] Bratislava.pm, http://bratislava.pm.org/

Monday April 20, 2009
09:10 AM

Rakudo release on Thursday

This week I've been at the Nordic Perl Workshop 2009; both the conference and hackathon have been outstanding. The NPW organizers and other Oslo hosts have been fantastic. Things have been happening so quickly that there's been little time to report on them. We'll be having a "wrap-up meeting" shortly, and after that I'll make a longer post summarizing the many things that have been accomplished with Perl 6 and Rakudo.

Thursday is Rakudo's next planned release; over the next couple of days we'll be cleaning up loose ends and making sure things are stable for the release. Updates to the ChangeLog and build test reports are greatly appreciated.

We haven't finalized a Perl Mongers group to use for the name of this release (February was "Vienna", March was "Oslo"), so we're still taking suggestions there. If you have any to suggest drop me an email with the name of the group and why you think they'd be a good choice to highlight.

More soon,

Pm

Monday April 13, 2009
05:11 PM

Oslo Perl 6 Hackathon Notes

As some of you are aware, this week is the Nordic Perl Workshop, and in the days immediately following the workshop we will have the Oslo Perl 6 Hackathon. During the first day of the hackathon Gabor Szabo will be doing a "Hands-on Perl 6 training" course, the other two days will be for various hacking tasks (both Perl 6 and Perl 5).

I personally have three goals for my participation at the workshop and hackathon:

  • Attend Gabor's course and take careful note of where issues arise with using Rakudo Perl and/or Perl 6 (including filing bug reports and/or answering questions as needed).
  • Recruit and encourage people to write Perl 6 programs and otherwise start hacking on/with Rakudo Perl.
  • Meet with other principal Rakudo and Perl 6 designers and implementors to plan the next phases of work and address any significant obstacles currently before us.

For now I've started a page at http://www.perlfoundation.org/perl6/index.cgi?perl_6_hackathon_targets that lists a variety of specific ideas for things to work on or address at the hackathon. I'm sure more ideas will arise at NPW itself, and I invite others to add more items to the list as well. Feel free to add things even if you won't be making it to NPW or the hackathon itself; you may think of something that we've overlooked, and there are other hackathons planned later in the summer that will benefit from having the ideas.

Thanks!

Pm

Friday March 20, 2009
12:23 PM

Rakudo Perl development release #15 ("Oslo")

On behalf of the Rakudo development team, I'm pleased to announce the March 2009 development release of Rakudo Perl #15 "Oslo". Rakudo is an implementation of Perl 6 on the Parrot Virtual Machine [1]. The tarball for the March 2009 release is available from http://www.pmichaud.com/perl6/rakudo-2009-03.tar.gz

However, because of the rapid pace of Rakudo development and addition of new features, we still recommend that people wanting to use or work with Rakudo obtain the latest version directly from the main repository at github -- more on this in a bit.

Rakudo Perl follows a monthly release cycle, with each release code named after a Perl Mongers group. This release is named "Oslo" in honor of the organizers of the 2009 Nordic Perl Workshop [2], April 16-17, 2009. The 2009 Nordic Perl Workshop will have a special focus on Perl 6, Rakudo Perl, and Parrot, including Perl 6 tutorials and hackathons after the conference itself.

A list of the other planned release dates and codenames for 2009 is available in the "docs/release_guide.pod" file. In general, Rakudo development releases are scheduled to occur two days after each Parrot monthly release. Parrot releases the third Tuesday of each month.

Rakudo Perl now uses git [3] for its version control system, hosted at http://github.com/rakudo/rakudo . The README file there is kept up-to-date with the latest instructions for obtaining and building Rakudo Perl.

In this release of Rakudo Perl, we've made the following major changes and improvements:

  • Rakudo is now passing 7273 spectests. This is an increase of 197 passing tests since the February 2009 release.
  • The eval() construct now understands lexical variables from an outer scope.
  • More of the builtin functions ("settings") are being written in Perl 6.
  • Rakudo supports the "R" (reverse) metaoperator.
  • Parsing of if, unless, while, until, etc. statements after blocks now works correctly.
  • The Q quote operator is now implemented, along with several adverbial forms. In particular, the Q:PIR form allows inline PIR to be included in Perl 6 code.
  • Multi-method dispatch now works with inheritance also.

The development team thanks all of our contributors and sponsors for making Rakudo Perl possible. The next release of Rakudo (#16) is scheduled for April 23, 2009.

References:
[1] Parrot, http://parrot.org/
[2] Nordic Perl Workshop 2009, http://www.perlworkshop.no/npw2009/
[3] Git version control system, http://git-scm.org/

Monday March 02, 2009
02:41 PM

a(nother) Reverse Polish Notation Calculator

In a Reverse Polish Notation Calculator, fREW Schmidt takes the RPN calculator example from Higher Order Perl and converts it over to Perl 6.

Very cool.

But as usual, I visually look at the Perl 6 version compared to the Perl 5 version and think "Can't we do better?" In this case, we can. Here's my version of the same code:

    my %op_dispatch_table = {
        '+'    => { .push(.pop + .pop) },
        '-'    => { my $s = .pop; .push(.pop - $s) },
        '*'    => { .push(.pop * .pop) },
        '/'    => { my $s = .pop; .push(.pop / $s) },
        'sqrt' => { .push(.pop.sqrt) },
    };
 
    sub evaluate (%odt, $expr) {
        my @stack;
        my @tokens = $expr.split(/\s+/);
        for @tokens {
            when /\d+/     { @stack.push($_); }
            when ?%odt{$_} { %odt{$_}(@stack); }
            default        { die "Unrecognized token '$_'; aborting"; }
        }
        @stack.pop;
    }
 
    say "Result: { evaluate(%op_dispatch_table, @*ARGS[0]) }";

The result:

$ ./perl6 calc.pl '5 6 +'
Result: 11

The major changes I made to fREW's code:

1. Convert the explicit subs into simple closures, assuming that the stack is the implicit topic.
2. Use 'when' statements instead of if/elsif/else in the body of the 'evaluate' sub.

And yes, as frew points out -- when we get the 'R' metaoperator in place we can get rid of the 'my $s = ...' parts of subtraction and division. Maybe I'll implement meta-R now... :-)

Thanks fREW for the very interesting example!

Pm

Update: I went ahead and implemented the R metaoperator. For those who aren't familiar with meta-R, it reverses the order of the operands to an operator. So, (5 R- 4) is the same as (4 - 5), and (2 R/ 10) is the same as (10 / 2). With this change, the RPN calculator becomes:

    my %op_dispatch_table = {
        '+'    => { .push(.pop + .pop)  },
        '-'    => { .push(.pop R- .pop) },
        '*'    => { .push(.pop * .pop)  },
        '/'    => { .push(.pop R/ .pop) },
        'sqrt' => { .push(.pop.sqrt)    },
    };
 
    sub evaluate (%odt, $expr) {
        my @stack;
        my @tokens = $expr.split(/\s+/);
        for @tokens {
            when /\d+/     { @stack.push($_); }
            when ?%odt{$_} { %odt{$_}(@stack); }
            default        { die "Unrecognized token '$_'; aborting"; }
        }
        @stack.pop;
    }
 
    say "Result: { evaluate(%op_dispatch_table, @*ARGS[0]) }";

Friday February 27, 2009
01:02 AM

Rakudo Perl development release #14 ("Vienna")

On behalf of the Rakudo development team, I'm pleased to announce the February 2009 development release of Rakudo Perl #14 "Vienna". Rakudo is an implementation of Perl 6 on the Parrot Virtual Machine [1]. The tarball for the February 2009 release is available from http://www.pmichaud.com/perl6/rakudo-2009-02.tar.gz

However, because of the rapid pace of Rakudo development and addition of new features, we still recommend that people wanting to use or work with Rakudo obtain the latest version directly from the main repository at github -- more on this in a bit.

This is the fourteenth development release of Rakudo Perl, but it's the first release independent from Parrot releases. We will continue to follow a monthly release cycle, with each release to be code named after a Perl Mongers group. This release is named for Vienna.pm (http://vienna.pm.org), who have been sponsoring Jonathan Worthington's work on Rakudo since April 2008. A list of the other planned release dates and codenames for 2009 is available in the "docs/release_guide.pod" file. In general, Rakudo development releases are scheduled to occur two days after each Parrot monthly release. Parrot releases the third Tuesday of each month.

Rakudo Perl now uses git [2] for its version control system, hosted at http://github.com/rakudo/rakudo . The README file there is kept up-to-date with the latest instructions for obtaining and building Rakudo Perl.

In this release of Rakudo Perl, we've made the following major changes and improvements:

  • Rakudo is now passing 7076 spectests. This is an increase of 796 passing tests since the January 2009 release.
  • The Configure.pl script supports a "--gen-parrot" option to automatically fetch and build the appropriate version of Parrot.
  • The default make target now builds a binary executable directly, either perl6 or perl6.exe. It's still a Parrot "fakecutable", but we think we've made it more reliable so that it doesn't generate segmentation faults on exits. (If you don't know what a "fakecutable" is you can safely ignore this.)
  • Many builtins are beginning to be written in pure Perl 6, or Perl 6 functions with inline PIR. These builtins are part of the core "setting" for Perl 6, and appear in the src/setting/ directory. Previously this was known as the "prelude".
  • Improved Test.pm diagnostic output.

Also, Rakudo now implements the following Perl 6 features:

  • Anonymous classes may be specified using ::
  • Existing parameterized roles are now reused instead of creating new ones.
  • Roles pun a class when .new is invoked on them.
  • "proto" now marks all same-named routines as "multi".
  • "XopX" is now "Xop".
  • <-> (rw) pointy blocks.
  • min= and max= metaoperators.
  • Many many bugfixes and documentation improvements.

The development team thanks all of our contributors and sponsors for making Rakudo Perl possible. The next release of Rakudo (#15) is scheduled for March 19, 2009.

References:
[1] Parrot, http://parrot.org/
[2] Git version control system, http://git-scm.org/

Wednesday January 14, 2009
09:53 PM

Leaving the Parrot nest

As many of you will have gathered from discussions on other mailing lists and IRC, it's time for Rakudo Perl to "leave the Parrot nest" and move to its own repository. I think we should also take this opportunity to re-evaluate the entire Rakudo Perl infrastructure and decide what will be most productive for the community for the upcoming year. Indeed, as part of any move we need to communicate the details of the changes to others, which brings to the surface some of the shortcomings of what we have now.

By "infrastructure" I'm primarily referring to the following items:

  • source code repositories (note: plural)
  • web sites
  • blog / news
  • wiki
  • issue tracking
  • mailing lists

Currently these things are spread in many different locations with different tools, and while I don't believe it's necessary for them completely unified, we should at least aim to reduce the overall complexity of what we do have so that we can better serve those who are interested (or are yet to become interested) in Rakudo Perl. In fact, it may be that in many cases we'll keep what we have now, but at least it'll be a confirmed decision instead of simply going along with what we've had in the past.

Also, I'm sure it will be easy and tempting to address larger issues about Perl 6 as a whole (as opposed to just "Rakudo"). I'm not at all opposed to seeing that larger discussion take place, but for my purposes I'll be tending to focus on Rakudo's immediate needs.

Here's my off-the-cuff inventory of where things are in Rakudo today and where things might head. It's entirely possible that my description below misunderstands or misrepresents reality in some areas -- but I'm dedicating this week to resolving that. Indeed, that's the primary purpose of this message, to help us all clear up confusion surrounding Rakudo (and Perl 6).

Source code repository

This is the immediate issue at hand, because we need to move Rakudo out of the Parrot repository so that it can cleanly move to its new home at parrot.org. Currently Rakudo Perl lives at http://svn.perl.org/parrot/trunk/languages/perl6/ , while the spectest suite (on which development/testing depends) lives at http://svn.pugscode.org/pugs/t/spec/ .

Many people have strongly suggested that we switch to using "git" as our version control system. At the moment I'm neither strongly in favor of nor strongly opposed to switching version control systems, but we have to recognize that at least two of Rakudo's "dependencies" (Parrot and the spectest suite) are using Subversion and are likely to remain that way for a while. We don't want to require non-developers to install a lot of different source code control systems simply to run and test the latest incarnation of Rakudo Perl.

I have a lot more comments on source code management for Rakudo Perl, but to keep to the "overview" nature of this post I'll save the rest for a longer post. Feel free to start submitting your opinions, however!

Web site / blog / wiki

Currently Rakudo really does not have a dedicated website providing basic information about it. There is the http://rakudo.org/ site, but it's currently more of a blog than a true web site. For example, someone visiting rakudo.org would not be able to easily find out how to download and run Rakudo Perl.

Here's what we do have at the moment (as best as I can recall):

  • Rakudo.org is run by Andy Lester and currently provides a "blog" for Rakudo Perl. Andy has mused about switching rakudo.org to Drupal instead of Movable Type, which could enable us to more easily have "introductory content" information instead of just blog-type entries.
  • Of course, many of us regularly post to journals at http://use.perl.org/ . This is good for keeping in touch with the wider Perl community and provides a good blog-like interface, but again isn't useful at basic Rakudo information and orientation.
  • The Perl Foundation hosts a "Perl 6 wiki" at http://www.perlfoundation.org/perl6/index.cgi?perl_6 , and Rakudo has a few pages there. Currently I find the wiki to be not very well organized, and it's difficult to find Rakudo out of the many other items that appear there. Beyond that, I'm not impressed with the wiki engine the site uses, but if a sizable group of people think that's where Rakudo information should be centered then I can live with it.
  • TPF also hosts the "Perl 6" website at http://dev.perl.org/perl6/ , but "Rakudo Perl" isn't even mentioned there, and I don't even really know the correct procedure for getting updates or modifications to those pages. My impression is that this site isn't really conducive to frequent updates or lots of contributors (but perhaps I'm incorrect about that).
  • Planet Perl 6 (http://planetsix.perlfoundation.org(approve links)) is an excellent aggregator of Perl 6 related posts, including those involving Rakudo Perl.

Also, for the record, I currently own the "rakudoperl.org" and "rakudoperl.com" domains, so if we want to do something somehow separate from any of the existing domains cited above, we can use those domains, and I may have (or be able to acquire) additional server resources to support it.

Issue tracking

Currently issue tracking for Rakudo is being done using RT at http://rt.perl.org/ (the same RT instance that does Perl 5 bug tracking). In the past I've stated that Rakudo bugs will continue to use this tracker, and I'm still planning for that to be the case, but in recent weeks I've encountered a number of times were rt.perl.org was too slow/unreachable to be an effective tool. I'm not (yet?) advocating that we switch to a different issue tracker, but since we're looking at the whole of infrastructure items I did want to leave the possibility open for discussion.

Mailing list

Currently Rakudo's primary mailing list is <perl6-compiler@perl.org>. I see no major reason to change anything here, as it works well and is a good companion to the other "official" Perl 6 mailing lists.

----------

Throughout all of this, I'm looking at things from a very practical perspective -- i.e., what can we achieve with the resources currently at our disposal. It's also important to consider the needs of the various audiences -- not only the Rakudo developers, but also people who want to experiment with Rakudo and those who want to start building applications for it. So, we need to keep in mind the many perspectives on the issue as we go through the discussion.

Also, I'm expecting that some of the decisions I eventually make may disappoint some; apologies in advance, but such is the nature of decisions.

With that background in place, I'll now (with great trepidation) open the discussion for others to comment and/or make suggestions of what they'd like to see changed about the way we currently manage Rakudo Perl.

Thanks in advance,

Pm

Friday January 02, 2009
11:50 AM

List of working and non-working Rakudo features

A newcomer to Rakudo and Perl 6 asked me "Where can I get a list of features that currently work in Rakudo?" Rather than try to build (and maintain) the list myself, I've built a wiki page for it at http://www.perlfoundation.org/perl6/index.cgi?rakudo_feature_status.

You'll notice that the page starts with a list of "common things that don't work" -- I'm hoping that people can use this to get a sense for the common pitfalls without having to search RT (which can be a bit slow). But below that we can start listing things that _do_ work.

Feel free to add/modify the page in whatever ways you think will be useful.

Pm