Author Archives: Oliver Gorwits

Fixed-width text and WordPress on iPhone/iPad

A quick note to cheer that I fixed an annoyance with my blog rendering on the iPhone/iPad platforms. Text in code blocks or preformatted (i.e. fixed width) came out huge on the iPhone and iPad making things look ridiculous. It … Continue reading

Posted in blogging | Comments Off

Virtual Machine on Mythbuntu

I have a Linux box running the excellent Mythbuntu (Ubuntu-based) distribution, headless (that is, without a monitor). Quite a lot of the time it’s sat around doing nothing (and even during recording or playback the CPU is idle). For some … Continue reading

Posted in devops, htpc, linux, networking, virtualization | Comments Off

Hacking # in OS X

To get a # sign on an Apple keyboard you use the Option (or Alt) key + 3. This seems terribly klunky to me, and # is of course used quite a bit in programming and sysadmin work. This hack remaps another … Continue reading

Posted in linux, OS X, perl, productivity | Comments Off

A (very) short list of Dist::Zilla tips

For App::fooapp type distributions then you might want the README etc generated from a specific file. Add this to dist.ini: main_module = bin/fooapp ; btw, semicolon leads a comment, in case you forgot how to do that Any Module::Install converts reading this should note the bin directory, not script. In bin/fooapp itself you also provide an additional metadata hint (next to ABSTRACT): # PODNAME: fooapp Which results in nifty Metacpan links such as: https://metacpan.org/module/nfflowd Finally this hint to the POD munger will allow a section to be pinned in place above the SYNOPSIS: =begin :prelude # POD here… =end :prelude I hope these tips are helpful to some…… Continue reading

Posted in perl | Comments Off

MythTV Transcoding (5): HTML5 Playback in MythWeb

I’m doing a series of posts here on automated transcoding of recordings in MythTV. The idea is to explain the basics, then evolve the design to end up with recordings suitable for playback on the iPad, which is a little … Continue reading

Posted in htpc, mythtv, transcoding | 5 Comments

Painless MythTV Channel Configuration

MythTV – a brilliant homebrew digital video recorder system. Killer features include being able to play content over the LAN at home, scheduling recordings via the web, and generally poke it to integrate with all kinds of devices (e.g. see … Continue reading

Posted in devops, htpc, mythtv, perl | Comments Off

Hosting the AutoCRUD Demo

In my previous entry here (syndicated from blogs.perl.org), I linked at the end to a demo Catalyst::Plugin::AutoCRUD application running on DotCloud. I’m much happier with this than running something on my own personal server, and here’s the notes on its setup. … Continue reading

Posted in databases, devops, git, perl | Comments Off

AutoCRUD revamped

For a couple of years I’ve been planning to rip apart and put back together the guts of Catalyst::Plugin::AutoCRUD, to address limitations in the initial implementation. After changing job and moving house I’m pleased this finally came to the top of my hacking stack. Nothing was going to happen however before I could work out how to do one thing: achieve independence from DBIx::Class as a “storage engine”. I love DBIx::Class, but it would be much more cool to support any data storage system able to represent a table+column paradigm (even things like CSV, as a test case). So SQL::Translator hit me like a thunderbolt. Of course, that’s exactly what it does – introspect some data storage and provide a neutral, class-based representation of the tables and columns (fields). It’s a little rough around the edges, but certainly good enough. The Translator provides a metadata structure which AutoCRUD’s web front-end can use, independent of any particular storage engine such as DBIx::Class. This also paves the way for development of display engines other than the bundled ExtJS and simple HTML offerings. Right now there’s a developer release of AutoCRUD on CPAN, and I hope shortly to have a production release. Whilst the web side might not look much different, the fact is that it can now support significant features such as tables with composite/compound primary keys, or no primary keys for that matter, database views, relations to self, multiple relations to the same table, and so on. Alongside that, I’ve taken the opportunity to fix a few quirks of the web interface, and chomp my way through the outstanding wishlist. The updated code is now running on a DotCloud instance, so please go and have a play! http://demo.autocrud.pl p.s. a cron job will restore the demo’s databases at the top of every hour… Continue reading

Posted in perl | Comments Off

Releasing trial/dev/beta versions with Dist::Zilla

You might have stumbled across Dist::Zilla’s –trial command line option in the past, and maybe even used it for a developer CPAN release. Its effect is (as I understand it) two-fold: adds -TRIAL to the name of the distribution archive being produced sets release: testing in the META.json file which is parsed by CPAN services It came to my attention that using -TRIAL is actually pretty bad for you and your system, and other users, even though it’s one of the two naming conventions CPAN services use to identify developer releases. The problem is that the actual $VERSION of your code is unaffected. This means once installed, you can’t ask your computer the version of an installed distribution and work out from that whether it’s a developer release, or not. A secondary issue is that in sites such as metacpan.org there’s nothing really obvious about the release which highlights its status as "development", in the list of available versions. An alternative way to signal to CPAN services that a dist is a trial release is to use an underscore and a secondary version number at the end of $VERSION, like _001. This is still a bit crappy but at least humans can really easily see what’s going on. Back to Dist::Zilla. If you use the AutoVersion plugin, a better alternative than using –trial is to set the DEV environment variable when you build or release the distribution. This has the effect of: (sprintf ‘_%03u’, $ENV{DEV}) being added to the end of $VERSION sets release: testing in the META.json file which is parsed by CPAN services Otherwise the best thing to do right now is to set the version manually, for developer releases. I hear from chatter on IRC that there are plans to change the –trial feature of Dist::Zilla to alter $VERSION if necessary (that is, if no underscore exists) – a good compromise, I reckon…. Continue reading

Posted in perl | Comments Off

MythTV Transcoding (4): Add an H.264 Transcode Job

I’m doing a series of posts here on automated transcoding of recordings in MythTV. The idea is to explain the basics, then evolve the design to end up with recordings suitable for playback on the iPad, which is a little … Continue reading

Posted in mythtv, transcoding | Comments Off