Content here is by Michael Still mikal@stillhq.com. All opinions are my own.
See recent comments. RSS feed of all comments.


Wed, 31 Dec 2008



Blathering for Wednesday, 31 December 2008

posted at: 09:45 | path: /blather | permanent link to this entry


Blathering for Thursday, 01 January 2009

    12:00: Mikal shared: Cheap toilet paper imports get flushed - National - smh.com.au
      There is nothing finer than an article which combines discussions of toilet paper with the word "dumping". Even "anti-dumping" is funny in this context. I do wonder how the Customs Service measures the costs of production for a product in China though.



    Tags for this post: blather

posted at: 09:09 | path: /blather | permanent link to this entry


Tue, 30 Dec 2008



Books read in December 2008

posted at: 17:20 | path: /book/read | permanent link to this entry


Daughter of the Empire

posted at: 17:16 | path: /book/Raymond_E_Feist_and_Janny_Wurts | permanent link to this entry


Sun, 28 Dec 2008



Blathering for Monday, 29 December 2008

posted at: 07:37 | path: /blather | permanent link to this entry


Sat, 27 Dec 2008



Isaac Asimov's Robot City: Prodigy




    ISBN: 0441373844
    Ace (1988), Paperback
    LibraryThing
    This is the fourth book in the Robot City series, which is based in Asimov's Foundation universe. This one follows Odyssey, Suspicion and Cyborg.

    This book has quite a different style, the robot characters using quite convoluted sentences, which I found annoying. It is a little jarring in this series that each book is by a different author -- it takes me a little while to transition between the authors' various styles when I read them, especially when they're back to back. I think what Cover was trying to achieve is a more intellectual style of book than the others in the series, and it suffers the same fate as the Benford's Foundation's Fear -- the style is out of place with the rest of the books in the series, and that decreases from the enjoyment to be derived from this book.

    The actual plot line is fine though, if a little simplistic. Because of the very verbose style, it feels like less happened in this book than the others (which are of similar length). Overall, a bit of a disappointment.

    Tags for this post: book arthur_byron_cover isaac_asimov robot robot_city


posted at: 19:35 | path: /book/Arthur_Byron_Cover | permanent link to this entry


Blathering for Saturday, 27 December 2008

posted at: 16:15 | path: /blather | permanent link to this entry


Thu, 25 Dec 2008



Blathering for Thursday, 25 December 2008

posted at: 15:45 | path: /blather | permanent link to this entry


Isaac Asimov's Robot City: Cyborg




    ISBN: 0441373836
    Ace (1987), Paperback
    LibraryThing
    This is the third book in the Robot City series, which is based in Asimov's Foundation universe. This one follows Odyssey and Suspicion, and is a pretty good book. Its also a very fast read.

    The robot-wandering-the-city subplot is very reminiscent of Caliban, which is yet another Asimov spinoff. The plot lines are different enough that it doesn't feel like a rehash, but there are certainly strikingly similar elements.

    I liked this book.

    Tags for this post: book william_f_wu isaac_asimov robot robot_city cyborg


posted at: 13:12 | path: /book/William_F_Wu | permanent link to this entry


Wed, 24 Dec 2008



Polgara the Sorceress




    ISBN: 0345422554
    Del Rey (1998), Mass Market Paperback, 768 pages
    LibraryThing
    This is the final continuation of the Belgariad and the Malloreon series, following on from the Belgarath the Sorcerer continuation. The two continuation books are really just the same stories told from other perspectives, yet Belgarath the Sorcerer managed to be a really interesting read. It probably helped that Belgarath's story predates the Belgariad by thousands of years. On the other hand, most of the territory covered in this book is not new.

    This book started well, but the tone quickly became annoying for me. I think it was the several hundred pages of Arendish history that ruined it for me -- its just not that interesting where Polgara's bathroom is located, and who won a particular jousting match. There are also these really annoy asides littered throughout the text. The same element appeared in Belgarath, but seemed less annoying there for some reason. It annoyed me that there would be a passage of prose, broken in the middle with supposedly witty comment, which invariably fell flat.

    The other problem with this book is that Polgara herself comes across as a bit of a sociopath. She's always sure of herself, and lacks depth as a character because of it. I've got kids, and I find a character who is dumped into raising an orphan at zero notice being so self assured all the time. Surely she made mistakes and learnt something along the way? You wouldn't know it from the book though -- all of that is glossed over.

    On the other hand, the book is ok apart from the long middle bit in Arendia. This would have been a better book if that had been omitted.

    Tags for this post: book david_eddings magic prophecy sword_and_sourcery fantasy


posted at: 18:32 | path: /book/David_Eddings | permanent link to this entry


MythBuntu 8.10 just made me sad

    I figured it was time to give MythBuntu a try, so I set up a MythBuntu 8.10 instance in VirtualBox today. That was a mistake. I'm not 100% sure I understand how it happened, but MythBuntu somehow managed to delete my entire mythconverg MySQL database instance. Not pleased. I've restored it from last night's backup, but now I'll need to recover recordings which happened today, assuming I can be bothered.

    I'm writing this just as a warning to others -- if you're playing with MythBuntu, backup your MySQL instance if its not a test one.

    Tags for this post: mythtv mythbuntu mysql database corruption

posted at: 17:26 | path: /mythtv/mythbuntu | permanent link to this entry


Mon, 22 Dec 2008



Parenting advice

    Top tip for parents -- don't teach your kids to "wet willy" people. It might seem like fun at the time, but they'll end up wet willying you when you least expect it. Oh, and when you ask why they don't do it to mum, they'll say "because we love her". That is all.

    Tags for this post: blog

posted at: 18:35 | path: /diary | permanent link to this entry


Thu, 18 Dec 2008



Blathering for Thursday, 18 December 2008

posted at: 17:30 | path: /blather | permanent link to this entry


Wed, 17 Dec 2008



Blathering for Wednesday, 17 December 2008

    15:15: Mikal shared: BBC NEWS | Business | The Box
      The BBC is tracking a shipping container around the planet. I am a bit surprised to discover that there are refrigerated shipping containers. I wonder how they power the chillers while the container is on a ship?

    15:15: Mikal shared: BBC NEWS | Business | Thinking inside the box
      More on shipping. I love this quote:

      ""It costs less to ship a container between China and Felixstowe than it does to then send it on the road to Scotland," says Philip Damas, research director at shipping consultancy Drewry."

      Does that mean I shouldn't feel guilt about eating foreign foods, but should feel guilt about eating local?

    16:30: Mikal shared: Tips and tricks to get the most out of your iPod's battery
      I suffer from terrible iPod battery life (less than a day). Apparently that might be because I press "skip" quite a lot (hundreds of times a day, depending on my mood at the time). This forces the memory cache to empty faster than expected, and the hard disk therefore has to spin up to fetch more data. It seems like a flash based iPod would solve my problems.



    Tags for this post: blather

posted at: 16:30 | path: /blather | permanent link to this entry


Mon, 15 Dec 2008



Blathering for Tuesday, 16 December 2008

posted at: 07:13 | path: /blather | permanent link to this entry


Sun, 14 Dec 2008



Blathering for Sunday, 14 December 2008

    18:15: Mikal shared: Dahon Matrix 8-Speed Folding Bike @ Performance Bicycle
      I am very tempted by this folding bike. My current bike is around seven years old, and was kinda cheap at the time. This is a folding bike, but its got 26 inch wheels, which means its still good for a free ride on ACTION. I wonder if anyone has anything to say about folding bikes, cause I really know nothing about them...

    18:15: Mikal shared: 26" folding bikes [Archive] - Bike Forums
      Well, the 2004 version of the Dahon got good reviews. That's gotta be a good sign, given I've never heard of Dahon before.

    21:30: Mikal shared: Telstra's broadband mystery
      It seems like Telstra's NBN RFC team didn't do well in their school assignments? If the marking criteria include a certain piece, it certainly seems like you should include it.



    Tags for this post: blather

posted at: 21:30 | path: /blather | permanent link to this entry


Darkspell

posted at: 12:24 | path: /book/Katharine_Kerr | permanent link to this entry


Blathering for Monday, 15 December 2008

posted at: 06:04 | path: /blather | permanent link to this entry


Fri, 12 Dec 2008



The state of Blu Ray on Linux / MythTV

    The DVD drive in one of my MythTV machines has given up the ghost. I have to go to Fry's tomorrow to replace a dead hard disk, so I'll pick up a new drive while I am at it. I am surprised to discover that Blu Ray drives are now just $90. I wonder what the state of Blu Ray playback on Linux is like at the moment. How's the MythTV support? Time to find out.

    Tags for this post: mythtv bluray

posted at: 19:28 | path: /mythtv/bluray | permanent link to this entry


Thu, 11 Dec 2008



Merging entries in an iTunes library

    I have quite a large iTunes library, and I've always been too lazy to move it across to something open source. However, last night I imported a bunch of CDs, and now I am the proud owner of 5,000 duplicate entries in the iTunes library. It seems like there are no tools to merge duplicate entries out there, which is important to me as I use the play and skip counts to build smart play lists of songs to sync to my iPod.

    After doing a lot of surfing, toying with learning apple script (no, the language it too retarded), I ended up exporting the library to XML and writing a bad python script to fix it. I assume there is a better way to do this.

    Tags for this post: macintosh osx itunes library duplicate merge

posted at: 09:49 | path: /macintosh/osx/itunes | permanent link to this entry


Wed, 10 Dec 2008



Amtrak Wars

posted at: 21:57 | path: /book/Patrick_Tilley | permanent link to this entry


Earth Thunder




    ISBN: 0747400024
    Timewarner (1991), Paperback, 384 pages
    LibraryThing
    This is the last book of the Amtrak Wars series. I'm much less comfortable with Steven's character in this book -- he's always been a bit mixed up, and I don't blame him for that given his background, but in this book he's actively disloyal to those he loves, which is something new. That made the first 50 or so pages of this book quite hard to read, because I find it hard to read books where I hate the main protagonist.

    A lot of people complain about the ending of this book, especially as its the last Amtrak Wars book written, but doesn't resolve the main plot line. I didn't think it was that bad though, although perhaps that's because the coda didn't appear in earlier versions? The coda resolves a lot for me, and although the ending is sad, I thought it was fair.

    I liked this book overall.

    Tags for this post: book patrick_tilley combat post_apocalypse prophecy magic


posted at: 21:36 | path: /book/Patrick_Tilley | permanent link to this entry


Blathering for Wednesday, 10 December 2008

posted at: 20:45 | path: /blather | permanent link to this entry


Killing a blocking thread in python?

    It seems that there is no way of killing a blocking thread in python? The standard way of implementing thread death seems to be to implement an exit() method on the class which is the thread, and then call that when you want the thread to die. However, if the run() method of the thread class is blocking when you call exit(), then the thread doesn't get killed. I can't find a way of killing these threads cleanly on Linux -- does anyone have any hints?

    Tags for this post: python blocking thread kill

posted at: 14:03 | path: /python | permanent link to this entry


Tue, 09 Dec 2008



Blathering for Tuesday, 09 December 2008

posted at: 14:30 | path: /blather | permanent link to this entry


Mon, 08 Dec 2008



Upgrading Ubuntu Feisty now that its end of lifed

    I have a machine I neglected to upgrade before Feisty was EOLed. This was a problem, because as part of the EOL process they removed the main, universe and multiverse directories from the archive, which means mirrors don't carry them any more either. This made the upgrade tool fail, because it couldn't download all of the meta data.

    Resolution? Comment the out of /etc/apt/sources.list.

    Tags for this post: linux ubuntu upgrade feisty

posted at: 20:28 | path: /linux/ubuntu | permanent link to this entry


Parked domains

    Hypothetically, what would you do with a list of parked domain names? I have a little over 4 million of them up my sleeve as a side effect of another project, and I wonder if they're useful to anyone.

    Tags for this post: research parked dns

posted at: 10:21 | path: /research | permanent link to this entry


Sun, 07 Dec 2008



Blathering for Sunday, 07 December 2008

posted at: 11:45 | path: /blather | permanent link to this entry


Sat, 06 Dec 2008



A failed attempt to visit Muir Woods

    The day after Thanksgiving we mounted an expedition to Muir Woods. The drive from our place is quite interesting, as you cut through San Francisco on the way. When we got there it was really crowded, despite only being about 10:30am. In the end we had to park way down the access road. Because the kids would have been tired out by the mere walk back to the redwoods, we instead went for a wander down one of the other tracks near where the car was parked. It was really nice, although not very redwoody. In fact, the hills in the distance felt quite "Australia" with all their dead grass and eucalyptus trees. I was glad we went, even though we didn't see many redwoods.

                                           

    See more thumbnails

    Tags for this post: events pictures 20081129-muirwoods photo

posted at: 10:20 | path: /events/pictures/20081129-muirwoods | permanent link to this entry


Fri, 05 Dec 2008



Blocking hotmail.com

    I've just blocked people with email addresses from the hotmail.com domain from posting on this site. This will only affect people who put their email address into the comment form, so if it really bothers you just don't enter an email address or use a different one. Why am I doing this? Because about 99% of the spam over the last week has been using various hotmail.com addresses, and I am fed up with moderating it.

    Tags for this post: blog spam block

posted at: 21:20 | path: /diary/spam | permanent link to this entry


Thu, 04 Dec 2008



Blathering for Thursday, 04 December 2008

    17:45: Mikal shared: Domainr, the domain search engine
      Heh. An "interesting" service. Enter a word in the search box, and it will find you all the domain names that approximately match it.



    Tags for this post: blather

posted at: 17:45 | path: /blather | permanent link to this entry


gtalkbot 1.4

    Its been a while between gtalkbot releases, and that's mainly because the current version "just works" and no one has reported any bugs or feature requests. However, the other day I was running a lot of long lived commands, and started getting annoyed at not knowing when they were finished. I thought it would be nice to get sent an IM when a command had completed. So, I implemented that in this new release.

    There is a simple shell script called notify.sh, which you need to modify to have the right path for an outbox directory. This directory is watched by gtalkbot, and files in the directory are processed as part of the idle loop. The format for files in the directory is the jabber ID to send to on the first line, and then the message on the remaining lines. I guess that means you don't have to use the shell script at all if you want, just have something dump files in the magic directory.

    You then need to add this line to the gtalkbot config file:

      connectwith	myaccount@gmail.com
      password	mypassword
      pluginsdir	/data/src/gtalkbot/plugins
      outboxdir	/data/src/gtalkbot/outbox
      authfile	/data/src/.gtalkbot-passwd
      


    So, there you go. I now get IMs when commands are completed, by running them like this:

      $ longcommand; echo "long command done" | notify mikaljabber@gmail.com
      


    The source for gtalkbot 1.4 is here.

    Tags for this post: gtalkbot release

posted at: 17:25 | path: /gtalkbot | permanent link to this entry


Blog spam

    I occasionally complain about blog spam, but it seems I should take special time to mention that there have now been over 400,000 spam comments on stillhq.com. Specifically, the site current tells me "1335 comments today, 1335 of them spam. 401209 comments ever, 400220 of the spam.". Dear spammers -- you suck.

    I wonder if there is anything useful which can be done with all this spam? Just in case, its available at http://www.stillhq.com/allcomments/.

    Tags for this post: blog spam comment

posted at: 13:14 | path: /diary/spam | permanent link to this entry


Internet traffic

    I estimate (badly, I might add) that I currently use about 200gb of Internet traffic on my DSL link a month. If I'm going to move back to Australia sometime, that's going to become a killer. Unfortunately, because my ISP doesn't bill for traffic here in the US, they don't appear to track my use at all. I think it might be time for me to do some tracking myself.

    So, one of life's little questions. Do I use pcap to snarf traffic on the DSL, or use iptable's conntrack stuff in /proc? Just one more thing to ponder.

    Tags for this post: blog internet traffic monitor

posted at: 11:34 | path: /diary | permanent link to this entry


Blathering for Friday, 05 December 2008

posted at: 06:12 | path: /blather | permanent link to this entry


Wed, 03 Dec 2008



Blathering for Wednesday, 03 December 2008

    09:33: Mikal shared: Exploding Offer Season
      I hadn't heard of an exploding offer until I moved to the US. The other thing I would suggest doing if you're subject to one is to make sure that the recruiters at the other companies know that you've been made an exploding offer. They shouldn't view it as a threat (these things are quite common) and ill quite often rearrange your interviews so that they can make you an offer before your other one explodes. Microsoft seems to be the big user of these exploding offers as best as I can tell.

    09:33: Mikal shared: Swiss precision
      It sounds like moving to Switzerland is about as much of a pain as it was moving to the US. Perhaps its painful to move to any country?

    09:33: Mikal shared: Register of penalty notices | NSW Food Authority
      Scary. A list of restaurants in New South Wales which have been served with a penalty notice for violating food safety standards. I should remember to check this next time I eat out...

    09:33: Mikal shared: Apple's completely unsurprising Black Friday deals appear on Australian site
      Why is Apple running Thanksgiving sales in Australia? Will they be running a Queens Birthday sale in the US soon?

    09:33: Mikal shared: Notes on Hacking the Roku Netflix Player
      This fellow has made some interesting progress on hacking the Roku Netflix player. I wonder if Roku have considered allowing a streaming frontend that either does uPNP or MythTV directly?

    09:33: Mikal shared: InstallMythBuntu - atv-bootloader - Google Code
      An alternative to Roku's box as a MythTV frontend is the AppleTV, which does currently work. This page is the install instructions for MythBuntu on an AppleTV. Pity its twice the price of the Roku box.



    Tags for this post: blather

posted at: 09:33 | path: /blather | permanent link to this entry


Tue, 02 Dec 2008



Death Bringer




    ISBN: 0747400016
    Time Warner Paperbacks (1991), Paperback, 384 pages
    LibraryThing
    I feel sorry for Jake Olsen. It must be hard having the ensign-in-the-red-shirt role. This book is as good as the rest of the series, and the First Family truly are bastards. I really liked this one.

    Tags for this post: book patrick_tilley combat post_apocalypse prophecy magic


posted at: 21:22 | path: /book/Patrick_Tilley | permanent link to this entry


Sun, 30 Nov 2008



Books read in November 2008

posted at: 19:15 | path: /book/read | permanent link to this entry


Sat, 29 Nov 2008



Blood River




    ISBN: 0747400008
    Sphere Books Ltd. (1988), Paperback, 368 pages
    LibraryThing
    This is the fourth book in the Amtrak Wars series. Its pretty good, about the same level of writing as Cloud Warrior and Iron Master, which I guess means it was better than First Family (which was mostly a connector between the first and third books in the series). In this book we learn that the first family are even more nasty than previously disclosed, and that Cadillac is possibly the most annoying person on the planet.

    This book must not have been very popular in the US, because I've never seen it for sale in the US, but its reasonably common in Australia. That's a shame because the copy I have is about to fall apart, which means I'll have to wait until next time I am back home to try and find a replacement copy.

    Overall this book was quite readable, and I enjoyed it.

    Tags for this post: book patrick_tilley combat post_apocalypse prophecy magic


posted at: 16:17 | path: /book/Patrick_Tilley | permanent link to this entry


Wed, 26 Nov 2008



Isaac Asimov's Robot City: Suspicion




    ISBN: 0441731260
    Ace (1987), Paperback
    LibraryThing
    This is the second book in the Isaac Asimov's Robot City series, and follows on directly from Odyssey. In fact, it follows so closely that it feels like it should be part of that earlier book.

    I preferred this book to the first in the series, I suspect because it didn't need to use a random unexplained change to escape a dying plot line (which is what I felt happened about a third of the way through the first book). This book does feel a little juvenile though, but I forgive it.

    Tags for this post: book mike_mcquay isaac_asimov robot robot_city


posted at: 15:21 | path: /book/Mike_McQuay | permanent link to this entry


PNGtools 0.4

posted at: 15:16 | path: /pngtools | permanent link to this entry


Tue, 25 Nov 2008



Isaac Asimov's Robot City: Odyssey

posted at: 17:39 | path: /book/Michael_P_Kube_McDowell | permanent link to this entry


Packet capture in python

    I'm home sick with a cold today and got bored. I wanted to play with packet capture in python, and the documentation for pcapy is a little sparse. I therefore wrote this simple little sample script:

      #!/usr/bin/python
      
      # A simple example of how to use pcapy. This needs to be run as root.
      
      import datetime
      import gflags
      import pcapy
      import sys
      
      FLAGS = gflags.FLAGS
      gflags.DEFINE_string('i', 'eth1',
                           'The name of the interface to monitor')
      
      
      def main(argv):
        # Parse flags
        try:
          argv = FLAGS(argv)
        except gflags.FlagsError, e:
          print FLAGS
      
        print 'Opening %s' % FLAGS.i
      
        # Arguments here are:
        #   device
        #   snaplen (maximum number of bytes to capture _per_packet_)
        #   promiscious mode (1 for true)
        #   timeout (in milliseconds)
        cap = pcapy.open_live(FLAGS.i, 100, 1, 0)
      
        # Read packets -- header contains information about the data from pcap,
        # payload is the actual packet as a string
        (header, payload) = cap.next()
        while header:
          print ('%s: captured %d bytes, truncated to %d bytes'
                 %(datetime.datetime.now(), header.getlen(), header.getcaplen()))
      
          (header, payload) = cap.next()
      
      
      if __name__ == "__main__":
        main(sys.argv)
      


    Which outputs something like this:

      2008-11-25 10:09:53.308310: captured 98 bytes, truncated to 98 bytes
      2008-11-25 10:09:53.308336: captured 66 bytes, truncated to 66 bytes
      2008-11-25 10:09:53.315028: captured 66 bytes, truncated to 66 bytes
      2008-11-25 10:09:53.316520: captured 130 bytes, truncated to 100 bytes
      2008-11-25 10:09:53.317030: captured 450 bytes, truncated to 100 bytes
      2008-11-25 10:09:53.324414: captured 124 bytes, truncated to 100 bytes
      2008-11-25 10:09:53.327770: captured 114 bytes, truncated to 100 bytes
      2008-11-25 10:09:53.328001: captured 210 bytes, truncated to 100 bytes
      


    Next step, decode me some headers!

    Tags for this post: python pcapy example

posted at: 10:22 | path: /python/pcapy | permanent link to this entry


Mon, 24 Nov 2008



Daggerspell




    ISBN: 0553565214
    Spectra (1993), Mass Market Paperback, 480 pages
    LibraryThing
    This is yet another book I read as a kid and liked. I must admit that I find the Celtic names used through out the book to be quite confusing, especially when there are multiple similar names in use at the same time. Despite that, I really enjoyed this book -- even though its a pretty classic formula story.

    Tags for this post: book katharine_kerr sword_and_sourcery deverry fantasy


posted at: 18:01 | path: /book/Katharine_Kerr | permanent link to this entry


Blathering for Monday, 24 November 2008

    12:15: Mikal shared: SOCKS - Wikipedia, the free encyclopedia
      Huh. I didn't realize there is a socks proxy built into OpenSSH. Now if only there was a way to create new port forwards after the connection is opened.

    14:52: The internets strike again. I am now assured in the comments to this post that you can in fact add a new port forward to an existing ssh connection. Next, can someone tell me how to get ssh to make me a cup of tea?


    Tags for this post: blather

posted at: 14:52 | path: /blather | permanent link to this entry


Sat, 22 Nov 2008



Foundation and Earth




    ISBN: 0586071105
    Collins (1994), Mass Market Paperback, 512 pages
    LibraryThing
    I really like how Asimov wraps up the extended Foundation series. Specifically, I'd previously complained while reading Pebble in the Sky that it was hard to believe that everyone simply forgets that they originated on Earth -- this book and Foundation's Edge go a long way to resolving that annoyance for me. Its also good to find out what happened to Aurora and Solaria finally -- especially given the Solaria mystery has been bothering me since Robots and Empire.

    Speaking just about this book so a moment, I do find the use of sex as a plot development method quite odd. There are three examples that bother me -- when Bliss is slipped through interstellar customs with the explanation that she's just a whore and therefore not important enough to make an issue of; the second is when Trevize basically shags his way out of an awkward situation, despite the other protagonist being quite hostile initially; and finally where he bonks someone on a rural world. I find all three of those incidents a little out of place with the rest of the book, and in fact the rest of the series. Other authors use those kinds of plot elements, but they seem out of place in Asimov's work.

    Overall, I loved this book and it was a good conclusion to the series.

    Tags for this post: book isaac_asimov robot foundation


posted at: 12:05 | path: /book/Isaac_Asimov | permanent link to this entry


Fri, 21 Nov 2008



Blathering for Friday, 21 November 2008

    09:45: Mikal shared: Buy One Dodge Ram, Get One Free [Deals]
      You know the US auto industry is in trouble when they start offering buy one get one free deals on cars.

    15:00: Mikal shared: Article about backyard chicken owners
      I didn't realize that other people found chickens entertaining too. I figured it was just me. There is nothing more entertaining than throwing a mound of kitchen scraps into the coup and then watching the chickens argue over a banana peel. Its hard to explain... Perhaps when I move back to Australia I'll setup ChickenCam.



    Tags for this post: blather

posted at: 15:00 | path: /blather | permanent link to this entry


Some time in the park, and Andrew lost a front tooth

    I've been quite slack with putting photos online recently. This set is from the kids playing in the park a couple of weekends ago, as well as some shots of Andrew after he lost his first front tooth.

                                           

    See more thumbnails

    Tags for this post: events pictures 20081121 photo

posted at: 00:00 | path: /events/pictures/20081121 | permanent link to this entry


Tue, 18 Nov 2008



Blathering for Wednesday, 19 November 2008

posted at: 07:36 | path: /blather | permanent link to this entry


Mon, 17 Nov 2008



Foundation's Edge




    ISBN: 0586058397
    Hunter Publishing+inc (1994), Paperback, 432 pages
    LibraryThing
    I'm back to reading Foundation Series books actually written by Isaac Asimov. This one is the fourth in the Foundation Series if you count them in the order they were written, but is the second last in chronological terms. Its set 500 years after the failure of the first galactic empire, and follows the first Foundation's attempt to discover if the second Foundation still exists. Well, its a bit more complicated than that, but I don't want to ruin it for you.

    As an aside, the user interface described for the ship's computer is really cool. Its a bit like augmented reality, mixed with gesture control, mixed with a direct interface into the brain. I'm not saying I want one in my house, but its cool that a book written in 1983 still has a user interface description which isn't dated, and still seems plausible.

    This book has minor inconsistencies with the story presented in the second foundation trilogy (Foundation's Fear, Foundation and Chaos and Foundation's Triumph), but I see that more as a failure in those followup authors than in this book. In fact, I've already complained about how untrue to Asimov's vision some of those books are elsewhere.

    This is a good read, and I enjoyed it greatly.

    Tags for this post: book isaac_asimov robot foundation hugo nebula award


posted at: 18:40 | path: /book/Isaac_Asimov | permanent link to this entry


Blathering for Monday, 17 November 2008

posted at: 16:15 | path: /blather | permanent link to this entry


Automatically creating folders for mailing lists

    I've been using some simple procmail rules to automatically create folders for mailing lists for ages. Tony asked me for those rules today, so I figured I'd just put them online.

      ##########################################################################
      # Mailman
      
      :0:
      * List-Id:.*<\/[^>]*
      $MATCH
      
      :0:
      * List-Post: ]*
      $MATCH
      
      ##########################################################################
      # Majordomo lists (sometimes don't have <>'s around the address
      
      :0:
      * X-Mailing-List:.*<\/[^>]*
      $MATCH
      
      :0:
      * X-Mailing-List:.*\/.*
      $MATCH
      
      ##########################################################################
      # Ezmlm
      
      :0:
      * Mailing-List: .* \/[^ ;]*
      $MATCH
      
      ##########################################################################
      # I'm not sure what creates this one...
      
      :0:
      * X-Loop: \/.*
      $MATCH
      


    Tags for this post: procmail

posted at: 14:59 | path: /procmail | permanent link to this entry


Sun, 16 Nov 2008



Wanted: someone to edit / review some MythTV stuff for me

    I'm looking for someone with solid MythTV experience and a good grasp of the English language to help me out with a project. All I can promise in return is glory, and that will be proportional to the eventual success of the project. If you're interested in spending some time (probably around 40 hours or so, spread over a couple of months) on such a project drop me a line.

    Tags for this post: mythtv

posted at: 19:00 | path: /mythtv | permanent link to this entry


Sat, 15 Nov 2008



Andrew and Matthew turn 2 and 3

    Wow, these pictures are really old. I'm in the process of going through my photo collection and regenerating all the associated HTML. In the process I found these pictures of Andrew and Matthew's shared birthday party from when they turned 3 and 2 respectively. Heck, its only three years late, so I guess I should put them online.

    Looking back, I think I forgot to put these online because about that time I was run off my feet with LCA 2005. That's my excuse and I'm sticking to it.

                                           

    See more thumbnails

    Tags for this post: events pictures 20050314 photo

posted at: 21:34 | path: /events/pictures/20050314 | permanent link to this entry


The Riftwar Series

posted at: 14:39 | path: /book/Raymond_E_Feist | permanent link to this entry


A Darkness at Sethanon

posted at: 14:33 | path: /book/Raymond_E_Feist | permanent link to this entry


Random pictures from around the house

    Andrew and Matthew playing, some art that Matthew randomly did on the floor, and the pumpkins Andrew and Matthew decorated at the work Halloween party.

                             

    Tags for this post: events pictures 20081115 photo

posted at: 00:00 | path: /events/pictures/20081115 | permanent link to this entry


Fri, 14 Nov 2008



On a memeomatic

    I'm on vacation today, and so I had a bit more time that usual to just think. So, when Jeff posited a meme detector for planets, I wrote one. Except its of course never just that simple. My initial implementation only took a few minutes to write, but sucked.

    What I did was I wrote a script which scanned through the list of posts from the planet's RSS feed, and kept a tally of which sequences of words (let's call them sentences, even though they're not) appear in which posts. Then, if a sentence appears in more than four posts, and those posts are from at least two domains, we've found a meme.

    That's actually a reasonable algorithm. Its big advantage is that it only has to take one pass through the posts, which means its order is linear -- O(n). Now, the problem with that algorithm is that there a small differences in some of the sentences (for example people mistype a sentence), and I ended up finding too many copies of the same meme.

    Here's some sample output from that version:



    If you look at those you'll see that they're all the same meme, but the code found it three different ways. I need an algorithm which accurately finds the meme only once.

    I should stop here and mention that I think this problem would be an excellent interview question. If you were going to ask the question in an interview you'd probably phrase it more as:

    Given a list of strings, find substrings repeated between the strings, and return a list of the substrings and the strings containing them.


    When the problem is phrased like that, I am sure that some folk think of an algorithm which compares each string with each other, looks for some sort of largest substring between the two, and then builds a table of those. However, the problem with that is that the order would be O(N^2), which is ok for a planet RSS feed, but wouldn't be so great if the set of strings you wanted to compare was something like every page on the Internet.

    Anyway, I think its possible to rescue my initial implementation by providing a final pass which checks if matches overlap and combines them if they do. For example, if the only difference between two detected memes is one post, then they're probably the same meme and can be combined.

    That's a interesting problem in itself. Its easy to measure the difference in the list of matching posts for two memes, but that comparison has O(N^2), which I just said was a bad thing. However, this is a vacation day and I couldn't think of anything better, so that's what I ended up using. I guess I'll wait for a smart interview candidate to think of a better way for me.

    You can see output from memeomatic in this blather post for today. The blather code I wrote a while ago makes it really to post messages to my site, which is why I've reused it here (you just call a method on a python module, and a pre-existing Rube Goldberg machine takes care of the rest).

    My code:

      import feedparser
      import os
      import re
      import shelve
      import sys
      import unicodedata
      import urllib
      
      
      _SENTENCE_LENGTH = 5
      
      
      def Normalize(value):
        normalized = unicodedata.normalize('NFKD', unicode(value))
        normalized = normalized.encode('ascii', 'ignore')
        return normalized
      
      
      def ListDifference(l1, l2):
        delta = []
        
        for l in l2:
          if l not in l1:
            delta.append(l)
      
        return len(delta)
      
      
      plugins_dir = '%s/plugins' % os.getcwd()
      print 'Appending %s to module path' % plugins_dir
      sys.path.append(plugins_dir)
      import blather
      
      data = shelve.open('memes.slf', writeback=True)
      data.setdefault('sentences', {})
      data.setdefault('titles', {})
      data.setdefault('content', {})
      data.setdefault('content_orig', {})
      data.setdefault('memes', [])
      
      ds = blather.DataStore()
      
      changed = False
      
      # Scan feeds, looking for new posts. This just populates the database.
      for feed in data['feeds']:
        print
        print 'Fetching %s' % feed
        d = feedparser.parse(feed)
      
        # Newest entries are first
        entries = d.entries
        entries.reverse()
        
        for ent in entries:
          print '  Considering %s' % ent.title
          data['titles'][ent.link] = ent.title
          
          content = Normalize(ent.description)
          data['content_orig'][ent.link] = content
          content = ' '.join(content.split('\n'))
          content = re.sub('<[^>]*>', '', content)
          content = re.sub('[^\w]+', ' ', content)
          content = content.lower()
          data['content'][ent.link] = content
      
          words = content.split()
          for i in range(len(words) - _SENTENCE_LENGTH):
            key = ' '.join(words[i:i + _SENTENCE_LENGTH])
            data['sentences'].setdefault(key, [])
      
            if not ent.link in data['sentences'][key]:
              data['sentences'][key].append(ent.link)
      
      # Now we have a database of sentences and the posts which share them. What we
      # really want is a collection of shared sentences that form a meme, and the
      # posts which contain those sentences.
      for sentence in data['sentences']:
        found = False
      
        if len(data['sentences'][sentence]) > 4:
          domains = {}
          
          # Its possible that they're all from one domain...
          for url in data['sentences'][key]:
            domain = url.strip('http://').split('/')[0]
            domains[domain] = True
      
          # Its not a meme unless the sentence is shared by at least four posts.
          # Try to find an existing meme which contains these posts.
          for (sentences, urls, published) in data['memes']:
            if not found and ListDifference(urls, data['sentences'][sentence]) < 2:
              data['memes'].remove((sentences, urls, published))
      
              if sentence not in sentences:
                sentences.append(sentence)
      
              new_titles = []
              for u in data['sentences'][sentence]:
                if not u in urls:
                  urls.append(u)
                  new_titles.append('<a href="%s">%s</a>'
                                    %(u, data['titles'][u]))
      
              data['memes'].append((sentences, urls, published))
              found = True
      
              if published and new_titles:
                print 'Added posts to an existing meme'
                ds.AddMessage('Memeomatic extended an existing meme: %s'
                              % ', '.join(new_titles))
                changed = True
      
          if not found and len(domains) > 1:
            print ('Created a new meme for "%s" with %s'
                   %(sentence, data['sentences'][sentence]))
            data['memes'].append(([sentence], data['sentences'][sentence], False))
      
      # Publish new memes
      for meme in data['memes']:
        (sentences, urls, published) = meme
        if not published:
          titles = []
          for url in urls:
            titles.append('<a href="%s">%s</a>' %(url, data['titles'][url]))
          
          ds.AddMessage('Memeomatic found a new meme: %s' % ', '.join(titles))
          data['memes'].remove((sentences, urls, published))
          data['memes'].append((sentences, urls, True))
          print 'Published a new meme'
          changed = True
      
      if changed:
        ds.Save()
      data.close()
      


    So there you go. I haven't set this as a cron job yet, as I want to baby sit it for a while to make sure its doing the right thing. I might one day get around to trusting it enough to just turn it on.

    Tags for this post: meme memeomatic

posted at: 22:04 | path: /meme | permanent link to this entry


It seems planet is a bit too trusting with dates?

    It seems that planet is a bit too trusting with dates. For example, if you have a post with a date well into the future, then you can keep that post at the top of the planet output until that date comes around. Its interesting that no one has used that maliciously yet.

    You can see an example of what I'm talking about at Planet Linux Australia, where some forward dated posts sit at the top of the page...

    Tags for this post: blog planet

posted at: 21:55 | path: /diary | permanent link to this entry


Book meme de jour

    I don't normally get involved in this whole meme thing, but I want to test memeomatic some more. So, here goes...

    Instructions:
    • Grab the nearest book.
    • Open it to page 56.
    • Find the fifth sentence.
    • Post the text of the sentence in your journal along with these instructions.
    • Don't dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST.


    So, I'm currently reading A Darkness at Sethanon, which means its close to hand. The sentence is "They are correct as written, Commander."

    Tags for this post: meme

posted at: 21:29 | path: /meme | permanent link to this entry


Blathering for Saturday, 15 November 2008

posted at: 10:06 | path: /blather | permanent link to this entry


Thu, 13 Nov 2008



Bypassing Australia's imminent internet filter

    Paul has thoughts on how to avoid Rudd's internet filter. I am left wondering why he doesn't just suggest Tor though. Its designed for exactly this sort of censorship, requires no account in another country, and is cross platform. The only catch is that Tor does block some traffic (for example bittorrent), so you can't just use it for all your traffic.

    Tags for this post: blog

posted at: 21:25 | path: /diary | permanent link to this entry


Another dynamic element to the site

    I got adventurous tonight, and whipped up some javascript which updates the sentence at the end of each post which lists how many comments there are on a post. This means that the site is always up to date, even though all the HTML is static files on disk. It also means I can finally kill that silly hourly regenerate cron job.

    Oh, and this is post 3,000 on this site.

    Tags for this post: site

posted at: 19:55 | path: /site | permanent link to this entry


Blathering for Thursday, 13 November 2008

posted at: 12:45 | path: /blather | permanent link to this entry


Blathering for Friday, 14 November 2008

posted at: 08:28 | path: /blather | permanent link to this entry


Tue, 11 Nov 2008



irtrans remote control stops working

    I've been using a Zalman HD160B media center case for quite some time, and I love it. It came with an irtrans based LCD and remote control built into the case, which has always worked nicely as well. Until yesterday when the remote stopped working.

    When I run the irserver command in a terminal so I can see the output, I get this:

      # ./irserver -codedump -debug_code -loglevel 4 /dev/ttyUSB0
      Name   : 
      Version: D5.03.08
      FW SNo : 18780
      Capab  : Power On; 
      FW Cap : 3964953
      USB SNo: 
      Node   : /dev/ttyUSB0
      
      IRServer Version 5.7.08
      [ 0]:                      D5.03.08     SN: 18780
      Remote zalman               compiled:     1 Timings -     45 Commands
      Total:   1 Remotes  -   1 Timings -  45 Commands
               0 CCF Data -   0 CCF RAW -   0 CCF Error
      


    No joy. Rebooting the machine, replacing all the batteries, and restarting the server all did nothing. The server still doesn't see events from the remote. I'm not sure how to determine if this is a receiver hardware problem or not -- I'm kinda out of other ideas. Suggestions welcome.

    Update: of course, disassembling the PC and reseating all the cables fixed the problem. I wonder if it is temperature related?

    Tags for this post: mythtv irtrans irserver remote

posted at: 19:04 | path: /mythtv | permanent link to this entry


Finding locking deadlocks in python

    I re-factored some code today, and in the process managed to create a lock deadlock for myself. In the end it turned out to be an exception was being thrown when a lock was held, and adding a try / finally resolved the real underlying problem. However, in the process I ended up writing this little helper that I am sure will be useful in the future.

      import gflags
      import thread
      import threading
      import traceback
      import logging
      
      ...
      
      FLAGS = gflags.FLAGS
      gflags.DEFINE_boolean('dumplocks', False,
                            'If true, dumps information about lock activity')
      ...
      
      class LockHelper(object):
        """A wrapper which makes it easier to see what locks are doing."""
      
        lock = thread.allocate_lock()
      
        def acquire(self):
          if FLAGS.dumplocks:
            logging.info('%s acquiring lock' % threading.currentThread().getName())
            for s in traceback.extract_stack():
              logging.info('  Trace %s:%s [%s] %s' % s)
          self.lock.acquire()
      
        def release(self):
          if FLAGS.dumplocks:
            logging.info('%s releasing lock' % threading.currentThread().getName())
            for s in traceback.extract_stack():
              logging.info('  Trace %s:%s [%s] %s' % s)
          self.lock.release()
      


    Now I can just use this helper in the place of thread.allocate_lock() when I want to see what is happening with locking. It saved me a lot of staring at random code today.

    Tags for this post: python lock deadlock debug

posted at: 15:46 | path: /python | permanent link to this entry


Sun, 09 Nov 2008



Slight site hickup

    I pushed a bunch of photo files to stillhq.com tonight, all of which I thought were previously published. Unfortunately a bunch of them had the wrong dates associated with them, which spammed the front page and RSS feed with old photo posts. The problem has been corrected now, and hopefully not too many people grabbed the bogus RSS feeds. Sorry for any inconvenience.

    Tags for this post: site

posted at: 18:52 | path: /site | permanent link to this entry


Bill the Galactic Hero on the Planet of Bottled Brains

posted at: 13:39 | path: /book/Robert_Sheckley | permanent link to this entry


James and Jeanette's wedding down the beach

    I've been uber slack about putting pictures of James and Jeanette's wedding online. Given their wedding was ages ago, and the reception last weekend, it seems like I am running out of excuses.

                                           

    See more thumbnails

    Tags for this post: events pictures 20080531-sjrwedding photo

posted at: 11:45 | path: /events/pictures/20080531-sjrwedding | permanent link to this entry


Blathering for Monday, 10 November 2008

    10:15: Mikal shared: DHL Cuts 9,500 Jobs, No More Shipping Inside US []
      Wow. DHL is pulling out of the US domestic market.

    12:48: Sitting in a room at work waiting for John Hodgman to start talking. He appears to have brought a travelling minstrel with him. I wish I had minstrels.
    13:30: Mikal shared: This American Life
      John Hodgman's session on "This American Life".



    Tags for this post: blather

posted at: 09:58 | path: /blather | permanent link to this entry


Sat, 08 Nov 2008



Blathering for Sunday, 09 November 2008

    09:15: Mikal shared: Frequent flier mile run
      I'm always a bit surprised when someone I know announces they are doing a mileage run. The idea of flying somewhere and back without leaving the airport solely for the frequent flier miles seems so terribly wasteful to me. I assume people pick the cheap sectors for their mileage runs. I wonder how they find them?



    Tags for this post: blather

posted at: 08:43 | path: /blather | permanent link to this entry


Fri, 07 Nov 2008



Foundation's Triumph




    ISBN: 0061056391
    HarperTorch (2000), Mass Market Paperback, 400 pages
    LibraryThing
    This book is pretty good. I'd say its the best of the three Second Foundation Trilogy books in fact. Unfortunately, you need to read the other two in order for this one to make any sense, which is a shame because the first one sucked, and the second one was ok.

    A lot of loose ends get cleaned up in this book. Why did Earth get abandoned? Why did everyone forget their history? Why is Trantor built much like the cities in the Naked Sun? Why are there all those habitable worlds for the galactic empire to reside on? It seems odd that there would be 25 million habitable worlds out there. There are other examples as well, but I wont bore you with them all.

    Another good bit of this book is the time line of all Asimov Foundation stories at the back of the book. I am sure it would have been useful to know about that earlier.

    Tags for this post: book david_brin isaac_asimov robot foundation caliban


posted at: 21:04 | path: /book/David_Brin | permanent link to this entry


Blathering for Friday, 07 November 2008

    11:30: Mikal shared: Popularity-Based Selective Markov Model
      I am trying to read an interesting academic paper per week. This paper discusses training Markov models to help determine what web content to prefetch. Prefetching is of course desirable as it reduces the latency visible to the user.



    Tags for this post: blather

posted at: 11:30 | path: /blather | permanent link to this entry


Thu, 06 Nov 2008



Blathering for Thursday, 06 November 2008

posted at: 16:15 | path: /blather | permanent link to this entry


Tue, 04 Nov 2008



Belgarath the Sorcerer




    ISBN: 0345403959
    Del Rey (1996), Mass Market Paperback, 736 pages
    LibraryThing
    This book is a follow on from The Belgariad and The Malloreon written from the perspective of one of the protagonists in those two series -- Belgarath the Sorcerer. This book has quite a different style from the others. It is written in the first person as Belgarath's personal memoir. The book is really long at over 700 pages, and covers a 6,000 year (ish) period. That means that the book tends to skip around and over some things at a very high level. That's probably a good thing, as it stops you from getting bogged down in boring detail you don't care about.

    One problem with this book is that to people who have read the previous series, this is all old territory. You totally know what is about to happen, and that makes it a lot less fun to read. I'm also not sure I'm a big fan of the first person style either. However, I did enjoy this book more than some of the others I have read recently, despite it not being Eddings' best work.

    Tags for this post: book david_eddings magic prophecy sword_and_sourcery fantasy


posted at: 22:52 | path: /book/David_Eddings | permanent link to this entry


Mon, 03 Nov 2008



Adium crashes on launch

    Dear Mac Nerds,

    Adium upgraded itself this morning, and now crashes on launch. This still happens after rebooting the machine. I'm a MacOS n00b, and have no idea how to debug what is happening. Please be with the helping?

    Tags for this post: macintosh osx adium crash

posted at: 17:16 | path: /macintosh/osx | permanent link to this entry


Blathering for Tuesday, 04 November 2008

posted at: 09:47 | path: /blather | permanent link to this entry


Sun, 02 Nov 2008



Dynamic site comments

    Every once in a while someone sends me a nastygram about how I ignored their comment on a post on this site. This has generally been because people don't read the paragraph on the post form about comments not appearing until they have been moderated.

    I got all keen this evening, and comments are now returned from a CGI, instead of a static file, which means that unmoderated comments from the last 24 hours now appear immediately on the site. Hopefully this will stop said nastygrams.

    Tags for this post: site comments

posted at: 20:07 | path: /site | permanent link to this entry


Books read in October 2008

posted at: 15:14 | path: /book/read | permanent link to this entry


Blathering for Monday, 03 November 2008

posted at: 08:16 | path: /blather | permanent link to this entry


Sat, 01 Nov 2008



Blathering for Sunday, 02 November 2008

posted at: 13:54 | path: /blather | permanent link to this entry


Thu, 30 Oct 2008



The children being cute at Halloween parties

posted at: 17:20 | path: /events/pictures/20081030-halloween | permanent link to this entry


Blathering for Friday, 31 October 2008

posted at: 08:31 | path: /blather | permanent link to this entry


Wed, 29 Oct 2008



Blathering for Thursday, 30 October 2008

posted at: 18:21 | path: /blather | permanent link to this entry


Tue, 28 Oct 2008



Blathering for Wednesday, 29 October 2008

posted at: 08:40 | path: /blather | permanent link to this entry


Mon, 27 Oct 2008



Comcast Lies

    I know you're all dying to hear about how much Comcast sucks. I imagine that what is happening is that I am suffering under Comcast discovering that during an economic downturn people start cancelling optional services like expensive pay TV. Anyways, several weeks ago Comcast jacked up our bill (nearly doubling it), so we called. They said "try this other line up which is cheaper". We said "ok". After a day or so it was evident that the service didn't work, and we created a service order. The installer came out, had a look, and said that the service we had been sold could never have worked because we were analog customers and needed digital to get the channels we had been sold. Anyways, he convinced us to convert to digital, and that got us a new low rate again. Until the bill came and was double what we had been told by the installer's dispatcher it would be.

    So we rang Comcast yet again. They said we were lying and had to pay the higher rate. I explained that calling my wife a liar was a bad plan, and they could either honour the stated rate or we'd cancel. The account is now cancelled, so you can see how that ended.

    I know that Comcast has a reputation for terrible customer service, but this is the first time I've experienced it. Wow, such arrogance. To be honest, I'm glad we cancelled the account. I can get two 4-disk-at-a-time deals from Netflix for what the low rate was meant to be with Comcast (yes, we could have got 16 disks at once with what Comcast wanted us to pay). What we'll probably do is some combination of free to air, Netflix DVDs, Netflix streaming, and buying DVDs for the kids. All up we'll end up with more content, at a higher quality, for less money. So there you go.

    Tags for this post: blog comcast

posted at: 15:59 | path: /diary | permanent link to this entry


You Can Be The Stainless Steel Rat




    ISBN: 0441949789
    Ace (1988), Paperback, 156 pages
    LibraryThing
    This is a Stainless Steel Rat book, although different from the norm because it is a choose your own adventure. Its also the last of the Stainless Steel Rat books in the series, and the only one I hadn't yet read.

    I figured I'd document my path through the story, so here goes:

    30 - 42 - 62 - 90

    Well, that was a disappointment. 90 makes no sense in the context (62 talks about meeting someone and deciding to talk to them, 90 talks about someone accepting a bribe). Lame, I think I found a bug already. Let's go with the other choice then:

    30 - 42 - 62 - 14 - 99 - 106 - 65 - 48 - 67 - 97 - 186 - 33 - 12 - 65

    I think I hit another bug... I was meant to go back to before a fight, but ended up after it instead. I give up.

    Tags for this post: book harry_harrison stainless_steel_rat crime


posted at: 14:12 | path: /book/Harry_Harrison | permanent link to this entry


Bill the Galactic Hero: The Planet of the Robot Slaves

posted at: 13:49 | path: /book/Harry_Harrison | permanent link to this entry


linux.conf.au domain name

    It looks to me like the linux.conf.au domain name is working again. I wonder what effect that will have on registrations? It would be interesting to see a graph of registration behavior over time...

    Tags for this post: conference lca2009 domain name

posted at: 08:29 | path: /conference/lca2009 | permanent link to this entry


Blathering for Tuesday, 28 October 2008

posted at: 07:14 | path: /blather | permanent link to this entry


Sun, 26 Oct 2008



Australian Commonwealth Government expenditure on Microsoft product licensing

    An email thread on the CLUG list got me curious about expenditure on Microsoft products by the Australian Commonwealth Government. It turns out the new Rudd government requires all departments to list all contracts over $100,000 on their website twice a year (admittedly I was tipped off to this by yet another mail thread, this one on the Link mailing list). So I dug through and pulled out the details. Note that where it wasn't possible to determine what the expenditure was for I left it out -- for example it seems many departments buy IT licenses from a reseller, and those are reported as lump sums. Sometimes I have included consulting services as well, which might not be 100% fair.

    This only took about an hour to generate, which was much easier than I realized.

    DepartmentExpenditureSource URL
    Parliament House$740,040Source
    Agriculture, Fisheries and Forestry--Source
    Attorney General's$1,046,133
    $118,140
    Source
    Broadband, Communications and the Digital Economy--Source
    Department of Defense$469,700
    $275,001
    $11,704,345
    $226,270
    $519,982
    $259,325
    $1,432,000
    $1,432,000
    $972,400
    $235,750
    Source for Defense
    Source for DMO
    Education, Employment and Workplace Relations$4,500,000
    $160,000
    $580,160
    $1,819,356
    $201,108
    Source
    Environment, Water, Heritage and the Arts--Source
    Families, Housing, Community Services and Indigenous Affairs--Source
    Finance and Deregulation--Source
    Foreign Affairs and Trade--Source
    Health and Ageing$340,560
    $1,159,639
    $1,161,466
    Source
    Human Services--Source
    Immigration and Citizenship$2,149,930Source
    Infrastructure, Transport, Regional Development and Local Government--Source
    Innovation, Industry, Science and Research$425,676
    $2,608,992
    Source
    Prime Minister and Cabinet$543,000Source
    Resources, Energy and Tourism--Source
    The Tresury----
    Total: $35,080,973


    As best as I can tell, that's for a six month period. If correct, that would make the use of Microsoft software about a $70 million decision annually.

    Tags for this post: blog australian government microsoft extenditure

posted at: 20:14 | path: /diary | permanent link to this entry


Silverthorn




    ISBN: 0553270540
    Spectra (1986), Mass Market Paperback, 343 pages
    LibraryThing
    The characters of the Magician Books battle a new enemy in this book. The book centers around Prince Arthura's poisoned wife and the quest to find the cure. There seems to have been some criticism of this book for being a fantasy cliche (something which people seem to say about a lot of Feist's books), but that's a pretty easy accusation to make with fantasy works -- they all seem to have the same basic them. I guess that's what a genre is -- a shared theme. The book is well written and quite readable.

    Wikipedia page on Silverthorn has this rather startling accusation to make:

    Since its release, the term 'Silverthorn' has been adopted to describe any book in a series (although typically the middle book of a trilogy) that has served little purpose other than to set up a climax in the final book. This term can also be applied to a similar phenomenon in film or television series. This style of book typically has little overall substance, and is often quite poor when compared to the other books in the series.


    That's a pretty unfair thing to say. This book has a story that stands on its own, and progresses the plot of the overall series as well. If I was to make the "does little but setup the next book in the series" accusation, I would point the finger at Tilley's First Family, which does nothing apart from setup Iron Master.

    Tags for this post: book raymond_e_feist midkemia kelewan npr_top_100_sf riftwar_saga combat fantasy sword_and_sorcery


posted at: 14:12 | path: /book/Raymond_E_Feist | permanent link to this entry


Sat, 25 Oct 2008



Blathering for Sunday, 26 October 2008

    14:00: Mikal shared: brad's life - Android Garage Door Opener, part 2
      Ok, so Brad is mad and has his garage door opening when his Android phone comes within wifi range of his house. I wonder how he tells that he's not walking past instead of riding on the bike, and I wonder what terrible thing keeping the wifi manager open does to his battery life?

    22:00: Mikal shared: More SoCal Freeway Economics
      An interesting measure of the state of the US economy -- people are driving less.



    Tags for this post: blather

posted at: 15:37 | path: /blather | permanent link to this entry


Mikal's unreliable guide to buying secondhand sci fi in Mountain View

    My algorithm goes something like this:

    • If I am just browsing (I tend to target complete series before I start reading them, so am often buying things I don't expect to read for months) and looking for a great deal I go to Rasputin's Books. Sometimes they have nothing, and other times I walk away with 30 books. They currently have a "10 books for $5" deal, which is hard to beat.
    • If I want something specific, and its not too rare, I go to Book Buyers. They have an awesome collection, and have most common things. Some harder to find things might be missing though, and you need to know that not everything is filed by author (check the series section as well).
    • If I want big lots, ebay.com. Most of the time there is nothing, but sometimes you can pick up 20 books by the same author quite cheaply.


    Tags for this post: book mountainview store

posted at: 10:23 | path: /book/MountainView | permanent link to this entry


A somewhat random collection of phone pictures

    This is a relatively random collection of photos from the camera on one of my phones. I've been meaning to put them online for a while, so some of them are a little old now...

                                           

    See more thumbnails

    Tags for this post: events pictures 20081025-android photo

posted at: 08:25 | path: /events/pictures/20081025-android | permanent link to this entry


Fri, 24 Oct 2008



The android and I

    I don't talk much on this site about what I do at work. There are a couple of reasons for that -- what I do is somewhat too specialist to describe easily (I am a member of the Site Reliability Engineering Group, who are tasked with making google.com the most reliable site on the Internet), somewhat technical (you see, if we tweak the thingie on that cluster just a little, we can decrease the doodily by 15 milliseconds!), and frankly I'd rather not spend all my time talking about work at home.

    On the other hand, sometimes something makes me so proud that I just have to say something. Previous examples are the open sourcing of Slack, Google open sourcing patches for MySQL, and describing how we deploy MySQL servers at the MySQL Users Conference, and the LCA 2007 MythTV tutorial that Google went out of its way to help with.

    This week's proud moment is the launch of Android. I've been coding on and off for the platform since August last year, and have had a Dream handset in my pocket since July this year. Frankly, I don't bother to power my blackberry on any more. However, the point of this post isn't to convince you to go and get yourself an Android handset -- I'd like to think people will do that on the handset's merits alone. The point is however to say that its very cool that Google has worked so hard on an open source mobile platform, released the source code as promised, and that it largely went off without a hitch.

    Astute observers will note that I've change job at Google a few times -- I was hired as a Linux system admin and supported our customer support email system for a while, I then went and turned up new serving clusters for a year, and now I am a mobile reliability engineer. That level of movement inside the company is entirely normal, and I think is probably one of the best perks of the job. In that last capacity I have been helping the Android guys with the launch of their server side for the last month or so. That's my final excuse for taking the Android launch personally.

    So, there you go.

    Tags for this post: android launch

posted at: 07:33 | path: /android | permanent link to this entry


Thu, 23 Oct 2008



Blathering for Thursday, 23 October 2008

posted at: 15:15 | path: /blather | permanent link to this entry


Wed, 22 Oct 2008



Blathering for Wednesday, 22 October 2008

posted at: 07:45 | path: /blather | permanent link to this entry


Tue, 21 Oct 2008



The Stainless Steel Rat Joins the Circus




    ISBN: 0812575350
    Tor Science Fiction (2000), Edition: 1st, Mass Market Paperback, 272 pages
    LibraryThing
    This book is better than the Stainless Steel Rat books which insist on things like time or dimensional travel -- this one sticks to the more traditional crime plot, which I think are generally better. Then again, its nowhere near the best Stainless Steel Rat book I have read.

    It feels a little like the editor was lazy for this book though -- there are typographical errors which make it hard to read. There have been several times when I have had to reread a sentence to work out what was meant. One example is when a character declares himself to be a "Galactic Inspector of Texas". That should have read "Galactic Inspector of Taxes".

    Tags for this post: book harry_harrison stainless_steel_rat crime


posted at: 22:40 | path: /book/Harry_Harrison | permanent link to this entry


Mon, 20 Oct 2008



Blathering for Monday, 20 October 2008

posted at: 16:00 | path: /blather | permanent link to this entry


Blathering for Tuesday, 21 October 2008

posted at: 07:24 | path: /blather | permanent link to this entry


Sun, 19 Oct 2008



Blathering for Sunday, 19 October 2008

posted at: 20:45 | path: /blather | permanent link to this entry


Foundation and Chaos




    ISBN: 0061056405
    Eos (1999), Mass Market Paperback, 416 pages
    LibraryThing
    This is the second book in the second Foundation trilogy, following on from Foundation's Fear, which I didn't enjoy. This book on the other hand is quite good. Its not the best book I've read recently, but its faithful to the universe that Asimov built, as well as resolving all the silly plot elements that made Foundation's Fear such a bad book. It also fills in some of the gaps between the end of Asimov's robot stories and the Foundation stories, which is good.

    Tags for this post: book greg_bear isaac_asimov robot foundation


posted at: 19:21 | path: /book/Greg_Bear | permanent link to this entry


Top Gear Australia, again

    Ok, so the second episode is better. Perhaps its just taking the presenters some time to find their "voice". However, I do think the studio stuff still tries too hard to be Top Gear UK. The challenge was excellent, except Clarkson would have found a way to destroy the utes.

    Tags for this post: blog

posted at: 11:17 | path: /diary | permanent link to this entry


Sat, 18 Oct 2008



How far is Wrest Point from the LCA 2009 venue?

    It looks to me like Wrest Point is a bit of a hike from the conference venue:



    So, does anyone know how long that would take to walk? How are other people planning on getting around while in Hobart?

    Tags for this post: conference lca2009

posted at: 21:43 | path: /conference/lca2009 | permanent link to this entry


Book covers



    I was bored this afternoon, so I tweaked my bloxsom plugin which was already using ISBN number tags to produce links to LibraryThing. It now fetches cover art for the book (if available) and puts that into posts magically. If you're interested in such things its really easy to fetch cover images from LibraryThing.

    Tags for this post: book

posted at: 21:15 | path: /book | permanent link to this entry


Fri, 17 Oct 2008



Blathering for Friday, 17 October 2008

posted at: 10:45 | path: /blather | permanent link to this entry


Thu, 16 Oct 2008



Magician: Master




    ISBN: 0553564935
    Spectra (1994), Paperback, 544 pages
    LibraryThing
    Perhaps it would have been better if Feist had kept Magician all as one book. In the first book you hear of Guy (a bad guy!) briefly, and then nothing more. Then, hundreds of pages later in the second book he comes up again as a major plot element. If you haven't recently read the first book, then you are at a disadvantage.

    Apart from that, this is a good book that I would have preferred to read faster. Unfortunately work has kept me unusually busy recently, so this one took a while to read.

    Tags for this post: book raymond_e_feist midkemia kelewan npr_top_100_sf riftwar_saga combat fantasy sword_and_sorcery


posted at: 14:57 | path: /book/Raymond_E_Feist | permanent link to this entry


Blathering for Thursday, 16 October 2008

posted at: 10:00 | path: /blather | permanent link to this entry


Wed, 15 Oct 2008



Blathering for Wednesday, 15 October 2008

posted at: 11:00 | path: /blather | permanent link to this entry


Tue, 14 Oct 2008



Blathering for Tuesday, 14 October 2008

posted at: 09:15 | path: /blather | permanent link to this entry


Mon, 13 Oct 2008



Solving a slow app startup on MacOS

    I recently upgraded to a new version of MythTV, and that meant installing a new version of the MythTV frontend app on a bunch of Macs around the house. I downloaded the app and put it on a network drive, and then just dragged that onto the start bar on each of the Macs.

    There is of course a problem with that. What happens is you create a reference when you drag something onto the start bar, and that meant the application was really slow to start on load. Specifically because the MythTV frontend app for the Mac is of course over 100 megabytes.

    The solution? Copy the app to the local disk, and then drag it onto the start bar. You'd think Apple would be able to ask me if I wanted a local cache of the binary when I did the initial drag...

    I'm putting this here so I remember it for next time.

    Tags for this post: macintosh osx slow app start

posted at: 21:07 | path: /macintosh/osx | permanent link to this entry


Blathering for Monday, 13 October 2008

posted at: 12:30 | path: /blather | permanent link to this entry


Sun, 12 Oct 2008



Magician: Apprentice




    ISBN: 0553564943
    Spectra (1994), Mass Market Paperback, 528 pages
    LibraryThing
    This is the reworked version of Magician, although its split into two books and there is some content that was dropped as part of the editing process for the original version. This version was developed for the tenth anniversary of the original publication. I read the original version as a kid and was so proud of myself when it finished it -- it was by far the longest book I had ever read at the time.

    I've seen people online complain that this book is just a big ball of cliche. There are dwarves, wizards with funny hats, elves, and so on. But there are also new ideas here, such as alien invaders in a fantasy novel and so on. Overall I think the cliches don't get in the way and are largely used a sort of short hand... Feist doesn't need to explain what a dwarf is, so he can skip that bit and get on with telling the story.

    After rereading this as an adult, I still really like this book.

    Tags for this post: book raymond_e_feist midkemia kelewan npr_top_100_sf riftwar_saga combat fantasy sword_and_sorcery


posted at: 19:30 | path: /book/Raymond_E_Feist | permanent link to this entry


The Sarah Jane Adventures

    We picked up a couple of Sarah Jane Adventures (yet another Doctor Who spinoff, this one centered around a former companion of a previous Doctor, and targetted at children) from Netflix. To be honest, its not my thing -- the acting isn't as good, the effects are cheaper, and the plot lines simplistic. Then again, it is aimed at kids, and my two certainly seem to like it.

    Tags for this post: blog sarah jane adventures

posted at: 16:00 | path: /diary | permanent link to this entry


Blathering for Sunday, 12 October 2008

    11:15: Mikal shared: Terminator Wiki
      Cool wiki of Terminator details. I couldn't remember the details of the T888, and the wiki had everything I wanted to know.



    Tags for this post: blather

posted at: 11:15 | path: /blather | permanent link to this entry


Sat, 11 Oct 2008



Top Gear Australia

    I thought the first episode was ok, but I am left wondering what's different about the show from the original UK version apart from the accents. Oh, and they didn't show us a picture of the track, which I found annoying -- the UK version bothered to explain the design of the track and why it has the corners it does. Anyway, better than nothing while Top Gear is off the air.

    Tags for this post: blog top gear australia

posted at: 19:45 | path: /diary | permanent link to this entry


Wondering how low it can go

    Perhaps this is something that only people living overseas but paying mortgages in Australia care about, but I am amazed by the size and speed of the drop of the Australian dollar against the US dollar. This graph helps explain what I mean:


    (Stolen from Yahoo! Finance)


    That's a big correction. I wonder where the bottom will be? Should I move money now? Should I wait? I guess its time to consider dollar cost averaging my exposure to the forex market.

    Tags for this post: blog forex exchange rate

posted at: 08:12 | path: /diary | permanent link to this entry


Fri, 10 Oct 2008



MacOS' RSS screen saver really unreliable?

    I've added a Mac to my list of machines, and was excited to discover the screen saver option where it would download images from an RSS feed and use them as pretty pictures for the screen saver. I quickly wrote a little script which returns 100 random images in an RSS feed. The screen saver worked great at first, but seems really unreliable now. It seems like it will only use images for the feed for a little while, and then falls back to just complaining that there are no images available. There doesn't seem to be a pattern, and there are no errors logged on the server (in fact, I can't see the machine grabbing the feed at all).

    So, does anyone have any hints on how to make this suck less?

    Tags for this post: macintosh osx rss image screen saver

posted at: 20:06 | path: /macintosh/osx | permanent link to this entry


Thu, 09 Oct 2008



The Stainless Steel Rat Goes To Hell

posted at: 19:50 | path: /book/Harry_Harrison | permanent link to this entry


Wed, 08 Oct 2008



Blathering for Wednesday, 08 October 2008

    15:45: Mikal shared: This American Life
      An interesting NPR program on how the sub prime crisis happened. Its all about a global pool of money desperate to invest in high return securities, and the banking industry which was happy to provide them. Listen to it!

    17:00: Mikal shared: This American Life
      A followup to the previous NPR podcast about the current state of the US economy. This one is interesting too.



    Tags for this post: blather

posted at: 17:00 | path: /blather | permanent link to this entry


Tue, 07 Oct 2008



Iron Master




    ISBN: 0671653385
    Baen (1987), Paperback
    LibraryThing
    This is the third book in the Amtrak Wars series. I think this is a better book than First Family, which suffered from not having much plot development. This book on the other hand moves the plot along, whilst being interesting. You also get to learn more about the Iron Masters, as well as how dodgy the First Family is. A good read.

    Tags for this post: book patrick_tilley combat post_apocalypse prophecy magic


posted at: 20:08 | path: /book/Patrick_Tilley | permanent link to this entry


Mon, 06 Oct 2008



Blathering for Tuesday, 07 October 2008

    12:30: Mikal shared: Unit Structures Facebook Dataset Identified
      Facebook released an anonymized set of social network data for research purposes. It seems its been quickly identified as the social network for Harvard. This has interesting parallels to the AOL search logs release a while back.



    Tags for this post: blather

posted at: 09:40 | path: /blather | permanent link to this entry


Sun, 05 Oct 2008



paramiko exec_command timeout

    I have a paramiko program which sshs to a large number of machines, and sometimes it hits a machine where Channel.exec_command() doesn't return. I know this is a problem with the remote machine, because the same thing happens when I try to ssh to the machine from the command line. However, I don't have any way of determining which machines are broken beforehand.

    Paramiko doesn't support a timeout for exec_command(), so I am looking for a generic way of running a function call with a timeout. I can see sample code which does this using threads, but that's pretty ugly. I can't use SIGALARM because I am not running on the main thread.

    Can anyone think of a better way of doing this?

    Tags for this post: python paramiko exec_command timeout

posted at: 12:20 | path: /python/paramiko | permanent link to this entry


Sat, 04 Oct 2008



Blathering for Saturday, 04 October 2008

    12:30: Mikal shared: Tracing the origin of HIV-1
      I didn't realize HIV is so old. Apparently they've found samples going back to 1960, whereas I have always thought of HIV as a 1980s problem.



    Tags for this post: blather

posted at: 12:30 | path: /blather | permanent link to this entry


Blathering for Sunday, 05 October 2008

    19:30: Mikal shared: The Daily Dish | By Andrew Sullivan
      Wonder how bad sub-prime is in America? 700 homes in SoCal are foreclosed per day. This video gives an interesting look at the "trash out" process, which is what happens when you abandon stuff instead of paying your loan.



    Tags for this post: blather

posted at: 09:39 | path: /blather | permanent link to this entry


Fri, 03 Oct 2008



Blathering for Friday, 03 October 2008

    11:47: Mikal shared: Marketplace: Credit Crisis Confusion: the one-act play
      Finally I understand the subprime crisis!

      "Seller: Right. So, I think the Q-grades are dumped and leveraged upwards across 25 underplummeries? Our unicorn gives it a kick, and presto: you've got 300 percent annual growth.

      Buyer: Now, you just said "unicorn." There is such a thing?

      Seller: Uhhh. Kind of? Honestly, I don't know. Don't care!

      Buyer: Well, you also said "300 percent." So, I'm sold!"

    18:00: Mikal shared: Consumerist Forced To Cut Staff [PSAs]
      Its sad that consumerist is cutting two staff. I read Consumerist all the time, and its a great site. The economic downturn is quite noticable at the moment -- a couple of car dealers on El Camino Real have closed already...



    Tags for this post: blather

posted at: 18:00 | path: /blather | permanent link to this entry


MythNetTV release 6

    New things in this release:

      Better testing:
    • r114: Unit tests for video.py
    • r148: Updated unit test now that we create more tables
    • r151: Start work on syndication unit tests
    • r153: Unit test for bad syndication dates, as well as more flexibility in db connections needed for this unit test
    • r157: Nicer unit test failure output, and refactor GetVideoDir() into the utility module
    • r181: Slightly improve syndication unit tests
    • r183: Add flag parsing to unit tests, and fix some more flag name changes


      Better documentation:
    • r117: Added a man page for video.py -- I'm not 100% happy with its name though


      Bug fixes:
    • r114: Fixed a bug where the new filename for video transcode could be the same as the input filename, resulting in video corruption. This was found with one of the new video.py unit tests
    • r116: The logic for the --prompt flag was the wrong way around. Fixed.
    • r119: Nicer download status messages
    • r121: Handle 404s in feed updates better
    • r129: Slight tweak to SVN submit script
    • r131: More accurate tracking of proxy usage (update during download, instead of just at the end)
    • r137: Proxy budget being exceeded doesn't count as a failed download attempt
    • r143: Subscribe now renables inactive subscriptions
    • r146: Add support to decimals to utility byte printer, fix a bug in the check for video directories
    • r155: Have users send problems to the mailing list, instead of me personally
    • r161: Don't throw exceptions for the videodir command line
    • r167, 169: Display friendly sizes in records_tool output
    • r171: Move verbose update arg into a flag
    • r173: Add "-vo null" to mplayer invocation per Ryan Lutz. This improves support on machines without X, and speeds up the identify operation
    • r175: Import patch from Thomas Mashos which fixes subscription removal, started work on syndication unit test improvements
    • r177: Fix character escaping bug in show subtitles during import
    • r179: Renamed --datadirdefault to --datadir. If set this will now change your data directory, regardless of if there was a previous value set.
    • r190: Recording_tool now prompts for deletes
    • r192: Improved explainvideodir output
    • r194: Don't crash in explainvideodir if there is no video directory
    • r197: Order results by subtitle in recordings_tool output


      New features:
    • r115: Upgraded schema to version 15 to support http_proxies for subscriptions. Added http_proxy command line, which allows you to use HTTP proxies for specified URLs. Moved HTTP accesses to use the proxy code.
    • r127: Bump schema to v17, and add proxy use tracking including the "proxyusage" command
    • r133: Allow daily budgets for proxy usage
    • r115: Provide a user agent for HTTP requests, instead of just Python-urllib/1.17
    • r117: Users will now be prompted to subscribe to an announcements video feed. This will happen exactly once. This behavior may be disabled with the --nopromptforannounce command line flag.
    • r125: Add a full info dump command to video.py's command line interface
    • r139: Bump schema to 19, and implement categories with the "category" command
    • r141: Implement recording group support, and clarify category support
    • r151: Implement a helper (recordings_tool) for handling the MythTV recordings table, this is useful for testing.
    • r159: Add videodir and explainvideodir debugging commands, and update man page
    • r163: Add title list feature to recordings_tool
    • r165: Include recording count in title list
    • r185: Add the resetattempts command


      Development changes:
    • r123: Added a submit script to automate putting the revision number into the ChangeLog
    • r135: Tweak to new ChangeLog auto logging formatting


    Release 6 continues the tradition of better testing, improves the documentation (a little, there is more work to be done there), fixes a bunch of bugs, and implements some new features which will hopefully be useful to others. Please grab your copy here.

    Tags for this post: mythtv mythnettv release

posted at: 13:09 | path: /mythtv/mythnettv | permanent link to this entry


Thu, 02 Oct 2008



The Malloreon

posted at: 20:34 | path: /book/David_Eddings | permanent link to this entry


The Seeress of Kell

posted at: 20:20 | path: /book/David_Eddings | permanent link to this entry


Wed, 01 Oct 2008



Blathering for Wednesday, 01 October 2008

    09:15: Mikal shared: District considers hiring private eye
      My kids are in the Whisman School district. The campus they are at has around 150 more kids this year than last, and is really crowded. Is seems like hiring a private investigator to find incorrectly enrolled kids is going a bit far though.



    Tags for this post: blather

posted at: 09:15 | path: /blather | permanent link to this entry


Tue, 30 Sep 2008



Books read in September 2008

posted at: 20:01 | path: /book/read | permanent link to this entry


Sorceress of Darshiva




    ISBN: 0345369351
    Del Rey (1990), Mass Market Paperback, 384 pages
    LibraryThing
    This is book four of the Malloreon. It feels like not much happens in this book, although there is plot development happening. I guess it more feels like this book is a connector between the book before and the book after, and not much more. On the other hand, it was an engaging read.

    Tags for this post: book david_eddings magic prophecy sword_and_sourcery fantasy


posted at: 19:55 | path: /book/David_Eddings | permanent link to this entry


Mon, 29 Sep 2008



Blathering for Monday, 29 September 2008

posted at: 16:15 | path: /blather | permanent link to this entry


Sun, 28 Sep 2008



Demon Lord of Karanda

posted at: 18:00 | path: /book/David_Eddings | permanent link to this entry


Sat, 27 Sep 2008



Blathering for Sunday, 28 September 2008

posted at: 13:06 | path: /blather | permanent link to this entry


Fri, 26 Sep 2008



Foundation's Fear




    ISBN: 0061056383
    Eos (1998), Mass Market Paperback, 624 pages
    LibraryThing
    This book is a solid zero stars in my mind. I got to page 372, but simply couldn't wade through the chore any longer. The plot meanders, and its not clear to me where the story is going. Worse still, basically nothing has happened yet. I am a little surprised, given the generally positive LibraryThing reviews. I should have read the Amazon reviews instead. Some examples:

    Normally, I do a lot of my reading on the train (BART for those of you familiar with San Francisco), getting to and from work. An engrossing book keeps me awake and I read it relatively quickly. "Foundation's Fear", especially the first half of it, set a record for putting me to sleep. There were days in when I only managed to read a couple of pages. A paragraph or two and I'd be out, even before the train started moving. As others here have pointed out, there is a lot of boring dialogue and description and much of it focuses around the Voltaire and Joan of Arc artificial entities. Hundreds of pages of philosophical noodling and descriptions of imaginary scenes conjured up in cyberspace become numbing.


    And another:

    This book is not good, not because it's not Asimov but because it's simply not good. I had the luxury of reading it within the context of the other two "new" books and while that helps in hindsight, it doesn't while you're slogging through Benford's weighty prose.

    Don't expect Asimov but then the reader shouldn't. As Bear and to a lesser extent Brin show, authors can bring a fresh perspective on the topic and do it fairly well. Benford never seems to make up his mind which of his myriad little sub plots will be the main plot and thus, nothing really happens that expands our understanding of the Foundation Galaxy. Moreover, instead of fleshing out some of Asimov's admittedly skimpy ideas in the Foundation galaxy or introducing new themes that build upon previous concepts, instead, we take a quantum leap into a muddled unknown with concepts (aliens and tiktoks being the two most egregious examples) that clearly don't belong in the Foundation setting.


    This book differs from Asimov's view of the Foundation universe in important ways:

    • This book is much more explicit about Dors' nature than Asimov ever was. There was some element of doubt in Forward the Foundation right up until Dors' death. That is not the case with this book.
    • This book reworks Hari's entry into the First Minister position, which I found annoying. Especially because the discussion around that entry is slow, and lacks action. Basically the new version was kinda boring.
    • Worm holes are a major part of the economic makeup of the galactic empire in this book, but somehow Asimov never mentioned them in his books.
    • This book dwells on computers, robots, artificial intelligence, and aliens -- all things Asimov left out of his books (except for robots of course). Its not like Asimov was unaware of these things, he just didn't use them in this universe.
    • This book is really long (600 pages), but nothing much seems to actually happen in the first several hundred. The Sims sequence is the first really interesting part of the book, and even that drags on into long boring descriptions of polygons waving in the virtual wind.


    Tags for this post: book gregory_benford isaac_asimov robot foundation


posted at: 21:16 | path: /book/Gregory_Benford | permanent link to this entry


Thu, 25 Sep 2008



Blathering for Thursday, 25 September 2008

posted at: 21:30 | path: /blather | permanent link to this entry


Wed, 24 Sep 2008



Sticklers, Sideburns and Bikinis




    ISBN: 9781846033001
    LibraryThing
    This is the second book I have got from the LibraryThing early reviewer program (the previous book was The Spy Within).

    I'm going to have to be honest with this book and say that I haven't read all of it yet. Its basically a dictionary and I don't tend to read those cover to cover. On the other hand, I have read about 10% of this book so far, and do intend to read it all.

    This book is great. The content is interesting, well laid out, and excellently written. That's probably made a lot easier by how interesting the content is -- the stories behind various works tend to be short and novel, which is fun. The book is also useful -- it's already ended an office debate over the origin of the word "hooker".

    Tags for this post: book graeme_donald trivia non_fiction


posted at: 13:48 | path: /book/Graeme_Donald | permanent link to this entry


Tue, 23 Sep 2008



Please help me test trunk

    I'm getting ready to do another MythNetTV release, as I've fixed quite a few things recently. I'd appreciate people testing the new code before I do an official release. You can get the current code like this:

      svn co http://www.stillhq.com/mythtv/mythnettv/svn
      


    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.

    This release has lots of small changes, which are listed in the ChangeLog which will be downloaded with the code.

    Thanks.

    Tags for this post: mythtv mythnettv

posted at: 20:42 | path: /mythtv/mythnettv | permanent link to this entry


Blathering for Wednesday, 24 September 2008

posted at: 10:40 | path: /blather | permanent link to this entry


Factory reset

    Huh. I just had to factory reset the roku netflix box after suffering from the forever downloading my instant queue problem. In my case the device was in this state for over a week (it was acting weird, so I watched a different device and completely forgot about it). Its disappointing that a factory reset is needed, and that power cycling the device does just work.

    I wonder if reactivating the device counts in the four device limit that netflix imposes?

    Tags for this post: netflix roku

posted at: 07:34 | path: /netflix/roku | permanent link to this entry


Mon, 22 Sep 2008



Second Foundation




    ISBN: 0345336291
    Del Rey (1986), Edition: 1st Ballantine Books ed, Mass Market Paperback, 282 pages
    LibraryThing
    I am starting to think that there is something missing in the Foundation trilogy. Specifically, there isn't much action. Most of it is just people talking at each other -- with pages and pages of dialog. This makes these three books much harder to read (and therefore less compelling) than those elsewhere in the extended Foundation Series.

    I did enjoy this book, I just feel that I could have done with some more action to make it less hard work.

    Tags for this post: book isaac_asimov foundation


posted at: 20:58 | path: /book/Isaac_Asimov | permanent link to this entry


King of the Murgos




    ISBN: 0345358805
    Del Rey (1989), Mass Market Paperback, 416 pages
    LibraryThing
    This is book two of the Malloreon, the sequel series to the Belgariad. Some people complain that this series is just a repeat of the previous series with some of the names changed, and I certainly used to think that myself. Now that I've read this book again I think that's unfair -- the story line is actually quite different, and the characters are generally older and wiser (which makes them feel more developed). I enjoyed this book, probably more than I did Guardians of the West.

    Tags for this post: book david_eddings magic prophecy sword_and_sourcery fantasy


posted at: 15:44 | path: /book/David_Eddings | permanent link to this entry


Does anyone else think its odd

    Does anyone else think it is odd that my kid's school had a "code red alert" drill this morning? This is where they have the whole school pretend that there is a gun toting maniac on campus, and the class goes to a corner and hides. They practise being quiet while someone beats on the door, that sort of thing.

    I find the whole thing just a little disturbing.

    Tags for this post: blog usa school code red drill

posted at: 14:06 | path: /diary | permanent link to this entry


Wed, 17 Sep 2008



The Stainless Steel Rat for President




    ISBN: 0553227599
    Bantam Doubleday Dell (1982), Mass Market Paperback
    LibraryThing
    I need a break from all this serious reading, and the Stainless Steel Rat books are always amusing. In fact, this book was much better than the previous two I have read (The Stainless Steel Rat Saves The World and The Stainless Steel Rat Wants You) as it didn't suffer from the incredibly weak plot lines that books involving time travel seem to cause for Harrison.

    This book is back to the classic rat -- a simple criminal romp through an unsuspecting society, his hottie wife in tow, and with his two now grown kids along for the fun. I enjoyed this book a lot.

    Tags for this post: book harry_harrison stainless_steel_rat crime


posted at: 19:57 | path: /book/Harry_Harrison | permanent link to this entry


Blathering for Wednesday, 17 September 2008

    12:00: Mikal shared: DNS Prefetching (or Pre-Resolving)
      Its a little interesting that Chrome does DNS prefetching. What I find really interesting is that it provides reporting to the user about how much time it has saved. Now that is cool.

    15:00: Mikal shared: Reserve flags end of credit country - Local News - News - General - The Canberra Times
      Its news to me that Australian bank deposits are only insured up to $20,000. I always thought that all of your deposits were insured. Interesting.

    15:15: Mikal shared: Core Principles for Effective Banking Supervision: Self-Assessment for Australia
      Hmmm. Now I am confused. According to this document, we don't have any deposit insurance at all...

      "It should be noted that Australia does not have any form of deposit insurance scheme to protect
      depositors in a failed institution. Though the absence of such a scheme is unusual by world standards,
      this must also be read against the background of the Australian system in which no depositor has, since
      the passing of the Banking Act in 1945, ever lost funds held in an authorised bank."

    15:15: Mikal shared: Customers could recover $20,000 if Australian bank collapses | Business | News.com.au
      Oh, I think I understand now. There is currently no deposit insurance, but the Reserve Bank of Australia is currently recommending that depositors get $20,000 of insurance. That seems like a very low number given that US depositors get $100,000 USD per bank.



    Tags for this post: blather

posted at: 15:26 | path: /blather | permanent link to this entry


Fixed LibraryThing links

    I only just realized that the links to LibraryThing that I automatically insert into book posts only work if you have a LibraryThing account. I've now fixed that so that there is a link to a public page, as well as a link to your personal library if you use LibraryThing and also have a book that I mention.

    Tags for this post: book

posted at: 13:09 | path: /book | permanent link to this entry


Tue, 16 Sep 2008



Blathering for Tuesday, 16 September 2008

    10:45: Mikal shared: Mobile Network Code - Wikipedia, the free encyclopedia
      A interesting list to scan. I don't know much about mobile protocols, but apparently there is this big unified list of mobile networks for each country. Its interesting to see a bunch of people listed for Australia that I have never heard of.

    20:00: Mikal shared: Qantas to offer only canned net content - BizTech - Technology - smh.com.au
      It seems odd that Qantas hasn't thought through the porn filtering issue for its new A380s until now... Worse, delaying all live internet access seems like the wrong solution. Perhaps this is just an excuse for an undisclosed project slippage?



    Tags for this post: blather

posted at: 20:00 | path: /blather | permanent link to this entry


Guardians of the West




    ISBN: 0345352661
    Del Rey (1988), Mass Market Paperback, 448 pages
    LibraryThing
    I read this book as a child, and must admit I didn't like it. That's interesting to me, because it quite liked it this time. Its not the greatest literature ever written, but it is a good read. You need to have read the Belgariad first though, because this book (the first of the Mallorean) reuses the characters without spending a lot of time introducing them to you. I think I prefer it that way because it would be annoying to have to go through all that character development again as someone who has read the first series.

    Tags for this post: book david_eddings magic prophecy sword_and_sourcery fantasy


posted at: 13:35 | path: /book/David_Eddings | permanent link to this entry


Weird paramiko problem

    I had a strange paramiko problem the other day. Sometimes executing a command through a channel (via the exec_command() call) would result in an exit code being returned, but no stdout or stderr. This was for a command I was absolutely sure always returns output, and it wasn't consistent -- I'd run batches of commands and about 10% of them would fail, but not always on the same machine and not always at the same time. I spent ages looking at my code, and the code for the command running at the other end of the channel.

    Then it occurred to me that this seemed a lot like a race condition. I started looking at the code for the paramiko Channel class, and ended up deciding that the answer was to check that the eof_received member variable was true before trying to close the channel.

    It turns out this just works. I've my code running commands for a couple of days now and have had zero more instances of the "no output, but did exit" error. So, there you go. Its a shame that member variable doesn't have accessors and isn't documented though. I guess that makes my code a little more fragile than I would be happy with.

    Tags for this post: python paramiko bug race condition

posted at: 11:41 | path: /python/paramiko | permanent link to this entry


Mon, 15 Sep 2008



Blathering for Monday, 15 September 2008

    10:00: Mikal shared: The cloud computing security farce - auxesis' musings
      Lindsay has an interesting take on the Background Briefing coverage of cloud computing. I think he has a point about the generational gap -- it seems to me that the younger you are the more willing you are to trade personal information to things like social networks in return for some benefit. Often those benefits are intangible (I have more friends on Facebook than you!), but sometimes not (I get lots of job offers from LinkedIn!). Its an interesting discussion, and its not clear to me where society will end up drawing the line.



    Tags for this post: blather

posted at: 10:00 | path: /blather | permanent link to this entry


Sun, 14 Sep 2008



Couldn't determine the video directory?

    A couple of people have contacted me in the last couple of days with an error where MythNetTV can't determine the directory to put videos in. The error would look something like this:

      Importing data/tekzilla--0050--tehbunniez--hd.h264.mp4 Traceback (most recent call last): File "./mythnettv", line 453, in main(sys.argv) File "./mythnettv", line 212, in main mythnettvcore.DownloadAndImport(db, guid, out=out) File "/home/mythbox/Scripts/mythnettv/mythnettvcore.py", line 92, in DownloadAndImport prog.Import(out=out) File "/home/mythbox/Scripts/mythnettv/program.py", line 472, in Import raise FilenameException(self.db, 'Could not determine the video ' program.FilenameException: Could not determine the video directory for this machine. Please report this to mythnettv@stillhq.com


The stack trace is mostly irrelevant. The problem here is that MythNetTV couldn't decide what directory to put the video in once downloaded. Please execute the following SQL statements against your MythTV database:

    select * from storagegroup where groupname="MythNetTV";
    select * from storagegroup where groupname="Default";
    select * from settings where value="RecordFilePrefix"; 
    


This will dump all of the possible places MythNetTV will look for a video directory.

Once you've dumped this information, perform some simple checks:

  • Is there anything listed at all? If not, you need to configure storage groups with the MythTV user interface
  • Is there anything listed with the hostname that MythNetTV is running on? If not, you need to add configuration entries for your current hostname.


If you're still having problems, please send email to mythnettv@stillhq.com, with the output of those select commands, and the output of the hostname command.

Tags for this post: mythtv mythnettv tips video directory problems

posted at: 10:32 | path: /mythtv/mythnettv/tips | permanent link to this entry


Blathering for Sunday, 14 September 2008

    10:00: Mikal shared: PicoLCD 4X20-Sideshow
      I am seriously tempted by these USB LCD displays. They're cheap, and have Linux drivers. If only I had something to display! Via Engadget.



    Tags for this post: blather

posted at: 10:00 | path: /blather | permanent link to this entry


Sat, 13 Sep 2008



Foundation and Empire




    ISBN: 0553293370
    Spectra (1991), Mass Market Paperback, 320 pages
    LibraryThing
    This is the second book in the original foundation trilogy, which I am reading as part of the the extended Foundation series that I am working my way slowly though. This book contains two stories -- both of them Seldon crises, although one of them unpredicted by Hari. As Hari had always said in the series -- his techniques can only predict broad social trends, and the not the work on individuals. What happens if a single person who could not be predicted appears? This story covers that scenario.

    I found this book harder to read than the previous one, but that might have been because I've had a pretty distracted week. Once I actually sat down to read without too many interruptions, I enjoyed it.

    The comments from others on LibraryThing are fair though -- the character names are odd, and the writing does feel a little awkward.

    (LibraryThing for some reason gets the ISBN mapping for this book wrong. The above link's ISBN is right, but this link goes to the right place).

    Tags for this post: book isaac_asimov robot foundation hugo award


posted at: 18:22 | path: /book/Isaac_Asimov | permanent link to this entry


Fri, 12 Sep 2008



Blathering for Friday, 12 September 2008

posted at: 08:15 | path: /blather | permanent link to this entry


Thu, 11 Sep 2008



Blathering for Thursday, 11 September 2008

posted at: 21:45 | path: /blather | permanent link to this entry


Wed, 10 Sep 2008



Foundation




    ISBN: 0586010807
    Collins (1994), Paperback, 240 pages
    LibraryThing
    Foundation is an interesting book, as its quite old and was originally written as a series of short stories (as much early science fiction was). Because I am reading the books of the extended Foundation series in the order that Asimov recommended towards the end of his life, I have read the two prequels to Foundation (Prelude to Foundation and Forward the Foundation) before Foundation itself. This means that the time line is a little inconsistent, specifically about how the Foundation project ends up on Terminus (Was it lobbying or exile? Did Hari go or not?). That's not too bad though, and the book is very good.

    Tags for this post: book isaac_asimov foundation npr_top_100_sf


posted at: 18:16 | path: /book/Isaac_Asimov | permanent link to this entry


Tue, 09 Sep 2008



Dear Goodreads, about Chrome...

    Goodreads seems to need to update its browser detection...



    Cause, you know, hard coding browser detection never fails.

    Tags for this post: chrome goodreads

posted at: 10:21 | path: /chrome | permanent link to this entry


Mon, 08 Sep 2008



Forward the Foundation




    ISBN: 0553565079
    Spectra (1994), Mass Market Paperback, 464 pages
    LibraryThing
    This is a Foundation prequel, coming after Prelude to Foundation and before Foundation. The book is almost a series of short stories or novelettes -- there are several year gaps between these stories. That was a shame in a sense, because each of these separate stories has its won startup cost -- the time it takes me to get into what is happening. For some reason I don't find that as much of a problem with collections of short stories, possibly because I'm expecting it more. This technique meant Asimov could cover a lot of ground, but I found it jarring over all.

    I guess I'd say this book was ok, but not one of Asimov's best.

    Tags for this post: book isaac_asimov robot foundation npr_top_100_sf


posted at: 16:41 | path: /book/Isaac_Asimov | permanent link to this entry


Sun, 07 Sep 2008



Netflix and the Roku streaming box

    Catherine and I only just signed up for Netflix, and we love it. I was so enthused that I ponyed up the $99 for a Roku Netflix player. The player is Linux based, and streams a subset of the DVDs available on Netflix over the Internet. The protocol seems to be HTTP based, with WMV video files.

    The Roku was a really good choice. I've been away all weekend at a work event, and when I got back I discovered that the kids have developed a taste of Astro Boy, all from the streaming service. I'm really impressed with the device and how easy it is to use, the kids have no problems with it at all.

    I am aware that there is a software implementation for the Xbox 360 coming soon. I wonder if anyone knows someone at Netflix who I could talk to about a MythTV version?

    Tags for this post: netflix roku

posted at: 17:20 | path: /netflix/roku | permanent link to this entry


Blathering for Monday, 08 September 2008

posted at: 08:37 | path: /blather | permanent link to this entry


Thu, 04 Sep 2008



Blathering for Thursday, 04 September 2008

posted at: 20:00 | path: /blather | permanent link to this entry


Wed, 03 Sep 2008



Executing a command with paramiko

    I wanted to provide a simple example of how to execute a command with paramiko as well. This is quite similar to the scp example, but is nicer than executing a command in a shell because there isn't any requirement to do parsing to determine when the command has finished executing.

      #!/usr/bin/python
      
      # A simple command example for Paramiko.
      # Args:
      #   1: hostname
      #   2: username
      #   3: command to run
      
      import getpass
      import os
      import paramiko
      import socket
      import sys
      
      # Socket connection to remote host
      sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
      sock.connect((sys.argv[1], 22))
      
      # Build a SSH transport
      t = paramiko.Transport(sock)
      t.start_client()
      t.auth_password(sys.argv[2], getpass.getpass('Password: '))
      
      # Start a cmd channel
      cmd_channel = t.open_session()
      cmd_channel.exec_command(sys.argv[3])
      
      data = cmd_channel.recv(1024)
      while data:
        sys.stdout.write(data)
        data = cmd_channel.recv(1024)
      
      # Cleanup
      cmd_channel.close()
      t.close()
      sock.close()
      


    Tags for this post: python paramiko exec

posted at: 15:11 | path: /python/paramiko | permanent link to this entry


Implementing SCP with paramiko

    Regular readers will note that I've been interested in how scp works and paramiko for the last couple of days. There are previous examples of how to do scp with paramiko out there, but the code isn't all on one page, you have to read through the mail thread and work it out from there. I figured I might save someone some time (possibly me!) and note a complete example of scp with paramiko...

      #!/usr/bin/python
      
      # A simple scp example for Paramiko.
      # Args:
      #   1: hostname
      #   2: username
      #   3: local filename
      #   4: remote filename
      
      import getpass
      import os
      import paramiko
      import socket
      import sys
      
      # Socket connection to remote host
      sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
      sock.connect((sys.argv[1], 22))
      
      # Build a SSH transport
      t = paramiko.Transport(sock)
      t.start_client()
      t.auth_password(sys.argv[2], getpass.getpass('Password: '))
      
      # Start a scp channel
      scp_channel = t.open_session()
                
      f = file(sys.argv[3], 'rb')
      scp_channel.exec_command('scp -v -t %s\n'
                               % '/'.join(sys.argv[4].split('/')[:-1]))
      scp_channel.send('C%s %d %s\n'
                       %(oct(os.stat(sys.argv[3]).st_mode)[-4:],
                         os.stat(sys.argv[3])[6],
                         sys.argv[4].split('/')[-1]))
      scp_channel.sendall(f.read())
      
      # Cleanup
      f.close()
      scp_channel.close()
      t.close()
      sock.close()
      


    Tags for this post: python paramiko scp

posted at: 13:28 | path: /python/paramiko | permanent link to this entry


Robot Visions




    ISBN: 0451450647
    Roc (1991), Paperback, 496 pages
    LibraryThing
    This was a pretty short read -- in fact I read it on the bus into work this morning. That's mainly because there are only three short stories in this book which aren't covered in one of Asimov's other robot short story collections. The three stories were good, but I am not sure they were worth owning the entire book for.

    Tags for this post: book isaac_asimov robot anthology


posted at: 13:07 | path: /book/Isaac_Asimov | permanent link to this entry


Blathering for Wednesday, 03 September 2008

posted at: 11:15 | path: /blather | permanent link to this entry


Tue, 02 Sep 2008



The Belgariad

posted at: 19:36 | path: /book/David_Eddings | permanent link to this entry


Enchanters End Game

posted at: 19:29 | path: /book/David_Eddings | permanent link to this entry


Blathering for Tuesday, 02 September 2008

posted at: 15:15 | path: /blather | permanent link to this entry


Chrome user agent

    I am sure this will come in handy... The chrome user agent looks like this:

      Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13


    Tags for this post: chrome user agent

posted at: 13:24 | path: /chrome | permanent link to this entry


Sun, 31 Aug 2008



Books read in August 2008

posted at: 11:38 | path: /book/read | permanent link to this entry


TCP_DENIED/403 for cache accesses using squid

    I just spent some time debugging why squid wouldn't work for localhost, but seemed to work for other clients on my network. To cut a long story short, Linux for some reason wasn't using 127.0.0.1 for traffic to localhost. It was instead using the public IP address for the machine, which didn't match either the localhost ACL or the local network ACL. I am sure there is some fancy reason that this is the case, but if you see this problem, then consider checking your localhost ACL.

    Tags for this post: linux squid

posted at: 10:21 | path: /linux/squid | permanent link to this entry


Sat, 30 Aug 2008



Blathering for Saturday, 30 August 2008

posted at: 17:00 | path: /blather | permanent link to this entry


MythNetTV release 5

    New things in this release:

    • There is now a users mailing list at http://lists.stillhq.com/listinfo.cgi/mythnettv-stillhq.com
    • Moved to a public SVN server at http://www.stillhq.com/mythtv/mythnettv/svn/
    • 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
      • setup.py
    • video.py now has a simple command line interface to let you query it
    • Fix update of inactive programs bug per http://ubuntuforums.org/showpost.php?p=5580005&postcount=4
    • Better DB error handling
    • Included a COPYING file with the right version of the GPL (it was missing before)
    • 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 correctly
    • 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.

    Tags for this post: mythtv mythnettv release

posted at: 15:11 | path: /mythtv/mythnettv | permanent link to this entry


Fri, 29 Aug 2008



Castle Of Wizardry




    ISBN: 0345300807
    Del Rey (1984), Mass Market Paperback, 416 pages
    LibraryThing
    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.

    Tags for this post: book david_eddings magic prophecy sword_and_sourcery npr_top_100_sf fantasy


posted at: 21:55 | path: /book/David_Eddings | permanent link to this entry


Thu, 28 Aug 2008



Blathering for Friday, 29 August 2008

    09:15: Mikal shared: CPU vs GPU - paintball version
      The Mythbusters paint with a paintball robot at a Nvidia event.

    15:15: Mikal shared: Amazon.com: android
      Wow. There are heaps on Android development books out already. I guess most of them must be with the older versions of the SDK and pretty badly out of date already?



    Tags for this post: blather

posted at: 16:46 | path: /blather | permanent link to this entry


Magician's Gambit




    ISBN: 0345335457
    Del Rey (1986), Mass Market Paperback, 320 pages
    LibraryThing
    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.

    Tags for this post: book david_eddings magic prophecy sword_and_sourcery npr_top_100_sf fantasy


posted at: 16:40 | path: /book/David_Eddings | permanent link to this entry


Tue, 26 Aug 2008



Queen of Sorcery

posted at: 19:10 | path: /book/David_Eddings | permanent link to this entry


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.

    Tags for this post: blog open source video edit

posted at: 10:53 | path: /diary | permanent link to this entry


Mon, 25 Aug 2008



First Family




    ISBN: 0671655671
    Baen (1986), Paperback
    LibraryThing
    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.

    Tags for this post: book patrick_tilley combat post_apocalypse prophecy magic


posted at: 09:59 | path: /book/Patrick_Tilley | permanent link to this entry


Sun, 24 Aug 2008



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 http://www.stillhq.com/mythtv/mythnettv/svn
      


    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.

    Tags for this post: mythtv mythnettv

posted at: 14:42 | path: /mythtv/mythnettv | permanent link to this entry


Thu, 21 Aug 2008



Blathering for Thursday, 21 August 2008

    17:00: Mikal shared: TSA Employee Grounds 9 American Airlines Planes By Attempting To Break Into Them [Tsa]
      I love the level of incompetence this shows. The TSA can protect us all by damaging planes on the tarmac. Hurrah!

    17:00: Mikal shared: Microsoft's data centers growing by the truckload
      An article about Microsoft's containerized datacenters. Basically they fill containers with machines, plug them in, and then run away as fast as they can. When X% of the machines in the container have failed, they unplug the entire container and send it off for remanufacture. What I want to know is -- do the failed machines continue to draw power? That sounds like a bit of an environmental problem to me...

    17:00: Mikal shared: TSA Follies
      Schneier on the awesomeness of breaking planes while trying to see if they're secure, and how the TSA is considering pressing charges against the airline!

    22:00: Mikal shared: If asked, would you know how many houses you own?
      I remember when an Australian politician (I don't remember who) was asked how much a loaf of bread was, and couldn't answer. I love the idea that McCain doesn't even remember how many houses he owns. I guess that's what happens when you're running for office and already overwhelmed with other details.



    Tags for this post: blather

posted at: 22:00 | path: /blather | permanent link to this entry


The Spy Within




    ISBN: 1586421484
    Steerforth (2008), Hardcover, 320 pages
    LibraryThing
    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 amazon.com 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.

    Tags for this post: book tod_hoffman espionage biography non_fiction


posted at: 21:43 | path: /book/Tod_Hoffman | permanent link to this entry


SIGCOMM 2008

    SIGCOMM 2008 had about 600 people attend, and felt a little like one of the early AUUG conferences. One of the things I am learning as I get older is that I am having increasing trouble sitting in hard hotel meeting chairs all day -- my back just wont let me. Surprisingly, I find most university lecture theatre seats more comfortable.

    Below is a summary of the talks I thought are particularly good.

    Don Towsley keynote

    Don Towsley is the winner of the 2008 ACM SIGCOMM Award. His talk wasn't really a paper, he instead spoke about the need for models when performing Internet measurement research. If you don't have a theoretical model, then you don't have a way of verifying that your samples from the Internet are valid or not. This is an interesting point I hadn't considered, and which affects my own research work. My new problem is I'm not really sure how to produce models which have meaning to my current SMTP survey project. Additionally, Don asserts that PhD candidates shouldn't attempt to implement new applications. Instead they should work on enabling new applications. This observation is based on many years of supervising PhD candidates and their relative success.

    A Case for Adapting Channel Width in Wireless Networks

    Microsoft Research -- WiFi cards use a fixed bandwidth of 20 MHz. Using this quite large bandwidth for idle connections consumes a lot of power. This research proposes varying the size of the channel depending on what needs to be transferred -- 5MHz for an idle connection, up to 40 MHz for an active transfer. This does require a protocol for both sides of the connection to agree on a channel width. Sample implementation using the Zune peer to peer song sharing protocol.

    Spamming Botnets: Signatures and Characteristics

    Microsoft Research -- using URL extraction and a regular expression generator to find spam emails from botnets. Extract URLs from emails, track by domain over time and note bursty arrivals of such URLs. Send the bursty ones to a regular expression generator, which is then generalized to exclude victim specific IDs as well as domains, and then filter based on that. An interesting talk.

    To Filter or to Authorize: Network-Layer DoS Defense Against Multimillion-node Botnets

    University of California, Irvine -- DoS flooding attacks are a serious problem. The number of sources can be huge, as well as the packet count and bandwidth consumed. There are currently two schools of though on DoS protections -- filtering (anyone can send, and then filters are added when an attack occurs), and capability based systems (senders request permission before sending, and then use proof of that permission in each packet they send). This paper compares the two approaches.

    BitTorrent is an Auction: Analyzing and Improving BitTorrent’s Incentives

    University of Maryland -- the amount of research that is being conducted into peer to peer protocols, especially BitTorrent, is really interesting. This paper presented an alternative algorithm for how to select which blocks to offer for upload in return for the highest possible download rates. Specifically, it reframes BitTorrent as an auction system, in which leechers should be bidding the lowest possible in order to be selected as a download partner. This is implemented in BitTyrant (http://bittyrant.cs.washington.edu/). The rest of the talk focuses on strategies for gaming BitTorrent based on this observation. Very interesting. Implemented in a client at http://www.cs.umd.edu/projects/propshare/.

    Network Discovery from Passive Measurements

    UW Madison -- the traditional approach to mapping the Internet is to use active measurements. This paper proposes a solution using passive measurements. The underlying problem is that you have data in the form (source IP, destination IP, number of hops) and from that you need to determine which hops are in common for any given pair of readings.

    Taming the Torrent: A Practical Approach to Reducing Cross-ISP Traffic in Peer-to-Peer Systems

    Northwestern University -- this paper proposes piggy backing on CDN networks in order to determine which peer to peer clients are nearly to a p2p leecher. The network routing overlays produced by these networks can be used to select peers which can provide downloads more efficiently.

    Tags for this post: conference sigcomm2008

posted at: 15:48 | path: /conference/sigcomm2008 | permanent link to this entry


Wed, 20 Aug 2008



Blathering for Wednesday, 20 August 2008

posted at: 09:44 | path: /blather | permanent link to this entry


Tue, 19 Aug 2008



Blathering for Tuesday, 19 August 2008

    19:00: Mikal shared: Level of IPv6 Usage Is Vanishingly Small
      IPv6 traffic vanishingly small as a percentage of IPv4 traffic. News at 11.

    19:00: Mikal shared: The DB2 book is done!
      Cool! Grant's book on DB2 has been published finally... He's been working on the project for quite some time, so its nice to seem it finished.

    22:00: Mikal shared: AMS-IX - Statistics
      Although, the Amsterdam Internet Exchange certainly seems to be passing a lot of IPv6 packets.



    Tags for this post: blather

posted at: 22:00 | path: /blather | permanent link to this entry


Pawn of Prophecy




    ISBN: 0552148075
    LibraryThing
    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.

    Tags for this post: book david_eddings magic prophecy sword_and_sourcery childhood npr_top_100_sf fantasy


posted at: 17:34 | path: /book/David_Eddings | permanent link to this entry


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 yelp.com 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.

    Tags for this post: travel usa washington seattle hotel

posted at: 16:25 | path: /travel/usa/washington/seattle | permanent link to this entry


Mon, 18 Aug 2008



Blathering for Monday, 18 August 2008

    15:45: Mikal shared: Android SDK v.9 Image Gallery
      TechCrunch has a gallery of Android screenshots online if you're interested in such things.

    18:34: In Seattle. At Gordon Biersch to be exact. Its a little worrying that they have a large selection of martinis for under $9. I will have to try one after my burger I suppose. Until then its waiting for my food and watching olympic women's baseball on the TV over the bar... I didn't even know baseball was an olympic sport.
    18:40: Ok. I am clearly not an expert on baseball only having seen about two games, but I am pretty sure you're not meant to pitch underarm. Is that a women's baseball thing or something?
    18:45: Perhaps I am just showing my lack of sporting knowledge in general... Is handball a real sport? The TV in the bar has moved on to men's handball, and it looks like a cross between the game I played as a kid (with a tennis ball and one or three other people), and basketball. Its a pretty boring sport that could perhaps be improved if all the players were issued knives.


    Tags for this post: blather

posted at: 18:45 | path: /blather | permanent link to this entry


Cloud Warrior




    ISBN: 0671559729
    Baen (1985), Paperback, 341 pages
    LibraryThing
    I read this post-nuclear holocaust book as a kid and liked it, so I thought I'd give it a try again. Given most second hand science fiction books are $2, the barrier to entry is admittedly quite low as well. This book revolves around two groups -- the Amtrak Federation (a military society formed from survivors of those who crewed MX missile trains, a real system of roaming trains carrying nuclear missiles from the late 1980s and early 1990s -- the idea was that something which moved was harder for the Russians to find) and the "Mutes" (the civilan survivors of the holocaust, who are now mutated by radiation). Its a good book, although very different from the Asimov I've been reading recently. That's a good thing, because I think I need a bit of an Asimov break to be honest.

    Tags for this post: book patrick_tilley combat post_apocalypse prophecy magic


posted at: 17:47 | path: /book/Patrick_Tilley | permanent link to this entry


The currently broken state of video for Linux

    I'm packing for my trip to Seattle, and I just put two web cams into my bag? Why two, well one works with video4linux v1 applications (and isn't a very good web cam), and the other one is the fancy auto focussing nice web cam which works with video4linux 2 applications. Why is it that several years after video4linux 2 shipped, I still have to deal with this problem? Grumble.

    Tags for this post: linux v4l webcam

posted at: 08:55 | path: /linux/v4l | permanent link to this entry


Sat, 16 Aug 2008



Isaac Asimov's Foundation Series

posted at: 22:21 | path: /book/Isaac_Asimov | permanent link to this entry


Robot Dreams

posted at: 21:33 | path: /book/Isaac_Asimov | permanent link to this entry


Why sync twice on shutdown?

posted at: 12:26 | path: /linux | permanent link to this entry


A day in San Francisco

    Most of the folks I work with actually live in San Francisco and commute down to Mountain View each day. I wouldn't be willing to do such a long commute each day (especially given San Francisco isn't my favorite city), but I am willing to do it occasionally. I spent yesterday in the San Francisco office, which means all those guys could have a break from commuting. I might end up doing this more regularly if we can work out the logistics a bit better.

    The commute was a bit insane. Light rail from my house to Castro Street in Mountain View. The Caltrain shuttle to work. Then a work run shuttle to San Francisco. At least I didn't have to do the light rail in the evening -- Catherine and the kids picked me up from work. All up I think I spent about two and a half hours commuting yesterday.

    The San Francisco office is really nice, and I got to bump into a bunch of people I haven't seen in ages like Chris (who used to take me shooting in Phoenix). That worked out well because apparently I should visit some folks in the Seattle office next week, even though I didn't realize they existed until yesterday.

    (Have I mentioned that I am in Seattle next week for SIGCOMM 2008 yet? I don't think I have. I am in Seattle next week -- let me know if you're there and want to have a coffee or something. I probably wont make it out to Redmond or Kirkland though because I wont have a car.)

    Anyways, while in San Francisco I made an effort to go to the Pirate supply store at 826 Valencia -- San Francisco's only independently owned pirate supply store. It was cool. I knew the trip was coming up, so for the last week I've asked people to recommend second hand science fiction books stores in San Francisco as my gtalk status message... Its cool that three people replied with recommendations, and all of them said that I should go to Borderlands Books. The store is small, but had a great selection. The best David Drake, Roger McBride Allen, and Terry Pratchett collections that I have seen in any bookstore so far. Finally, we went to Ritual Roasters for a coffee. They make a good coffee, and have a cool logo. A bit crowded though. All of this was for my first time in the Mission as well, which was an interesting place. A lot like Newtown, but with more hispanic people and a lot dirtier.

    So, I think I'm trying to say I had fun. I'll be going back to the San Francisco office again I am sure.

    Tags for this post: blog san francisco

posted at: 09:28 | path: /diary | permanent link to this entry


Thu, 14 Aug 2008



Blathering for Thursday, 14 August 2008

    11:45: Mikal shared: Electric Porsche
      This dude converted a porsche 911 to electric!

    11:45: Mikal shared: Electro Automotive: Parts Price List
      Wow, a deluxe universal conversion kit is only $7,000 USD. That's a lot cheaper than I expected.

    11:45: Mikal shared: Electro Automotive: DC Conversion Kits
      A supplier of electric car conversion kits. Tempting.

    11:45: Mikal shared: Electric Car Conversion Kit (for beginners)
      I've wanted to build myself a kit car for a while, although I've always been stopped by the fact that I live in an apartment in the US. It occurs to me though that I should do this when I move back to Australia sometime in the indeterminate future. When I do, why not make it an electric car as well? That sounds like a seriously fun project.



    Tags for this post: blather

posted at: 11:45 | path: /blather | permanent link to this entry


Wed, 13 Aug 2008



MythNetTV mailing list

    I get a few support requests for MythNetTV, and I must admit that I sometimes get quite behind on my personal email, especially when I'm travelling. I've therefore created a mailing list for announcements and discussion in the hope that people will chat and come up with great ideas, as well as being able to support each other.

    Tags for this post: mythtv mythnettv

posted at: 16:56 | path: /mythtv/mythnettv | permanent link to this entry


MythNetTV release 4

    New things in this release:

    • Removed gflags because people found it hard to find
    • Bug fix patch from David Linville applied
      • Fixed broken imports caused by refactoring
      • Transcode not needed for avc1 and m4v
    • Another bug fix patch from David Linville applied
      • Store filesize in the db
    • Removed some namespace imports I am not a fan of
    • Made verbosity optional for --update
    • Small code cleanups
    • Let the user know of repeated attempts to download a program
    • Documented the need for bittornado for bittorrent to work
    • Abandon downloading after 3 failed attempts (you can configure the number)
    • Detect stuck bittorrent downloads


    Release 3 had a few bugs folks reported, this release should fix those problems. Let me know if you still see any. You can grab your copy here.

    Tags for this post: mythtv mythnettv release

posted at: 16:47 | path: /mythtv/mythnettv | permanent link to this entry


Blathering for Wednesday, 13 August 2008

    10:15: Mikal shared: Advice Fail
      An excellent failure to provide the advice requested.



    Tags for this post: blather

posted at: 10:15 | path: /blather | permanent link to this entry


Tue, 12 Aug 2008



Blathering for Tuesday, 12 August 2008

posted at: 16:12 | path: /blather | permanent link to this entry


Mon, 11 Aug 2008



Getting rid of cable TV?

    I'm thinking of getting rid of comcast and getting a high def over the air tuner as well as a netflix subscription. I'd be interested in people's opinions of netflix. I guess I'm just fed up with comcast's woeful customer service, quite ordinary analog reception, and complete lack of any new programming. Its been about six months since there was something we really wanted to watch on the channels we get, and I've only just noticed...

    Tags for this post: mythtv comcast

posted at: 20:35 | path: /mythtv | permanent link to this entry


Recent comments

    Some small hacking on this site today. I've added a recent comments page as well as a RSS feed for comments. During the development I had a little oops and modified the time of some posts, which might have caused some things to appear as new even though they're not. Sorry about that.

    Tags for this post: site comments

posted at: 18:57 | path: /site | permanent link to this entry


Discovering the CASE statement

    In an effort to speed up my database updates, I've been looking for ways to batch some of my updates. CASE seems like the way to go:

    mysql> create table bar(a tinyint, b tinyint);
    Query OK, 0 rows affected (0.02 sec)
    
    mysql> insert into bar(a) values(1), (2), (3), (4), (5);
    Query OK, 5 rows affected (0.00 sec)
    Records: 5  Duplicates: 0  Warnings: 0
    
    mysql> select * from bar;
    +------+------+
    | a    | b    |
    +------+------+
    |    1 | NULL | 
    |    2 | NULL | 
    |    3 | NULL | 
    |    4 | NULL | 
    |    5 | NULL | 
    +------+------+
    5 rows in set (0.00 sec)
    
    mysql> update bar set b = case a
        ->   when 1 then 42
        ->   when 2 then 43
        ->   when 3 then 44
        ->   else 45
        ->   end;
    Query OK, 5 rows affected (0.00 sec)
    Rows matched: 5  Changed: 5  Warnings: 0
    
    mysql> select * from bar;
    +------+------+
    | a    | b    |
    +------+------+
    |    1 |   42 | 
    |    2 |   43 | 
    |    3 |   44 | 
    |    4 |   45 | 
    |    5 |   45 | 
    +------+------+
    5 rows in set (0.00 sec)
    


    I see stuff online which warns not to forget the else, otherwise you get a default of null, so I guess I should bear that caveat in mind...

    Tags for this post: mysql case statement

posted at: 09:37 | path: /mysql | permanent link to this entry


The Complete Robot




    ISBN: 0586057242
    Voyager (1983), Mass Market Paperback, 680 pages
    LibraryThing
    This is another of Asimov's robot short story collections, and many of the stories appear in earlier works. In fact, I would recommend getting I, Robot and this book, and avoiding The Rest of the Robots if you're not interested in owning a complete collection of books, but do want to have all of the stories. I say you should get a copy of I, Robot mainly because it has linking matter between the stories that this book lacks.

    The Complete Robot is as good as Asimov's other short story books I have read, which means I thought it was fantastic.

    Tags for this post: book isaac_asimov robot anthology


posted at: 09:33 | path: /book/Isaac_Asimov | permanent link to this entry


Solar rebate grumble

    I was all keen about installing either solar assisted hot water or perhaps even solar power which feeds back to the grid at our rental house (the house we intend to move back into when we return to Australia). However, it turns out that there is now a means test for the rebate, which means I wont install anything.

    It seems pretty odd to me that the government expects me to front up the $14,000 for solar power, and wont provide me any support for doing so. At our usage levels it would take a very long time to pay off a large infrastructure cost like that. Oh well.

    Tags for this post: solar

posted at: 09:33 | path: /solar | permanent link to this entry


Isaac Asimov's Utopia




    ISBN: 0441004717
    Ace (1999), Edition: Reprint, Paperback, 368 pages
    LibraryThing
    Utopia is the third and final Asimov universe book from Allen. It centers around an attempt to accellerate the terraforming of a planet by drastic measures which drive third law robots wild... The measures are so drastic that they endanger humans, whilst protecting a large number of humans. Unfortunately three law robots have trouble seeing the difference between the two.

    I don't think this book is as well written as the earlier two Allen books (Caliban and Inferno) and therefore not as good as the Asimov books set in the universe. It was however reasonably engaging and I'm not offended that I spent time and money on it. An ok book, but nothing special basically.

    Tags for this post: book roger_macbride_allen isaac_asimov robot caliban detective


posted at: 09:31 | path: /book/Roger_MacBride_Allen | permanent link to this entry


Sat, 09 Aug 2008



The Stainless Steel Rat Series

posted at: 22:36 | path: /book/Harry_Harrison | permanent link to this entry


The Stainless Steel Rat Wants You




    ISBN: 0553253956
    Bantam (1982), Mass Market Paperback
    LibraryThing
    I'm helping out with SciFoo for the third year running, which is a blast. Neal Stephenson is back again, which is fun. Anyway, there is always a bit of hurry up and wait at conferences, so I got a chance to finish off this book. Its an ok read, but suffers from the hard-to-believe time travel that The Stainless Steel Rat Saves The World suffered from as well. It was ok though. I'd say 3 out of 5 stars if I had a star rating system.

    Tags for this post: book harry_harrison stainless_steel_rat crime


posted at: 22:34 | path: /book/Harry_Harrison | permanent link to this entry


Fri, 08 Aug 2008



Isaac Asimov's Nightfall Short Stories

    Asimov published two books named Nightfall 1 and Nightfall 2 which are collections of short stories. I have both of these books in a single volume named "Nightfall', which is not to be confused with the novel of the same name by Asimov and Silverberg. I was getting quite confused about which robot short stories I had already read already (many appear in more than one collection), so I built this table to help:

    Nightfall
    1969
    The Complete Robot
    1982
    Robot Dreams
    1986
    Robot Visions
    1990
    Nightfall
           
    Green Patches
           
    Hostess
     
       
    Breeds There a Man
     
       
    C-Chute
           
    In a Good Cause
           
    What If -
           
    Sally
       
    Flies
           
    Nobody Here But -
           
    It's Such a Beautiful Day
           
    Strikebreaker
     
       
    Insert Knob A in Hole B
           
    The Up-to-date Sorcerer
           
    Unto the Fourth Generation
           
    What is this Thing Called Love?
           
    The Machine That Won the War
     
       
    My Son, the Physicist
           
    Eyes Do More Than See
     
       
    Segregationist
     


    Tags for this post: book isaac_asimov robot anthology

posted at: 11:55 | path: /book/Isaac_Asimov | permanent link to this entry


Thu, 07 Aug 2008



Blathering for Thursday, 07 August 2008

posted at: 15:00 | path: /blather | permanent link to this entry


Noticed that smtpsurvey.stillhq.com is down?

    smtpsurvey.stillhq.com has been down for a couple of days now. This is because the machine at ANU which hosts the data has a hardware fault, and service techs have not yet arrived on site. The ever-helpful admins at ANU are aware of the problem, and are pursuing it as rapidly as they can.

    Tags for this post: research smtp survey outage

posted at: 09:11 | path: /research/smtp/survey | permanent link to this entry


Wed, 06 Aug 2008



The Rest of the Robots

posted at: 19:41 | path: /book/Isaac_Asimov | permanent link to this entry


Blathering for Wednesday, 06 August 2008

posted at: 19:00 | path: /blather | permanent link to this entry


Tue, 05 Aug 2008



Blathering for Tuesday, 05 August 2008

    10:15: Mikal shared: Commuter Cars
      I saw a Tango parked in the carpark at work this morning. I've always been tempted by electric cars, and so I dug a little further. I would be a lot more interested in these things if it wasn't $100,000 USD.

    10:30: Mikal shared: Global Electric Motorcars : Price Your Own
      On the other hand, the GEM cars seem to have come down in price heaps. I remember looking a year ago and these being more like $20,000 USD each. They seem to be only around $7,000 USD now. I wonder if I can import one into Australia?

    19:30: Mikal shared: Telstar Logistics: Flight Report: Airborne in an Emirates A380 at SFO
      This blog was invited to a tour of the Emirates A380 fitout. Features for first class include a private little room thingie, and a shower. Yes, a shower. Apparently economy isn't too bad, if you don't mind people stink.



    Tags for this post: blather

posted at: 19:30 | path: /blather | permanent link to this entry


SSL, X509, ASN.1 and certificate validity dates

    I was curious about how SSL certificates store validity information (for example when a certificate expires), so I ended up reading the X509 specification (excitingly called "Internet X.509 Public Key Infrastructure Certificate and CRL Profile"), as well as the ASN.1 information for UTCTimes. This is all new to me, but I am sure lots of other people understand this.

    In the end it wasn't too hard, and now I have hacked support for displaying certificate validity into Python's TLSlite. The point of this post is mainly so I can find that documentation again if I need it, although I'll put the TLSlite patch online as soon as I have had a chance to test it a little better.

    Tags for this post: python tlslite ssl validity x509 asn.1

posted at: 15:53 | path: /python/tlslite | permanent link to this entry


Overall comment spam statistics

    While I sat here at 2am, too jet lagged to sleep, I whipped up some quick comment spam statistics for this site, which you can see on the left hand side of this page. Its really easy now that I've moved all the comments across to being stored in something a little nicer than a bunch of flat text files on disk. At the moment the scoreboard reads:

    5 comments today, 5 of them spam. 370996 comments overall, 370085 of them spam.


    Dear spammers, you are annoying.

    Tags for this post: site spam

posted at: 02:13 | path: /site | permanent link to this entry


Mon, 04 Aug 2008



Blathering for Monday, 04 August 2008

    10:00: Mikal shared: Amazon.com--News Release
      abebooks.com is being acquired by Amazon. It will be interesting to see if having second hand science fiction listed on amazon.com will make it harder to get the rare stuff (because more people can find it), or easier (as more bookstores sign up).

    10:52: I brought some Australian kitkats back to the US for folks in the office to try. They're impressed with the mint ones, which are apparently better than the green tea flavored ones I picked up in Tokyo a while ago.
    11:00: Mikal shared: JetBlue To Charge $7 For Pillow-Blanket Kit [Jet Blue]
      Wow. Now JetBlue is charging customers for a pillow and blanket. Coupled with fees for checked bags and the TSA, I am starting to feel like I'd rather walk places than fly.



    Tags for this post: blather

posted at: 11:00 | path: /blather | permanent link to this entry


Sun, 03 Aug 2008



Stainless Steel Visions




    ISBN: 0099925605
    Legend paperbacks (1994), Edition: New Ed, Paperback, 256 pages
    LibraryThing
    A collection of Harry Harrison short stories that I read on the flight back from Australia to the US. Includes a Stainless Steel Rat story, as well as a story using the Deathworld characters (I haven't read any of the Deathworld books yet). Excellent read.

    Tags for this post: book harry_harrison stainless_steel_rat crime deathworld anthology


posted at: 20:36 | path: /book/Harry_Harrison | permanent link to this entry


Fri, 01 Aug 2008



Blathering for Friday, 01 August 2008

posted at: 02:00 | path: /blather | permanent link to this entry


Books read in July 2008

posted at: 00:00 | path: /book/read | permanent link to this entry


Thu, 31 Jul 2008



The Stainless Steel Rat Saves The World




    ISBN: 0727845373
    LibraryThing
    I thought this was quite weak -- certainly the weakest Stainless Steel Rat book. It was ok, but I wouldn't recommend it to someone who hasn't read any of the others first. Frankly the time travel premise is hard to believe, and the resolution at the end of the story is a total non-resolution.

    Tags for this post: book harry_harrison stainless_steel_rat crime


posted at: 01:32 | path: /book/Harry_Harrison | permanent link to this entry


Wed, 30 Jul 2008



Blathering for Wednesday, 30 July 2008

    01:30: Mikal shared: Aussie businesses ignore online customer inquiries - Business - iTnews Australia
      When I worked for an Australian software company, people in the US would often ask us why our web products lagged everyone else so much. To answer, I'd point them at target.com (a web commerce site), and target.com.au (a bunch of PDFs of scanned catalogs). They would gasp.

      The state of Australian online customer service is terrible in general it seems, based on the survey results discussed in this article.

    03:54: Its wierd how so many of the blog comment spams I seem to get this day don't even seem to have valid URLs in them. One day I'll bother to do an analysis of what these people are doing and try and work out the sense to it. I have quite a lot of data now, given that I have around 370,000 blog comments (almost all spam!) in my database.


    Tags for this post: blather

posted at: 03:54 | path: /blather | permanent link to this entry


Tue, 29 Jul 2008



Blathering for Tuesday, 29 July 2008

    04:15: Mikal shared: Reliable DNS Forgery in 2008: Kaminskys Discovery
      DNS attacks explained. An interesting read.

    04:27: Mikal shared: Starbucks axes 61 stores and 685 jobs - National - smh.com.au
      Wow. Starbucks is closing 61 of its 84 stores in Australia. I guess that's an admission of defeat. It seems there will be no Starbucks in Canberra soon.

    05:00: Mikal shared: The DNS Vulnerability
      Schneier's thoughts on the most recent DNS vulnerability. He's right that Kaminsky did the right thing, although I am not convinced that a security engineer would have predicted this problem. Heck, I'm sure lots of the vendors who needed to write a patch have such engineers. There is still room for luck in such things.

    23:00: Mikal shared: QBE shares hit by trader error
      Hmmm. It seems that perhaps trading systems should have some sort of safeguard? I wish I'd had some buy orders for random low prices in...



    Tags for this post: blather

posted at: 23:00 | path: /blather | permanent link to this entry


The Stainless Steel Rat's Revenge




    ISBN: 0441779123
    LibraryThing
    I'm frantically trying to reduce the size of the mound of books I need to take back to the US at the end of our annual trip back to Australia. As part of this I read the Stainless Steel Rat's Revenge last night and on a flight to Sydney this morning. That's not in any particular rush though -- the Stainless Steel Rat books are pretty light reading.

    I didn't like this one as much as the others, to be honest. It wasn't as humorous, and seemed to lag a little in the middle. It kept me occupied on the plane though.

    Tags for this post: book harry_harrison stainless_steel_rat crime


posted at: 20:46 | path: /book/Harry_Harrison | permanent link to this entry


Prelude To Foundation




    ISBN: 0586071113
    LibraryThing
    Written well after the original Foundation novels, Prelude to Foundation is one of two prequels. The book ties in nicely with Robots and Empire, as well as the other robot novels.

    Its a good book too, with its 460ish pages only taking a few days to read (I think I knocked it over in about four days). The story is sufficiently engaging that I kept looking up and discovering that I had read another 100 pages. There are also a couple of twists in the book (I count three in fact), only two of which I had figured out before the characters.

    A good book. Probably better than Robots of Dawn and Robots and Empire, and definitely better than Allen's Caliban trilogy (Caliban, Inferno, and Utopia.

    Tags for this post: book isaac_asimov robot foundation npr_top_100_sf


posted at: 04:10 | path: /book/Isaac_Asimov | permanent link to this entry


Mon, 28 Jul 2008



Hosting changes

posted at: 22:01 | path: /site | permanent link to this entry


Wed, 23 Jul 2008



The Stainless Steel Rat




    ISBN: 1857984986
    Gollancz (1997), Mass Market Paperback, 185 pages
    LibraryThing
    I'll keep this post short and sweet, like the book which took me three hours to read. This is the first Stainless Steel Rat book, and I think the best that I have read so far. Love it.

    Tags for this post: book harry_harrison stainless_steel_rat crime


posted at: 06:10 | path: /book/Harry_Harrison | permanent link to this entry


Tue, 22 Jul 2008



Pebble in the Sky




    ISBN: B000K052KS
    LibraryThing
    This is Asimov's first book, and not his best. Its set on an Earth which is radioactive (possibly because of a global nuclear war as supposed in the book, or perhaps because of events described in Robots and Empire). There is a galactic empire at this point, and overall humans have forgotten that they originated on Earth.

    (I find that a little hard to believe by the way. Whilst it is true that we have lost historical records from thousands of years ago, we do have some and archeology has constructed at least a partial history for humanity. Additionally, we now have pretty solid record keeping as a society, and it is left unexplained where all those records might have gone. Finally, there is no mention of techniques like carbon dating, which presumably could have been used to prove that Earth is indeed the original planet.)

    I did like the general gist of the book, although the conclusion was unsatisfying as well. Overall, not Asimov's best work.

    Tags for this post: book isaac_asimov foundation hugo award


posted at: 23:07 | path: /book/Isaac_Asimov | permanent link to this entry


Bunyip is dead

posted at: 18:51 | path: /anu | permanent link to this entry


Sun, 20 Jul 2008



Blathering for Sunday, 20 July 2008

posted at: 18:00 | path: /blather | permanent link to this entry


The Currents of Space




    ISBN: 0553293419
    LibraryThing
    "The Currents of Space is a 1952 novel by the American science fiction author Isaac Asimov. It is the second of three books labelled the Galactic Empire series. Each occurs after humans have settled many worlds in the galaxy after the second wave of colonisation that went beyond the Spacer worlds and before the era of decline that was the setting for the original Foundation series. Each of the three is only loosely connected to other works, being separated by a fairly large gulf of centuries."


    That's the description from Wikipedia. This book is completely separate from The Stars Like Dust, in that while it might use the same universe the characters are entirely different and there quite a distance between the books in the time line of the series. Really, they're separate novels entirely.

    I found it quite hard to get into this book, and I don't think it is as well written as The Stars Like Dust. The problem might have been that I found it pretty hard to care about Rik, and the Florina / Sark division was a bit shallowly constructed. Its hard to imagine a segregation system which is as completely effective as the one described. How did it ever occur? Why didn't people fight back? Did people never randomly fall in love with the "wrong" set of have affairs?

    I persevered however, and the second half of the book is much better that the first, including some twists I didn't expect. Overall an ok book, but not fantastic.

    Tags for this post: book isaac_asimov foundation


posted at: 04:44 | path: /book/Isaac_Asimov | permanent link to this entry


Sat, 19 Jul 2008



Blathering for Saturday, 19 July 2008

    17:00: Mikal shared: BBC NEWS | Americas | US slips down development index
      "Americans live shorter lives than citizens of almost every other developed nation, according to a report from several US charities.The report found that the US ranked 42nd in the world for life expectancy despite spending more on health care per person than any other country.Overall, the American Human Development Report ranked the world's richest country 12th for human development."



    Tags for this post: blather

posted at: 17:00 | path: /blather | permanent link to this entry


Thu, 17 Jul 2008



Blathering for Thursday, 17 July 2008

posted at: 19:45 | path: /blather | permanent link to this entry


Tue, 15 Jul 2008



Blathering for Tuesday, 15 July 2008

    15:30: Mikal shared: Teenager sets new Rubik's Cube world record | NEWS.com.au
      Have I mentioned that my sister in law is Australia's fastest rubiks cube solver? She's very good -- I can nearly solve the first to layers of the cube after only a few hours of tuition!

    17:45: Mikal shared: ABC Canberra - Free public transport worth re-considering: Stanhope
      Canberra has a problem with not enough people using the bus network. That's probably because various governments over the years have cut back the service to the point where its kind of useless. I have a bus option to the city every 30 minutes on a weekday morning, but have to wait an hour for a bus on the weekend to get to the closest town center. I think Stanhope is on the right track by examining pricing for the bus system, but he also needs to roll out a more useful network as well. Oh, and light rail would be nice too. kthxbye.

    21:45: Mikal shared: IPv6 routing history
      A graph of the number of unique prefixes in the IPv6 BGP "cloud". This is a measure of the number of networks currently using IPv6.

    21:45: Mikal shared: Default-free zone - Wikipedia, the free encyclopedia
      I hadn't heard the term DFZ (Default Free Zone) until recently, and today decided it was time to find a good definition. I think this one is as good as any, and its an interesting read.

    23:15: Mikal shared: Chinese restaurant called TRANSLATE SERVER ERROR
      I dream of one day eating at that most remarkable of dining establishments: "translate server error".



    Tags for this post: blather

posted at: 23:15 | path: /blather | permanent link to this entry


Mon, 14 Jul 2008



Blathering for Monday, 14 July 2008

    15:45: Mikal shared: Help Mythbusters recreate Archimedes' death ray
      Want to be involved with a Mythbusters shoot and can get yourself to the Bay Area? Read this.

    15:45: Mikal shared: Preoccupations - Expressing Passions (Just Not Your Own) - News Analysis - NYTimes.com
      An interesting New York Times article by a ghost writer -- a person who writes books that other people take most of the credit for. I guess people feel uncomfortable with this sort of thing because it feels intellectually dishonest, but then again, there are lots of other examples of places where the person at the front of the stage isn't the major contributor. Examples I can think of include acting on stage (there are dozens of other people involved), or race car driving (where the engineers to build and maintain the cars a vital, but never discussed). An interesting read.



    Tags for this post: blather

posted at: 15:45 | path: /blather | permanent link to this entry


Sun, 13 Jul 2008



Blathering for Sunday, 13 July 2008

posted at: 22:00 | path: /blather | permanent link to this entry


MythNetTV release 3

    New things in this release:

    • Started work on an RSS exporter for MythTV recordings
    • DX50 doesn't need transcode
    • Tweaked supported video mime types so "Tikibar TV" and "Ask a ninja" work
    • First cut of Bittorrent support
    • Schema upgrades
    • Archive recordings as well as importing them
    • Improved --list output
    • Subtitle restrictions on download as well
    • Make subscriptions inactive instead of deleting them (for unsubscribe)
    • Better filename safening
    • More markread options
    • Refactored code to be more sane
    • Don't archive things imported from the archive location
    • Bulk import (--importmanylocal)


    This version was a long time coming. Sorry about that. You can grab your copy here.

    Tags for this post: mythtv mythnettv release

posted at: 21:36 | path: /mythtv/mythnettv | permanent link to this entry


Sat, 12 Jul 2008



The Stars, Like Dust




    ISBN: 0449023737
    LibraryThing
    This is a short book, and quite different from the other Asimovs I've read recently. Specifically it doesn't have any robots, and isn't a murder mystery. Its also set about 1,000 years into the future from the previous Robot Mysteries. Its a good book, with a style similar to the original Robot Mysteries (distinct from the newer ones written 40 years later). Its short and an easy read. I liked it.

    Update: I originally thought the space between the Robot Mysteries and this book was much bigger than apparently it is meant to be. According to Wikipedia's page on the empire series:

    "Some sources further this argument by asserting that The Stars, Like Dust takes place about one thousand years following the events of Robots and Empire."


    Tags for this post: book isaac_asimov foundation


posted at: 03:15 | path: /book/Isaac_Asimov | permanent link to this entry


Fri, 11 Jul 2008



Blathering for Friday, 11 July 2008

posted at: 03:45 | path: /blather | permanent link to this entry


Thu, 10 Jul 2008



Dealing with remote HTTP servers with buggy chunking implementations

    HTTP 1.1 implements chunking as a way of servers telling clients how much content is left for a given request, which enables you to send more than one piece of content in a given HTTP connection. Unfortunately for me, the site I was trying to access has a buggy chunking implementation, and that causes the somewhat fragile python urllib2 code to throw an exception:

      Traceback (most recent call last):
        File "./mythingie.py", line 55, in ?
          xml = remote.readlines()
        File "/usr/lib/python2.4/socket.py", line 382, in readlines
          line = self.readline()
        File "/usr/lib/python2.4/socket.py", line 332, in readline
          data = self._sock.recv(self._rbufsize)
        File "/usr/lib/python2.4/httplib.py", line 460, in read
          return self._read_chunked(amt)
        File "/usr/lib/python2.4/httplib.py", line 499, in _read_chunked
          chunk_left = int(line, 16)
      ValueError: invalid literal for int(): 
      


    I muttered about this earlier today, including finding the bug tracking the problem in pythonistan. However, finding the will not fix bug wasn't satisfying enough...

    It turns out you can just have urllib2 lie to the server about what HTTP version it talks, and therefore turn off chunking. Here's my sample code for how to do that:

      import httplib
      import urllib2
      
      class HTTP10Connection(httplib.HTTPConnection):
        """HTTP10Connection -- a HTTP connection which is forced to ask for HTTP
           1.0
        """
      
        _http_vsn_str = 'HTTP/1.0'
      
      
      class HTTP10Handler(urllib2.HTTPHandler):
        """HTTP10Handler -- don't use HTTP 1.1"""
      
        def http_open(self, req):
          return self.do_open(HTTP10Connection, req)
      
      // ...
      
        request = urllib2.Request(feed)
        request.add_header('User-Agent', 'mythingie')
        opener = urllib2.build_opener(HTTP10Handler())
        
        remote = opener.open(request)
        content = remote.readlines()
        remote.close()
      


    I hereby declare myself Michael Still, bringer of the gross python hacks.

    Tags for this post: python urllib2 buggy chunking

posted at: 22:27 | path: /python | permanent link to this entry


Blathering for Thursday, 10 July 2008

posted at: 22:00 | path: /blather | permanent link to this entry


The Stainless Steel Rat Sings The Blues

posted at: 05:16 | path: /book/Harry_Harrison | permanent link to this entry


Wed, 09 Jul 2008



Blathering for Wednesday, 09 July 2008

    05:19: Mikal shared: Stanhope's $1b light rail vision - Local News - News - General - The Canberra Times
      Awesome. Canberra has needed something better than buses between the towncenters for a while, and light rail seems like a great way to do it. I much prefer trains to buses, and catch a light rail service to work every day when I am in Mountain View.

    14:45: Mikal shared: US Airways Dumps In-Flight Movies, Not Enough Passengers Buying $5 Headsets [US Airways]
      It seems that US Airways is going out of its way to not be an attractive travel option. Have airlines really forgotten that things like a free coke and a movie during a five hour flight are there to help you pick their airline, and not just another opportunity for the airline to scrape up another two dollars? Look at Virgin America for example -- people pick them because of the great in flight entertainment, and then look at the price. The last two Virgin America flights I have been on have been full.

    15:00: Mikal shared: Android Installer simplifies installation on Nokia N810
      Its a shame that the N800 doesn't have a cell phone in it. That would make this a lot more useful than just a internet tablet with a fancy web browser. I guess if you want to start developing for android its worth a look though.

    15:00: Mikal shared: Angry, Intoxicated 1st Class Passenger Uses Emergency Slide So He Doesn't Have To Wait For Coach [Drunks On A Plane]
      Tee hee hee. Admit it, we've all wanted to taze the slow exiters in front of us who have never seen a plane before.

    21:15: Mikal shared: Simon Rumble's random thoughts
      Simon Rumble has a pretty thin skin for someone who is happy to blog about how other people's blogs are "crap". Its odd given his previous statements that he likes the slightly irrelevant things he finds on planets that he feels the urge to then critise people for those same irrelevant things he used to like. Surely he could have mentioned his filtered RSS feed without making value judgements about what others chose to put on their sites?

    23:15: Mikal shared: stillhq.com : Mikal, a geek from Canberra living in Silicon Valley
      Hearing about the pope's trip to Sydney next week and the pain it will cause for people working in the CBD made me remember this game that a friend wrote for me a few years ago. Perhaps it will cheer up someone in Sydney.



    Tags for this post: blather

posted at: 23:15 | path: /blather | permanent link to this entry


Sydney 1, Mikal 1

    I tried two more second hand bookstores yesterday. Books Buy and Sell no longer exists, it has been replaced with a sex toy store. I guess that says something about Sydney again. Gould's books was all I had remembered (big mounds of books everywhere), and was worth the visit. Its more organised than I remember, and I did eventually find the science fiction section. Thanks to those who recommended it in comments here. It is surprising that a second hand book store managed to have no paperback Isaac Asimov, with the four Harry Harrisons I bought make up for that I suppose.

    I took some photos of Gould's as well, but it turns out that the room full of PhDs can't figure out how to empty a micro SD card, so I will give up on putting them online for now.

    Tags for this post: book sydney

posted at: 16:36 | path: /book/Sydney | permanent link to this entry


Universal Feedparser and XML namespaces

    I've always found python's Universal Feedparser to be a bit hard to work with when using feeds with XML namespaces. Specifically, if you don't care about the stuff in the namespaces then you're fine, but if you want that data it gets a lot harder.

    In the past I've had to do some gross hacks. For example this gem is from the MythNetTV code:

        # Modify the XML to work around namespace handling bugs in FeedParser
        lines = []
        re_mediacontent = re.compile('(.*)<media:content([^>]*)/ *>(.*)')
      
        for line in xmllines:
          m = re_mediacontent.match(line)
          count = 1
          while m:
            line = '%s<media:wannabe%d>%s</media:wannabe%d>%s' %(m.group(1), count,
                                                               m.group(2),
                                                               count, m.group(3))
            m = re_mediacontent.match(line)
            count = count + 1
      
          lines.append(line)
      
        # Parse the modified XML
        xml = ''.join(lines)
        parser = feedparser.parse(xml)
      


    Which is horrible, but works. This time around the problem is that I am having trouble getting to the gr:annotation tags in my Google reader shared items feed. How annoying.

    In the case of the Google reader feed, the problem seems to be that the annotation is presented like this:

      <gr:annotation><content type="html">Awesome. Canberra has needed
      something better than buses between the towncenters for a while, and light rail 
      seems like a great way to do it. I much prefer trains to buses, and catch a 
      light rail service to work every day when I am in Mountain View.
      </content><author gr:user-id="09387883873401903052" 
      gr:profile-id="114835605728492647856"><name>mikal</name>
      </author></gr:annotation>
      


    Feedparser can only handle simple elements (not elements that contain other elements). Therefore, this gross hack is required to get this to parse correctly:

        simplify_re = re.compile('(.*)<gr:annotation>'
                                 '<content type="html">(.*)</content>'
                                 '<author .*><name>.*</name></author>'
                                 '</gr:annotation>(.*)')
      
        new_lines = []
        for line in lines:
          m = simplify_re.match(line)
          if m:
            new_lines.append('%s<gr:annotation>%s</gr:annotation>%s'
                             %(m.group(1), m.group(2), m.group(3)))
          else:
            new_lines.append(line)
      
        d = feedparser.parse(''.join(new_lines))
      


    Gross, and fragile, but working. This is cool, because it now means that I can apply more logic in the shared links that end up in my blather feed. I'm thinking of something along the lines of only shared links with an annotation will end up in that feed, and the blather entry will include the annotation. Or something like that.

    Tags for this post: python feedparser namespace hack

posted at: 05:22 | path: /python/feedparser | permanent link to this entry


Tue, 08 Jul 2008



Blathering for Tuesday, 08 July 2008

posted at: 00:28 | path: /blather | permanent link to this entry


Mon, 07 Jul 2008



Sydney redeems itself, if only a little

    On the way home from our awesome soup dumpling dinner in Sydney we dropped into Elizabeth's Bookshop entirely by accident. We'd deliberately walked a block offset from where we do normally to avoid boredom, and just got lucky.

    The second hand science fiction selection was good (not huge, but big enough to have some stuff I hadn't already got in the collection), but then again the store was quite small. Overall much better than Galaxy. Oh, and they had a huge range of erotic fiction for some reason. That might just say something about Sydney I suppose.

    Tags for this post: book sydney bookstore

posted at: 03:28 | path: /book/Sydney | permanent link to this entry


On the potentially sorry state of second hand science fiction book stores in Sydney

    Following a recommendation from Danny, I went and checked out Galaxy Books on York Street during one of my lunch times. The review says they have a good second hand section, and I am still hunting for some old Asimovs. Unfortunately, it was a waste of time. The second hand section must of only had about 100 books in it, and none of them were interesting. They did have an awesome new section though, but I figure buying books from the 1950s new is cheating.

    One book I might be forced to buy new is Asimov's The Complete Robot. I can't find it in any second hand bookstores that I've tried, and its not even available new in the US. Inexplicably though, it is easily available new in Australia. I am not sure why. It seems like a shame to spend nearly $25 on a book though, so I am not sure what I will do about that one yet.

    I will continue my hunt for a good second hand book store in the Sydney CBD. Any recommendations?

    Update: post title fixed after entirely deserved sarcasm from Steven.

    Tags for this post: book sydney second hand bookstore

posted at: 03:23 | path: /book/Sydney | permanent link to this entry


The Stainless Steel Rat Gets Drafted




    ISBN: 9994607332
    LibraryThing
    This book is another Stainless Steel Rat prequel, although it was written well after the original book. This book takes up from where A Stainless Steel Rat is Born ends -- with Jim arrested (of course), on a surprisingly low tech planet. Jim must then escape, and make his way in the universe once more. He has some unfinished business with some previous acquaintances if he finds a way as well...

    Harrison's writing is very easy to read, especially because his science fiction books always seem to require a good dose of suspension of disbelief, although some need more disbelief than others, so I read this book as a break from my quite a lot of Asimov. The book is 300 pages, but I managed to knock it over in a day, which I guess means I found it engaging.

    I liked this book. Its silly, and I'm not a better person for having read it, but it was entertaining.

    Tags for this post: book harry_harrison stainless_steel_rat crime


posted at: 03:20 | path: /book/Harry_Harrison | permanent link to this entry


Sun, 06 Jul 2008



v4l2 webcam software?

    I have a fancy Logitech 2 megapixel auto focusing webcam which uses the UVC USB class. The camera is well supported by the linux kernel (via the uvcvideo) module, but for some reason there still seem to be very few video4linux2 user space programs out there. Not even my own ancient code for video4linux works. So, before I have to go and port my code to v4l2, does anyone have a recommendation for a command line tool which will capture single frames from a UVC webcam for me?

    Tags for this post: linux uvc webcam

posted at: 23:55 | path: /linux | permanent link to this entry


Sat, 05 Jul 2008



Customisation of visible posts

    It occurred to me today that its not too hard to hide categories of posts on the HTML version of my site as well. The site has now been changed to have a link at the top of each post which offers to hide that category in the future. If that category is already hidden, then it offers instead to unhide it. The preference information is stored in a series of cookies, so is of course specific to a browser on a given machine. Because its all done in JavaScript, I have no logging of who is hiding what or anything like that. The cookies will expire after 30 days of non-use.

    Posts are never completely hidden however -- you will still see the title. This seemed a reasonable compromise and left me with somewhere to display the link offering to unhide the content. It also gives people a very brief summary of what they are missing.

    One wart is that when you change your hiding preferences the page is reloaded. This is because I had trouble finding a way to hide divs which worked on plenty of browsers and didn't require unique div ids for each post, which I would need to them iterate through for all posts in a given category. I'd love it if someone with higher JavaScript foo could tell me how to avoid the page reload, as I am sure it will be annoying for some.

    So there you go.

    Tags for this post: site javascript hide content preferences

posted at: 05:42 | path: /site | permanent link to this entry


Thu, 03 Jul 2008



Blathering for Thursday, 03 July 2008

posted at: 23:32 | path: /blather | permanent link to this entry


Another version of blather

    And while I'm thinking of all things blather, I've been meaning to post this new version of the blather code for a week or two. This version is just a small refactor which allows for random other python scripts to import blather.py and put messages into the stream of messages to be posted online.

    You can find the source here. A sample program to place messages into the blather stream is:

      #!/usr/bin/python
      
      import feedparser
      import os
      import shelve
      import sys
      
      plugins_dir = '%s/plugins' % os.getcwd()
      print 'Appending %s to module path' % plugins_dir
      sys.path.append(plugins_dir)
      import blather
      
      data = shelve.open('fetchshared.slf', writeback=True)
      ds = blather.DataStore()
      
      changed = False
      for feed in data['feeds']:
        data.setdefault('guids', {})
        data['guids'].setdefault(feed, [])
      
        print
        print 'Fetching %s' % feed
        d = feedparser.parse(feed)
      
        for ent in d.entries:
          if ent.guid not in data['guids'][feed]:
            post = ('Mikal shared: <a href="%s">%s</a>'
                    %(ent.link, ent.title))
            print post
            ds.AddMessage(post)
            data['guids'][feed].append(ent.guid)
            changed = True
      
      if changed:
        ds.Save()
      data.close()
      


    Too easy.

    Tags for this post: blather release

posted at: 00:50 | path: /blather | permanent link to this entry


Site janitorial stuff

    So, this whole kerfuffle about microblogging prompted me to hack the perl I use to generate this site to provide a blather-free version of my RSS feed. As a side effect I fixed a bug which was generating too many versions of the various RSS files I have on the site, thus removing 11,000 unneeded RSS files. That seemed like a lot to me (although not a lot of disk, just a lot of small annoying files).

    There is of course the possibility that I removed too many, or broke something else in the process. Let me know if you notice anything.

    Tags for this post: site janitorial

posted at: 00:02 | path: /site | permanent link to this entry


Wed, 02 Jul 2008



Blathering for Wednesday, 02 July 2008

posted at: 22:45 | path: /blather | permanent link to this entry


Commenting more when I said I wasn't going to is my prerogative!

    Ok, so I get to make up the rules. I had a spare few minutes, and it turns out its not too hard to generate flavours without certain tags in my extremely hacked version of Blosxom. There is therefore now a non-blather version of the RSS feed for this site. If you care that much about this issue, then you can always change the feed you subscribe to. For shared aggregators like planet's, I guess its up to the site admin as to if they want to use the filtered feed or not.

    So there you go.

    Tags for this post: blather stupid blog fights

posted at: 21:28 | path: /blather | permanent link to this entry


Tim and Andrew