Slash Boxes
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 ]

jesse (2531)

  (email not shown publicly)

Journal of jesse (2531)

Monday July 14, 2008
02:57 PM

RT 3.8 is now available

Today, we're releasing RT 3.8.0, the first major upgrade to RT in about two years.  Over the past two years, we've been working hard to improve RT.  We're very proud of RT 3.8 and hope you'll find it a worthy upgrade.

Many, but not all, of the new features you'll find in RT 3.8 are the direct result of work we did for clients. WYSIWYG email composition, GnuPG email signatures and encryption, ticket relationship graphs and email digests are all enhanced versions of features we originally developed as "custom" extensions for clients. 

When we haven't been busy improving RT for clients, we've spent much of our time tidying and polishing RT. In the past few months,  we've resolved over 540 bugs and feature requests. RT's new visual style, "on-line" dashboards, workflow and performance improvements, along with literally hundreds of bug fixes and performance improvements are the direct result of your patches, bug reports and suggestions over the past few years.

I could easily claim that there are too many new features to list, but the reality is simply that there are more new features I could list than you're willing to read about. If you're interested in the full, sordid history of changes to RT since RT 3.6, you can find the full history in our public subversion repository at svn://

What's new in RT 3.8 A new visual style

We've completely overhauled RT's visual style to look a bit more like what you'd expect modern enterprise software to look like. The pleasing blue gradient background and rounded corners will keep you on an even keel when dealing with even the most complex and frustrating issues. (We've also extensively tweaked the fonts, menus and layouts based on feedback from dozens of testers.  RT has always been easy for your team to pick up with little or no user training. The usability improvements in RT 3.8 should help keep your team happy and productive. )

Richtext email

RT has been around since before the days of HTML email. We've completely retooled inline RT's email composition system to give your team a "WYSIWYG" composition window for HTML email using FCKEditor.  We chose FCKEditor because of its excellent cross-platform support. (It even preserves styles when you copy and paste from your word processor!) When creating, replying to or commenting on tickets, you can now make things bold, italic, red or blue (and do all sorts of other things to your text as well).    At the same time, we overhauled how RT displays HTML and multipart email messages to work more like desktop email clients.   We've always worked hard to make RT a good email citizen. That's more true now than ever.  When sending styled email, RT will always send a plain text equivalent along as well.  If you don't need rich text support locally, you can disable it from RT's configuration file.

Email signatures and encryption

Many organizations around the world use RT to manage the information flow of their mission-critical security applications. Pretty Good Privacy (PGP) is the global standard for inter-organization secure email. We've updated RT with comprehensive support for PGP using the Gnu Privacy Guard. RT can now verify PGP signatures on incoming messages, decrypt encrypted messages and sign and encrypt outgoing mail.

User preferences

RT has always been incredibly configurable and flexible. Through version 3.6, however, most of that configurability was in the hands of developers and administrators alone.  Starting with version 3.8, we've introduced a new user preference system.  For version 3.8.0, we've added the set of preferences we found our users most commonly reaching for, including:

  • Ticket history ordering
  • Timezone
  • Date and time format
  • Username format
  • Default queue
  • Size of message text boxes


With RT, it's easy to customize your home page to show you the saved searches and charts which matter to you on a daily basis.  Your RT homepage is your personal dashboard.  In RT 3.8, we've made it possible for you to build and save dashboards for particular projects or groups.  Dashboards can contain saved searches, saved graphs and ticket relationship charts. You can, of course, keep these dashboards to yourself, but you can also share them with the other members of a group you're in.   With just a few clicks, you can schedule daily, weekly or monthly delivery of a dashboard.  Here at Best Practical, we used this feature to send daily updates on the progress of the RT 3.8 release to the whole team -- complete with a list of open critical issues and a recap of all the issues resolved in the past day.

Charts of ticket relationships

RT has a rich "relationships" system which lets you link tickets (or just about anything else) together to form larger projects. You can set up "depends on" relationships, "parent child" relationships and simple "refers to" links.  It's always been easy to see a single ticket's relationships as a list. Beginning in RT 3.8, you can build clickable diagrams of tickets and all their relationships. With a few clicks, you can customize which ticket attributes are displayed and how the chart will be rendered.  You can save charts you build and include them on your homepage or in RT's new dashboards.

Lots more!

  • Breeze through upgrades with new upgrade tools
  • Subscribe to iCalendar feeds of ticket due dates
  • Bookmark frequently-used tickets
  • Turn off mail from RT when you go on vacation
  • Get your mail from RT as a daily or weekly batch
  • Delete historical or spam tickets with RT::Shredder (only as a superuser)
  • Set up more configurable business rules with new Scrip Conditions and Actions
  • Forward tickets to third-parties from within RT
  • Enable and Disable RT extensions with the new Plugins system
  • Automatically log out inactive users with rt-clean-sessions
  • Run faster with less memory, thanks to numerous  performance improvements and bug fixes.

Download RT

You can download RT 3.8.0 at:
This release of RT has been digitally signed with PGP. You can download the signature file at:

Commercial Support

We sell commercial support for RT.   If your organization uses RT in production, you should consider buying a support contract to help ensure that your RT instance continues to work well. To celebrate the release of RT 3.8, we're offering:

  • free upgrade support to new support contract customers.
  • a 20% discount on upgrades to RT 3.8 from any previous version of RT.
  • a 10% discount on migration to RT 3.8 from any other ticketing or issue tracking system.

To find out more about our support options, please contact us at

2008 RT Fall Training

We provide unparalleled instruction in how to get the most out of RT.   On October 24, we will be offering  an intensive one-day developer and administrator training session taught by the developers who built RT. This is the first training session where we will present new features and changes in RT 3.8.

This comprehensive session will cover:

  • New features in RT 3.8
  • RT's system architecture
  • A guided tour of the RT source code
  • Extension mechanisms you can use to customize RT
  • How to tie RT into your existing authentication infrastructure
  • Building your own tools that talk to the RT backend
  • Automating common procedures
  • Customizing RT's workflow to match your own
  • How to write custom reports based on RT's data

This session will be only be offered in:

    San Francisco, CA on Friday, October 24th, 2008


The cost of training is $995 per participant.  Discounts are available for organizations sending more than one participant and for academic institutions.  To reserve your seat, please send mail to with the names and email addresses of all attendees. Register now to reserve your seat!  Space is limited.

Private training

Additionally, we offer private training sessions for organizations. If you would like to schedule a private training session, please drop us a line at

Friday June 27, 2008
10:11 PM

ADMIN: and misdirected mail

Just as a heads up, we've discovered that has started to send out mail about bugs to CPAN authors who aren't actually maintainers of the distribution.

The bug is the unintended consequence of some work we've been doing to make faster and easier to use.

I could claim that it's a cool new feature to help better publicize issues in CPAN distributions, but I can't quite bring myself to lie like that.

We're working on the issue and will get it sorted out as quickly as we possibly can. I'm sorry for the inconvenience.

Monday May 05, 2008
08:54 PM

Binary data in JSON?

JSON doesn't have native support for binary data? Really? Someone, please tell me I'm wrong. (But only if you can back it up with documentation)
Tuesday March 04, 2008
01:17 PM

We've released the code used to run

As part of a recent project to modernize and improve, we took the time to clean up and better abstract the various plugins we use on the backend. We've also (finally) moved all the RT extensions that make up the UI to a public SVN repository.

You can get at the code via svn://

We use the following extensions.

For authentication:
* RT-Authen-PAUSE
* RT-Authen-Bitcard
* RT-Authen-OpenID

CPAN specific UI and public bug tracking:
* RT-BugTracker
* RT-BugTracker-Public
* RT-Extension-rt_cpan_org

* RT-Extension-MergeUsers
* RT-Extension-QuickDelete

We also have a set of tools which import info from the PAUSE and
other sources into RT's Database, but we still need to clean those up a bit (removing hardcoded passwords, little things like that) before we can publish them.

If you've been hankering for a new feature in, now's the time to start sending patches. After 3 good patches, we'll grant you a commit bit to the extensions. You can start sending your patches to the address listed on the front page of


Thursday February 14, 2008
04:12 PM

Shipwright - our new code distribution system

Like any opensource software shop, we distribute the source code
for our software. How's that for the obvious statement of the decade?

Actually, I can beat it. It's a pain in the neck for end users to
collect and install all of the dependencies for our software.

And now I'm going to one-up myself again. Customers often build
our software against untested versions of libraries, making debugging

RT, our flagship product, depends on 124 separate packages, 114 of
them CPAN libraries. While CPAN has pretty good support for recursively
installing dependencies, it's not perfect and can be time consuming
and confusing for end users. And when it doesn't work right, as can
happen when a module author makes an incompatible change, debugging
requires a wizard.

We've built a new source (and binary) packaging system called
Shipwright. Shipwright allows you to track all of your package's
dependencies in a version control repository like SVN or SVK as
well as build order and build instructions.

It comes with tools for importing Perl modules, C libraries and
other dependencies from CPAN, upstream version control repositories
and tarballs. When it can discover dependency information (as it
can for Perl modules), Shipwright will automatically import the
current versions of all listed dependencies if the repository doesn't
already contain sufficient versions.

Shipwright can automatically set up build instructions for projects
using autoconf as well as projects using Perl's MakeMaker,
Module::Install and Module::Build mechanisms. If necessary, you
can customize the build instructions and dependency ordering after
you import a package.

When it's time to ship your project to your end users, all you need
to do is take a snapshot of your Shipwright repository and send it
out. To build your project, an end user just needs to run
"./bin/shipwright-build". If they want to, your users can choose
to skip certain dependencies (if they want to use system versions)
or specify an installation path. By default, Shipwright builds
fully relocatable binary distributions into a temporary directory
and users can move them into place or copy them to any number of
hosts with the same base system libraries -- Shipwright automatically
wraps all your binaries and scripts so that they can find the
Shipwright versions of their dependencies, no matter where you move
the installed distribution. Shipwright also comes with sh and tcsh
scripts you can 'source' to add an installed distribution's libraries
to your current environment.

At Best Practical, we've configured most of our Shipwright distributions
to bundle everything above libc. Perl, Subversion and GD are just
some of the packages we distribute as part of these relocatable
builds. We now have a single-command tool to build, link and install
Subversion, SVK and all their dependencies (including APR, Neon,
Perl and a bunch of others). With a single command, we downloaded,
extracted, checked in and tested Tatsuhiko Miyagawa's Plagger Feed
Aggregator and all 134 perl modules it depends on. After that, a
single command built a full binary distribution of Plagger, ready
for deployment on any Mac OS X system.

I'm quite proud to release Shipwright 1.0 today. I designed Shipwright
with sunnavy, one of the hackers here at Best Practical. He's
responsible for almost all of the project's implementation to date,
though we're eager to have additional developers join us going forward.

If you're interested in Shipwright, download 1.0 from and subscribe to the Shipwright
mailing list by emailing

You can always get the latest version of the Shipwright source code
with this command:

svn co svn://

Monday January 28, 2008
12:16 PM

YAPC::Asia, Japan, Taiwan

Ok. So looks like I'll be heading to YAPC::Asia in Tokyo this year, with some extra time in Japan and Taiwan afterward.

So. What should I be submitting talks about for YAPC::Asia?
Wednesday January 16, 2008
03:11 PM

Hiveminder Pro launches today!

Hiveminder Pro launches today

Today, we're releasing Hiveminder Pro, a major update to our online task management system. Here at Best Practical, we're addicted to Hiveminder's slick, simple task tracking and sharing, but that's not too surprising-- we built Hiveminder to be the shared todo list we always wanted. You don't have to take it from us, though. Sarah Linder of the Austin American-Statesman writes:

"I am crazy about Hiveminder. I started using the online to-do list a little more than a year ago, and we're very content together. I had been lost, adrift -- trying different ways to track my stuff, but never settling down. Hiveminder made me less flaky, less absent-minded, less likely to wake up at 3 a.m. realizing I had forgotten something important. Hiveminder, you complete me."

If you've never used Hiveminder, let me take a moment to run through some of what I think are its most interesting features:


You've got a lot on your mind. Getting all the stuff you need to do out  of your head and into a trusted tool like Hiveminder can make the difference between a good day and a day struggling to get anything done. With Braindump, you can just type out a list of what you need to do - just like writing it up on paper or in Notepad. Hiveminder will turn your notes into a todo list, looking for email addresses, due dates, categories and hints that something  might be important. There's a braindump box on every page, but you can focus  in on braindump at

Task Review

If you're like me, you have a few hundred items on your todo list. Some of them are work tasks that I really need to get to today and some are little home repair tasks that I can put off for another few months. Task Review walks you through everything on your todo list one at a time. You get to make some simple decisions about each task: Is it done? Can I do it today? Can I get someone else to do it? How long should I hide it away for? At the end of the review, you're left with a pared down list of things you can get done today. Do a review and declutter your list:


Just as important as knowing what you do is knowing what you've already done. Hiveminder keeps track of all the changes you make to your tasks, so you can get a full history of an individual task later. That means we can also show you what's happened to your tasks today, yesterday or any day in the past. You can get a peek of what your tasks have been up to today at:


One of the strengths of any web-based application is how easy it becomes to share things. Hiveminder is no exception. We built it from the ground up to make it easy to share one task or thousands. You can easily assign a task to another person just by setting the task's owner field to their email address. Hiveminder will make sure they get email telling them that you need them to do something. They don't even have to be a Hiveminder user. We'll send them a URL which lets them access their task without signing up. Once you have a few more tasks to share or a few people you regularly share tasks with, you can create a group and invite other users to join you. Everybody in the group can see all the group's tasks (though you can control who can edit them), you can assign tasks to individual users and everybody can share a list of what needs doing.

Hiveminder integrates with everything

Whether you're a Googleista using the iGoogle and Google Calendar widgets, a Mac user browsing your todos with our iCal feeds or reading a feed of tasks in Bloglines or Google Reader, your tasks are always at your fingertips. If you live in your IM client, HMTasks is always around to chat with. The friendly little bot can tell you about what you need to do today and take notes when something new comes to mind. Browser search box integration for Firefox and IE7 lets you search Hiveminder and even braindump new tasks, no matter where on the web you are. I haven't even gotten into our commandline tools or Web API, but if that's what you're into, you can find out more at

...and more

I haven't mentioned tags, our innovative "but first...and then" organizational system, printing support, incoming email addresses, the mobile and mini user interfaces or any of a host of other features, but if you visit today, you can find out more about them.

Last February, PC World Magazine ranked Hiveminder as one of the best Todo list apps on the web. Since then, we've been hard at work to make Hiveminder even better:

  • We've improved performance across the board
  • We've added new Google Calendar and iGoogle integrations
  • We've added new AOL IM and Jabber chat interfaces
  • We've significantly improved the API (more on that in the next few weeks)
  • We've added integrations with Firefox and IE7
  • We've cleaned up and streamlined the interface
  • We've made repeating tasks easier to use ...and a whole bunch more

Today, we're launching Hiveminder Pro. It's $30/year (but read on to find out how to save a few bucks.) For your money, you get:


Pretty charts and graphs are a great motivator and they can provide useful input about how you work. One of the folks here at Best Practical found out that he tends to get more work done on Wednesday than on every other day of the week combined and that his most productive times are when everyone else is out of the office at lunch. Of course, Hiveminder Pro reports are also available for your groups, so you can see who's overloaded, who's slacking off and whether you're getting ahead or falling behind. To turn on graphs and charts, visit


Many of you who use Hiveminder to collaborate with team members both inside and outside your organization have told us that you'd really like to use Hiveminder to share documents related to your tasks. The wait is over. As of today, each Pro user has a 500MB task attachment quota. You can work with attachments through the Web UI or simply attach them to tasks you create by email. Attachments you sent in before we created Pro accounts will magically appear when you upgrade at

Saved lists

Hiveminder makes it easy to search and sort your task list. But until today, you needed to redo your searches day after day. Hiveminder Pro gives you a "Save list" link on every task list. It's easy to build a list of all items tagged "shopping" or everything you need to do for your boss. We have a bunch more things you'll be able to do with your saved lists soon, too! To start saving your lists, visit

SSL Security

On today's wider web, protecting your information from prying eyes is increasingly important to many of you. Hiveminder has always protected your password when you log in, but today we've enabled SSL (https) encrypted logins for ALL Hiveminder users. Pro users can choose to protect all their interactions with Hiveminder by visiting to log in. To protect your account with SSL, visit

I've saved my favorite for last. Hiveminder has always made it easy for you to create incoming addresses so others can send you tasks by email, but until today it was still hard to assign a task to someone else from your email client. Today, we're introducing a never-before-seen way to talk to an application from any email client.

Once you set up your secret code in your Hiveminder Pro settings, you can send a task to anyone on the planet by appending "" to their email address. You don't need to do anything to configure your email client.

If I wanted to ask the president to give me a balanced budget, I'd open up my email client and dash off a note like this:

Subject: Balanced budget, please?

It would be great if you could take care of this next week!


Hiveminder Pro will make a task and notify the President that I've assigned him a task. If he's an existing Hiveminder user, the task will pop into his todo list. If not, he'll get an email with a URL to view and reply to the task I assigned him. To get started assigning
tasks by email, just visit

It's time to go Pro!

Hiveminder Pro accounts are just $30/year, but since you're a friend of ours (or a friend of a friend), we'd like to offer you (and your friends) an additional $5 discount. Just enter LAUNCHCODE at The coupon is good through February 1.

If you know someone (or many someones) who could use the gift of productivity, you can use your coupon to give them Hiveminder Pro at

In the coming weeks and months, we'll be adding a number of other really cool features to Hiveminder and Hiveminder Pro. We'd love to hear your feature suggestions. Just drop them in the "feedback" box on the left-hand side of every page on the site.

Be Productive,

Jesse, for Hiveminder

Friday September 14, 2007
10:25 AM

Perl 6 Microgrant: Articles on Operators

I'm pleased to announce that we've just accepted a Perl 6 Microgrant proposal from Adriano Ferreira to write a series of articles about Perl 6 operators. Adriano's propsal appears below:

        Proposal for a Perl 6 microgrant "A series of micro-articles at ONLamp"

        I plan to write a series of blog entries at ONLamp site (which belongs
        to the O'Reilly Network) on a Perl 6 related subject. The resulting
        articles will also be integrated into Pugs' documentation and licensed
        under the same terms. The theme of the series contemplates brief
        introductions to the myriad of Perl 6 operators to the varied audience
        that reads the site weblogs.

                O'Reilly weblogs
                ONLamp (blogs show up at the right)
                ONLamp blogs (another view)

        My initial idea is to approach at each micro-article one operator or a
        group of closely related operators providing the reader with some small
        doses of Perl 6 at a light pace. This light pace would be three articles
        per week, ideally at Monday, Wednesday and Friday.

        To enhance the content, each article shall be submitted for review on
        #perl6 on freenode. This feedback may prevent mistakes and result in
        more complete discussions of each operator/feature.

        I am a long time lurker at the Perl community, writing ocasionally at my
        journal at use.perl, releasing modules at CPAN, and strugling to
        maintain the dual life of a few core modules (namely, Shell, Exporter,
        and very recently Pod::Perldoc).


        By the end of 2005, I have shared with David Landgren the fun of writing
        perl5-porters summaries (but I had to stop for a lack of tuits). Eh, I
        missed those times.

                Some samples:

        I am currently not well versed at the Perl 6 development, but I believe
        I have what takes to accomplish the simple task proposed in this grant.
        It is a chance for me to take a closer look at the current state of the
        Perl 6 art and make something useful at same time for the sake of
        broadcasting what Perl 6 would look like and mean to developers all
        around. Of course, in a very humble scale.

        I am an (obscure) ONLamp blogger since May 2007.

                (See the BLOG handle.)

        Well, Perl 6 has many many operators. Some of them are brand new and
        deserve more attention. Others are well known and standard and could be
        discussed in a batch. Anyway they are many.

        From the table in Synopsis 3


        I estimate more than 30 articles (which would take more than 10 weeks
        when publishing 3 per week).

        Well, that does not sound convincing. I have to think harder and maybe
        stand on a compromise on 8 weeks or 24 articles. Suggestions for
        defining sharper boundaries to these task welcome.

        The idea occurred to me only recently. Flávio Glock agreed it could be
        desirable. And so I submitted this.

        The progress can measured by the very publishing of the articles on the
        site. If preferred, I may report this on my use.perl journal as well.

        I prepared a first sample of the contents of the first articles on the
        series and put them online in a private site.


        * I've got the thumbs-up of James Turner, the ONLamp editor
                ( as an O'Reilly
                representative to use ONLamp.

Thursday July 05, 2007
04:22 PM

A trio of Perl 6 microgrants

I'm pleased to announce three new Perl 6 Microgrants.

Flavio Glock will receive a travel microgrant to help him attend YAPC::EU and evangelize kp6 and the Perl 6 in Perl 6 effort.

Steve Pritchard will receive a microgrant to complete the RPM packaging of Parrot and Pugs for Fedora and to submit those packages for inclusion in the official Fedora distribution. Steve will be blogging his progress at

Juerd Waalboer is the maintainer of, the primary host for Pugs development. Juerd will receive a microgrant to purchase upgraded hardware for feather.

If you're interested in submitting a Perl 6 microgrant proposal, you can find more information about how to do so at

Monday March 26, 2007
12:01 PM

First Perl 6 Microgrant - Steve Peters on Parrot Portability

We're pleased to announce that we've selected Steve Peters as the
recipient of the first Perl 6 microgrant. Steve has been instrumental
in helping to ensure that Perl 5 has stayed incredibly portable for
the past few years. Steve's starting to turn some of his attention
to Parrot. You can find details of the project he's planning in
the text of his grant application:

  There are several problems currently with Parrot's portability, which
  may inhibit its adoption as a run anywhere VM. This problem will be a
  major obsticle in the Perl6-to-Parrot solutions that have been

  Some of these problems include:

    * Failures to successfully link a Parrot executable with gcc on Cygwin.
    * Failures to successfully link a Parrot executable with icc or suncc
          on Linux.
    * Failures to successfully link a Parrot executable with Borland C++
          on Windows.

  These are the failures I have personally experienced. I suspect there
  may be additional problems on other OS's and platforms as well since
  there seems to be very spotty coverage of HP-UX and Solaris based on
  results seen on the Parrot smoke report website.

  Having worked with the Perl 5 core for a few years now, I have a good
  deal of experience in this area. I currently smoke test Perl on four
  different operating systems with seven different compilers. I have
  worked to get Intel C++ and Sun Studio compiling Perl without failures
  on Linux. I am also currently working with Sun in their early access
  program to test out their new Sun Studio 12 compilers on both Linux
  and Solaris.

  For completion of this grant, I believe the following would be the
  bare minimum needed for a successful project.

    * Successful completion of a full Cygwin compile of Parrot and
          application of necessary patches to Parrot. Test failures should be
          in line with what is observed on Linux or Mac OS X. That is clean
          up any test failures that seem to be platform specific to Cygwin.

    * Similarly, compiling Parrot with Intel C++ and Sun Studio 12 for Linux,
          application of any necessary patches, and cleanup of compiler specific

    * Compiling Parrot with Borland C++ on Windows with application
          of necessary patches to the Parrot core. Cleanup of compiler specific
          issues with necessary additional changes patched in the Parrot core.

    * Investigation into gmake "-j" support to allow for parallel
          building of Parrot.

  Additional planned work:

    * Additional cleanup for other OS's including (but not limited to)
          NetBSD, OpenBSD, and FreeBSD.

    * Testing and cleanup for Solaris (x86 and Sparc) and HP-UX if needed.
          As I only have guest access for the majority of these platforms,
          the work is dependent on continued access to these systems. As long
          as I have the access, though, I plan to treat this deliverable
          similarly to the others.

Steve will be blogging about his grant progress at http://

Please join us in wishing him the best of luck with his project.
We're really looking forward to seeing the results of this work.
If you're interested in submitting a Perl 6 microgrant proposal,
you can find details here:

    Jesse and Leon