Geekcruises and Perl Whirl 2005, in retrospect

brian_d_foy on 2005-10-12T00:59:56

I've been back from my first Geekcruises trip (Randal's 29th) for two days, and the rooms are just now starting to settle down. After being at sea for a week, the inner ear gets used to mostly subtle rolling, and in the sudden absence of rolling shows what it had to do to make me not realize it. It just counter-rolls.

A conference on a ship is a wonderful idea. There is no where for you to go, really. I remember Esther Dyson (and now Tim O'Reilly's FOO Camp) talking about how conferences should really be in uninteresting, isolated places so people can't sneak off or fragment into groups. On the other hand, a cruise ship is all about having fun things to do all day long, so even though you're trapped on the ship, you could easily hide out in the many lounges, clubs, and other spaces. Even in such a small place it's easy to hide if you really wanted to (the absence of cell and wireless signals surely helps that).

The latest Geekcruise (and that only applies for another week) hosted Perl Whirl 2005 and Linux Lunacy 2005. I didn't pay too much attention to the Linux track since the Perl track kept me plenty busy. Indeed, with all of the available cruise activities and the conference, there isn't time for ad hoc or BOF sessions. We made a weak attempt to have a Firefly screening night (since some of us saw Serenity (a most excellent movie, in my opinion, which is saying a lot since I's not a huge Joss Whedon fan like my wife) the night before we left port), but it just didn't work out.

Part of being confined to the ship (for the non-swimmer, non-shark-food crowd, at least) is your dinner assignment. The ship has two seatings in the main dining room. You don't just show up whenever you want. Along with that, you are assigned to a table for dinner. You don't have to wait for a hostess to seat you (after the first night when you need her to show you where your table is). You sit with other Geekcruisers, and Neil either has an ingenious plan for seating arrangements so people meet new people or it just sorta works out. Later in the week we randomized the seating ad hoc by moving between the tables reserved for Geekcruisers. Each table seats 6, so it's small enough that everyone can talk to eat each other, and changing tables gets you a whole new crowd.

Allison Randal gave the latest Perl 6 talk, and Larry and others helped her correct her slides for the most current round of changes. I wouldn't really be surprised if she gave the talk this week and had to change some of changes back, either. The language police are thinking about what Perl 6 should look like and not every linguistic side effect has made itself known yet. However, Allison often dropped down into Pugs to see what Autrijus et alia thought it should do. I like seeing Perl 6 in action, for a rather large subset of Perl 6, with interesting error messages for the rest (e.g. 'Unexpected "i" at line ...'). I teeter between thinking a cruise would be a perfect place for a Pugs hack-a-thon (it's mostly in international waters, you're trapped, there's free room service) and that the Pugs crew would get anything done (Autrijus doesn't want to come to the US, the country of embarkation, there are too many cool shore excursions to distract everyone, and there's free room service). There were rumblings about what Camel 4th Edition might look like and when the writing would start. Don't get too excited: it won't be on the shelves this christmas.

Larry Wall had a question and answer session and spent so time talking about his father's influence on his thinking with his constant (and intentional) word mangling (e.g. "interselection instead of intersection). We know who to blame now. His father and my father-in-law apparently have the same word disease, which led to a discussion of the Chumash native american language which my father-in-law has partially helped to revive (with no ancestral connection and only an interest in obscure, mostly dead languages), which then lead to hours of Larry trying to figure out who else in the Perl world is interested in native american languages (finally settling on Sean Burke as I recall).

Mark-Jason gave his "Programming with Iterators and Generators" talk, which is always a pleasure to hear even if I always manage to catch the last hour of it. In short, as Nick Clark says, "Not only should you buy Mark's book, you should read it". I got to talk to Mark more this trip than at any other time I've seen him at conferences I think, despite his 15-month daughter being with him most of the time. We talked briefly about his upcoming book which I had a chance to review for the publisher, and I was somewhat reluctant to talk about it at first because I had made some pretty harsh comments about Mark's proposal. I was glad to hear, however, that the publisher didn't kill the book just because of what I said and that some of my comments were actually useful to Mark. He disagreed with some of the stuff I said and simply ignored it. That seems fair enough. I'm glad I sent back my comments now; I had considered just not replying to the publisher since I didn't have many nice things to say at the time. Don't mind me though: published books look a lot different from the proposed books. Mark-Jason may call you a "retardo", but he does listen even if he disagrees. ;) At dinner one night, Neil was talking about how smart Mark-Jason is ("the only one I know who is smarter than Randal", or something like that), and Randal, out of modesty mostly, said, "Well brian's smarter than me", to which I had to say "Don't put me in the same boat with Mark though, because I'm not that smart", then realized Neil had put me on the same boat as Mark, and that I had asked him too, indirectly, since I wanted to be a speaker. That little turn of phrase was most pleasingly, although only after the fact because it was inadvertant. The geeks at the table launched into the usual pun and metaphor exchanges.

This time I had to choose between Mark's talk and Randal's "Programming with CGI::Prototype" class. I chose Randal's class partly to suck up to the boss but also to find out what else he's changing on me. CGI::Prototype is some cool technology once you get into it, and the problem is it's getting even cooler. Randal showed me some of his CGI::P based stuff for another client, and I showed him my CGI::P based stuff for my TPR business dashboard. During the discussion I learned why this CGI method doesn't work. I've known about that problem but just worked around it without investigating.

[% self.CGI.end_form %] # gives ARRAY(0xXXXXXX)


That call is made in list context apparently (I haven't really investigated that deeply). Here's the relevant method from CGI.pm 3.04. I'm not sure what the design considerations are there, but I expected to get a single string in either context. I'm not sure why CGI.pm should decide where the newlines go, either. It doesn''t seem to care too much in other places.

sub endform {
    my($self,@p) = self_or_default(@_);    
    if ( $NOSTICKY ) {
    return wantarray ? ("") : "\n";
    } else {
    return wantarray ? ("
",$self->get_fields,"
","") : "
".$self->get_fields ."
\n"; } }


As I recall, Randal worked around it with Template's join() v-method.

[% self.CGI.end_form.join("") %] 


Damian Conway couldn't make it. Rumors of alien abductions and secret cult meetings gave way to a story about back problems. I figured he was just cooking up an entirely new syntax for Perl 7 or had decided that he should just give into Python. I think there were some other changes to the schedule too, but I missed almost all of that discussion because I was stuck in Egypt without internet access for the month before the cruise.

I gave my talk on Perl testing and gave away some TPRs and t-shirts. Somehow I collect all this stuff at conferences and it used to pile up in my office. Now I hold mini-contests at user group meetings and conferences. I kept forgetting to give away a cool ActiveState t-shirt, so I'll have to carry that around for a bit longer.

I ran into several other big names at the conference as well, including Ted Ts'o (linux kernel hacker and former Kerberos guy), Doc Searls (who thinks a blogging cruise would be a good idea) talks about his cruise experience in his blog and a promised column in Linux Journal).

By far, the coolest thing for me was outside the conference. I've been to a lot of Perl conferences, seen a lot of talks, and met most of the people. This time, I was at (if "at" means anything at 20 knots in international waters) a conference where I could visit Mayan ruins. This cruise did the Western Caribbean and stopped at Grand Cayman, Costa Maya (Mexico), Belize, and Cozumel (Mexico). I've been to Grand Cayman a couple of times before, so I didn't do much there. Neil Bauman's favorite restaurant, The Lighthouse, apparently didn't make it through the last hurricane. In Costa Maya, Neil, Randal, my wife and I hung out on a thin sliver of sandy beach that itself sat on top of mostly volcanic rock. My wife and I hung out with Neil in the amazingly-clear chest high water off the beach for a bit while Randal sampled the local cocktails and worked on his Spanish. In Cozumel my wife and I got away from the ship to a local restaurant where the locals eat (and we had to read and speak real spanish), then went to a far away beach (where we had to speak more spanish).

The real treat of the whole trip was Belize (formerly British Honduras, I learned). My wife and I took a trip to the Mayan ruins of Xunantunich, about two hours away from the port. It was everything I imagined mayan ruins would be. I heard that some of the other tours went to sites were less impressive. El Castillo, the latest of the plazas at Xunantunich, still stands pretty high, and you can see into neighboring Gautamala from the top (although, really, Guatamala is about 15 minutes away on foot if you want to take your chances with the native jaguars and walk through the jungle). As I stood looking into Guatamala, I realized that in the space of two weeks I had seen both sorts of pyramids I learned about in grade school: the egyptian pyramids at Giza (funerary monuments) and mayan pyramids (actual buildings where people lived). That's quite the coup in international travel, I think. The tour was especially nice since the distance from the pier cut down the number of people there. Fifty cruisers were not scared off by the two hour bus ride, so only 50 cruisers were there. Nick Clark took all of the other mayan tours, and Allison went on one the first day, I think. We'll have to get our pictures together to give you the full report. I recommend Xunantunich, though: I would have paid for everything just to take that tour.

For the geeks, the stateroom televisions had a program about the ship and the various systems on it. Now I know that the Carnival Miracle is 952 feet long, has two GPS systems, a LORAN-C system, and several other coastal radars that all check each other's work. They burn most of their trash in a power-generating incinerator, recycle grey-water for use in cleaning (even though it is drinkable once reclaimed), has a on-ship desalination plant and a million gallons of freshwater in reserve, and most thing operate by touch screen. Although there is an auto-pilot (used for most of the trip), four crew are on duty in the wheelhouse at all times. The ship has retractable underwater wings that reduce roll. Cooler than any of those things (they should have a tour of all this stuff!), the propeller assemblies are actually outside the ship on these things called azipods that combine the rudder and screws into one system (as seen in a photo from Kvaerner Masa-Yards . These pods can rotate 360 degrees to point the propellers in any direction, including at each other. With this system, the flank speed is around 25 knots.

I still have to get my pictures together (having shared a camera with my wife, who still has the camera), so you'll have to wait to see all the cool things I say. Randal probably has already uploaded all the pictures of everything he ate and drank, so you can look at those until I post mine somewhere.


rolling rooms

wickline on 2005-10-12T02:19:40

> I've been back from my first Geekcruises trip
> (Randal's 29th) for two days, and the rooms are
> just now starting to settle down.

My wife and I took our first cruise last month. After we got back, we spent a night at a nice place in Seattle. Unfortunately, one misfeature of the bathroom sink had both of us almost falling over.

-matt

Typo?

cog on 2005-10-12T09:55:35

it's small enough that everyone can talk to eat other

Please tell me that was just a typo...

Helsinki connection

jhi on 2005-10-13T15:15:37

> the Carnival Miracle ... ... was built around the corner from where I live, literally :-)

http://taivasalla.net/2004/2004-01/img/040108_0953_1024x768.jpg

Re:Helsinki connection

brian_d_foy on 2005-10-13T15:51:46

I got a "Forbidden" error for that link, but I could see it in a slightly different form: http://taivasalla.net/2004/2004-01/img/040108_0953.jpg.

Re:Helsinki connection

jhi on 2005-10-13T15:57:57

Umm, interesting: I cannot access the image via use.perl.org, I get a Forbidden... but you can cut and paste the link to your browser if you want to see Carnival Miracle As She Was Built.