MythNetTV release 5


New things in this release:

  • There is now a users mailing list at

  • Moved to a public SVN server at

  • Added the ‘justone’ syntax to the download command
  • Another try at using gflags. This means that all the command lines have
    changed slightly.

  • Moved the core of MythTV out of the user interface file.
  • Started writing unit tests
  • Changed user output code so that it doesn’t insist on writing to stdout.
    You can now write to other file descriptors, which makes things like unit
    tests much easier to write.

  • Added video/msvideo to the enclosure whitelist
  • Added HTTP download progress information
  • Added a flag which turns off the prompts for markread (–noprompt)
  • Patches from Thomas Mashos
    • Search ~/.mythtv/mysql.txt, /usr/share/mythtv/mysql.txt and
      /etc/mythtv/mysql.txt in that order for MySQL connection information

    • A manpage
  • now has a simple command line interface to let you query it
  • Fix update of inactive programs bug per

  • Better DB error handling
  • Included a COPYING file with the right version of the GPL (it was missing

  • Fixed a bug where programs would be downloaded more than once (found with
    a unit test!)

  • Started raising exceptions instead of just sys.exit(1). This should make
    life easier for user interfaces in the future

  • Default to using storage groups for storing recordings before falling back
    to the RecordFilePrefix. This makes the behaviour: use a storage group
    named “MythNetTV” if it exists; use the default storage group if it
    exists; use the value of RecordFilePrefix.

  • Transcode avc1 videos, because some need it
  • Force ASCII encoding of title, subtitle, and all fields in the database
    to get around feeds which use unicode which python / MySQL can’t store

  • If there is only one attachment to an item, and its not in our whitelist
    of video formats, then warn the user that you’re assuming its a video file
    and then add it to the todo list

  • Slight tweak to the signature of video.MythNetTvVideo.Transcode()
  • Fix buf in RepairMissingDates which caused it to consistently crash
  • Fix typo in date warning code
  • Better handling of videos where the length of the video cannot be
    determined by mplayer

Release 5 is by far the best tested release of MythNetTV yet, with both unit tests and several users working quite closely with me to resolve problems found in the wild. You can grab your copy here.


Castle Of Wizardry


This is book four in the Belgariad, and was as good as the others. This one only took a day to read, but that was helped a lot by the two hours I spent commuting to and from San Francisco today. This book is a little different than the others because it starts just as the quest for the Orb ends. Yet it turns out that the overall prophecy that the Belgariad describes is still incomplete, so the story continues.

[isbn: 0345300807]


Magician’s Gambit


This is the third book in the Belgariad (Book 1 and Book 2). This book like the others was an enjoyable quick and easy read. I am starting to rethink my comments about these books being good for young readers — it just occurred to me that a lot of people die in these books. They’re all bad guys, and the violence isn’t all that graphic, but I guess it might worry some parents.

[isbn: 0345335457]


Open Source video creation


For the upcoming MythNetTV release I am toying with the idea of asking the user if its ok to include a default subscription to an announcement video blog. This blog could be used to inform MythNetTV users of things like new releases, and important bug fixes if such things happen.

This raises the question — if I wanted to mix creative commons licensed music with some still images (the announcements), what tool is the best to do that? Specifically open source tools please.


First Family


I finished this book on the bus into work this morning (I had a pretty distracted weekend, and didn’t get much reading done). This is the second book in the Amtrak Wars series, and takes place immediately after Cloud Warrior. The book feels like it is only half a book — there is plot development such as learning more about Roz, meeting the First Family, and the Iron Masters, but there isn’t much action. Basically I look back on the book and wonder what happened in it — it would have been better to combine this with the next book and have a complete story in one.

[isbn: 0671655671;0722185170]


Please help me test trunk


I’m preparing a new release of MythNetTV, and would like some help testing the code, as I have re-factored how the user interface works and there is some risk that I have broken things in the process. You can get the code like this:

    svn co

That will create a directory called mythnettv, with a subdirectory named trunk, which is the latest development version of the code. You should probably create that directory somewhere where you don’t mind a new directory being created.

The biggest change is that the command line syntax has changed slightly — the dashes have been removed from the commands. Therefore, to update your list of feeds, you now use:

      mythnettv update

Instead of:

      mythnettv --update

And so on. This was done so that I could add “real” flags, which are used to change default values like where the database configuration is read from, as well as what the default location for the temporary data directory is.

“Real” flags which are currently supported are:

      --datadirdefault:  The default location of the data directory
        (default: 'data')
      --db_host:  The name of the host the MySQL database is on,
                  don't define if you want to parse
                  ~/.mythtv/mysql.txt instead
        (default: '')
      --db_name:  The name of the database which MythNetTV uses,
                  don't define if you want to parse
                  ~/.mythtv/mysql.txt instead
        (default: '')
      --db_password:  The password for the database user, don't
                  define if you want to parse
                  ~/.mythtv/mysql.txt instead
        (default: '')
      --db_user:  The name of the user to connect to the database
                  with, don't define if you want to parse
                  ~/.mythtv/mysql.txt instead
        (default: '')
      --[no]commflag:  Run the mythcommflag command on new videos
        (default: 'true')

(These are the result of adding the gflags module back into the implementation).

I am hoping to release this version in the next few days, so if you find any bugs please send email to the mailing list.


The Spy Within


LibraryThing, of which I am a member runs a program where members are shipped early copies of books for free, with the preference for them writing a review when they’re done reading the book. The books are shipped by the publisher directly to the reviewers. This isn’t that uncommon in the publishing industry — both of my books have experienced a similar process, although less formal.

(In fact, any very early review of a book on a site light should be viewed with a little bit of caution I suppose. These people probably got their review copies for free from the publisher.)

LibraryThing’s implementation is a little different though, mainly because of the scale at which they hand out books, and the fact that the publishers don’t appear to get any direct say in who gets the books. That means that there is less incentive to write a positive review, and that more people get access to early copies of new books. You can see a list of the books LibraryThing is currently handing out here.

The Spy Within is the true story of a senior CIA agent who turned out to also be a Chinese spy. Its the first book I’ve received through the early review program, so I am still learning the ropes and have sat on this book for a few weeks before actually reading it.

As I said earlier, this is the “true story” a senior Chinese spy within the CIA. However, it should be noted that large portions of the book are pure speculation — inserted simply to make the story more readable. In addition, as with all such works, the book is based on a limited number of interviews, and is subject to the biases of those who provide source material.

This kind of book isn’t really my thing, and I would read less one one non-fiction contemporary history book a year. However, I found this to be an engaging read, especially because the books manuscript flows much like a novel. However, the story simply wasn’t that gripping (so, Larry Chin was a dick, I get it). Its hard for non-fiction to compete with fantasy for story lines I suppose.

[isbn: 1586421484]


Pawn of Prophecy


The Belgariad is a pretty formula fantasy epic, with striking similarities to things like stories of King Arthur. The series is written in a style which is very accessible to younger readers, which might explain why I loved these books as a kid. Its also a pretty “safe” story, in that nothing truly bad is allowed to happen to the main character, who is a child who grows up during the books. That might be why I loved these books so much as a child, and read them many times.

As an adult, this is a pretty easy read, and quite entertaining. I imagine its a lot like the Harry Potter series in its accessibility, although I haven’t actually read Harry Potter as its not my kind of thing.

I quite like this book, and would recommend it to young readers interested in fantasy books.

[isbn: 0552148075]


Hotel Max


When I was looking for a hotel to stay at for SIGCOMM 2008, I had trouble finding one in downtown Seattle which wasn’t insanely expensive. In the end I picked Hotel Max because it was only moderately expensive, instead of insane like the Grant Hyatt. The hotel is interesting because apparently it was quite run down until a few years ago when it was done up. Now every room has its own unique art, and the halls and lobby are filled with different bits of art as well. Very hip.

The room itself is quite small by American standards, which means its about the same size as the room that I stayed in while staying in London a few years ago. The shower and bathroom are literally cupboards off a corridor, but the bed is a full size queen. I’m not surprised about that given the reviews.

Given all I do in hotels is sleep and work on my laptop, I like this place. If I had the kids with me I would go insane however. Also be careful to get a room that faces Stewart Street. Mine faces an alley and I can hear the binging noise from the streetcar until about 10pm, and the air conditioning plant from the building next door for a while after that. I still slept ok though, so I guess people turned all that stuff off at some point during the night.

Update: I was wrong. The binging isn’t the street car, its instead the beeping thingie that all underground carparks seem to have here to warn pedestrians that there is a car about to enter the sidewalk. Its very annoying.