Archive for August, 2011

WebService::Amazon::Route53

Wednesday, August 31st, 2011

In the last few days, I’ve been working on moving several domains (including this one) from EditDNS to Amazon’s Route 53. EditDNS was a small DNS provider that offered very good service (I praised them for that in the past), unfortunately some time ago they got acquired by Dyn, and are now being shut down.

I looked for a decent replacement for EditDNS, and finally decided to go with Route 53, because of two things: they have a good pricing scheme, and a well-documented API. The latter was probably the most important factor, as I do a lot of domain management stuff using automatic tools that work with an API.

A side effect of this move operation is a Perl module that I developed and used in the process, and which I’m now releasing — WebService::Amazon::Route53. It provides a Perl interface to Route 53 API, and thus allows you to manage domains and DNS records hosted at Route 53 from the comfort of your Perl scripts.

The module is available on CPAN and on GitHub.

Split Screen Greasemonkey Script

Sunday, August 14th, 2011

Yesterday I had another crazy idea that ended up implemented as a Greasemonkey script. I was browsing some source code in Firefox, and I thought that the browser is missing one feature that I commonly use in an IDE, and that is the ability to open the same source file in two views displayed side-by-side. This is useful when you need to look at two parts of the code that are related, but are many lines away — like, a function definition and the place where the function is called.

For those of you thinking “meh, couldn’t you just open a second window?” — sure, and I sometimes do that, but it’s not very convenient, as it requires me to do some dragging/resizing to get the desired layout. I wanted an easier solution.

I implemented this in a very simple manner, by replacing the current page with a new document containing two iframes, and loading the current URL in both of them. To make it more useful, I also added the ability to resize the iframes by dragging the splitter bar between them. Here’s a screenshot of the script being used to view a source file on GitHub:

Split Screen script used to view a source code file

The script is available on Userscripts.org.

Dancer::Plugin::DebugToolbar 0.011

Sunday, August 7th, 2011

This weekend we’re having pretty nice weather here in Warsaw, so what better way to spend your day other than to stay indoors and hack Perl? I’m here with a new version of the debugging toolbar plugin for the Dancer web framework.

A new feature introduced in this version is basic database tracking functionality. The information window can now show the DBI trace data, and display (some of) the SQL queries sent to the database. Here’s a screenshot of that:

Database information screen

I’ve also made significant changes in the basic structure of the code, and rewrote some of it from scratch. In the first release, the HTML code used to inspect the data structures was generated by Perl, which wasn’t especially elegant. Now, pretty much all presentation-related stuff happens in JavaScript, and the Perl code is only responsible for providing the data structures to display.

In the future, this might even allow me to quickly adapt the plugin to other frameworks/languages.

The new version is available on CPAN and GitHub. And, since today happens to be Dancer’s second birthday, let this release be my way of celebrating it. Happy birthday, Dancer!