Contracts in mop

While trying out mop I decided to implement contracts, or basically a simple type checking system.

Attribute::Contract now uses Type::Tiny

I became very interested in Type::Tiny as soon as I saw Toby's first post (yes I like modules that do one thing and do not depend on half of the CPAN). And then I thought why not to actually use it. And this is why Attribute::Contract now uses Type::Tiny!

YAPC::Europe 2013 video

A short video about the venue and slides requirements.

Yet another try/catch module

Try::Tiny is nice. But it's just an eval wrapper. Most of the time I have to catch exceptions by specifying their isas. And I want to receive an object in every catch callback, without overriding the global $SIG{__DIE__}. I like Error::Simple, but it's not supported and not recommended. That's why I decided to reimplement it.

YAPC::Europe 2013. Week minus 27. Current progress

Time definitely flies. We're almost the half way towards our journey's destination -- YAPC::Europe 2013 in Kiev. Here is a quick wrap-up of the current progress and the future plans.

Design by contract in Perl

Design by Contract is a programming approach when method calls are checked againts specific requirements by embedded in the language or implemented as a library functions. Usually incoming and outgoing values are checked, sometimes it is possible to check the throwable exceptions. Below are various modules that allow contracts in Perl.

Scraping pages full of JavaScript

When scraping internet websites I use Web::Scraper. It's simple, readable and very handy. I can use XPath and CSS3 selectors or can get raw HTML and parse it with regexps when in despair. But sometimes the pages are full of JavaScript that is required to be run in order to modify the DOM, do some adjustments and so on. Good thing Web::Scraper does not only accepts URLs but the raw content also. So let's use WebKit to render the HTML!

Testing WebSockets from console

Since August 2012 Protocol::WebSocket is shipped with a websocket console application (under util/ directory), that can be used for testing, debugging and/or learning more about websockets.

YAPC::Europe 2013 in Kiev, week minus 41. Venues

As I am in the org team of the next YAPC::Europe in Kiev, I have some news about the venues. I have been visiting all the previous selected 7 venues and 2 new that we found on the way. Not an easy task I should say. So here is my report.

YAPC::Brazil 2012!

Yesterday I came back to Kiev from YAPC::Brazil 2012 in Sao Paulo. To say the trip was great is to say nothing. And of course all the karma goes to @garu for hosting us in Rio and taking care of us in Brazil in general!