One of my tasks when I'm not working or writing Perl code is to keep the finances of the Frankfurt Perlmongers e.V. club in order. Part of this is doing the taxes but a more important part is to pay the incoming invoices in time and to keep all the receipts for this in order. As we do most transfers electronically, it was a long-term goal for me to provide the board with an automated monthly account statement.
Much of what I do involves retrieving stuff over the HTTP family of protocols. My go-to solutions are either the APIs of LWP::UserAgent/WWW::Mechanize or the API of AnyEvent::HTTP, depending on whether I want some kind of concurrency or not. Since I found Future as a somewhat nicer way of structuring callback hell a bit differently, I've looked around for a nice implementation of a HTTP client that works with various backends and maybe even without a backend.
The author tests in my module publication pipeline are only one part of the task. The other tasks are actually running the checks, making sure that my public Github repositories are updated with each release and actually pushing the distribution file out onto CPAN. Of course, I have these steps automated.
Originally written for providing installable themes for my photo publishing app, App-imagestream, I wrote two modules that make it very easy to provide a basic theme for a web application in an archive. This still allows for quick customization by overlaying the contents of the archive with the contents of another archive or a directory in the file system.
Search this blog
- Virtual Spring Cleaning (part 10 of X) wherein I tackle finances
- Virtual Spring Cleaning (part 9 of X) wherein I retrieve content
- Interlude 2, in which I write more about the release pipeline
- Virtual Spring Cleaning (part 8 of X) wherein I release leftovers
- Virtual Spring Cleaning (part 7 of X) Wherein I Enter the Archives
- Virtual Spring Cleaning (part 6 of X) wherein I expose my bad taste for all to see
- Virtual Spring Cleaning (part 5 of X) in which I release Backblaze::B2(::Async)
- Virtual Spring Cleaning, an interlude
- Virtual Spring Cleaning (part 4 of X) in which I release Archive::SevenZip
- Virtual Spring Cleaning (part 3 of X) in which I release Plack::Middleware::Pod