Test::More inside of Test::More

While working on http://perltuts.com I had to write a test runner what would test tutorial exercises. It would create a Perl package that uses Test::More than evaluate it, catch the output and return to the caller. This was easy. But than as a good Perl guy I had to test it, actually I had to write a test before writing an implementation, but that's another story! So... I wanted to test it with a Test::Class (uses Test::Builder internally). Needless to say it didn't work, because Test::More is an evil singleton! I had to deploy soon so I had to do something. And I did. I did a very dirty thing and it worked.

Perltuts - Interactive Perl tutorials

Let me introduce to you the http://perltuts.com, a website with interactive Perl tutorials where you can run the code in your browser!

Perl and friends books publications statistics

When I tried to learn another scripting language I was looking for the books (eh, the first thing that comes to my mind). I was searching and searching and then got curious on how many books were published during the last 10 years in the languages that kinda share the same field. So I called Ruby, Python and PHP friends and started building statistics.

My date bug or not so consistent consistency

So the other day I was writing a method that checks if a user provided date was a valid one. What could be easier? I quickly wrote code, tested it and pushed to production. The thing is that on production system the test woudn't pass. What the f...antastic debugging opportunity!

Perl Mova / YAPC::Russia 2012 is over!

So the conference is over. And here are some numbers, photos, links, thoughts, etc.

Throwing and catching exceptions in Perl

While many people still check every method's return value, parse die's string messages and think that exceptions should be avoided at all cost, I will try to convert all exceptions to objects, create the base exception class and catch them with simple eval without using CPAN (blasphemy!).

Perl Mova and YAPC::Russia. 12-13 May

Following Andrew Shitov's post I want to invite you to visit a Perl conference in Ukraine 12-13 May.

This year we are going to have some special guests: Tatsuhiko Miyagawa, Gabor Szabo, Florian Ragwitz, Peter Rabbitson, Torsten Raudssus and many others. If you still have any doubts read on, otherwise rush to the registration page http://event.perlrussia.org/yr2012/!

Found this Perl script on a defaced webserver

So the other day one of our web servers was defaced and I found a Perl script that was used to clean up the logs and other leftovers. I opened it in vim and was like "What da ...". Let's go through the code with me.

Text::APL - streaming and non-blocking Perl template engine

This is yet another template engine. But compared to others it supports non-blocking (read/write) and streaming output.

PocketIO vivification

Since 0.10 PocketIO doesn't require Plack and has a new dependency Protocol::SocketIO.