September 2013 Archives

How UAV::Pilot got Real Time Video, or: So, Would You Like to Write a Perl Media Player?

We don't usually do video decoding in Perl, but if you're not afraid of getting into xs and a little C code, it's all perfectly do-able. In fact, one of the reasons I wanted to take on the UAV::Pilot project is because I figured it would push me out of my comfort zone and force me to do things like this. C and xs are not as scary as people think they are, and they can open up things in Perl that are otherwise infeasible.

See my blog for the whole story.…

What if Perl OO was a Core Feature?

Over on Reddit /r/perl, there's a rather blatant troll complaining about the lack of OO as a core feature in Perl. The tone there is clearly not constructive and not worth responding further, but I feel compelled to answer a question: what would be improved if OO was a core feature, rather than built out of existing components of the language?

Personally, I think the fact that OO can be built this way is a demonstration of flexibility. It also allows you to build your own OO system that suits your needs. If the standard kind of blessed data structure doesn't work for you, try Inside-O…

UAV::Pilot Presentation

Last night, I gave a presentation for the Madison Perl Mongers group on UAV::Pilot. The video is now up:

This is also the announcement for the WumpusUAV Indiegogo project, which aims to create a new, cheap, hackable UAV platform. More information is on

What's a Trie, and Why Should You Care?

Continuing my series on underappreciated Perl modules, I introduce Tree::Trie. A Like Hashes, a Trie is a type of dictionary lookup. Unlike Hashes, Tries naturally support sorted return of keys and prefix matching, all while still being fast, even with a million entries.

About Timm Murray

user-pic I blog about Perl.