Big Ship, Many Geeks
Pages: 1, 2


  1. These days, there's a trailing 'x' modifier that makes Perl ignore white space in regular expressions, allowing you to write things like
    next if (m{  <p[ >]  # need to catch both <p> and 
                         #  </p class=
               | <h\d    # all headers
    Not bad, eh?
  2. If we hit an iceberg, a certain Northern California publishing house that puts animals on book fronts is going to be in deep trouble; the headcount of major-animal-book authors on board is pretty high.
  3. Geeks viewing glaciers; note Larry's fashionable glacier-viewing attire.

    Geeks viewing glaciers; note Larry's fashionable glacier-viewing attire.

  4. Speaking of nice regexp tricks, you can now use paired delimiters, allowing flights of poetry such as
    s {java} <perl>x;
  5. It's pretty nice paddling around in a nice warm swimming pool in the sunshine, watching big snowy mountains and glaciers drift by the windows.
  6. All is not 100% well at the top of the Perl community. Certain key figures seem not to be talking to certain other key figures. Having said that, the technology rolling off the assembly line still looks pretty good.
  7. In Skagway: jeeps, houses, mountains.

    In Skagway: jeeps, houses, mountains.

  8. The food is good and plentiful, but pretty bland. On this Pacific-Northwest cruise, there are no microbrews and not a decent latte to be had. On the wall of a (very good) Tex-Mex place in Juneau, the sign advertising the local brew says "The Envy of Heineken."
  9. You can do nice efficient readable things with Perl's for controller:
    for (@lines) { $_ .= "\n"; }
    is the inverse of
    for (@lines) { chomp; }
    The trick is that for sets up $_ in a nice way.
  10. The cruise line has photographers everywhere, taking shots of passengers arriving and in their formal duds and of Perl geeks with the assembled speakers. Then they sell you prints. I bought three.
  11. You don't need to loop to use for to set up your default variables; consider:
    for ($episode)
      # $_ is now an alias for $episode, so...
      s/\s+/ /g;
  12. Tidewater glacier in Glacier Bay.

    Tidewater glacier in Glacier Bay.

  13. The ship spends a day in Glacier Bay, floating gently up almost to the scarred and melting faces of a couple of big tidewater glaciers; the passengers cheer the chunks of ice that break off in the sun with a splash and roar. This could be described as "awesome" were that word not so cheapened.
  14. If you really want to take for to the max, you can do things like for (@new = @old) { s/bad/good/g; } It does just what it looks like it does, but I don't understand why. By the way, quite a few of the examples here are, uh, adapted, with thanks, from Tom Christiansen's presentation materials. If you go hear him speak, you'll write better Perl.
  15. I brought tons of reading material, but between going to the talks, attending the endless captain's receptions and Geek-Cruise events, looking at the landscape, and hanging out in one of the 18 bars talking about technology, I got through damn little of it.
  16. Sailing away from Skagway at dusk.

    Sailing away from Skagway at dusk.

  17. LWP is the best-known Perl module for talking to the Web. It has grievous problems in the areas of time-outs and input throttling, and furthermore it's big and very hard to understand. Sometimes, it's not worth using. However, it's not 100% clear that Perl's core interrupt/alarm handling is going to get out of the way enough to fix the problems. Also, Gisle Aas, its author, seems to have a new job, and it's not clear what LWP's future is.
  18. You can have a more intense technology experience than you get on a Geek Cruise and at the same time save quite a bit of money and some wear and tear on your cardiovascular system from rich food and booze. Even so, I think the future of geek cruising is rosy; it's a pretty seductive package.

Tim Bray is the Founder and CEO of Systems.

Discuss this article in the O'Reilly Network Forum.

Return to the O'Reilly Network Hub.