See recent comments. RSS feed of all comments. Raw dump of all comments for research purposes.
ImageMagick book
MythTV book
|
 |
|
 |
|
Sun, 31 Dec 2006
|
|
|
|
|
 |
|
 |
|
Sat, 30 Dec 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 22:09 | path: /mysql | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Fri, 29 Dec 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 19:39 | path: /gtalkbot | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Thu, 28 Dec 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 22:14 | path: /mythtv | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 12:48 | path: /guns | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 09:01 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Wed, 27 Dec 2006
|
|
|
|
|
 |
|
 |
|
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( ) usa( )
posted at: 08:48 | path: /travel/usa | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Tue, 26 Dec 2006
|
|
|
|
|
 |
|
 |
|
Mon, 25 Dec 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 11:32 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 09:37 | path: /christmas | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sun, 24 Dec 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 10:18 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 09:30 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Fri, 22 Dec 2006
|
|
|
|
|
 |
|
 |
|
Sun, 17 Dec 2006
|
|
|
|
|
 |
|
 |
|
Sat, 16 Dec 2006
|
|
|
|
|
 |
|
 |
|
Fri, 15 Dec 2006
|
|
|
|
|
 |
|
 |
|
Thu, 14 Dec 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 23:01 | path: /python | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sat, 09 Dec 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 21:37 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Thu, 07 Dec 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 09:39 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Mon, 04 Dec 2006
|
|
|
|
|
 |
|
 |
|
Sat, 25 Nov 2006
|
|
|
|
|
 |
|
 |
|
Fri, 24 Nov 2006
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
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( ) book( )
posted at: 11:00 | path: /mythtv/book | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Thu, 23 Nov 2006
|
|
|
|
|
 |
|
 |
|
Wed, 22 Nov 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 16:43 | path: /mysql | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sun, 19 Nov 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 21:00 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 18:15 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 16:56 | path: /gtalkbot | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 16:56 | path: /mbot | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
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( ) gtalk( )
posted at: 16:54 | path: /google/gtalk | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
(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( )
posted at: 12:12 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 12:08 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 11:56 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
Thu, 16 Nov 2006
|
|
|
|
|
 |
|
 |
|
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( ) usa( ) california( ) santaclara( )
posted at: 22:14 | path: /travel/usa/california/santaclara | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Mon, 13 Nov 2006
|
|
|
|
|
 |
|
 |
|
Mon, 06 Nov 2006
|
|
|
|
|
 |
|
 |
|
Sun, 05 Nov 2006
|
|
|
|
|
 |
|
 |
|
Tue, 31 Oct 2006
|
|
|
|
|
 |
|
 |
|
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( ) australia( ) sydney( )
posted at: 15:29 | path: /travel/australia/sydney | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
Fri, 27 Oct 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 22:03 | path: /mythtv | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Wed, 18 Oct 2006
|
|
|
|
|
 |
|
 |
|
Tue, 17 Oct 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 00:36 | path: /presentations | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sun, 15 Oct 2006
|
|
|
|
|
 |
|
 |
|
Sat, 14 Oct 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 00:42 | path: /mythtv | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Thu, 12 Oct 2006
|
|
|
|
|
 |
|
 |
|
Tue, 10 Oct 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 19:21 | path: /presentations | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Mon, 09 Oct 2006
|
|
|
|
|
 |
|
 |
|
Wed, 04 Oct 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 21:14 | path: /presentations | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Mon, 02 Oct 2006
|
|
|
|
|
 |
|
 |
|
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( ) australia( ) canberra( )
posted at: 04:14 | path: /travel/australia/canberra | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sat, 30 Sep 2006
|
|
|
|
|
 |
|
 |
|
Fri, 29 Sep 2006
|
|
|
|
|
 |
|
 |
|
Thu, 28 Sep 2006
|
|
|
|
|
 |
|
 |
|
Wed, 27 Sep 2006
|
|
|
|
|
 |
|
 |
|
...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( )
posted at: 15:54 | path: /guns | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sat, 23 Sep 2006
|
|
|
|
|
 |
|
 |
|
Tue, 19 Sep 2006
|
|
|
|
|
 |
|
 |
|
Sun, 17 Sep 2006
|
|
|
|
|
 |
|
 |
|
Sat, 16 Sep 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 21:54 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 21:46 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 20:52 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Fri, 15 Sep 2006
|
|
|
|
|
 |
|
 |
|
(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( )
posted at: 07:01 | path: /work | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Mon, 11 Sep 2006
|
|
|
|
|
 |
|
 |
|
Sun, 10 Sep 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 20:05 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Wed, 06 Sep 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 11:23 | path: /google | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Tue, 05 Sep 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 10:48 | path: /bike | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Fri, 01 Sep 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 22:36 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 22:33 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sat, 26 Aug 2006
|
|
|
|
|
 |
|
 |
|
I've been playing with SlimServer recently, and needed a simple init script. Here's what I am using.
Tags for this post: slimserver( )
posted at: 09:29 | path: /slimserver | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Mon, 21 Aug 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 09:28 | path: /stumbleupon | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sun, 20 Aug 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 22:11 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sat, 19 Aug 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 16:45 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Fri, 18 Aug 2006
|
|
|
|
|
 |
|
 |
|
So, since 22 July 2000 I have made 2,150 posts on this blog.
Tags for this post: blog( )
posted at: 11:55 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
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
|
|
|
|
|
 |
|
 |
|
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( ) toys( ) nslu2( )
posted at: 18:29 | path: /diary/toys/nslu2 | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
 |
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( ) toys( ) nslu2( )
posted at: 18:23 | path: /diary/toys/nslu2 | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
Tags for this post: link( )
posted at: 07:40 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Mon, 14 Aug 2006
|
|
|
|
|
 |
|
 |
|
Sun, 13 Aug 2006
|
|
|
|
|
 |
|
 |
|
Sat, 12 Aug 2006
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 20:32 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 20:02 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Wed, 09 Aug 2006
|
|
|
|
|
 |
|
 |
|
Mon, 07 Aug 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 22:08 | path: /mythtv | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sat, 05 Aug 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 13:45 | path: /guns | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sun, 30 Jul 2006
|
|
|
|
|
 |
|
 |
|
Sat, 29 Jul 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 14:56 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Thu, 27 Jul 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 18:39 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Tue, 25 Jul 2006
|
|
|
|
|
 |
|
 |
|
Mon, 24 Jul 2006
|
|
|
|
|
 |
|
 |
|
Sun, 23 Jul 2006
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 15:37 | path: /mythtv | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
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( )
posted at: 09:16 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sat, 22 Jul 2006
|
|
|
|
|
 |
|
 |
|
Thu, 20 Jul 2006
|
|
|
|
|
|