September 2010 Archives

I couldn't help it - Parsing Empathy log files in 20 seconds or less.

My current instant messaging application is Empathy. It's nice, though I wish it had a Perl interface, plugins and a few more features I want/need. It never matters enough to actually change applications.

Today I needed to go over a history file with a colleague that was pretty long. Popped up the "previous conversations" in Empathy to find that the record starts from the last hour or so (out of about 5 hours long of history). How nice.

I searched for the actual log files and found them in ~/.local/share/Empathy/logs/gabble_jabber_user_40domain_2eextension0/colleague@domai…

Normalize till it's normal!

Recently I got a nice small project work on: a web interface for a database with a simple search mechanism (Ajax for frontend with redirects to actual result pages).

I received the database in Excel form. No worries, we have the excellent Spreadsheet::ParseExcel so I'm not scared of spreadsheets. Bring it on!

And yes, the client did "bring it on". He brought it on with 260 columns, nonetheless. Each contained a "1" or "0" for match. "You just go over the columns here, look for '1', and then continue over to t…

Please provide a change log

I know, I know, it's all free software and open source - you shouldn't expect anyone to do anything. However, we do want our projects to succeed and we do put them out there in hope that it will be useful to someone.

So, you can be a jerk and provide a simple .pm file, without any documentation (because "it simply works"), no toolchain configuration (you "don't need any") and no tests (hey, if it works, it works, right?).

However, CPAN ain't like that. CPAN is (mostly) well structured distributions that adhere to community standards that include: bui…

Using CPAN Ratings as a bug report

CPAN Ratings are a great idea. Unfortunately it seems that in some cases they are either unused (in places where they should be) or misused (in places where they shouldn't be used).

While some distributions (which are very recommended to use by the Perl community) do not enjoy having ratings at all, I've noticed some people putting their personal gripes as ratings.

Theoretically you should be able to do that, true, but these ratings don't act the way you might assume they would. If you have a dist and I rate your first version as one star (for lack of tests, or becaus…

dzil authordeps - There WAS a solution already!

If you've read my last post, there's a good chance you were relieved that there was finally a command to install all the missing plugins.

However, about 5 minutes (if not less) after posting my new thingamajig, Florian Ragwitz posted a reply saying "uh.. it's already been done, and a new Dist::Zilla is released with it today".

So, take even a more relieved breath because Dist::Zilla now already has it. Download it and use `dzil authordeps`!

On a technical note, it was interesting to see a different implementation of the same idea. What Florian did was to simply read th…

dzil bootstrap - There is a solution!

I've been reading Zbigniew Lukasiak's blog post about installing Dist::Zilla plugins and Nigel Metheringham's blog post about his thoughts on Dist::Zilla and I have to completely agree.

Dist::Zilla produces a flexibility like no other with its completely insane everything-is-a-plugin approach. Anyon…

Showcasing Test::TinyMocker

For a while we've been using in Dancer a few mocking subroutines that we've put together quite elegantly as TinyMocker in our 't/lib' folder to assist us in tests.

However, with time we've been asked (okay, Sukria has been asked) to separate this so others could use it outside of Dancer. Sukria has released this as Test::TinyMocker.

Test::TinyMocker allows to mock subroutines (be it in object oriented or basic packaged subroutines). Here is how it will look:

/users/sawyer_x/2010/09/index.html

Awesome Perl projects PT. 1

I hope to showcase and talk about a great Perl project every once in a while. Hope this lasts beyond one post. :)

We recently added emailing capabilities to an in-house application. Unfortunately sending the emails adds roughly 1 minute to the runtime. I decided to take a gander at swaks and see how it's being done there.

Swaks (SMTP transaction tester) is a great application for all systems administrators. It takes the pain away from testing email setups. Instead of echo msg | mailx -n -t ... and thin…

About Sawyer X

user-pic Gots to do the bloggingz