No time to wait Just code Twist 0.1 I am looking for a Perl job in Europe I am looking for a Perl job in Europe. I have tried searching through and other websites in order to find the best match, but unfortunately they all seemed like huge bureaucracy enterprises. To make things easy I am going to describe what I would like to be working on, with whom and why you might want to hire me.

Keep reading ]]>
job europe perl Wed, 13 Aug 2014 00:00:00 GMT
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.

Keep reading ]]>
perl websockets console Wed, 14 Nov 2012 00:00:00 GMT
Perl Mova / YAPC::Russia 2012 is over! So the conference is over. And here are some numbers, photos, links, thoughts, etc.

Keep reading ]]>
perl conference Mon, 14 May 2012 00:00:00 GMT
Reading Perl documentation: perlrun Recently I reread perlrun and found amazing things I didn't know about. Maybe this can be interesting for somebody else too.

Keep reading ]]>
perl documentation Wed, 19 Oct 2011 00:00:00 GMT
Back from BlackPerl 2011 On the first days of October (1-2) I was in Crimea (beautiful peninsula on the Black Sea). There was a beta version of BlackPerl workshop. We had not many people there but we had a lot of fun, presentations and even a small hackathon.

Below are pictures and details ]]>
perl blackperl2011 Sun, 16 Oct 2011 00:00:00 GMT
Writing Perl code the right way Today we are going to learn how to write a HTTP request dispatcher subroutine in Perl. Why Perl? Because Perl style is close to HTML style. And HTML is used on the internets. Below are some useful tips.

Keep reading ]]>
perl the right way Fri, 24 Jun 2011 00:00:00 GMT
SSL tunnel for Perl/Plack web applications Adding TLS/SSL support to your Perl web application could cause a headache if it's not embedded in your web server. The most popular solution is to use an ssl tunnel in front of your server that transparantly encrypts/decrypts messages. In order to tell Plack application that TLS/SSL tunnel is used at least two special HTTP headers X-Forwarded-For and X-Forwarded-Proto must be set. The problem is that a well-known tunneling application stunnel does not support X-Forwarded-Proto header...

Keep reading ]]>
perl ssl tls tunnel Thu, 07 Apr 2011 00:00:00 GMT
Socket.IO Perl implementation Socket.IO is a universal way to write realtime web apps that work in every browser. Socket.IO supports several transports that are chosen during runtime based on the current browser capabilities:

* WebSocket
* Adobe® Flash® Socket
* AJAX long polling
* AJAX multipart streaming
* Forever Iframe
* JSONP Polling

This way it is possible to write WebSocket-like web apps without bothering much about the vendor support.

Socket.IO has an official client and various (among official) server implementations in different languages and frameworks. Here is a new Perl implementation built on top of Plack as a normal middleware.



Hey! The above document had some coding errors, which are explained below:

Around line 8:

Non-ASCII character seen before =encoding in 'Adobe®'. Assuming ISO8859-1

perl Mon, 07 Mar 2011 00:00:00 GMT
How to avoid Unicode pitfalls in Mojolicious Unicode is hard. Unicode in Perl is even harder, because sometimes Perl is just too smart. While Mojolicious is a web framework, no wonder why it should support Unicode really well. But even if Mojolicious tries hard to make things easy for a developer, one must really understand what's going on behind the scene.

Keep reading ]]>
perl mojolicious unicode Wed, 27 Oct 2010 00:00:00 GMT
More Mojolicious WebSocket examples I've been playing with WebSockets for a while. And here are some links to the projects I've came up with. Server side is written in Mojolicious::Lite. Client side is mostly JQuery. For non websocket browser Flash workaround is used.


An interactive shell with colors and unicode support.

Some screenshots are available in the repo:


A HTML5 Canvas VNC client.

When implementing this I've also written a Protocol::RFB module. That does the job.


A HTML5 Canvas simple colaboration drawing.


A simple multiplayer Bomberman clone. Fun to play :)

And BTW, Mojo::JSON::Any speeds up everything.

Enough self advertising for today ;)

html5 websocket perl mojolicious Sun, 16 May 2010 00:00:00 GMT