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 ]

cog (4665)

Journal of cog (4665)

Tuesday May 13, 2008
02:33 AM

Unlike Schwern...

Unlike Schwern, I *knew* I had arranged a place to stay :-)

That said, I am now lying in the most confortable couch, trying not to fall asleep, so I can beat the jetlag.

Yes, I am already in Tokyo.

I know, I know. Instead of surfing the web, I could be doing my slides, but tired as I am, I'd end up not understanding any of it, so I'm leaving them for later.

I wish I'd already done them, so I could have a good night sleep and a spare day tomorrow, but hey... $work!

Anyway, I am now going to fight myself and try to stay awake.

(damned confy couches...)

Tuesday April 29, 2008
05:29 PM

One Thousand Perl Mongers

Back in November we created the LinkedIn Perl Mongers group.

Well, we just passed one thousand monks.

And who is The 1000th Monk, you ask? (great title, uh?)

Why, none other than Eric Wilhelm.

Congrats, Eric :-)

And, of course, this also means that one of the next few monks joining the group will become the 1024th monk on it... (another interesting title)

Jump in!

Sunday March 23, 2008
11:47 AM

iGTD dmg, anyone?

I want to install iGTD on my Mac.

Problem is... it doesn't seem to be available anymore.

You wouldn't happen to have the dmg somewhere and be willing to send it my direction, would you? O:-)

Friday March 14, 2008
08:56 AM


I now present you with a bit of code I've written in these past few days. Pay attention not to the code, but to the comment I put in the beginning:

# yeah, yeah, so there are several modules on CPAN to create XML from an hash ref
# it took me less time to write this code than to find the best module to do it for me
sub _hash2xml {
        my ($tag_exterior, $ref, $indent) = (@_, 0);

        my $xml;

        if ( ref $ref eq 'HASH' ) {
                if ( $tag_exterior ) {
                        $xml .= "<$tag_exterior>";
                for ( keys %$ref ) {
                        $xml .= "\n " . " " x $indent . _hash2xml( $_, $ref->{$_}, $indent+1 );
                if ( $tag_exterior ) {
                        $xml .= "\n" . " " x $indent
                                  . "</$tag_exterior>";
        elsif (ref $ref eq 'ARRAY' ) {
                if ( $tag_exterior ) {
                        $xml .= "<$tag_exterior>";
                for ( @$ref ) {
                        $xml .= _hash2xml( undef, $_, $indent );
                if ( $tag_exterior ) {
                        $xml .= "\n" . " " x $indent
                                  . "</$tag_exterior>";
        else {
                if ( $tag_exterior ) {
                        $xml .= "<$tag_exterior>" . $ref . "</$tag_exterior>";
                else {
                        $xml .= $ref;

        return $xml;

As a side note, the project was already using XML::Dumper, so first I looked into that. Unfortunately, I needed to export XML according to a specification, and XML::Dumper was creating attributes where I wanted tags, and doing a few other things with it I didn't want.

So I turned to XML::Simple. Unfortunately, it was creating an <opt> tag around the XML and recording the XML to a file without me asking for it.

I did peruse the documentation of these two modules a bit...

I did search for XML modules on CPAN and saw a bunch of them I had already used in the past...

But then I thought: "ah, the hell with it... it's going to take me less time writing it myself than looking for the right module!"

And it did.

UPDATE: The Portuguese word for "exterior" (which in this case should probably be "outer") is the same as the English one. However, while in English you'd say "exterior tag", in Portuguese you say "tag exterior". That's the explanation of the name of the variable.

08:45 AM

Random notes

Note #1

There is an amount of LOCs a programmer can code. I believe when they find the Universal Equation they'll be able to tell how many LOCs a given programmer will be able to code.

However, there are factors that can increase that number. For some people it's brownies. To others it's coke.

But anyway, 4 litters of coke later, all our tickets are closed.

I do need to sleep, but there's so much caffeine in my body now that I just can't.

Note #2

Speaking of tickets, Trac is a wonderful tool. Praise the Trac gods.

Note #3

Coding is like riding a bike.

You stop coding and start managing full time, and after some 6 months you get back to coding. Say that during those 6 months (in this case, way more than that) you didn't have the possibility of coding a single line.

When you do get back to coding, trivial things are no longer present in your brain. 5 minutes after you start hacking you're asking yourself: do I need a comma between the filehandle and whatever I'm printing?

After a couple of hours, it all gets back to us.

A couple of hours more and you're finally in the zone, that final frontier in our geeky brains that we all adore.

Man... I love Perl.

Note #4

On top of it all, I've been sick all week long.

(and /me wonders off to the bonus tickets)

Monday March 10, 2008
02:11 PM

PTPW 2008 :: Registrations open // Attendance Limits

Registration and payment for the Portuguese Perl Workshop is finally open.

Seats for the workshop and for the training classes are limited, so grab yours soon.

Workshop seats: 100.

Intermediate Perl Programming seats: 36.

Hurry up!

Friday February 29, 2008
05:38 AM

LinkedIn, Twitter, DOPPLR

Just a quick note to say you can follow me on LinkedIn, on Twitter, and on DOPPLR.


Wednesday February 27, 2008
01:58 PM Tech Meeting #8

Yet another tech meeting! Today!

Yeah, yeah, I know it's short notice, but even if this doesn't reach potential attendees in time, at least we're putting the word out there of what we're doing.

The meeting takes place today, starting at 21:30, on the IST facilities in Lisbon (Alameda).

The talks:

        * Namespaces, typeglobs, closures and references, by Daniel Ruoso
        * DBI-Link 3.0, by David Fetter
        * Wrap-up && upcoming events (workshops, training, etc.), by José Castro

Attendance is free.

Join our mailing list if you need more details on how to find us.

08:56 AM

Portuguese Perl Workshop 2008 :: Call for Talks

This is the official Call For Talks for the very first Portuguese Perl Workshop.

We are now accepting talk proposals in English or in Portuguese that are 5, 20 or 40 minutes long.

The deadline for talk submission if April 30th, but don't you go around waiting, do it now!

Monday February 11, 2008
04:48 PM

Portuguese Perl Workshop 2008

It's true! It's going to happen!

June 6th and 7th (a Friday and a Saturday), in Braga, Portugal.

brian d foy is going to be there and he will also be lecturing two days of Intermediate Perl Programming on the 4th and on the 5th (and we could also tell you which days of the week those are, but instead we'll just let you guess). Other national and foreign speakers are also expected (there's already some movement on DOPPLR).

What did you say? A website? Of course we have a website, don't be ridiculous... Now, where did we put it? Ah, here it is!

You may want to subscribe our feed, since that's the place where the CFP and other announcements are supposed to show up.

Also, spread the word!

See you in Braga ;-)