Content here is by:
Michael Still
mikal@stillhq.com

All my Open Source projects
Extracted view of CVS
Home
Site map

See recent comments. RSS feed of all comments. Raw dump of all comments for research purposes.

ImageMagick book
MythTV book








Sun, 31 Dec 2006



External monitor resolution on Os X

    The Macintosh users always seem so much better than other OS users for answering dumb questions here, so I have high hopes...

    Basically the only thing I need a Mac for these days is doing copy and technical edits on book chapters. The revision control and change tracking in OpenOffice is unfortunately not quite there yet, so it's not possible on Linux. However, I just got the heebies with Catherine's tiny 1024x768 internal LCD on her 12 inch ibook, and tried to plug in my spare LCD monitor.

    Now the display is automatically mirrored, which is nice, but it's at 1024x768 on the external monitor as well. This sucks because the monitor is a LCD and only properly displays at 1280x1024. Some quick surfing seems to imply that this is standard behaviour on Os X, which sucks.

    So, does anyone have a quick fix which wont destroy Catherine's machine? I don't mind running the external monitor with fewer colours, or not in mirrored mode if that helps. It just seems to me that the display control panel is surprisingly lacking in options.

    Tags for this post: macintosh(S) osx(S)

posted at: 12:56 | path: /macintosh/osx | permanent link to this entry


Video4Linux 2 webcam applications?

    Hi, I've spent some time poking around for a video4linux 2 webcam application which doesn't suck. All I want is something very simple -- grab a frame from the specified camera and dump it to a file on disk in a format I can use. I don't want a config file. I don't want a web server. I don't want it to scp the file somewhere. Just grab a frame.

    I can't find such a thing. I have some code myself which nearly does the job, but it's video4linux 1 and needs a rewrite. Should I just give in a write the code myself?

    Tags for this post: blog(S) toys(S)

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


Sat, 30 Dec 2006



They all use MySQL...

    I was walking down Mountain View's Castro Street this afternoon, and noticed that meebo is advertising for developers and system admins. Interestingly, they seem to match the design pattern used by pretty much every web 2.0 company I have seen around here (except MySpace): linux, MySQL, and Ajax. So, there you go.

    Tags for this post: mysql(S)

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


Fri, 29 Dec 2006



Renaming mbot to gtalkbot

    I'm renaming my mbot to gtalkbot to stop if clashing with mbot.

    Source for 1.0 is now here.

    Tags for this post: gtalkbot(S)

posted at: 19:39 | path: /gtalkbot | permanent link to this entry


Thu, 28 Dec 2006



Want HDTV but only for US free to air?

    The HDHomeRun seems to be a pretty useful device. There are a bunch of people on the MythTV mailing lists trying these things out at the moment. It's a networked dual tuner HD set top box. Kinda cool.



    Now, if only someone would come up with a digital cable card which works with MythTV...

    Tags for this post: mythtv(S)

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


Tick of death

    It's times like this that I don't mind that people make fun of me for using RAID 1+0 on my home server. One of my Seagate 400gb PATA drivers emits a ticking noise and is no longer detected by any of my Linux boxes. I don't think that's a good sign for the data on that machine. Luckily, the RAID array can run in degraded mode for a bit until a new disk arrives.

    Now to find out how much Seagate warranty support sucks.

    Tags for this post: blog(S) toys(S)

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


In Phoenix yet again

    You might have noticed that last week we were in Phoenix again. That meant yet another trip to to firing range, although this was also James' first trip to the range. The new addition to the collection of weapons fired was a Romanian AK-47:



    It was surprisingly accurate, but has a definite recoil. Most of us ended up bruised, except for James. It turns out that James is some sort of automatic weapon idiot savant, as he also ended up with a really nice grouping at the end. The history of the AK-47 is also interesting if you're unaware but into such things.

    We also fired the Remington Model 870 pump action 12 gauge shot gun (slug gun variant) again:



    As well as the seemingly traditional Magnum 50 calibre model 500:



    And then the Springfield 1911 45 calibre:



    Tags for this post: guns(S)

posted at: 12:48 | path: /guns | permanent link to this entry


As pointed out by a friend at work

    Trends for "return gift":

    .

    Who would have thought that people only return gifts at Christmas?

    Tags for this post: link(S)

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


Microsoft taints bloggers with free laptops... or, whiney bitches win again!

    A guy I know from Canberra (he was a consultant and we were a consultee last time we met, please note that the consultation was at a Microsoft centric ISV, and paid for by Microsoft. Then again, we never took any of the advice because our management at the time still feel that the Internet is a passing fad and wouldn't know a current trend if it jumped out and bit them) scored a free laptop from Microsoft.

    The premise is that it's a 64 bit laptop running Vista, and he's meant to be so astounded by it's coolness that he blogs all about it. There no risk of that occurring, he's pretty much in Microsoft's pocket anyways.

    Then again, he's so much in Microsoft's pocket that he's a MVP. There is no perception of bias there -- everyone knows he works for a Microsoft backed consultancy, is an MVP, and gets back rubs from Frank Arrigo, Microsoft Australia's head developer back rubber (full disclosure again, Frank used to be my assigned Microsoft ISV buddy -- apparently that meant that we both took it in turns to ignore email from each other).

    Back to the story. So, some other bloggers noticed that they hadn't got laptops for free, perhaps because they are whiney bitches, and raised a stink. Unfortunately Microsoft doesn't have the courage of their convictions, and have now asked those bloggers to get rid of the machines after writing some reviews.

    Get a grip people. Microsoft, you should be ashamed of backing down. Blogosphere, you should investigate the perception of bias a bit more before making random accusations. Frank, where's my back rub?!?

    Anyways, here's what I said in a comment on Mitch's blog:

    Mitch,

    (long time no see).

    I'd kinda assumed that the machine was a standard "kick back" to Microsoft MVPs -- you are still one, right?

    While I wont say I'm a big Microsoft supporter (I work for a competitor, have been using Linux for the last 10 years, and am finally Windows free), it seems to me that it's fair enough for Microsoft to provide training resources to MVPs. Don't you also get flights to Redmond, copies of MSDN, a back rub from Frank?

    It seems to me that most of the complaining comes down to jealousy. Especially if you disclosed the machine as a gift.

    Oh, and Microsoft taking it back again (or dictating how to dispose of the machine) just leaves me with the impression that Microsoft lacks the courage of their convictions. Surely if individual bloggers thought there was a tainting issue they are big enough to resolve that for themselves without a mandate from above?

    Mikal


    And unlike Microsoft, I stand by my opinion.

    Tags for this post: blog(S)

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


Wed, 27 Dec 2006



Reactive economies?

    The other day while in Costco (for the foreigners, think Bunnings or some other hardware warehouse, but for food), I was graced with this conversation at the checkout, between two Costco employees:

    e1: Where the hell is e3?
    e2: Oh, we didn't meet our sales target yesterday, so they cut hours today.
    e1: So he's not coming in at all?
    e2: Nup

    Apparently Costco works out their staffing based on a "budget for the day" which takes into account todays sales target, expected customer load, and whatever they have to "make up" from previous missed targets.

    While there is nothing wrong with that, it must suck to be an employee in that environment. I can't imagine not knowing how much work I would have day to day. I used to be a casual, but our rosters were fairly static and worked out weeks in advance. I guess that Australia is headed down this path with the new industrial relations laws as well.

    That's not why I finally got around to writing this though. It occurred to me this morning that being able to lay off people instantly based on a micro assessment of the economy must also lead to very reactive economies, which are more vulnerable to downturn. If Costco couldn't lay people off instantly, then the billion dollar company would act as a cushion between small variations in economic state and the rest of the economy. Without that cushion, the laid off employee goes home and spends less (being unemployed for a day and all), which has a big knock on effect for the rest of the economy.

    I wonder if there are any studies on the probability of this being a problem compared with countries with more employee protection like Ireland? France probably goes too far for such a study, because the barrier to firing there is so high that it acts as a barrier to hiring as well.

    Tags for this post: travel(S) usa(S)

posted at: 08:48 | path: /travel/usa | permanent link to this entry


Tue, 26 Dec 2006



Jon's Nokia E61 WEP problems

    Jon is having problems getting WEP to work on his new Nokia but he doesn't have comments turned on so I can't reply to him on his blog. There are a couple of people at work who have claimed to get this working. It's not a work day today, but I will ping them tomorrow and see if I can get their instructions for you...

    Tags for this post: blog(S) toys(S)

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


Mon, 25 Dec 2006



Bloomberg: How to handle those annoyingly poor relatives at Christmas

    Resist the urge to impress family members with your purchasing power and instead give them only what they can afford to give you. Avoid luxury goods, for example, or other items redolent of leisure. Choose, instead, gifts that encourage productive labour. Hand tools, say, or cookbooks. Obviously your gift needs to say, ``I love you,'' but it also needs to say, ``The income gap within the family isn't going to be shrinking from my end.''


    A funny look at how to handle poor relatives at Christmas. Or at least I hope it's meant as humour.

    Tags for this post: link(S)

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


When in San Diego, visit the aircraft carrier

posted at: 09:40 | path: /travel/usa/california/sandiego | permanent link to this entry


Christmas morning

    Our kids seem to have the Christmas thing under control -- I remember waking my folks up at 5am to open presents, but our kids let us sleep in today until nearly 8:30am. They liked their presents heaps, so if you got something for them, well done. I'll put some pictures online later when I get a chance.

    Tags for this post: christmas(S)

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


Sun, 24 Dec 2006



Fedex sucks

    It turns out that seemingly no one in my apartment complex has got a delivery from Fedex in the last week or so... It would seem the local driver is simply too lazy to actually deliver packages. I guess that makes it a little hard for people who are waiting for those last few Christmas presents to arrive. In our case it was something medical, which makes it worse in my mind.

    Oh, and guess what? There's no refund process from Fedex, even though they have failed to deliver on their product (three day shipping, we've waited six so far). So, no more Fedex for me.

    Tags for this post: blog(S)

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


Very behind in email land

    Excuses as to why I haven't read email from others, or blog posts, in a while:

    • It's the holiday season, less time on the computer
    • Having the last couple of chapters of a book due
    • Getting ready for my three or four talks clustered around the linux.conf.au 2007 trip (the conference tutorial, one or two mini-conference talks, and a talk at SLUG)
    • A road trip to Phoenix via LA
    • Andrew being sick with something that looks a lot like Giardia for the last three weeks
    • It's the end of the quarter, gotta meet those goals!


    I'll catch up one day.

    Tags for this post: blog(S)

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


Fri, 22 Dec 2006



Tempe, AZ to Mountain View, CA in a day!

posted at: 14:29 | path: /travel/usa | permanent link to this entry


Remember to visit the Ronald Regan Presidential library

posted at: 10:34 | path: /travel/usa/simivalley | permanent link to this entry


Back on the road again

    James and I are driving back to Los Angeles today. We're not running any cameras at the moment, basically because while I now have two nice cameras with better optics and a nice external antenna for the EDGE card, I am having trouble finding a video4linux 2 web cam application. I've got some code which does the job, but it needs more hacking to make it usable, and frankly I'm more interested in getting home to the wife and kids for now.

    So, if anyone has a v4l2 web cam application recommendation, feel free to let me know and we can use it tomorrow for the LA to Mountain View drive.

    Tags for this post: travel(S) usa(S)

posted at: 08:58 | path: /travel/usa | permanent link to this entry


Sun, 17 Dec 2006



Los Angeles to Tempe

    Another video! This time from Los Angeles to Tempe, along the I-10 E, thru the desert and part a nuclear reactor.


    Tags for this post: travel(S) usa(S)

posted at: 20:50 | path: /travel/usa | permanent link to this entry


Sat, 16 Dec 2006



Driving from Mountain View to Los Angeles



    Today we stopped off at a house in Los Angeles where one of James' friends lives. We're on the way to Tempe, Arizona -- that's another six hours or so away tomorrow.

    Tags for this post: travel(S) usa(S)

posted at: 22:31 | path: /travel/usa | permanent link to this entry


Kern County oil wells on I-5

    Wow, and then we drove past a bunch of oil wells in the middle of an otherwise pleasant rural area called Kern County. I didn't realize that the Kern County area is responsible for two thirds of all oil produced in California. So there you go.

    There was even a 1950s truck next to one of the wells, which looked like it had just been abandoned one day from the look of the vegetation around it. If I wasn't going 130 kilometres an hour with the camera in the boot I would have taken a picture.

    Here is someone else's shot:



    Tags for this post: travel(S) usa(S) california(S)

posted at: 16:03 | path: /travel/usa/california | permanent link to this entry


Are you required to wear a seat belt in California? I thought you were...

    And then I saw a dude sitting in the back of a pickup, wrapped in many blankets, taking pictures as they drove down the road with his big SLR. Now that's dedication to getting a good shot. I would have a picture to show you, except that the OV511 driver oopsed, so the webcam wasn't working at the time. Damn Linux.

    Tags for this post: travel(S) usa(S)

posted at: 15:05 | path: /travel/usa | permanent link to this entry


Meh, 3G coverage with Verizon is patchy

    At least between Mountain View and LA the coverage is a bit patchy. We're back online again, but were off line for a couple of hours. I guess we should take the data from the GPS and provide a map of where Verizon failed to work for us...

    Tags for this post: travel(S) usa(S)

posted at: 13:48 | path: /travel/usa | permanent link to this entry


SQL Server is incompatible with Windows Vista?

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


On the road

posted at: 11:58 | path: /travel/usa | permanent link to this entry


Fri, 15 Dec 2006



Where in the world are Mikal and James

    Tomorrow we will be driving to LA. The day after we continue on to Tempe, Arizona for a week in the Phoenix office. Then we drive home.

    We got bored this afternoon, so you can track our movements here: http://blog.jdns.org/traveltracker.

    Tags for this post: travel(S) usa(S)

posted at: 21:44 | path: /travel/usa | permanent link to this entry


Thu, 14 Dec 2006



Dear lazy web: writing to the win32 event log in Python

    Dear Lazy Web,

    I have a need to be able to write to the MS Windows event log in Python. I must admit I don't know a lot about Python on Windows. Does anyone have a good short sample they would like to share?

    Hugs and kisses,
    Mikal

    Tags for this post: python(S)

posted at: 23:01 | path: /python | permanent link to this entry


This would be me pimping tcmalloc

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


Sat, 09 Dec 2006



Open Source document management from Alfresco

    An Alfresco employee (Alfrescoer?) posts about some of the interesting things they've learnt about being an open source company along the way. The comments about PR being more effective the cold sales calls is especially interesting. I argued for years at TOWER that we should be paying more attention to people searching for our product, instead of paying pretty boys to drive sports cars to sales presentations that everyone secretly hates. If your product has a good reputation and people can find it online, surely the customers will come to you?

    Tags for this post: link(S)

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


Thu, 07 Dec 2006



Craigslist personal ad styled on the Yahoo reorg

    Yahoo announced this week that they're going to reorg into three operating units. Some folks felt that they should reorg their dating in a similar manner to align synergies. From the Craigslist post:

    In order to maximize effectiveness for the upcoming holiday party, we have decided to restructure our organization into three major operating groups, each working together to secure dates for this important event. These three groups, Mission Girl, Marina Girl and SoMa Girl, will each target a specific audience segment


    More here.

    Tags for this post: link(S)

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


Mon, 04 Dec 2006



Windows Vista, now with nagging

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


Sat, 25 Nov 2006



Oh no! Revenge of the nerds remake cancelled!

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


Email subscription to comments

    Hey all. Yesterday I finally got around to implementing email subscriptions to comments on posts in my custom comment module code for Blosxom. I run a custom comment module because of the static generation mode I use for the site, which helps reduce load on Andrew's server.

    Email subscription to comments on a post that you have commented on is the default, but it is easy for the user to turn it off. If you post and opt for email, you'll also get an email when your own post survives moderation, which might be useful for some people.

    It will be interesting to see if willingness to be emailed a comment is an effective spam signal or not -- so far with a sample of six spam comments, it seems to be evenly split between the two options, which is interesting because it means some spam bots are smart enough to turn the check box off. Or are they using a POST without using my form at all?

    (That makes me wonder if moving the URL for the submission CGI might reduce spam...)

    If there is any interest in a public release of my uber crap perl code let me know, and I might try and find the time to clean it up.

    Tags for this post: blog(S) spam(S)

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


Fri, 24 Nov 2006



Solar panel reflection effects in satellite imagery

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


We're 80% complete. If only we could get the code to compile we would be done!

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


Hey, the Macintosh bloggers rock more than the Linux bloggers

    Hmmm, within 13.4 seconds of asking a half arsed question about Macintosh backups, I've got seven fully arsed answers (I mean that in a good way). Thanks everyone for your help.

    I have more questions though, mainly because I hadn't thought through the Macintosh backup options enough. What I want from the backup is an ISO image of a DVD which I can use to restore the machine if the disk dies. I will then do regular rsyncs of the data from the machine to the network, and use those to restore after using the DVD image to re-image.

    I need an ISO image though, because the Macintosh doesn't have a DVD burner. So, questions:

    Can Carbon Copy Cloner create ISO images instead of burning a DVD? If I rsync restore to a newly imaged machine, which bits are "the OS" and shouldn't be rsynced (or is it all safe?). Is a one off boot DVD enough, or should I do it every few months or something? Can cdrecord on Linux create a bootable Macintosh DVD?

    Further advice gratefully accepted.

    Tags for this post: macintosh(S) osx(S)

posted at: 11:28 | path: /macintosh/osx | permanent link to this entry


Book status

    I was thinking about the delivery status of the MythTV book as I was going off to sleep last night, and it occurred to me that the book is pretty much done. It's a good feeling.

    Stewart needs to finish poking a chapter on cut lists and so forth, with should be minimal effort, then he needs to work on chapters on MythWeb and VoIP (the VoIP one is half done). I need to write an updated introduction (the contents of the book have deviated from plan, although that always happens) as well as a short conclusion chapter, and help Stewart write a chapter about running the latest and greatest version of the code (and how to interact with the development community).

    Then we're done for the writing. That description can be summarised as "Stewart and I appear to both be about one and a half chapters away from finishing authoring".

    We of course still need to get through technical review, editorial review, replying to things those reviewers need changed, copy editing, page layout, and standing on one leg. We're getting towards the end of the project though.

    When I think about it that way, I guess I read the ImageMagick book around four or five times.

    You can pre order a copy of the MythTV book from Amazon for $20 US.

    Tags for this post: mythtv(S) book(S)

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


Thu, 23 Nov 2006



Macintosh backups

    Today appears to have become "home network admin day", and having done a bunch of work on the kid's Xbox, the kid's Ubuntu laptop, and my NSLU2 NAS device, I've moved onto my wife's Macintosh.

    I've upgraded her to the latest version of MythTV's front end so that she can watch TV again, but I also think it might be time to take a backup of her machine.

    What is the least horrible, free, way of backing up a Macintosh to a network share?

    Tags for this post: macintosh(S) osx(S)

posted at: 14:18 | path: /macintosh/osx | permanent link to this entry


Please report to the municipal hall of justice

    Catherine rang me while I was at work yesterday to let me know that I had a letter from the courthouse in Santa Clara country demanding (it doesn't make it sound all that optional) that I attend at the "Municipal Hall of Justice" for jury duty. Yes, they really called it that. Yes, I thought it sounded like something from a bad 1980's film too.

    So, I apparently can get out of the jury duty by proving to them that I am not a citizen. In fact, it's much more onerous to show that you're not a citizen than it is for many of the other escape clauses. They want a copy of my passport for example.

    The letter also doesn't make it particularly clear if being a non-citizen excludes me from jury duty or not. Oh, and the only contact details on the letter are a web site, and a 24 hour recorded message line. I don't know if I would serve or not if given the option -- I probably would.

    So, am I able to serve? Should I? Will the Demolition Man be at the municipal hall of justice? What about Judge Dredd?

    Tags for this post: travel(S) usa(S) california(S) mountainview(S)

posted at: 13:37 | path: /travel/usa/california/mountainview | permanent link to this entry


Wed, 22 Nov 2006



MySQL Camp

    Kynan and I came along to the MySQL camp, and thru a quirk of fate pretty much ended up running it (the person who was meant to be running it got injured on the first day and had to go off to hospital). In return we wrote the Google Code blog post about the event. Pretty cool, huh?

    Tags for this post: mysql(S)

posted at: 16:43 | path: /mysql | permanent link to this entry


Sun, 19 Nov 2006



Bloglines unreliable today

    I don't know what's happening at bloglines today, but that plumber screen was cute the first time, but it's pretty annoying now. Bloglines seems to have been up and down all day. Perhaps it's time to look into other online aggregators...

    Tags for this post: blog(S)

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


You know it's nearly time to go home

    You know it's nearly time to go home when you spend half an hour trying to find the authentication bug, when the problem is really that there are two characters transposed in the password you passed on the command line. Curse you up command history!

    Tags for this post: blog(S)

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


mbot: new hotness in Google Talk bots

    I've been meaning to release this for a while, but haven't had a chance in the last month or so. Therefore, instead of writing it up fully I'm just going to put it online and document it better when I get the chance.

    mbot is a Google Talk / Jabber bot engine, which works by loading plug ins (it calls them modules) which register verbs. These verbs are the first word on an instant message line, and are handed to the module when a registered verb appears (along with the rest of the line).

    The source download includes a sample module, which implements instant messaging access to the MythTV network control interface and on screen display functionality. mbot is in fact a refactoring of a bot which originally did just the MythTV bits without pretending to be modular.

    Mad props to PyXMPP for making the Google Talk / Jabber bits easy, the BZR folks for their excellent sample of how to do plug ins, Jaq for telling me my code sucks, and the Sydney office for giving me somewhere with quiet evenings to write code.

    Anyway, better documentation later when I get a chance.

    Tags for this post: gtalkbot(S)

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


mbot: new hotness in Google Talk bots

    I've been meaning to release this for a while, but haven't had a chance in the last month or so. Therefore, instead of writing it up fully I'm just going to put it online and document it better when I get the chance.

    mbot is a Google Talk / Jabber bot engine, which works by loading plug ins (it calls them modules) which register verbs. These verbs are the first word on an instant message line, and are handed to the module when a registered verb appears (along with the rest of the line).

    The source download includes a sample module, which implements instant messaging access to the MythTV network control interface and on screen display functionality. mbot is in fact a refactoring of a bot which originally did just the MythTV bits without pretending to be modular.

    Mad props to PyXMPP for making the Google Talk / Jabber bits easy, the BZR folks for their excellent sample of how to do plug ins, Jaq for telling me my code sucks, and the Sydney office for giving me somewhere with quiet evenings to write code.

    Anyway, better documentation later when I get a chance.

    Tags for this post: mbot(S)

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


Getting Google Talk working with PyXMPP

    Jacek Konieczny has written the wholly fantabulous PyXMPP, which implements Jabber clients and servers in Python. Now, Google Talk is a Jabber server, but it needs TLS support before it works. The code is all there, but the echobot example in the download (look in the examples directory) doesn't show you how. It's not that hard though -- here's the patch I needed to make it work:

      --- echobot.py  2005-12-26 07:25:55.000000000 -0800
      +++ echobot2.py 2006-10-25 04:25:02.000000000 -0700
      @@ -13,6 +13,7 @@
       
       from pyxmpp.all import JID,Iq,Presence,Message,StreamError
       from pyxmpp.jabber.client import JabberClient
      +from pyxmpp import streamtls
       
       class Client(JabberClient):
           """Simple bot (client) example. Uses `pyxmpp.jabber.client.JabberClient`
      @@ -28,8 +29,12 @@
       
               # setup client with provided connection information
               # and identity data
      +
      +        tls = streamtls.TLSSettings(require=True, verify_peer=False)
      +        auth = ['sasl:PLAIN']
               JabberClient.__init__(self, jid, password,
      -                disco_name="PyXMPP example: echo bot", disco_type="bot")
      +                disco_name="PyXMPP example: echo bot", disco_type="bot",
      +                tls_settings=tls, auth_methods=auth)
       
               # register features to be announced via Service Discovery
               self.disco_info.add_feature("jabber:iq:version")
      


    That makes the __init__ method for the client:

      def __init__(self, jid, password):
      
          # if bare JID is provided add a resource -- it is required
          if not jid.resource:
              jid=JID(jid.node, jid.domain, "Echobot")
      
          # setup client with provided connection information
          # and identity data
      
          tls = streamtls.TLSSettings(require=True, verify_peer=False)
          auth = ['sasl:PLAIN']
          JabberClient.__init__(self, jid, password,
                  disco_name="PyXMPP example: echo bot", disco_type="bot",
                  tls_settings=tls, auth_methods=auth)
      
          # register features to be announced via Service Discovery
          self.disco_info.add_feature("jabber:iq:version")
      


    Now the client works with a gtalk login:

      $ ./echobot2.py username@gmail.com supersecretthingie
      creating client...
      connecting...
      *** State changed: resolving srv (u'gmail.com', 'xmpp-client') ***
      *** State changed: resolving 'talk.l.google.com.' ***
      *** State changed: connecting ('72.14.253.125', 5222) ***
      *** State changed: connected ('72.14.253.125', 5222) ***
      looping...
      *** State changed: tls connecting  ***
      *** State changed: tls connected  ***
      *** State changed: fully connected  ***
      *** State changed: authenticated  ***
      *** State changed: binding u'Echobot' ***
      *** State changed: authorized  ***
      mikalstill@gmail.com/Gaim6734F991 has become available
      mikalstill@gmail.com/GaimD2ECF56B has become available(away): I'm not at my 
      desk at work at the moment. This is probably because I'm at a meeting or 
      racing electric scooters. If you IM me I will see the message when I get back.
      My roster:
      mikalstill@gmail.com "" subscription=both groups=
      Message from mikalstill@gmail.com/Gaim6734F991 received. Body: "Hello there". Type: "chat".
      disconnecting...
      exiting...
      $
      


    Too easy.

    Update: mbot is a Google Talk bot engine built on top of this.

    Tags for this post: google(S) gtalk(S)

posted at: 16:54 | path: /google/gtalk | permanent link to this entry


Oh, and no affection of SouthWest flights!

    (Yes, I'm catching up on CNN this morning, I have a headache, and it seemed like a good plan at the time).

    Clearly SouthWest want to be the only ones screwing their customers, don't you dare rest your head on your wife because that's a Federal offence they will pursue.

    Tags for this post: link(S)

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


Kynan's going to be in trouble...

    Kynan is an Australian I work with. He has an Australian flag in his cube, and it seems to me that he's skirting on the edge of crazy US laws if he happens to move to one of those jurisdictions. I can't imagine such laws passing in Mountain View, but I figure he deserves the warning anyways.

    Tags for this post: link(S)

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


How open source hackers party

    It was Leslie's birthday the other day (Leslie is the lovely lady who runs the Summer of Code), so James, Serge, Leslie, Lisa, (some lady whose name I can't remember right now), Ben, Alice and I set off for San Francisco in a stretch limo. We eventually made it to an apartment block part by 10:30 and had a great time for many hours. The apartment block party concept was interesting, and I hadn't seen it anywhere before. Basically, if you're going to have a party in an apartment you might as well stop pretending you're not going to disturb the neighbours, and invite them as well. In this case it was a block of four apartments all having parties at the same time, and you could wander in between them.

    It gets better though. Each party had a different feel, so when you got bored with one, you just wandered on to another. Another thing I liked about the party was that there was a bouncer, which stopped random people from just showing up.

    Anyways, a good night. I like limos. I should have more of those.

    Tags for this post: blog(S)

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


10-4 good buddy

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


Thu, 16 Nov 2006



Dave and Busters

    To celebrate a recent launch the team went out to an "adult arcade" called Dave and Busters today. An adult arcade is pretty much what it sounds like -- imagine a huge collection of arcade games, pool tables, bar, and restaurant. I of course had the most American thing I could find, which was a double cheese burger. It was sufficiently huge that I didn't really have dinner, just a light snack.

    Dave and Busters was cool, and I recommend having a look if you ever see one of them. The food is generic, but of a reasonable quality and quite cheap compared to what you would pay in Australia. The games are expensive, but given I have basically never been to an arcade in Australia I don't know if that is run for the course or not.

    I had fun, and I suspect that James with his fifty fluid ounces of Guinness did too. Oh, thats 1.47867648 liters by the way.

    Tags for this post: travel(S) usa(S) california(S) santaclara(S)

posted at: 22:14 | path: /travel/usa/california/santaclara | permanent link to this entry


Mon, 13 Nov 2006



MySQL User Camp 2006

posted at: 19:46 | path: /conference/mysqlcamp06 | permanent link to this entry


Mon, 06 Nov 2006



Twinkie laptop

    A while ago an office mate and I were playing hide the twinkie in the office. I think it all started when yet another office mate brought some twinkies into the office, and I stole one for Flemming. He didn't want it, but was too polite to say no, so he hid it in my bike shoes when I was out of the office. Then, I "hid" it under his mouse. So he put it into the bracket that holds my desk phone up. So I taped it to the back of his monitors. You get the idea.

    I went away for a month recently (to Australia and all...), and he obviously missed me, because when I came back my desk was covered with twinkies. I needed to move some so I could type on my laptop, but where to put them?

    In the end I put them on my laptop lid, and off I went to a meeting. These are the pictures another sysop took at that meeting...

       

    Tags for this post: blog(S) pictures(S) 20061106(S)

posted at: 13:21 | path: /diary/pictures/20061106 | permanent link to this entry


Sun, 05 Nov 2006



Mi Pueblo

    The phrase "Mi Pueblo" is remarkably over used, which made web surfing for this one hard. For some time, Catherine has been doing some of our food shopping at the little Spanish grocery store in Mountain View. For the first time I went along yesterday (she normally goes when I am at work).

    Imagine a food shop full of kids running around the place, loud Mexican music playing, where you're the only ones speaking English. It was great fun... Like a very short trip to Mexico. Oh, and it's cheap. Really cheap. For example, half the price of Safeway for Sirloin steak, and most fruit.

    For some time I've been thinking I should learn some basic Spanish. I really should get around to doing that...

    Tags for this post: travel(S) usa(S) california(S) mountainview(S)

posted at: 10:38 | path: /travel/usa/california/mountainview | permanent link to this entry


Black listing words in comments

    I had yet another flood of comment spam over the last couple of days, so I spent some time last night writing some code to add word black listing to my IP based spam filtering. I also block over 100 IPs from posting to this blog now. It's helped a lot -- I am only black listing one word so far, and it's already blocked 200 spam posts...

    Some details from the dawn of time: 559 posts which survived moderation, 12,665 posts which were manually blocked, 20,119 posts which were automatically blocked based on the submitter's IP, and 256 blocked because of use of a banned word (since last night!). My blog comments now take 258 megabytes on disk.

    Tags for this post: blog(S) spam(S)

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


Tue, 31 Oct 2006



Getting ready to leave Sydney

    I haven't written much about the couple of weeks I've spent in Sydney. Nothing really exciting happened, apart from a trip home to see the kids (the Southern Tablelands were greener than I expected), a visit to CLUG another to SLUG, and a lot of time spent eating at restaurants on King Street in Newtown.

    I've decided that I like the Sydney train system, but not the trains themselves. The trains fall into several categories:

    • Millennium trains: the standard one would expect from any world class train system. There are hardly any of these, but they're the only ones with screens saying what station is next, and are in a good state of repair. It seems that they're mainly devoted to the tourist-centric airport runs.
    • Tangaras: about 15 years old I'm told. They're ok but nothing special.
    • Craptastics: these are the ones older than Tangaras but with retrofitted air conditioning. They must be about 30 years old from the look of things. They're crap.
    • Craptanics: imagine a Craptastic before it had the air conditioning retrofit. This is that train. At least you can open the windows, which helps let some of the reek of sweaty office workers and teenaged boys out. Some.
    • Stinktanic: if you get one of these, $DEITY hates you. It's a Craptanic, without windows that open. You're screwed. Enjoy the smell.


    So, that's about all I learnt of note in Sydney... To summarise: yay King Street, yay train system, boo actual trains except for Millenniums. Oh, and thanks to Grant and Lindsay for letting me stay.

    Tags for this post: travel(S) australia(S) sydney(S)

posted at: 15:29 | path: /travel/australia/sydney | permanent link to this entry


Go see the stilty building

posted at: 15:21 | path: /travel/usa/newyork/newyork | permanent link to this entry


Fri, 27 Oct 2006



A MythTV Jabber bot

    While I love my wife and kids to distraction, the distraction bit is real. Then again, I'm sure they have a counter argument that I tend to end up deep in thought, and which point you could probably push me off my chair and I wouldn't notice. Anyway, that's mostly beside the point. What is relevant is for the first time in nearly a year (since 18 November 2005 to be exact, but who is counting?) I'm alone. All alone.

    So, apart from watching the West Wing (which I haven't seen before, and is fantastic), sleeping in, and going to a party tonight, I am coding.

    What I'm writing is a follow on from my night hacking the other day, which was getting PyXMPP working with Google Talk. What I want is a bot which will take IM messages, and execute them using the MythTV front end. Oh, and it will display text using the on screen display if you ask nicely.

    So, does anyone have any thoughts on if that sort of thing is useful to them? I think it sounds useful to me, but perhaps I'm odd.

    Back to hacking.

    Tags for this post: mythtv(S)

posted at: 22:03 | path: /mythtv | permanent link to this entry


Wed, 18 Oct 2006



Hypothetically speaking

    Hypothetically speaking, if you needed to write a four hour long presentation (probably around 200 slides), shared with another speaker, and wanted to keep the style consistent and conforming with your approved corporate style, how would you do it?

    I'm thinking of some sort of intermediate language, which can then be used to generate slides from a template? Is there anything like that out there?

    Tags for this post: conference(S) lca2007(S)

posted at: 01:01 | path: /conference/lca2007 | permanent link to this entry


Tue, 17 Oct 2006



Slashdot, Google and Slack

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


AUUG 2006 Slack talk

    I gave a talk on how Google deploys software configuration to machines at AUUG 2006, and this reminded me to put the slide deck and paper online. So, here they are: slides in PowerPoint and PDF, as well as the conference paper.

    Update: Now with URLs that are correct! Sorry for the cut and paste error...

    Tags for this post: presentations(S)

posted at: 00:36 | path: /presentations | permanent link to this entry


Sun, 15 Oct 2006



Cat, bag, out

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


Sat, 14 Oct 2006



In Sydney!

    So now I am in Sydney, with Grant and Lindsay (old friends from Canberra). Newtown seems nice, in fact the house itself is very nice. However, the streets are pretty Victorian and built up, which is a bit oppressive. Then again, I am told there are a bunch of parks I haven't seen yet, so I'll delay any further comment until then. It appears it's only about 15 minutes on the train from here to work, which will be nice during the week. More news later...

    Tags for this post: travel(S) australia(S) sydney(S)

posted at: 00:47 | path: /travel/australia/sydney | permanent link to this entry


Beware the concierge at the Rendezvous Hotel!

    Heh, he cancelled my hire car booking without my knowledge or permission. Then when it was fixed, the car company tried to bill me $100 for cancelling. It took a while to sort out...

    Tags for this post: travel(S) australia(S) melbourne(S)

posted at: 00:44 | path: /travel/australia/melbourne | permanent link to this entry


MythArchive, best failure mode ever!

    So, you're creating a native archive with MythArchive. You've never run it before, so you just give it a go. It can't write data files to the place the videos are at, so what is it's failure mode? Well, how about trying to change permissions on every file on the machine? Lovely.

    2006-10-13 22:32:23.025 Options - createiso: 0, doburn: 1, mediatype: 3, erasedvdrw: 0
    2006-10-13 22:32:23.026 savedirectory: /
    2006-10-13 22:32:23.026 Saving files to : /
    2006-10-13 22:32:23.077 Archiving Christmas (/share/Movies/dvd/Christmas.avi), do delete: 1
    2006-10-13 22:32:23.108 Creating xml file for Christmas
    2006-10-13 22:32:23.170 Created videometadata element for Christmas
    2006-10-13 22:32:23.204 MythNativeWizard: Failed to open file for writing - /Christmas/Christmas.avi.xml
    2006-10-13 22:32:23.204 Archiving Easter (/share/Movies/dvd/Easter.avi), do delete: 1
    2006-10-13 22:32:23.204 Creating xml file for Easter
    2006-10-13 22:32:23.205 Created videometadata element for Easter
    2006-10-13 22:32:23.206 MythNativeWizard: Failed to open file for writing - /Easter/Easter.avi.xml
    2006-10-13 22:32:23.206 Archiving Thanksgiving (/share/Movies/dvd/Thanksgiving.avi), do delete: 1
    2006-10-13 22:32:23.207 Creating xml file for Thanksgiving
    2006-10-13 22:32:23.207 Created videometadata element for Thanksgiving
    2006-10-13 22:32:23.208 MythNativeWizard: Failed to open file for writing - /Thanksgiving/Thanksgiving.avi.xml
    chmod: changing permissions of `/': Operation not permitted
    chmod: changing permissions of `/lost+found': Operation not permitted
    chmod: changing permissions of `/var': Operation not permitted
    chmod: changing permissions of `/var/lock': Operation not permitted
    chmod: changing permissions of `/var/lock/apache2': Operation not permitted
    chmod: changing permissions of `/var/lock/evms-engine': Operation not permitted
    chmod: changing permissions of `/var/lock/lvm': Operation not permitted
    chmod: `/var/lock/lvm': Permission denied
    chmod: changing permissions of `/var/run': Operation not permitted
    chmod: changing permissions of `/var/run/dhclient.eth0.pid': Operation not permitted
    chmod: changing permissions of `/var/run/iptraf': Operation not permitted
    chmod: `/var/run/iptraf': Permission denied
    chmod: changing permissions of `/var/run/dhclient.pid': Operation not permitted
    chmod: changing permissions of `/var/run/sudo': Operation not permitted
    chmod: `/var/run/sudo': Permission denied
    chmod: changing permissions of `/var/run/console': Operation not permitted
    chmod: changing permissions of `/var/run/console/test:7': Operation not permitted
    chmod: changing permissions of `/var/run/console/mikal:7': Operation not permitted
    chmod: changing permissions of `/var/run/apache2.pid': Operation not permitted
    chmod: changing permissions of `/var/run/apache2': Operation not permitted
    chmod: changing permissions of `/var/run/apache2/cgisock': Operation not permitted
    chmod: changing permissions of `/var/run/crond.reboot': Operation not permitted
    chmod: changing permissions of `/var/run/crond.pid': Operation not permitted
    chmod: changing permissions of `/var/run/atd.pid': Operation not permitted
    ...snip...
    


    Tags for this post: mythtv(S)

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


Thu, 12 Oct 2006



Anyone for chicken?



    Tags for this post: link(S)

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


Tue, 10 Oct 2006



AUUG 2006 NSLU2 hacking talk

    I just gave my Linksys NSLU2 hacking talk at AUUG 2006 in Melbourne, Australia. You can find the slides online (powerpoint and PDF) as well as the paper (PDF).

    Tags for this post: presentations(S)

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


Mon, 09 Oct 2006



Qantas site

    Is it just me, or is the Qantas website crazy slow?

    Tags for this post: travel(S) australia(S)

posted at: 15:57 | path: /travel/australia | permanent link to this entry


Wed, 04 Oct 2006



Slides from the NSLU2 talk at LUV

    Here is the slide deck I used for the NSLU2 hacking talk when I gave it at LUV the other night: australia_melbourne_luv_nslu2.ppt.

    Tags for this post: presentations(S)

posted at: 21:14 | path: /presentations | permanent link to this entry


Melbourne

    This one took a couple of days to write up cause I am slack...

    I flew down to Melbourne for the night the other day to present a beta of the NSLU2 hacking talk at the Linux Users of Victoria LUG meeting. It's good that I did, because although the talk was ok, I don't think it was up to standard for a conference, and it gives me some time to work out what was wrong and then fix it up in time for the real deal. The main problem is that some of the demos took too long to work because I hadn't factored in reboot time for the devices.

    Dinner afterwards was really nice too, and I am actually quite impressed with the high level of clue at the LUG. There also seem to be some pretty cool MythTV hacking projects happening in Melbourne at the moment too.

    Oh, and thanks to Stewart for picking me up from the airport, thus saving me a $50 cab fare.

    Tags for this post: travel(S) australia(S) melbourne(S)

posted at: 21:11 | path: /travel/australia/melbourne | permanent link to this entry


Mon, 02 Oct 2006



In Canberra

      Lefty tighty, righty loosey


    When Frank used to drive in the US when we were on business trips, he'd mutter "Righty tighty, lefty loosey" as he turned corners to make sure he ended up on the correct side of the road. Now that I am back in Australia, I guess I need to mutter the opposite when I drive around. I was a little nervous when I drove for the first time since returning today, but it was actually really easy. It's good to know that I haven't broken my brain permanently. Or at least not on that front.

    Today was lunch with my mother and brother, a wander around the National Botanic gardens, and then a quick trip into the city. It's interesting that all of Civic seems to be taken over by the Canberra Center (a shopping mall), which now consumes something like three more city blocks than it used to. Met Steve Walsh for beer, and then off to my mother-in-law's for dinner.

    Now I am at dad's house, finishing up my talk for LUV tomorrow night. Wish me luck.

    Tags for this post: travel(S) australia(S) canberra(S)

posted at: 04:14 | path: /travel/australia/canberra | permanent link to this entry


Sat, 30 Sep 2006



Back in Canberra again

    Catherine, the kids and I have made it back to Canberra successfully. The flight from SFO to SYD was actually pretty good. I was dreading the kids screaming the whole way, but that completely didn't happen. They were a bit fidgety by the end, but so was I so that's fair enough.

    Met by various parental units at the airport, had a quick look around our old house (which dad now lives in), off the Jaycar for emergency electronics (power supplies for slugs and wall socket converters), and then a big lunch at my mother in laws.

    More details later.

    Tags for this post: travel(S) australia(S) canberra(S)

posted at: 21:50 | path: /travel/australia/canberra | permanent link to this entry


Fri, 29 Sep 2006



Travel details so far

    So, it looks at the moment like my travel schedule for the next month will look a bit like this:

    • 30 September: Arrive in Canberra
    • 3 October: Melbourne for LUV meeting
    • 4 October: Return to Canberra
    • 10 October: Melbourne for AUUG conference
    • 13 October: Sydney
    • 26 October: Canberra for CLUG meeting
    • 27 October: Return to Sydney, SLUG meeting
    • 2 November: Return to Mountain View


    Let me know if you're interested in meeting up when I am around.

    Tags for this post: travel(S) australia(S)

posted at: 15:50 | path: /travel/australia | permanent link to this entry


Thu, 28 Sep 2006



California coast, pigeon point lighthouse, Monterey acquarium

    Finally, we took Catie down the Californian coast. The trip was something along the lines of north on the 101 from home, take the Half Moon bay exit, go down through the hills to Half Moon bay until you hit the coast highway, and turn left. We stopped at a state beach, Pigeon Point lighthouse, and Monterey Bay acquarium.

                                           

    See more thumbnails

    Tags for this post: events(S) pictures(S) 20060923(S)

posted at: 10:50 | path: /events/pictures/20060923 | permanent link to this entry


AUUG 2006 talks

    I'll be giving two talks at AUUG 2006:

    • One on hacking Linksys NSLU2 NAS devices to run your own Linux
    • And another on how Google deploys software to clusters of machines


    I'll leave more details of the talks to a later post, but I thought I should post some pictures of my final preparations for the NAS device talk...

         

    Tags for this post: blog(S) pictures(S) 20060923(S)

posted at: 10:50 | path: /diary/pictures/20060923 | permanent link to this entry


A day at the zoo, and some SF Bay shots

    I've been really slack at putting these online. Here are some shots of our trip to San Francisco Zoo with Catie, and a side trip to the Golden Gate bridge on the way home.

                                           

    See more thumbnails

    Tags for this post: events(S) pictures(S) 20060922-sfzoo(S)

posted at: 10:11 | path: /events/pictures/20060922-sfzoo | permanent link to this entry


Wed, 27 Sep 2006



Back in Phoenix again

    ...so off to the firing range we went. We went to the same place as last time although this time the intention was to fire some rifles instead of handguns. That didn't work out as well as planned, because there wasn't space on the rifle range at the time. Therefore, we started out with the Smith and Wesson Magnum 50 calibre model 500, which is still an insanely heavy and over powered handgun. I was more accurate than last time though, which I suspect is because I knew more about what to expect from it. In case you've forgotten, here's a picture of that gun:



    Next was what I am going to call "the James Bond gun", a SIG Sauer 380 p232, which doesn't have a Wikipedia page. It's interesting to me that most of these gun companies have interesting histories. For example, SIG (Schweizerische Industrie Gesellschaft) is among other things a railway company, packaging and firearms company. Because of Swiss law, they weren't allowed to export guns, so they had to come to an arrangement with Sauer to make that happen. Hence the name. So, you can see how Bondy this one is:



    That was a nice gun, although not very accurate. Hardly any recoil. Next was the Glock Model 30 45 Calibre and it's friend the Glock Model 30 45 Calibre with compensation. I much preferred without compensation to be honest:



    Then the rifle range became available. Here I warmed up on what one gun manufacturer I found yesterday described as "the persuader" -- a Remington Model 870 pump action 12 gauge shot gun, the specific model I was using is the reinforced slug capable model. The slugs are pretty scary -- thing tennis ball sized hole in the target. Buck and game shot is less scary, but would certainly get some attention. The most interesting bit of this gun is it really looks like it should be in a terminator movie:



    And then finally, there were two versions of the civilian edition of the M-16, the AR-15. The first is the standard issue AR-15:



    To be specific, this is a Bushmaster AR-15, with forward assist. The other version was a carbine:



    The only real difference to note here is the collapse-able stock. This rifle is very complicated compared with the AK-47, which I didn't fire as they didn't have any ammunition at the time we were there. Then again, it's very accurate over much longer distances than any of the other guns I have fired so far.

    So, to finish up I've spent a little time with rifles now. I wouldn't consider myself an expert, and I still have no desire to actually own a gun, although Boing Boing does recommend it as a way of keeping your expensive stuff safe when you fly in the US. I think the bit I find really interesting here is the technical complexity (or sometimes brutal simplicity like in the case of the Springfield 1911) of these machines. I would agree with those who expressed an opinion last time that guns are designed to hurt people and are therefore bad, but I still think knowledge is a valid goal.

    Tags for this post: guns(S)

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


Sat, 23 Sep 2006



Why you should stand away from the car when the cop tells you to

    This man makes a rather compelling argument:



    Tags for this post: link(S)

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


Alan Cox's IBM ThinkPad explodes

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


Field trip 1: Jelly Belly factory

    The first field trip we made with Catie was to go off to the Jelly Belly factory in Fairfield, CA. They offer free tours, and it's about an hour and a half away from Mountain View.

    Overall, the factory was fairly boring, with lots of automated processes, and a bunch of workers shuffling ingredients. It would have been better if they allowed cameras in. Then again, the kids loved it, so perhaps I am just bored easily now...

    The best bit? I got to see a room with 20 million calories in it. It's the American dream it tell you!

                           

    Tags for this post: events(S) pictures(S) 20060922-jellybelly(S)

posted at: 11:16 | path: /events/pictures/20060922-jellybelly | permanent link to this entry


Tue, 19 Sep 2006



There is nothing of honour here

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


Sun, 17 Sep 2006



Catie's random shots around Mountain View

    Catie just had me empty the camera for her... Here are her random shots from the drive from Canberra to Sydney, flight to the US, around our house, and at Villa Montalvo (an arboureum in Los Gatos).

                                           

    See more thumbnails

    Tags for this post: events(S) pictures(S) 20060917-catie(S)

posted at: 21:37 | path: /events/pictures/20060917-catie | permanent link to this entry


AUUG 2006

    There seems to have been some controversy over the future of AUUG, mainly caused by delays in organising some aspects of the conference, and Greg Lehey sending some email asking if it is time to wind up AUUG. I thought I should just post and say that I am speaking at AUUG 2006 and certainly intend to attend.

    Tags for this post: conference(S) auug2006(S)

posted at: 21:26 | path: /conference/auug2006 | permanent link to this entry


Sat, 16 Sep 2006



When the Russians drilled 12 kilometres into the ground, they didn't reach China

    Beginning in 1962, the drilling effort was led by the USSR's Interdepartmental Scientific Council for the Study of the Earth's Interior and Superdeep Drilling, which spent years preparing for the historic project. It was started in parallel to the Space Race, a period of intense competition between the U.S. and U.S.S.R. The survey to find a suitable drill site was completed in 1965 when project leaders decided to drill on the Kola Peninsula in the north-west portion of the Soviet Union. After five more years of construction and preparations, the drill began to nudge its way into the ground in 1970.


    Damn Interesting Wikipedia.

    Tags for this post: link(S)

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


When Henry Ford imported America to export rubber

    Wow. A few interesting random stories tonight. It appears that Henry Ford wanted to pay less for rubber for his car tires. What's the logical solution? How about moving a piece of America to Brazil and trying to grow plants on rocks?

    ...by the late 1920s, the infamous automobile tycoon Henry Ford set out to break the back of this rubbery monopoly. His hundreds of thousands of new cars needed millions of tires, which were very expensive to produce when buying raw materials from the established rubber lords. To that end, he established Fordlandia, a tiny piece of America which was transplanted into the Amazon rain forest for a single purpose: to create the largest rubber plantation on the planet.


    Damn Interesting Wikipedia.

    Tags for this post: link(S)

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


Natural nuclear reactors

    In the early- to mid-1950s, Dr. Paul Kuroda from the University of Arkansas described the possibility of naturally occurring nuclear reactors lurking in the crust of ancient Earth... Such a reactor could not exist today, because too much of the Earth's natural U-235 has decayed… but a billion and a half years ago, there was enough of it around to make the idea plausible. In point of fact, it has since been discovered that it actually happened.


    Damn Interesting, Wikipedia.

    Tags for this post: link(S)

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


Fri, 15 Sep 2006



Quote

    (22:32:30) mikal-laptop: And then, days later, the highly developed carbon
    fibre sports Twinkie was stolen with my toilet paper holders that I got fair
    and square
    


    (Sorry, it seemed to make sense at the time).

    Tags for this post: work(S)

posted at: 07:01 | path: /work | permanent link to this entry


Mon, 11 Sep 2006



Nice write up of sci foo 06

    Forbes has a nice write up of Sci Foo 06:

    Many of the SciFoo “campers” were the people that other conferences are built around: Bill Joy, co-founder of Sun Microsystems (nasdaq: SUNW - news - people ) and inventor of Berkeley UNIX; Danny Hillis, co-founder of Thinking Machines, one of the first massively parallel supercomputers; Esther Dyson, long-time technology pundit and now venture capitalist; the Google duo, Larry and Sergey, along with their new compatriot, Larry Brilliant, who helped squash smallpox and is now running the billion-dollar Google Foundation; and Donald Hopkins, who directs health programs at the Carter Center and is leading the fight to eradicate guinea worm disease.


    Tags for this post: conference(S) scifoo06(S)

posted at: 12:56 | path: /conference/scifoo06 | permanent link to this entry


Sun, 10 Sep 2006



Joseph Pujol

    Joseph Pujol, a man of singular talent, was born in Marseilles, France in 1857. In his early youth it became clear that he was a natural entertainer, singing, dancing, and performing for his parents' house guests. He had a love for music, and over the years he became handy with a trombone, but it was a different wind instrument that led to his eventual fame and fortune.
    Damn interesting Wikipedia

    Tags for this post: link(S)

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


Wed, 06 Sep 2006



Looking for Women studying computing in Australia

    I was in an unrelated meeting at work today, and it came up that the first annual Anti Borg scholarship is closing it's application window in a few days. I thought it was worth mentioning here, in case there are people who are interested in applying. The basic deal is:

    Dr. Anita Borg (1949 - 2003) devoted her adult life to revolutionizing the way we think about technology and dismantling barriers that keep women and minorities from entering computing and technology fields. Her combination of technical expertise and fearless vision continues to inspire and motivate countless women to become active participants and leaders in creating technology.

    As part of Google's ongoing commitment to furthering Anita's vision, we are pleased to announce the 2006 Google Australia Anita Borg Scholarship. Through the scholarship, we would like to encourage women to excel in computing and technology and become active role models and leaders.

    Scholarships will be awarded based on the strength of candidates' academic background and demonstrated leadership. A group of female undergraduate and postgraduate student finalists will be chosen from the applicant pool. The scholarship recipients, selected from the finalists, will each receive a $5,000 AUD scholarship for the 2007 academic year.

    All finalists will be invited to visit Google Sydney in November 2006 for a networking retreat. It will include workshops with a series of speakers, breakout sessions and social activities. The visit is meant to be an opportunity for all finalists to meet and share their experiences.


    If that sounds interesting to you and you're a lady studying computing or a related field, then you should checkout the announcement page before it's too late.

    Tags for this post: google(S)

posted at: 11:23 | path: /google | permanent link to this entry


Tue, 05 Sep 2006



Does this stuff happen to other people?

    The other day I was riding to work. Pumping along. Nice and fast. I needed extra cooling, so I was riding with my mouth open. And then it happened.

    This post is aiming to be a rant you see, and I feel that I need to write it in my best ranty style. It seems to me that rants should be a little disjointed, have short sentences, and beat on one or two points for no apparent reason. Anyway, back to the rantage...

    So, I'm doing the right thing. The right thing! Riding to work! Exercise! Oh, did I mention the bad thing that happened yet? I guess not. A flying insect of some form (I'm not sure if it was a bee, wasp, or some strange American killer flying monster) flew into my mouth. My mouth! That thing I had open for extra cooling! Oh the humanity! Then, not surprisingly, it found that being in my mouth scared the shit out of it. I could have told it that would happen if it had asked, but no it didn't. My mouth!

    And then it stung me on the inside of my upper lip.

    I figure that sentence deserves a paragraph to itself, it's kind of the punch line after all.

    I've never been stung before. Let alone in my mouth. My mouth! I was at the top of a hill, leading into a tunnel. I had to keep riding for a minute or so until it was safe to stop. Did I mention that this was after I had been stung. In the mouth? By a flying insect? My mouth! Anyway, I ended up pulling over at the Microsoft car park, and pulling the stinger out of the inside of my lip (that's part of my mouth by the way). No help from any Microsoft employees of course. They were busy all planning the destruction of Google, and throwing chairs or something. I walked my bike to somewhere more obvious from the road, rang Catherine, and asked for rescue.

    All the time I was thinking: my mouth! My mouth!

    I'm running out of rant here. Sorry. I got to work in the end, having been rescued by Catherine and the boys. It took a few hours for the pain to mostly stop. Ice and anti-hystamines seemed to help. I was swollen for a day or so afterwards, and Matthew was convinced I was going to die. All the time I thought to myself: my mouth!

    Oh, a little more rant. And then one of the guys from work has the hide to send me this cartoon this morning:



    So, to summarise. I was riding to work, and got stung for the first time every by an insect. It was in my mouth and hurt a lot. Does this crap happen to other people, or just me?

    Tags for this post: bike(S)

posted at: 10:48 | path: /bike | permanent link to this entry


Fri, 01 Sep 2006



Catherine is now blogging

    It only took about 200 suggestions for it to start. Catherine is now blogging. Hopefully she wont ruin my reputation for being utterly fantastic by using actual facts about me.

    Tags for this post: blog(S)

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


FAA Considering Passenger Ban

    Seeking to address "the number-one threat to airline security," the Federal Aviation Administration announced Monday that it will consider banning passengers on all domestic and international commercial flights.


    http://www.theonion.com/content/node/27687.

    Tags for this post: link(S)

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


Sat, 26 Aug 2006



Dells are now explosives, and therefore not allowed on planes

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


A simple init script for SlimServer

    I've been playing with SlimServer recently, and needed a simple init script. Here's what I am using.

    Tags for this post: slimserver(S)

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


Mon, 21 Aug 2006



Playing with StumbleUpon

    I've been playing with StumbleUpon for the last couple of days. It's a browser tool bar which records which sites you like or don't like when you click on little buttons in the tool bar. This is then used to draw maps of sites you like, and then people with similar maps are used to suggest sites you might like. I've been using it as a way of recording all those interesting little sites I find around the place and don't want to forget the location of. It also offers a RSS feed for sites you have voted on, which I had hoped to integrate with this site. However, there is no "found date" information in the feed, which makes that impossible. So sad.

    Perhaps I should try del.ic.ios instead...

    Tags for this post: stumbleupon(S)

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


Sun, 20 Aug 2006



Creepy

    mary had a little Lamb Its fleece was white as snow; And as red as blood, and as black as the night, with the Corps Program, is for students. who have a disability or medical- condition is required to be submitted to the Storting. in the spring of the year. in the Shadows of Motown


    From Google Talk.

    Tags for this post: link(S)

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


Mountain View WiFi

    I'm sitting in a park in Mountain View at the moment, and the Mountain View Google WiFi works just fine. That's totally cool. It makes me think about all those random crazy projects I can now implement where a computer in my car needs an internet connection to work right. Hmmmmmm... I guess that's another good use for a slug.

    Tags for this post: google(S) wifi(S)

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


Sat, 19 Aug 2006



The dangers of bad automated translation

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


Nuclear rifle and almost-suitcase nuke

    Yes, I'm watching a documentary on wacking inventions. The documentary claims that the Davy Crockett nuclear rifle's effective range was smaller than it's lethal range, but Wikipedia does not agree. Oh, and what about the nuclear demolition backpack that was place by a human who could swim real quick.

    Tags for this post: link(S)

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


Nuclear car!

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


Fri, 18 Aug 2006



OMG, Kernel modules

    So, once you've Debian bootstrapped the NSLU2 slug, there isn't any way I can see to get new kernel modules for DebianSlug. However, you can download the unslung kernel modules, unpack them and use the kernel module from that. Unpacking looks like this:

      wget "http://www.student-zw.fh-kl.de/~pasc0010/debianslug/kernel-modules/
      kernel-2.6.16_preempt/kernel-module-raid1_2.6.16-rc4-git9-r0.0_ixp4xxle.ipk"
      ar -x kernel-module-raid1_2.6.16-rc4-git9-r0.0_ixp4xxle.ipk
      tar xvzf data.tar.gz 
      cd lib/modules/2.6.16/kernel/drivers/md/
      


    And there you go.

    Tags for this post: blog(S) toys(S) nslu2(S)

posted at: 22:16 | path: /diary/toys/nslu2 | permanent link to this entry


2,150 blog posts

    So, since 22 July 2000 I have made 2,150 posts on this blog.

    Tags for this post: blog(S)

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


Debian bootstrap complete

posted at: 11:53 | path: /diary/toys/nslu2 | permanent link to this entry


Belkin UPS working

    I've had some troubles with drivers for my Belkin 375VA USB UPS, not that I have tried very hard. I finally got it working today with the help of Will the intern (who rocks by the way) and only a little bit of effort, so I thought I should document it here so I know how to next time. First off, you need to install nut and nut-usb for Ubuntu (or whatever you're using):

      $ sudo apt-get install nut nut-usb
      


    Now, create a configuration entry for the USB UPS. This lives in /etc/nut/ups.conf, and mine looks like this:

      [belkinusb]
              driver = newhidups
              port = auto
              desc = "Belkin UPS, USB interface"
              vendorid=050d
      


    The vendor ID here needs to match the UPS, which for my Belkin is 050d:0375. Next, you need a upsd.conf file in the same directory. Mine looks like this:

      ACL all 0.0.0.0/0
      ACL localhost 127.0.0.1/32
      
      ACCEPT localhost
      REJECT all
      


    This stops hosts other than local host connecting to the daemon. Now, you need a upsd.users file, which defines what users can use the UPS:

      [admin]
              password = thisisnotthepassword
              allowfrom = 127.0.0.1
              actions = set
              instcmds = all
      


    Now, start the USB UPS driver. Let's start it in debug mode first...

      $ sudo /lib/nut/newhidups -u nut -D -a belkinusb
      
      rk UPS Tools: New USB/HID UPS driver 0.28 (2.0.3)
      
      debug level is '1'
      Detected a UPS: Belkin /Belkin UPS
      Using subdriver: Belkin HID 0.1
      Path: UPS.BELKINConfig.BELKINConfigVoltage, Type: Feature, Value: 120.000000
      Path: UPS.BELKINConfig.BELKINConfigFrequency, Type: Feature, Value: 60.000000
      Path: UPS.BELKINConfig.BELKINConfigApparentPower, Type: Feature, Value: 375.000000
      Path: UPS.BELKINConfig.BELKINConfigBatteryVoltage, Type: Feature, Value: 12.000000
      Path: UPS.BELKINDevice.BELKINModelString, Type: Feature, Value: 66.000000
      Path: UPS.BELKINDevice.BELKINModelStringOffset, Type: Feature, Value: 0.000000
      Path: UPS.BELKINDevice.BELKINUPSType, Type: Feature, Value: 1.000000
      Path: UPS.BELKINControls.BELKINTest, Type: Feature, Value: 0.000000
      Path: UPS.BELKINControls.BELKINAudibleAlarmControl, Type: Feature, Value: 2.000000
      Path: UPS.BELKINControls.BELKINDelayBeforeShutdown, Type: Feature, Value: 0.000000
      Path: UPS.BELKINControls.BELKINDelayBeforeStartup, Type: Feature, Value: 0.000000
      Path: UPS.BELKINPowerState.BELKINInput.BELKINVoltage, Type: Feature, Value: 1208.000000
      Path: UPS.BELKINPowerState.BELKINInput.BELKINFrequency, Type: Feature, Value: 599.000000
      Path: UPS.BELKINPowerState.BELKINOutput.BELKINVoltage, Type: Feature, Value: 1208.000000
      Path: UPS.BELKINPowerState.BELKINOutput.BELKINFrequency, Type: Feature, Value: 599.000000
      Path: UPS.BELKINBatterySystem.BELKINVoltage, Type: Feature, Value: 139.000000
      Path: UPS.BELKINBatterySystem.BELKINCharge, Type: Feature, Value: 100.000000
      Path: UPS.BELKINStatus.BELKINPowerStatus, Type: Feature, Value: 49152.000000
      Path: UPS.BELKINStatus.BELKINBatteryStatus, Type: Feature, Value: 16.000000
      Path: UPS.PowerSummary.iProduct, Type: Feature, Value: 20.000000
      Path: UPS.PowerSummary.iSerialNumber, Type: Feature, Value: 42.000000
      Path: UPS.PowerSummary.iDeviceChemistry, Type: Feature, Value: 68.000000
      Path: UPS.PowerSummary.iOEMInformation, Type: Feature, Value: 4.000000
      Path: UPS.PowerSummary.Rechargeable, Type: Feature, Value: 1.000000
      Path: UPS.PowerSummary.Charging, Type: Input, Value: 1.000000
      Path: UPS.PowerSummary.Charging, Type: Feature, Value: 1.000000
      Path: UPS.PowerSummary.Discharging, Type: Input, Value: 0.000000
      Path: UPS.PowerSummary.Discharging, Type: Feature, Value: 0.000000
      Path: UPS.PowerSummary.ConfigVoltage, Type: Feature, Value: 12.000000
      Path: UPS.PowerSummary.Voltage, Type: Feature, Value: 1208.000000
      Path: UPS.PowerSummary.Current, Type: Feature, Value: 0.000000
      Path: UPS.PowerSummary.CapacityMode, Type: Feature, Value: 2.000000
      Path: UPS.PowerSummary.RemainingCapacity, Type: Input, Value: 100.000000
      Path: UPS.PowerSummary.RemainingCapacity, Type: Feature, Value: 100.000000
      Path: UPS.PowerSummary.RunTimeToEmpty, Type: Input, Value: 120.000000
      Path: UPS.PowerSummary.RunTimeToEmpty, Type: Feature, Value: 120.000000
      Path: UPS.PowerSummary.DesignCapacity, Type: Feature, Value: 100.000000
      Path: UPS.PowerSummary.FullChargeCapacity, Type: Feature, Value: 100.000000
      Path: UPS.PowerSummary.WarningCapacityLimit, Type: Feature, Value: 30.000000
      Path: UPS.PowerSummary.CapacityGranularity2, Type: Feature, Value: 1.000000
      Path: UPS.PowerSummary.RemainingCapacityLimit, Type: Feature, Value: 30.000000
      Path: UPS.PowerSummary.CapacityGranularity1, Type: Feature, Value: 1.000000
      Path: UPS.PowerSummary.ACPresent, Type: Feature, Value: 1.000000
      Path: UPS.PowerSummary.ACPresent, Type: Input, Value: 1.000000
      Path: UPS.PowerSummary.BelowRemainingCapacityLimit, Type: Input, Value: 0.000000
      Path: UPS.PowerSummary.BelowRemainingCapacityLimit, Type: Feature, Value: 0.000000
      Path: UPS.PowerSummary.ShutdownImminent, Type: Input, Value: 0.000000
      Path: UPS.PowerSummary.ShutdownImminent, Type: Feature, Value: 0.000000
      upsdrv_updateinfo...
      upsdrv_updateinfo...
      
      =>Got 1 HID Objects...
      upsdrv_updateinfo...
      upsdrv_updateinfo...
      upsdrv_updateinfo...
      [snip]
      


    You get the idea. You can see here that it's found the UPS, and listed a bunch of information about the USB capabilities of the device. It will then sit in a loop forever checking the status for the device. Now, let's hit control C on that, and start it as a daemon...

      $ sudo /lib/nut/newhidups -u root -a belkinusb
      Network UPS Tools: New USB/HID UPS driver 0.28 (2.0.3)
      
      Detected a UPS: Belkin /Belkin UPS
      Using subdriver: Belkin HID 0.1
      


    Next, start the NUT UPS daemon...

      $ sudo upsd
      Network UPS Tools upsd 2.0.3
      Connected to UPS [belkinusb]: newhidups-auto
      Synchronizing...done
      


    Finally, you can use the command line tool to check on the state of the UPS...

      $ upscmd -l belkinusb@localhost
      Instant commands supported on UPS [belkinusb@localhost]:
      
      test.battery.start.quick - Unavailable
      test.battery.start.deep - Unavailable
      test.battery.stop - Stop the battery test
      beeper.on - Enable the UPS beeper
      beeper.off - Disable the UPS beeper
      load.off - Turn off the load immediately
      


    Unfortunately, the UPS doesn't support power cycling it's ports (which is what I was really hoping for), it only supports powering them down, and then waiting for human intervention, which is a shame. You can still shutdown the machine gracefully when things are going flat.

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


Thu, 17 Aug 2006



Recovering from a bad flash

    In the previous post I mentioned that I had a couple of bad experiences with the Debian installer and the Linksys upload web page. Luckily, it's really easy to recover from these. You do that with the magical RedBoot sequence (RedBoot is the boot loader the slug uses). Do something like this:

    Download the Linksys firmware from their web site. I tried this technique with the Debian installer image and it didn't work, so I only know it works with the Linksys firmware. Put that firmware on a web server on your local LAN which the slug will have access to. Then, connect to the boot loader. You do that by running this command...

      sudo arping -f 192.168.0.1; telnet 192.168.0.1 9000
      


    ...and then power cycling the slug. You'll end up with this:

      $ sudo arping -f 192.168.0.1; telnet 192.168.0.1 9000
      ARPING 192.168.0.1 from 192.168.0.100 eth0
      Unicast reply from 192.168.0.1 [00:0F:66:7D:1E:09]  10.717ms
      Sent 17 probes (17 broadcast(s))
      Received 1 response(s)
      Trying 192.168.0.1...
      Connected to 192.168.0.1 (192.168.0.1).
      Escape character is '^]'.
      == Executing boot script in 1.670 seconds - enter ^C to abort
      ^C
      RedBoot> 
      


    You have to be pretty quick on the draw here with the control C, as you have about 2 seconds to hit the sequence before the slug starts to boot normally instead. Now that you're logged in, you can download the new firmware:

      ip_address -h 192.168.1.100      The IP of the HTTP server
      load -r -v -b 0x01000000 -h 192.168.0.100 -m http /NSLU2_V23R25.bin
                                       Load the firmware file
      fis write -f 0x50060000 -b 0x01060000 -l 0x7a0000
                                       Write it
      reset                            Reboot
      


    And you should be back at the Linksys firmware. Note that you will still have the network settings that you had set before...

    Tags for this post: blog(S) toys(S) nslu2(S)

posted at: 18:29 | path: /diary/toys/nslu2 | permanent link to this entry


Slugging away

    I've been sitting on a Linksys NSLU2 for a few weeks until I time to hack at it. That time came today. The NSLU2 (called a slug) is a Linksys NAS device, which runs Linux natively. There are two USB 2.0 ports, and a wired ethernet port. The CPU runs at 133MHz normally, but that can be bumped up to 266MHz by removing a resistor from the board. Thanks for the NSLU2 Linux project you can also run your own distro on them, and do cool random things. Oh, and they're cheap at about $60 to $90 US.

    So, let's talk about the install of Debian on this thing. First off, you need to use the Linksys user interface to configure the network settings. I recommend a static IP, because otherwise it's going to use DHCP, which will make it hard to find later...

    There is a Debian installer option, which uploads firmware via the Linksys web interface, and then you run through the installation with ssh. That's a great idea, and I would be much more keen on it if it had worked. I gave it a couple of tries, and then declared it not working.

    Instead, I went for the DebianSlug image, which isn't as Debiany as the Debian installer option. Think ipkg instead of dpkg. You need to grab the firmware image, and a program called upslug2, for which you can find a source download at SourceForge. Do the normal source building thing with upslug2.

    Next, you need to grow another arm, and try the magical reset sequence, which is documented under the heading "Flashing the image" on this page. Then, run upslug like this:

      $ sudo ./upslug2 -i path to firmware image from before
      Password:
      LKG7D1E09 00:0f:66:7d:1e:09 Product ID: 1 Protocol ID:0 Firmware Version: R23V63 [0x2363]
      Upgrading LKG7D1E09 00:0f:66:7d:1e:09
          . original flash contents  * packet timed out
          ! being erased             - erased
          u being upgraded           U upgraded
          v being verified           V verified 
      
        Display:
          <status> <address completed>+<bytes transmitted but not completed>
        Status:
          * timeout occured          + sequence error detected
      
         7983f+000000 ...u------------------------------------------------------------
      


    This takes a while. Be patient, it probably hasn't crashed. Probably.

    The slug will reboot, and now you can ssh into it to play. Use the username root, and the password opeNSLUg. At this point it's a useful computer, and you can keep it like this if you don't mind using ipkg for everything and dealing with the rather limited set of packages available. If you need pointers on where to go from here, then I recommend you try a turnup help on the command line, and play with ipkg update and it s friends ipkg list and ipkg install. There are more instructions here if you want them.


    Tags for this post: blog(S) toys(S) nslu2(S)

posted at: 18:23 | path: /diary/toys/nslu2 | permanent link to this entry


I promised pictures of my targets

posted at: 11:51 | path: /guns | permanent link to this entry


Is it good when the directors of your former employer start suing each other?

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


Mon, 14 Aug 2006



Collect the whole set

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


Sun, 13 Aug 2006



I don't think of myself as photogenic

posted at: 18:06 | path: /conference/scifoo06 | permanent link to this entry


Sat, 12 Aug 2006



The unabomber

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


Starfish Prime

    As for Starfish Prime, because there is almost no air at an altitude of 400 kilometres, no fireball formation occurred, although manifold other notable effects did occur. About 1500 kilometres (930 statute miles) away in Hawaii, the Electromagnetic pulse created by the explosion was felt as three hundred street lights failed, television sets and radios malfunctioned, burglar alarms went off and power lines fused. On Kauai, EMP shut down telephone calls to the other islands by burning out the equipment used in a microwave link. Also, the sky in the Pacific region was illuminated by an artificial aurora for more than seven minutes. In part, these effects were predicted by Nicholas Christofilos, a scientist who had earlier worked on the Operation Argus high-altitude nuclear shots.


    High altitude nuclear testing leads to interesting EMP effects, which is something I have known about for a while. There is good coverage of Starfish Prime at Wikipedia and some US government hearings on the issue are interesting too.

    Wow. Did they really break a bunch of satellites?

    While some of the energetic beta particles had followed of the earth's magnetic field and illuminated the sky, other high-energy electrons became trapped in man-made radiation belts around the earth. There was much uncertainty and debate about the composition, magnitude, and potential adverse effects from this trapped radiation after the detonation. The weaponeers became quite worried when three satellites in low earth orbit were disabled. These man-made radiation belts eventually crippled one-third of all satellites in low orbit. Seven satellites were destroyed as radiation knocked out their solar arrays or electronics, including the first commercial communication satellite ever, Telstar.


    Those are from the Wikipedia page. There is also another Wikipedia page on high altitude nuclear testing which discusses Russian efforts as well, including this gem:

    The Soviets detonated four high-altitude tests in 1961 and three in 1962. During the Cuban Missile Crisis in October 1962, both the US and the USSR detonated several high-altitude nuclear explosions as a form of sabre-rattling. The Soviet tests were meant to demonstrate their anti-ballistic missile defences which would supposedly protect their major cities in the event of a nuclear war. The worst effects of a Russian high altitude test occurred on 22 October 1962 (during the Cuban missile crisis), in ‘Operation K’ (ABM System A proof tests) when a 300-kt missile-warhead detonated near Dzhezkazgan at 290-km altitude. The EMP fused 570 km of overhead telephone line with a measured current of 2,500 A, started a fire that burned down the Karaganda power plant, and shut down 1,000-km of shallow-buried power cables between Aqmola and Almaty [5]. The Partial Test Ban Treaty was passed the following year, ending atmospheric and exoatmospheric nuclear tests.


    Tags for this post: link(S)

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


Nature's write up of SciFoo day one

    By the time I got to the SciFoo venue at the Googleplex yesterday evening, it was already swarming with other great people, most of whom I knew only by name and reputation. After some food, beer and chat in the evening sun, the event proper kicked off with a brief introduction by Tim O'Reilly and me, some very brief (3 words each) self-introductions from the other 200-or-so attendees. Then one of the most fun parts of any Foo Camp: writing the agenda. Three huge bright white boards were soon littered with pen marks describing proposed sessions.


    http://blogs.nature.com/wp/nascent/2006/08/scifoo_friday.html

    Tags for this post: link(S)

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


SciFoo 2006

posted at: 13:56 | path: /conference/scifoo06 | permanent link to this entry


Wed, 09 Aug 2006



The wreck of the dominator

posted at: 12:49 | path: /travel/usa/california/losangeles | permanent link to this entry


This is why I went to MythTV

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


Mon, 07 Aug 2006



Updated nuvexport patch

    To get nuvexport working with MythTV User Jobs as a transcoder, I needed to further modify my nuvexport patch to handle the fact that there is no controlling terminal for user jobs. Here is the new patch:

      Index: export/ffmpeg.pm
      ===================================================================
      --- export/ffmpeg.pm    (revision 242)
      +++ export/ffmpeg.pm    (working copy)
      @@ -70,11 +70,11 @@
           # Audio only?
               $self->{'audioonly'} = $audioonly;
           # Gather the supported codecs
      -        my $data      = `$ffmpeg -formats 2>/dev/null`;
      +        my $data      = `$ffmpeg -formats 2>&1`;
               my ($formats) = $data =~ /(?:^|\n\s*)File\sformats:\s*\n(.+?\n)\s*\n/s;
               my ($codecs)  = $data =~ /(?:^|\n\s*)Codecs:\s*\n(.+?\n)\s*\n/s;
               if ($formats) {
      -            while ($formats =~ /^\s(..)\s(\S+)\s*$/mg) {
      +            while ($formats =~ /^\s(.{2})\s(\S+).*$/mg) {
                       $self->formats'}{$2} = $1;
                   }
               }
      @@ -286,7 +286,7 @@
               push @tmpfiles, "/tmp/fifodir_$$", "/tmp/fifodir_$$/audout", "/tmp/fifodir_$$/vidout";
       
           # Execute ffmpeg
      -        print "Starting ffmpeg.\n" unless ($DEBUG);
      +        print "Starting ffmpeg: $ffmpeg\n" unless ($DEBUG);
               ($ffmpeg_pid, $ffmpeg_h) = fork_command("$ffmpeg 2>&1");
               $children{$ffmpeg_pid} = 'ffmpeg' if ($ffmpeg_pid);
       
      Index: export/ffmpeg/PSP.pm
      ===================================================================
      --- export/ffmpeg/PSP.pm        (revision 242)
      +++ export/ffmpeg/PSP.pm        (working copy)
      @@ -170,7 +170,8 @@
               $self->{'ffmpeg_xtra'}  = ' -b ' . $self->{'v_bitrate'}
                                        .' -bufsize 65535'
                                        .' -ab 32 -acodec aac'
      -                                 ." -f psp -title $safe_title";
      +                                 ." -f psp -title $safe_title"
      +                                 .' -ar 24000';
           # Execute the parent method
               $self->SUPER::export($episode, '.MP4');
       
      Index: nuv_export/shared_utils.pm
      ===================================================================
      --- nuv_export/shared_utils.pm  (revision 242)
      +++ nuv_export/shared_utils.pm  (working copy)
      @@ -66,7 +66,11 @@
               $termios->getattr;
               $OSPEED = $termios->getospeed;
           };
      -    our $terminal = Term::Cap->Tgetent({OSPEED=>OSPEED});
      +   
      +    my $terminal = Null; # This is the controlling terminal
      +    eval {
      +        $terminal = Term::Cap->Tgetent({OSPEED=>$OSPEED});
      +    };
       
       # Gather info about how many cpu's this machine has
           if (-e '/proc/cpuinfo') {
      @@ -85,7 +89,16 @@
       
       # Clear the screen
           sub clear {
      -        print $DEBUG ? "\n" : $terminal->Tputs('cl');
      +        print $terminal;
      +        if ($DEBUG) {
      +            print "\n";
      +        }
      +        elsif ($terminal ne Null ) {
      +            $terminal->Tputs('cl');
      +        }
      +        else {
      +            print "\n";
      +        }
           }
       
       # Byte swap a 32-bit number from little-endian to big-endian
      Index: nuv_export/ui.pm
      ===================================================================
      --- nuv_export/ui.pm    (revision 242)
      +++ nuv_export/ui.pm    (working copy)
      @@ -380,6 +380,7 @@
                   $count++;
                   $query .= (' ' x (3 - length($count)))."$count. ".$exporter->{'name'};
                   $query .= ' (disabled)' unless ($exporter->{'enabled'});
      +            $query .= "\n\t\tErrors: @{$exporter->{'errors'}}\n" unless ($exporter->{'enabled'});
                   $query .= "\n";
               }
               $query .= "\n  q. Quit\n\nChoose a function: ";
      


    You can download the patch from here.

    Update: Isn't it always the way? Once I had the patch posted I bothered to get a new SVN version, and noticed that some of my patches had been included there. Here's a new version of the nuvexport patch which will cleanly apply:

      Index: export/ffmpeg.pm
      ===================================================================
      --- export/ffmpeg.pm	(revision 271)
      +++ export/ffmpeg.pm	(working copy)
      @@ -300,7 +300,7 @@
                   $children{$cat_pid} = 'audio dump' if ($cat_pid);
               }
           # Execute ffmpeg
      -        print "Starting ffmpeg.\n" unless ($DEBUG);
      +        print "Starting ffmpeg: $ffmpeg\n" unless ($DEBUG);
               ($ffmpeg_pid, $ffmpeg_h) = fork_command("$ffmpeg 2>&1");
               $children{$ffmpeg_pid} = 'ffmpeg' if ($ffmpeg_pid);
       
      Index: export/ffmpeg/PSP.pm
      ===================================================================
      --- export/ffmpeg/PSP.pm	(revision 271)
      +++ export/ffmpeg/PSP.pm	(working copy)
      @@ -170,7 +170,8 @@
               $self->ffmpeg_xtra'}  = ' -b ' . $self->{'v_bitrate'}
                                        .' -bufsize 65535'
                                        .' -ab 32 -acodec aac'
      -                                 ." -f psp -title $safe_title";
      +                                 ." -f psp -title $safe_title"
      +                                 .' -ar 24000';
           # Execute the parent method
               $self->SUPER::export($episode, '.MP4');
       
      Index: nuv_export/shared_utils.pm
      ===================================================================
      --- nuv_export/shared_utils.pm	(revision 271)
      +++ nuv_export/shared_utils.pm	(working copy)
      @@ -66,7 +66,11 @@
               $termios->getattr;
               $OSPEED = $termios->getospeed;
           };
      -    our $terminal = Term::Cap->Tgetent({OSPEED=li>$OSPEED});
      +   
      +    my $terminal = Null; # This is the controlling terminal
      +    eval {
      +        $terminal = Term::Cap->Tgetent({OSPEED=>$OSPEED});
      +    };
       
       # Gather info about how many cpu's this machine has
           if (-e '/proc/cpuinfo') {
      @@ -85,7 +89,15 @@
       
       # Clear the screen
           sub clear {
      -        print $DEBUG ? "\n" : $terminal->Tputs('cl');
      +        if ($DEBUG) {
      +            print "\n";
      +        }
      +        elsif ($terminal ne Null ) {
      +            $terminal->Tputs('cl');
      +        }
      +        else {
      +            print "\n";
      +        }
           }
       
       # Byte swap a 32-bit number from little-endian to big-endian
      Index: nuv_export/ui.pm
      ===================================================================
      --- nuv_export/ui.pm	(revision 271)
      +++ nuv_export/ui.pm	(working copy)
      @@ -380,6 +380,7 @@
                   $count++;
                   $query .= (' ' x (3 - length($count)))."$count. ".$exporter->{'name'};
                   $query .= ' (disabled)' unless ($exporter->{'enabled'});
      +            $query .= "\n\t\tErrors: @{$exporter->{'errors'}}\n" unless ($exporter->{'enabled'});
                   $query .= "\n";
               }
               $query .= "\n  q. Quit\n\nChoose a function: ";
      
    You can download the patch as well.

    Tags for this post: mythtv(S)

posted at: 22:08 | path: /mythtv | permanent link to this entry


Sat, 05 Aug 2006



Phoenix, Guns, and Wikipedia

    I imagine that not everyone will approve of this post, but this site is about me and my travels, so you'll just have to get over that. For some time, David has been promising that next time I come to Phoenix he'd take me out shooting at a local firing range. This was my idea, although David seemed more than happy to facilitate my wild desire to hold a gun for the first time, let alone fire it. After some shopping around, we settled on the rather quaintly named Shooters' World. It's about a 20 minute drive from the office, but when you're in a city where a cool day is over 35 degrees Celsius, having an air conditioned range seemed like a good idea.

    After some fast talking, Chris (an ex-Marine) and yet another Michael (we have a large supply of those at work -- this one is from Santa Monica) agreed to come. I'm personally really glad of that, because I found it quite reassuring to have someone who fired guns for a living doing the training.

    Off we went to the firing range. The first gun I got to fire (I'm resisting using the word play, it seems like much to serious a topic to be light about), was the Springfield 1911 45 calibre. At the time that Chris was in the Marines this was apparently the standard issue Marine side arm, and it's a nice feeling weapon. It's got a clever safety too, you need to be squeezing the handle before you can fire. Here's a picture of the 1911 for the curious:



    The Springfield armoury has an interesting history by the way, and I should add it to the list of places I should visit, if I ever happen to be in Springfield, Massachusetts. The 1911 has an interesting history too, the basic design for this automatic pistol goes back to late 1890s. I must admit at this point that I was using a newer remake of the gun, not the exact gun from over 100 years ago.

    Next there was the Fabrique Nationale 57 USG, which at the time I thought was a bit pathetic because it fires very small rounds. It is disastrously accurate though, even for someone with no experience like me. When I get a chance I'll scan one of the targets I used and you'll see what I mean. When we all went back to the office and David did some Googling, it's interesting to note that this gun is by far the most controversial, as it's currently the target of a proposed ban. I guess that's not surprising, as it turns out the reason for the very thin rounds is because they pierce light body armour. To quote from the Wikipedia page:

    Conventional pistols usually use 9 x 19 mm, .45 ACP and similar cartridges that are effective for stopping a hostile individual in ordinary circumstances. However, FN argues that if that individual is wearing a light Kevlar vest, these bullets will be stopped without causing lethal damage. Such body armour is currently in use with over 50% of the world's armed forces. Law enforcement officers also need the ability to pierce body armour, as it is worn by an increasing number of criminals. FN claims that thanks to the use of their newly designed 5.7 x 28 mm cartridge, the Five-seveN is capable of piercing the older U.S. Army PASGT vest at 300 meters range, and a U.S. Army PASGT helmet at a range of 240 meters. However, these penetration statistics are for the military SS190 cartridge. Other available cartridge variants may not be armour-piercing, according to the BATFE.




    So, that's a pretty scary gun given it was by far the most accurate of all of those I fired, had the biggest clip, and isn't stopped by traditional armour. Oh, and did I mention that the gun is all plastic except for the barrel? Holy crap. The only real catch was that the barrel tended to over heat leaving the gun jammed after rapid firing. I imagine this could be annoying if you're feeling the need to use a gun for real. Chris suspects that it might just be because the range gun needed some love though.

    Next on the tour was the HK 45 calibre USP. This gun was terribly inaccurate (again, I'll put the scanned target online soon-ish), but seemed to do the job. It certainly looks the part as well:



    Finally, Chris had some strange out of body experience, and went back outside to pick up this thing:



    It came in a case labelled "the law giver", which should give some indication of how serious it is. This thing was crazy, it's heavy. Really heavy. That might have something to do with the fact that it's about a foot long. It's balance is weird, and it wants to point at the ground naturally. It's got a hair trigger, which makes it easy to fire accidentally if you've hand cocked the weapon. Oh, and it fires 50 calibre shells, which are mainly lead. The bullets were $1.50 US each if you bought a box, or $4 US each. Oh, and it's a Smith and Wesson Magnum 50 calibre model 500 for reference.

    The Magnum 50 calibre was totally terrifying to fire, let alone be the target of. First off, the recoil is huge, and my wrist hurt for about 30 minutes afterwards. Secondly, Chris isn't a small guy, and he was being pushed back a step each time he fired. Oh, and checkout the fireball it created when fired. Have I said holy crap already in this post? Oh, and the Magnum was almost instantly nicknamed "Mr Blasty", although Chris seemed to prefer just calling it a canon.

    So, does this make me a gun nut? The firing range was fun, and I will certainly go back sometime. I have no particular urge to have a gun at home (unless I get into sport shooting, when it would be cheaper, and nicer, but at that point I think I would store it at the firing range). Then again, apparently around 50% of Arizonian cars have a gun in them, presumably loaded. There were also two serial killers on the prowl while I was there, although they have now caught one of them.

    Oh, and a final point? I'm really surprised by the
    excellent gun coverage at Wikipedia. Wikipedia seems to always have more content that I could possibly need.

    Oh, and one other final point. I flew back with five 50 calibre shell casings in my hand luggage. I was impressed when the x-ray guy correctly identified the casings from the x-ray image, although he thought they came from the Israeli manufacturer Desert Eagle, which is also a 50 calibre pistol. It's strangely reassuring that the airport security folk can find things like this, although they seemed completely unconcerned (the Phoenix airport informational video suggests that if you're travelling with guns to put them under the plane, so this sort of thing must be fairly common).

    Tags for this post: guns(S)

posted at: 13:45 | path: /guns | permanent link to this entry


Sun, 30 Jul 2006



On a bunker kick

    Now that I am back on my bunker kick dad points out that there was a bunker in Canberra (my home town) as well. Some references I can see online make it public now, including this heritage list. I'm wondering if it's the same as the Bunker Theatre in the same building now. That would be cool...

    Tags for this post: travel(S) australia(S) canberra(S)

posted at: 19:32 | path: /travel/australia/canberra | permanent link to this entry


Back in Phoenix

    I'm on another work trip to Phoenix, although the office is really in Tempe. There's not a lot of difference really, given that a lot of American cities seem to be much like suburbs of large conurbations. Not much to say, apart from that the hotel is nice and has a water slide, in fact a water park. More to report later.

    Tags for this post: travel(S) usa(S) arizona(S) tempe(S) phoenix(S)

posted at: 18:44 | path: /travel/usa/arizona/tempe/phoenix | permanent link to this entry


Sat, 29 Jul 2006



The Greenbrier bunker opens for tours!

    A while ago I was watching a documentary about the bunker under the Greenbrier resort. The Greenbrier is one of those swanky resorts close enough to Washington DC to be in easy reach for the powerful people who hang out there. That's why it was chosen as the location for the bunker that Congress would hang out at come the apocalypse. The bunker was built in secret, and the documentary mentioned cool bits like they had to move so much earth that an extra golf course was built with the rubble in order to disguise it's source.

    This sums it up pretty well:

    It was built at the suggestion of then-President Dwight D. Eisenhower as a way of preserving the balance of power among the three branches of the U.S. government in the event of nuclear war. But now, the Government Relocation Center, located under the luxurious Greenbrier resort in the mountains of West Virginia, is a unique and eerie tourist attraction, a monument to a nation's Cold War fears.


    That's from a CNN article on the topic. In fact, there is no shortage of content about the bunker.

    Anyways, back to my excitement... The bunker is now open for tours! I will so be going there if I ever end up near West Virginia. I guess that makes this post a follow up to my one noting I should visit the Essex bunker if I ever get the chance.

    Tags for this post: travel(S) usa(S) westvirginia(S)

posted at: 20:51 | path: /travel/usa/westvirginia | permanent link to this entry


Nice touch

    Ok, so I don't know about you, but pretty much the only time I have a copy of Windows these days is when I take delivery of a new laptop like I did this morning, before I get around to installing Linux on it. To verify that my download and cdrecord had produced something valid, I just stuck the Ubuntu Dapper CD I just made into the CD ROM drive on this Windows laptop.

    It's really cool. It launches an application with the autorun stuff on Windows, and then offers to let me install open source on the Windows partition. It's like a small version of the OpenCD (and was in fact done with their help). Applications it offers to install:

    • Mozilla Firefox
    • Mozilla Thunderbird
    • Abiword
    • Gaim
    • The Gimp


    It's a nice touch that the CD can be used for this sort of thing as well. Like all ideas, it's so obvious now that I've seen it done, and it makes me wonder why other distros haven't been doing this for a while.

    Another on Mikal's rocks list for the day -- Ubuntu.

    Tags for this post: linux(S) ubuntu(S)

posted at: 15:07 | path: /linux/ubuntu | permanent link to this entry


Computers, why do I trust you?

    Hmmmm. My laptop hard disk was dead when I woke up this morning. It gives a bunch of ATA read errors which don't look very good at all. Luckily for me, the help desk at works. A USB hard disk caddy I happened to have spare, their USB cabling, a spare Thinkpad X41, and a couple of hours of data rescue, and I don't think I have lost anything. All I can say is thank god for work's help desk. They rock.

    Part of the excitement with the failure is that I fly to Phoenix again tomorrow, and wasn't looking forward to life without a computer. Oh, and I promise to do more backups (although all the stuff I really care about is in source control anyways).

    Tags for this post: blog(S)

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


Thu, 27 Jul 2006



Solutions for the pollution of a social network?

    LinkedIn is a social network for professionals. It's all about who you know, and who you have worked with. The basic idea seems to be that recording all that information will result in new business opportunities, as well as referrals to jobs et cetera. When someone who claims to have worked for your company joins LinkedIn, you get email asking you if you know them.

    So, what do you do when you look in the company address book, and it's quite clear that they don't work for your company? There doesn't seem to be any way in the UI to point out that someone is lying. How annoying.

    Tags for this post: blog(S)

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


Tue, 25 Jul 2006



Debian / Ubuntu packaging

    Jon kindly dropped in on Google on the way to Oscon, and presented a talk on Debian (and therefore Ubuntu) packaging. Here it is:



    Tags for this post: linux(S) ubuntu(S)

posted at: 08:13 | path: /linux/ubuntu | permanent link to this entry


Mon, 24 Jul 2006



Hmmm, even more Police Academy

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


Sun, 23 Jul 2006



I got MythBurn working!

    It took a few hours, but I have MythBurn (a web interface for creating DVDs with MythTV) finally working. The problem was that the mjpegtools shipped with Ubuntu Dapper crashes with an invalid free(). Compiling from source fixed that.

    Update: I might have lied. I now have troubles getting Xine to playback the DVD when I mount the ISO image through a loop back. I don't have any DVD media handy, so I will have to wait a couple of days until I can do more testing. The symptom I see is that the intro MythTV screen plays, and then Xine freezes before displaying the menu.

    Tags for this post: mythtv(S)

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


Did I mention it's hot here?

    California is suffering under a record heat wave, I find it odd that people debate whether there is global warming, when we keep hitting new temperature records. Then again, as a single person I feel rather unempowered to actually do much about fixing the whole thing.

    Tags for this post: link(S)

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


Sat, 22 Jul 2006



I-94s at the airport

    Andrew is having some pain with his I-94, I suspect the first problem is that he flew United who are self admitted cunters. Secondly, you're meant to hand in the I-94 at boarding not check in (or at least that's my experience). All is not lost though, apparently you're meant to mail the I-94 back to them, although that wont be processed in time for your return to the US.

    Update: my brother assures me that it's no big deal to mail the I-94 in, even if you're returning quickly to the US, as they're not processed in real time at the airport either. So, perhaps the delay isn't a problem...

    Tags for this post: travel(S) usa(S) airlines(S)

posted at: 19:55 | path: /travel/usa/airlines | permanent link to this entry


Hmmm, this seems a little bit too much like a Police Academy movie to make me comfortable

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


Car engine diagnostics

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


Thu, 20 Jul 2006



Catherine had her wisdom teeth out today