Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw


by turnstep (Parson)
on Jun 15, 2001 at 07:35 UTC ( #88704=perlmeditation: print w/replies, xml ) Need Help??

More notes from YAPC::America in Montreal....

(You may want to read Day One first)

Today I started with the "Making a Module" by R. Geoffrey Avery. He recently created a module and uploaded it to CPAN, and went through all the steps involved in doing so, from h2xs to PAUSE. As he pointed out, this information is not all in one place. It was a good speech, and would make a great project (a tutorial perhaps?) for some monk here (hint, hint).

The next presentation was "Perl Projects with MakeMaker" by Sean L. Dague, which detailed how to use MakeMaker not only to create moules for CPAN, but as a great way to bundle your programs up for any platform. One thing I learned was that MakeMaker will not add modules with config or setup in the name, so be careful what you name things! An excellent presentation - let me know if someone finds the URL.

After the break, I went to "Polluting Perl with C, Java, and other rubbish" by Brian Ingerson. After a brief overview of the Inline module, Brian demonstrated the way other languages could be added to your perl script, starting with C, moving on to C++ and ASM (yes, assembly!) and then Java, which was demonstrated by the local Montreal monger who created it (Inline already has a great community around it). Inline is an extremely clever and powerful module. The Java version actually creates a Java interpreter, then opens a socket to talk to it, passes it any arguments, and returns the results to the perl script. It also does some other really clever things, including some advanced heruistics and scoring mechanisms to figure out which class to send things to when they accept different types of arguments. Other versions of Inline were demonstrated, from the whimsical Inline::PERL to the more serious Inline::Perl, as well as Inline::Foo. Finally, he explored the fascinating module Inline::CPR (C Perl Run) which makes C interpreted, and allows you to start mixing Perl and C (and other languages) in some very scary ways. The potential uses of this module are amazing. Many other languages available or in the works, including Ruby, R, Bash, Python, and Lisp. Brian would like to see more languages included, especially Fortran, so if you know a language well, make an Inline module. An interesting side note: the module will never become a part of the perl core, but will eventually install parts of itself "virally" as needed. It's a great idea, but I don't have the time to get into it here.

After another great lunch (why is it that you have to leave the United States to find good vegetarian places?) I headed back to listen to Lisa Nyman from the US Census on "State and County QuickFacts." This was more of an advocacy talk than a technical, but was interesting in that the whole project was unfunded as thus uses open source componenents such as Linux, Apache, mySQL, and Perl. One of the questions raised was would there be pressure to adopt commercial products with funding? She said the answer was no, but apparently in most government offices (and in a lot of corporations, I can attest) this would not be the case. Open source especially suffers from the reputation of a lack of support. I think it ironic that the best choice they made was due to the fact that the project was volunteer and unfunded, and probably would have had an expensive, commercial solution that did not work as well, had it been funded. Still, open source software is definitely making some major inroads into the .gov world.

Next was Indy Singh and his "Open Source DB for the Enterprise", which basically was extolling the virtue of the NuSphere's product, a out-of-the-box system that features Linux, PHP, Perl, and mySQL (and I think SSL as well). The interesting part was that they were using something called "Gemini" to give mySQL the much needed transaction support it has been lacking (IMO) for so, so long.

Next was a quick presentation by Leon Brocard on "The Perl Monger World Map" (check it out at which does some rather clever things to produce the maps that you see, including using Brian's Inline::C module.

Last but definitely not least as the one-and-only Damian Conway that gave a very funny and thought provoking lecture on...well, it covered just about everything, but had a large lecture on the Game of Life (and how somebody had made a genuine Turing Machine from one), Perl 6, and the Klingon language. Kudos to Damian for actually being able to pronounce all those Klingon phrases. I cannot begin to do justice to all the things that occured in this talk, but let's say the program at the end was definitely one of the most unique I've ever seen. And, like he pointed out, it spanned 6 centuries. And of course, he managed to sneak in some Quantam::Superposition, as well as a fair smattering of bad puns and some interesting forthcoming (not) books by O'Reilly. Here are some quotes that might not make sense to you, but are intersting nonetheless. Plus you can always ask someone who was there for a full explanation:

  • Ding! "Another theory has just been killed"
  • The number _two_ most common question I get in email is...
  • "Ok, it gets better" (repeat ad nauseum)
  • Perl 6 is a straight steal from Klingon
  • "Learn this language or I will kill you"
  • "Today is a good day to buy"
  • Daemona intra Putamen
  • ..not parens, but attacking and defending swords..
  • "Where is the variable?!? GIVE IT TO THE REFERENCE!"
  • And of course:
    open -*#@&-ing $FH, ...
    (can't recall the exact whole code snippet..anyone help me out?)

After, I got to see a lot of Montreal, and ate in the best French restaurant I've ever been in outside of Paris. (sorry I missed the BOF everyone - hunt me down and yell at me tomorrow at 10:30 AM - I'll be wearing a red PerlMonks shirt ;) Overall, the city has a very safe feel to it, even at night, which is a nice change from most US cities. I think Montreal, although a bit far for some, was a great choice, as it was a chance to see a whole new country, not just another US city (okay, it was not a new country for *some* people there...). If you can't make a YAPC (and you should by any means possible next years'), at least make an effort to attend or even arrange one of Damian's talks around the world to local PM groups (that's PerlMongers, not PerlMonks, of course. But we would welcome Damian here as well.)

Replies are listed 'Best First'.
Re: $YAPC::America::{'$Day2'}
by japhy (Canon) on Jun 15, 2001 at 15:38 UTC
    The code example was:
    if (!open FH, $file) { open *$@&-ing FH, $defaultfile, *$@&-er or *@$&-ing die; }
    And turnstep, I am going to hunt you down and find you. Fear not.

    japhy -- Perl and Regex Hacker
Re: $YAPC::America::{'$Day2'}
by frag (Hermit) on Jun 15, 2001 at 09:52 UTC
    Anyone interested in catching one of Damian's talks can check out his itinerary online.

    (Monks near Chicago in particular should note that he's coming to Chicago next week.)

    -- Frag.

Re: $YAPC::America::{'$Day2'}
by delegatrix (Scribe) on Jun 18, 2001 at 03:32 UTC
    I think it ironic that the best choice they made was due to the fact that the project was volunteer and unfunded, and probably would have had an expensive, commercial solution that did not work as well, had it been funded.

    Interestingly, even funded projects at the Census Bureau use open-source, for example the on-line form last year was a complete open-source yet funded project. A lot depends on what office and what bureaucrat leads a project.

    Since State and County QuickFacts grew out of a more enlightened office (mine), open-source may have been the path we chose even with funding, but as it was, open-source moved the project along, eliminated procurement, and let us concentrate on the data, interface, and user.

    Funding would allow us to put more people on the project, expand data sets, and provide some PR/marketing efforts. But again, open-source lets us put the money into resources aside from expensive software.

    (edited to add some more info)

    And yes, this was an advocacy talk. I find it helps others in less enlightened workplaces to hear about government open-source projects. "Hey - even the government uses this stuff!"

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://88704]
Approved by root
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (2)
As of 2021-10-16 17:13 GMT
Find Nodes?
    Voting Booth?
    My first memorable Perl project was:

    Results (69 votes). Check out past polls.