catalyst icon

Catalyst 5.7000 released

Posted in Sun, 09 Jul 2006 02:36:00 GMT

A new major version of the Catalyst framework has just been released. Read about it on Digg; here are the latest results I've seen:

Catalyst 5.700 Digg status

It actually got to 91 diggs at the top of the Digg homepage before a new article came along (I took screen shots in KDE too but the layout wasn't as nice as XP). From Jezmo's Digg comment, I learned that SomethingAwful (6th largest forum on the Internet) is using Catalyst to build Titan, a schema-compatible vBulletin replacement. Catalyst is also used by Dresdner Bank, IUseThis and EditGrid.

Marcus has an announcement on his blog and the change log is available, but I'll summarize the changes here:

New Features
  • "ActionClass templates" which allow you to make extensible actions. The first of which is Catalyst::Action::RenderView, a more flexible replacement for the DefaultEnd plugin. Read more about this in Catalyst::Manual::Actions.
  • "Chained actions" which allow you to have parent and child actions on a uri. For example in a uri like /page/43/revision/23/edit you could have one action handle /page/43 and another handle revision/23/edit with captures for 43, 23 and edit.
  • Major documentation improvements including the Tutorial and Introduction parts of the Catalyst manual, reference API documentation and the Cookbook.
  • More concise log info and new colors for the debug screen.
  • Switch from Module::Pluggable::Fast to Module::Pluggable for more fine grain control over setup_components.
New Packaging
  • The Catalyst distribution has been split into Catalyst::Runtime and Catalyst::Devel. Runtime contains the minimal parts for deployment while Devel includes helpers and tools. Thankfully install Catalyst in CPAN will install Catalyst::Runtime and there's no need to change the use Catalyst; lines in your App Classes.
Upgrade Gotchas
  • Catalyst::Engine::Apache FIRSTKEY error: I just upgraded from Catalyst 5.6902 and Catalyst::Engine::Apache 1.06. I didn't have a problem running 5.6902 and 1.06 but others had the generic problem below and previously upgraded to 1.07. The problem only appeared with 5.7000 and 1.06 for me. In any event, make sure you're running Catalyst::Engine::Apache 1.07.

    [error] Caught exception in engine "Can't locate
      object method "FIRSTKEY" via package "APR::Table" at
      line 65." 5.7000 released digg:Catalyst 5.7000 released reddit:Catalyst 5.7000 released spurl:Catalyst 5.7000 released wists:Catalyst 5.7000 released simpy:Catalyst 5.7000 released newsvine:Catalyst 5.7000 released blinklist:Catalyst 5.7000 released furl:Catalyst 5.7000 released fark:Catalyst 5.7000 released blogmarks:Catalyst 5.7000 released Y!:Catalyst 5.7000 released smarking:Catalyst 5.7000 released magnolia:Catalyst 5.7000 released segnalo:Catalyst 5.7000 released

1 comment

ubuntu iconapple icon

Ubuntu - Winning with Microsoft's Strategy?

Posted in , , Thu, 06 Jul 2006 05:29:00 GMT

It's interesting to watch the evolution of Canonical Ubuntu. It started off by gaining popularity in the desktop space and now it's finally moving into the server space. Linux on the desktop has been a thorn in Linux's side for a while and Ubuntu seems to be the answer. Just recently a couple of people have moved from OS-X to Ubuntu causing quite a stir on Slashdot and Tim O'Reilly's blog. By winning the desktop, they win users that they can leverage to win the server space. If this strategy sounds familiar, it's the same one that Microsoft used to defeat Novell NetWare. Now that Ubuntu has entered Red Hat and SUSE's turf, it will be interesting to see if they respond with more user friendly desktop editions (I'd be happy for a Linux-version of Textmate). If so, the users will win. - Winning with Microsoft's Strategy? digg:Ubuntu - Winning with Microsoft's Strategy? reddit:Ubuntu - Winning with Microsoft's Strategy? spurl:Ubuntu - Winning with Microsoft's Strategy? wists:Ubuntu - Winning with Microsoft's Strategy? simpy:Ubuntu - Winning with Microsoft's Strategy? newsvine:Ubuntu - Winning with Microsoft's Strategy? blinklist:Ubuntu - Winning with Microsoft's Strategy? furl:Ubuntu - Winning with Microsoft's Strategy? fark:Ubuntu - Winning with Microsoft's Strategy? blogmarks:Ubuntu - Winning with Microsoft's Strategy? Y!:Ubuntu - Winning with Microsoft's Strategy? smarking:Ubuntu - Winning with Microsoft's Strategy? magnolia:Ubuntu - Winning with Microsoft's Strategy? segnalo:Ubuntu - Winning with Microsoft's Strategy?


typo icon

Typo - Disabling link creation in comments

Posted in Wed, 05 Jul 2006 18:59:00 GMT

Typo will automatically turn something like in a comment into a link, however this is undesirable when you're using a dummy uri such as To get around this, I use the HTML symbol for 'h' in http so I type:

This is just a one-off solution in that it requires some manual checking of whether the uri is a real one or not. I use it when posting on other people's Typo blogs. I suppose this can be automated by checking if the uri returns a valid response but that may be overkill.

BTW, here's a HTML symbol table for reference. - Disabling link creation in comments digg:Typo - Disabling link creation in comments reddit:Typo - Disabling link creation in comments spurl:Typo - Disabling link creation in comments wists:Typo - Disabling link creation in comments simpy:Typo - Disabling link creation in comments newsvine:Typo - Disabling link creation in comments blinklist:Typo - Disabling link creation in comments furl:Typo - Disabling link creation in comments fark:Typo - Disabling link creation in comments blogmarks:Typo - Disabling link creation in comments Y!:Typo - Disabling link creation in comments smarking:Typo - Disabling link creation in comments magnolia:Typo - Disabling link creation in comments segnalo:Typo - Disabling link creation in comments


blogger icontypo icon

Moving Day - Blogger to Typo

Posted in , , Mon, 03 Jul 2006 02:37:00 GMT

I've been experimenting with Typo at the new Dev411 blog primarily to get around the serious performance problems I (and many others) have experienced on Blogger. I know they are working on this and I hope they get it under control soon, however I didn't want to wait for something that may or may not happen so I've moved everything over to Typo has some nice features include categories/tags and Live Search which shows you search results as you type. Of course, I may switch back to Blogger (or to another engine) at some point but I'm hoping I won't have to change again.

I'm running 2.6.0 which is the current stable version according to the website though many people are running code directly from the SVN trunk. I'll probably wait for 4.0 before upgrading which I've heard should be coming out soon. In the mean time I've made some changes from the default configuration:

  • added table of contents to pages with multiple articles (index, category/tag, archives and search) described previously.
  • renamed categories to tags. The trunk supports both categories and tags but 2.6.0 only has categories. I simply renamed categories to tags by editing routes.rb and content.rhtml for the category plugin. When 4.0 comes out, I'll use the separate categories and tags and the tag uris will stay the same.
  • moved categories/tags from bottom of each post to top by editing articles_helper.rb and templates.
  • removed articles from uri by editing routes.rb.
  • added number of comments to Live Search AJAX results by editing views/live/search.rhtml.
  • added blog name to HTML title for individual article pages by editing articles_controller.rb.
  • added Blog Roll sidebar which is just a copy of the static sidebar plugin. It would be nice if you could use the same static plugin multiple times but copy/rename is easy enough.

Features I'd like to add:

  • Navigation breadcrumbs
  • More specific HTML page titles
  • The anchor slider from the Modernist theme
  • A logarithmic tag cloud; the trunk version is linear
  • Ability to categorize tags similar to tag bundles; this is supposed to be doable now with acts_as_taggable
  • A tag list that also has links to tags you use at and possibly other places Day - Blogger to Typo digg:Moving Day - Blogger to Typo reddit:Moving Day - Blogger to Typo spurl:Moving Day - Blogger to Typo wists:Moving Day - Blogger to Typo simpy:Moving Day - Blogger to Typo newsvine:Moving Day - Blogger to Typo blinklist:Moving Day - Blogger to Typo furl:Moving Day - Blogger to Typo fark:Moving Day - Blogger to Typo blogmarks:Moving Day - Blogger to Typo Y!:Moving Day - Blogger to Typo smarking:Moving Day - Blogger to Typo magnolia:Moving Day - Blogger to Typo segnalo:Moving Day - Blogger to Typo

1 comment

typo iconscriptaculous icon

Typo Themes Viewer 0.2

Posted in , Sat, 01 Jul 2006 23:41:00 GMT

I updated the Typo Themes Viewer with the following features:

  • Lucid theme: No longer a drab gray :) The theme viewer currently uses a fluid layout for non-IE browsers and a fixed layout for IE since I ran into some issues using the fluid layout on IE. Even with the wider left and right margins, I can still get 6 thumbnails across on my 1400x1050 screen for easy viewing.
  • Lightbox image viewer: The Scriptaculous Sortable effect has been removed and replaced with Lightbox (which relies on Scriptaculous). When you click on the thumbnail now a medium sized graphic will appear. Let me know how it works for you.

As before, I'm more than happy to add new themes as they become available. Just post a comment here with the uri(s).

The new look:

Typo Themes Viewer

Using Lightbox:

Typo Themes Viewer with Lightbox

On a final note, Lightbox 1.x allowed you to close the lightboxed image by clicking on it. In Lightbox 2.x, this has been disbled to allow the group feature to function. If you are only using single images or run separate copies of lightbox.js for singles and groups you can make the following mod to allow closing by clicking on the single lightboxed image:

// look for the following line:
// then add this after:
  = function() { myLightbox.end(); return false; };

Thanks to Tyler Mulligan for this solution. Themes Viewer 0.2 digg:Typo Themes Viewer 0.2 reddit:Typo Themes Viewer 0.2 spurl:Typo Themes Viewer 0.2 wists:Typo Themes Viewer 0.2 simpy:Typo Themes Viewer 0.2 newsvine:Typo Themes Viewer 0.2 blinklist:Typo Themes Viewer 0.2 furl:Typo Themes Viewer 0.2 fark:Typo Themes Viewer 0.2 blogmarks:Typo Themes Viewer 0.2 Y!:Typo Themes Viewer 0.2 smarking:Typo Themes Viewer 0.2 magnolia:Typo Themes Viewer 0.2 segnalo:Typo Themes Viewer 0.2


prototype icondojo iconmochikit icon

Should there be a standard X-Ajax-Engine request header?

Posted in , , , Fri, 30 Jun 2006 17:49:00 GMT

A little while ago I was looking at JSON and Catalyst::View::JSON (a server-side library to provide some JSON repsonse magic for Catalyst) and I discovered that AJAX libraries auto-eval JSON differently, Dojo looks in the response body and Prototype looks in the X-JSON header (read about X-JSON problems with IE 6). This got me thinking that there's no standard way for the server to tell what kind of AJAX library is making the request. Prototype sets the X-Requested-With and X-Prototype-Version as:

var requestHeaders =
  ['X-Requested-With', XMLHttpRequest',
   'X-Prototype-Version', Prototype.Version,

For Dojo, some people are manually sending a request header along the lines of isDojo:true. MochiKit doesn't currently send an identifier.

I tend to prefer a bit more information such as the library version. Does it make sense for AJAX libraries to send a standard User-Agent along the lines of X-XMLHttpRequest-User-Agent (X-AJAX-User-Agent is shorter but may not be as correct; subsequent to the initial post, a discussion with Alex Russell generated the X-Ajax-Engine name which has been incorporated below). Something shorter is preferable but this is just an initial proposal. It would also remove the need for Prototype's separate X-Requested-With header since having X-Ajax-Engine set at all would indicate XMLHttpRequest. The format could follow the one established for User-Agent:

X-Ajax-Engine: <library_name>/<library_version>

This can be done manually with Dojo, MochiKit and Prototype as follows:

// in a call:
headers: {
// for MochiKit:
// in a Prototype AJAX.Request call:
requestHeaders: [

Optional information could be added in parenthesis afterwards, e.g. Dojo Toolkit could include the edition name or something along the lines of "Custom Build" like (I'm not sure if other libraries have a reason to do this):

X-Ajax-Engine: Dojo/0.3.1 (BrowserIO)

If client libraries started using this or something similar, server-side identification could start (attempting to) depend on something that was standardized. Standardization can even be proposed as an addition to the W3C's XMLHttpRequest efforts. I think standardization would be great because it will probably happen eventually and for now it would make server-side identification more reliable.

UPDATE 1: Less than a week after I posted this, a related issue came up on the MochiKit Google Group involving adding a X-MochiKit-Version header to mimic X-Prototype-Version. I put in a word for standardization and after discussing this with Alex Russell (see below) posted back to the group. Seems like we may get a defacto standardization on X-Ajax-Engine which would be nice.

UPDATE 2: I spoke to Alex Russell of Dojo Toolkit about this and he thought this is a good idea. Apparently if you set sendTransport in, an identifier (but not version number) will get sent, however it seems not many people know about this. We discussed shorter names and Alex came up with X-Ajax-Engine. He mentioned he could bring this up at the OpenAjax Alliance. there be a standard X-Ajax-Engine request header? digg:Should there be a standard X-Ajax-Engine request header? reddit:Should there be a standard X-Ajax-Engine request header? spurl:Should there be a standard X-Ajax-Engine request header? wists:Should there be a standard X-Ajax-Engine request header? simpy:Should there be a standard X-Ajax-Engine request header? newsvine:Should there be a standard X-Ajax-Engine request header? blinklist:Should there be a standard X-Ajax-Engine request header? furl:Should there be a standard X-Ajax-Engine request header? fark:Should there be a standard X-Ajax-Engine request header? blogmarks:Should there be a standard X-Ajax-Engine request header? Y!:Should there be a standard X-Ajax-Engine request header? smarking:Should there be a standard X-Ajax-Engine request header? magnolia:Should there be a standard X-Ajax-Engine request header? segnalo:Should there be a standard X-Ajax-Engine request header?


rails icontypo icon

Adding a TOC to Typo

Posted in , , Mon, 26 Jun 2006 21:37:00 GMT

I've been using MediaWiki for a while and wanted its ability to auto-generate Table of contents for pages with multiple articles such as the homepage and the category pages. Typo is a Ruby on Rails app so you'll need to be somewhat familiar with it to make enhancments. I have this running on Typo 4.1.1, 4.0.0 r1188 and 2.6.0.

I came up with the following but it's still in the early stages:

Read more... a TOC to Typo digg:Adding a TOC to Typo reddit:Adding a TOC to Typo spurl:Adding a TOC to Typo wists:Adding a TOC to Typo simpy:Adding a TOC to Typo newsvine:Adding a TOC to Typo blinklist:Adding a TOC to Typo furl:Adding a TOC to Typo fark:Adding a TOC to Typo blogmarks:Adding a TOC to Typo Y!:Adding a TOC to Typo smarking:Adding a TOC to Typo magnolia:Adding a TOC to Typo segnalo:Adding a TOC to Typo


mysql icon

Lessons from MySQL

Posted in , Mon, 26 Jun 2006 21:36:00 GMT

I picked up a copy for Fortune Magazine's Secrets of Greatness: Teamwork! issue for the flight to YAPC::NA. There was an insightful article on MySQL. MySQL has 350 workers in 25 countries and 70% of them telecommute. This structure has led to some hiring practices contrary to the norm in other organizations.

  • Employee characteristics: Given the decentralized nature of its organization, MySQL for skills, not the ability to play nice with a team.
  • Finding talent: MySQL finds some of its talent (50+ employees) through open source cntributions to its code base. Others also look for developers among those that actively check in good code.
  • Work schedule: CEO Marten Mickos says:
    The brightest engineers like the calmness and coolness of the night
    and likes hearing the following from prospective employees:
    question: How do you plan your day?
    answer: I always sleep until 11 A.M., and then I start working

While working late at night seemed common when I was in college, when I got to the workplace many developers seemed to work a regular schedule leaving around 5-6pm, albeit in a regular office environment as opposed to MySQL's telecommuting environment. Do you like to work at night and is it common to come in "late" and work late at places other than MySQL? Also, in a non-telecommunting situation, is this mostly for developers without kids? If you do have a start late / work late schedule, why do you like it and what time to you tend to start work? from MySQL digg:Lessons from MySQL reddit:Lessons from MySQL spurl:Lessons from MySQL wists:Lessons from MySQL simpy:Lessons from MySQL newsvine:Lessons from MySQL blinklist:Lessons from MySQL furl:Lessons from MySQL fark:Lessons from MySQL blogmarks:Lessons from MySQL Y!:Lessons from MySQL smarking:Lessons from MySQL magnolia:Lessons from MySQL segnalo:Lessons from MySQL

no comments

perl iconyapc icon

Unofficial YAPC::NA 2006 Badge

Posted in , , , Thu, 22 Jun 2006 07:22:00 GMT

The YAPC::NA conference doesn't have a blog badge yet so I edited one from another event. It's not official and just for fun:

YAPC::NA badge

You can add it to your blog with the following:

In your HTML:

<div id="yapc_badge">
<a href="" title="YAPC::NA">
<img src="  \
  badge_yapcna2006.gif" alt="YAPC::NA badge" />

In your CSS:

#yapc_badge {
  position: absolute;
  top: 0; /* 10px works for Blogger */
  right: 0;

UPDATE 1: This is now on the YAPC::NA Chicago homepage and Planet YAPC Chicago. Show your support :)

YAPC::NA 2006 Header Image

UPDATE 2: This is also seen in Jonathan Rockway's Catalyst Weblog Software presentation. YAPC::NA 2006 Badge digg:Unofficial YAPC::NA 2006 Badge reddit:Unofficial YAPC::NA 2006 Badge spurl:Unofficial YAPC::NA 2006 Badge wists:Unofficial YAPC::NA 2006 Badge simpy:Unofficial YAPC::NA 2006 Badge newsvine:Unofficial YAPC::NA 2006 Badge blinklist:Unofficial YAPC::NA 2006 Badge furl:Unofficial YAPC::NA 2006 Badge fark:Unofficial YAPC::NA 2006 Badge blogmarks:Unofficial YAPC::NA 2006 Badge Y!:Unofficial YAPC::NA 2006 Badge smarking:Unofficial YAPC::NA 2006 Badge magnolia:Unofficial YAPC::NA 2006 Badge segnalo:Unofficial YAPC::NA 2006 Badge

1 comment

typo icon

Typo Theme Viewer

Posted in Wed, 21 Jun 2006 22:42:00 GMT

I just put together a dual-purpose Typo Theme Viewer. The first purpose is to allow quick scanning of all the themes at Typo Garden which are currently spread out over 14 pages. The second purpose is to provide an example using the Scriptaculous' Sortable effect. I've been interested in using it along with a fluid layout for a while but haven't had an application. Even here, it's more of a demo than some especially useful functionality but it's nice to see the effect in action on something more than a few random graphics. I'm still thinking about how to make the Web 2.0 functionality more useful.

Typo Themes Viewer

The theme viewer lets you select how many themes you want to view per page so you can adjust it to however many look good in your browser. The pages will change accordingly. You can also see all the themes at once which I find very convenient.

There are some more enhancements I've been thinking about as Scriptaculous (or Dojo) experiments. Let me know what you think of it and what would make it better.

UPDATE: The theme viewer has been upgraded from the screenshot and description here. Theme Viewer digg:Typo Theme Viewer reddit:Typo Theme Viewer spurl:Typo Theme Viewer wists:Typo Theme Viewer simpy:Typo Theme Viewer newsvine:Typo Theme Viewer blinklist:Typo Theme Viewer furl:Typo Theme Viewer fark:Typo Theme Viewer blogmarks:Typo Theme Viewer Y!:Typo Theme Viewer smarking:Typo Theme Viewer magnolia:Typo Theme Viewer segnalo:Typo Theme Viewer


Older posts: 1 ... 6 7 8 9 10