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
|
|
|
|
|
 |
|
 |
|
So if I am behind on email, that's why. The procedure seemed to take around 45 minutes, recovery another 30, and we were home by dinner time. She is progressively getting more sore afterwards, but that is expected. I think she'll be ok...
Tags for this post: blog( )
posted at: 20:23 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Mon, 17 Jul 2006
|
|
|
|
|
 |
|
 |
|
Fri, 14 Jul 2006
|
|
|
|
|
 |
|
 |
|
Wed, 12 Jul 2006
|
|
|
|
|
 |
|
 |
|
Sun, 09 Jul 2006
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
This article seems to confirm that my parents generation isn't saving enough for retirement, and I think that's true of my generation as well. The problem is that it simply isn't sexy to save money in a super fund, or a 401k as they're called in the US. I think it's even worse for the average American though, because the cost of living in the places with the jobs is a lot higher, 401k saving is optional (so people don't do it as much), and you get direct control over your investments (which means people make poor choices like putting all their money in Enron or Vonage).
Oh, and don't start me on the complications of earning retirement income in US dollars when I retire. I don't even want to think about that at the moment.
Tags for this post: link( )
posted at: 14:30 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Wed, 05 Jul 2006
|
|
|
|
|
 |
|
 |
|
I've been noticing that the ride to and from work has been becoming more and more effort. At first I thought it was just that I am getting slacker in my old age or something, but tonight on the way home I noticed that the rear tire was looking a little squooshed when I sat on the bike. I therefore gave in and performed some basic bike maintenance tonight -- removed the 5mm of mud from the frame (pretty good given it hasn't rained here in months), the general layer of dirt and grime on everything, and the grease buildup I get on the rear wheel which I assume is caused by the grease from the rear hub). I checked the tire pressure as well... It was a third of what it should have been, so hopefully I am staring down the barrel of a much lower rolling resistance.
Tags for this post: bike( )
posted at: 21:20 | path: /bike | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Tue, 04 Jul 2006
|
|
|
|
|
 |
|
 |
|
Amazon wanted an author bio for their Amazon Connect program which I thought I would give a try. Here's what they got:
Michael Still released his first Open Source project in July 2000, and has been actively developing ever since. He has had a variety of articles published by IBM DeveloperWorks, and once made a Tux out of fairy lights. He is the author of the recently published "Definitive Guide to ImageMagick" from Apress. His gym program states his exercise goal as "develop laser death vision". Michael grew up in Canberra, Australia but now lives and works in Silicon Valley for Google with his wife and two kids. Michael is a past committee member of AUUG, Linux Australia, and the linux.conf.au 2005 committee.
Tags for this post: bio( )
posted at: 17:52 | path: /bio | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Mon, 03 Jul 2006
|
|
|
|
|
 |
|
 |
|
As In Search of L33t says, comment spam can be a large scale annoyance. In L33t's words:
I am promising myself I am going to start blogging more. The main problem is that I am so tired of blog spam. Even with the comments turned off I am still getting blog spam. It depresses me a little to see so many blog comments that have absolutely nothing to do with my topics.
I have similar blog spam levels:
mikal@daedalus:~/blog-comments$ du -sh
79M .
mikal@daedalus:~/blog-comments$ find . -type f -name "*.no" | wc -l
6064
mikal@daedalus:~/blog-comments$ find . -type f -name "*.blocked" | wc -l
4778
mikal@daedalus:~/blog-comments$ find . -type f -name "*.yes" | wc -l
483
Yes, that really is 79 meg of blog comments (admittedly including the metadata for recent comments). The most interesting bit is that blocked line. That's the number of posts which have been automatically blocked since I started automatically blocking some posters. It's been really effective, I get around one or two comment spams in my email for moderation a day now. The super secret algorithm? I block these IP addresses:
84.19.184.26
85.255.117.250
203.142.1.182
202.71.106.121
85.249.136.194
202.76.235.6
202.75.62.79
202.75.49.130
202.75.49.134
202.75.49.133
202.75.49.131
193.87.17.120
I recommend others give it a try, as it's eliminated basically all of my comment spam. That's right, it appears to me that almost all comment spam comes from these few IPs.
Tags for this post: blog( ) spam( )
posted at: 12:37 | path: /diary/spam | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Fri, 30 Jun 2006
|
|
|
|
|
 |
|
 |
|
Thu, 29 Jun 2006
|
|
|
|
|
 |
|
 |
|
Gordon is in Texas and having a ball, which is good to hear. His picture is quite cool too. He points out some interesting aspects of America in the post as well. Let's work through them one at a time together:
- I haven't stayed in a Best Western yet, but so far I would have to say that the hotels I have stayed in have all been pretty good. Now, that might be because I am willing to spend money on hotels, but I think it's also because it's so easy here to change hotel if the first one sucks. For example, the hotel I stayed in in Portland had a many in a silly hat:
- I have also seen churched with threatening signs, again in Portland for me. It seems to me that perhaps the clergy don't want to be too bothered by the huddled masses?
- Parking places with funny little boxes to poke money I thought was a Pacific northwest thing (as I've seen them in Oregon and Washington). It's reassuring to know that other parts of the country have these too.
- And yes, in general people here are wonderfully friendly.
Oh, and Gordon, don't forget to checkout The Capitol Steps sometime. They perform in a federal building, which means there are metal detectors and armed guards on the way into a theatre, and they're very funny if you're into political satire. One of my personal favourites would have to be the excellent garbled speeches although they are really known for their singing.
Also, I need your written report on the national mall, and the Smithsonians.
Tags for this post: travel( ) usa( ) texas( )
posted at: 10:10 | path: /travel/usa/texas | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Wed, 28 Jun 2006
|
|
|
|
|
 |
|
 |
|
Is it just me, or do they not bother updating the top 500 as frequently as they claim?
Tags for this post: blog( )
posted at: 21:12 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Today email arrived with the contract for my second book (following on from The Definitive Guide to ImageMagick). This one is a still-secret project hatched with Stewart Smith, and I don't want to mention the topic in public just yet. There are two reasons for that -- there's always a risk that the whole project will be a massive train wreck, and because Stewart and I haven't talked yet about how we want to do the announcement. This book will be done with Apress, which I guess means that I thought they were pretty good to work with the first time.
Anyway, just keeping you up to date on the gossip...
Tags for this post: book( )
posted at: 19:48 | path: /book | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Tue, 27 Jun 2006
|
|
|
|
|
 |
|
 |
|
These guys really did deliver 1,000 pizzas to Google's Mountain View campus. We even ate them. I guess that's one way of getting publicity...
Tags for this post: google( )
posted at: 18:18 | path: /google | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sat, 24 Jun 2006
|
|
|
|
|
 |
|
 |
|
I've been oncall for a while, and therefore tethered to the network. We broke this tether today by driving down to Half Moon Bay, California (past the pony ride place we should stop at sometime in the future), and turning left. There were four or five state beaches along the road, two of which we stopped at. The first wasn't anything special, but the second was quite nice.
The second beach was in fact nice enough for Andrew to ditch all his clothes and go for a swim. The water was very cold. I wont be putting the naked four year old photos online I suspect. Anyway, we had a play on the beach, and got to try to stop the kids just before they ran off the unstable cliff.
Further down the road was a lighthouse (Pigeon Point Lighthouse), which was cool. The best bit was the cliff views around the area, and it would have been nice to spend more time there, but the kids were getting tired. We packed up and headed back the way we had come, although we were only thirty or fourty miles from Santa Cruz at this point.
We stopped off on Fry's on the way home, and had a layover at the apartment before heading out to dinner at Denny's. I wouldn't mention the dinner except for me winning each of the kids a stuffed toy from one of those grabber robot games. I guess that makes me the best father ever or something.
See more thumbnails
Tags for this post: events( ) pictures( ) 20060624( )
posted at: 21:18 | path: /events/pictures/20060624 | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Fri, 23 Jun 2006
|
|
|
|
|
 |
|
 |
|
I was reading an interesting blog post on Boing Boing the other day that got me thinking. The post is a link to the Wikipedia page on Inca Kola and how the Pepsi challenge destroyed Pepsi in Peru. From the article on Wikipedia:
In the 1980s, Pepsi's infamous "Pepsi Challenge" (El Reto Pepsi) campaign helped to virtually destroy the Pepsi brand in Peru, due in large part to the fact that consumers do not enjoy being told they're wrong. The campaign was quite simple actually: Tasting centers were set up in and around Lima where people could freely participate in a blind taste test between Pepsi and Coca-Cola. Attendees were presented with two covered bottles and two glasses, each bottle was opened and poured into its respective glass, whereupon the tester was asked to drink each and declare his or her favorite, but not before being asked which they preferred and drank regularly.
The campaign was a disaster, three results came from the testing, all detrimental to Pepsi: 1) People were angered by the fact that they were "wrong" in their choice and abandoned Pepsi, switching to either Coca-Cola or Inca Kola; 2) Those who chose Coca-Cola over Pepsi either switched to or stayed with Coca-Cola; 3) Those who were ambivalent between them cemented their ambivalence and switched to Inca Kola. Additionally, the costs of the Pepsi Challenge, which started to run into the millions of US dollars, coupled with managerial mistakes left CEPSA virtually bankrupt.
Thinking about this, I think it applies to the software industry too. Specifically my previous employer, TOWER Software (yes, they really do shout the name). Bear with me for a second while I explain my premise...
Firstly, TOWER has recently implemented a SDK support wiki. This is actually a relatively innovative idea, I can't think of any other commercial software products which have wikis for their product support (although I am sure someone will point out how wrong I am now that I've written this). It is common for open source products, but it's that sense of community that all software products can benefit from.
Now I hear from Lindsay that the wiki has been locked down. You need to request an account before you can access the content (let alone edit it, we're talking about it being locked down for reading as well). The user creation process seems to involve making sure that you don't really work for a competitor, and that you're a customer.
To me, this is like the Pepsi challenge. Locking down the documentation makes two assumptions -- that TOWER's competitors don't already have access to the documentation (I am sure that their either don't know that TOWER exists, like Alfresco chap I spoke to at the MySQL User's conference, or already have access to the documentation (there is a lot of cross pollination in the industry)). Now, why would other companies want access to the documentation?
Reason for spying on someone else's documentation Number One
Perhaps the other companies think that if they have access to the documentation they can use that information to tell prospective customers that TOWER's product sucks. In my experience this is the dumbest thing a sales person can ever do... Would you buy a product from someone who can only sell their product by saying that someone else's is worse? Surely you want products from thought leaders (I hate that term), not someone on the defensive? It's like the Linux companies from the 1990s who solely advertised on the bassi that their product sucked less than Microsoft's. None of those companies exist any more, because it's just not a compelling way of selling. They should have been put there explaining how customers could save money and do more with less. That's the sales technique which works today, and that's because it's about Linux's value, not the evils of the competition.
Reason for spying on someone else's documentation Number Two
This is the Pepsi challenge bit. I can imagine that there are super secret product things on the wiki, and that they're worried that competitors might steal their product ideas. This is perhaps sillier than the previous reason. Let's think about this. I can take a product and mimic it with my own. I can then market it as a cheaper version, and perhaps I'll win a small amount of market share, but in return for a lot of work to emulate someone else's ideas with their legacy in that area. I would be much better coming up with something original.
People don't tend to be interested in incremental changes to what they already have from someone other than the original supplier. The incumbent is likely to provide those as a minor upgrade really soon anyways, and there is a lot less risk staying with the what you know. It's like Mark Shuttleworth said in his keynote at the MySQL Users conference, which was something along the lines of "I don't like investing in companies which say they want to be the next "Microsoft" or whatever. I invest in companies which want to change the market by providing something new, and fantastic." (That's a paraphrase, please don't sue me). It's all about disruptive technologies -- they seem to be the ones which end up producing wildly successful companies.
So back to the Pepsi challenge. It's like Peru -- customers don't like being told they're wrong, and if the products are too similar, then people will stay with what they know.
Hmmmm. That MySQL conference seems to have provided some good writing material. I should let it mulch in the back of my brain more often.
By that argument, it's better to let TOWER's competitors see the documentation, in the hope that they will copy it, and therefore shoot themselves in the foot.
So what should they do?
There is one tactic which hasn't been tried yet, and I think it's worth giving it a go. TOWER should embrace a public wiki. They should work with their customers to help them use the product, and they should accept the ideas and investment that comes from having users who are passionate enough about the product to hang out on the wiki. Having a lot more content online will also make the product much more discoverable online, which can only be a good thing.
They should go further though. TOWER currently employes people to write white papers which are handed to customers. Let's be honest though, no one actually reads those things. When was the last time you read a white paper instead of web surfing, watching TV, or playing with the kids? Instead, those people should be working on improving public understanding of the industry, so the whole market grows? This could include putting content on places like Wikipedia, industry web sites and so forth. Those articles can of course include TOWER's product as an example, but competing products should be mentioned too. In other words, we're talking unbiased genuine content which helps the world. Which is how I would describe the Wikipedia ECM page but not the Wikipedia TRIM Context page.
Conclusion
This is a call to arms for TOWER to reopen their wiki, and embrace the community instead of running scared from it. What sort of company should be scared of their customers (be they either present or future)? Get out there TOWER and create some content! You have a great product, so why are you sitting on the edge of the dance floor? Get out there and do the rumba!
|
TOWER walks away from their public wiki
|
(I am a former employee of TOWER, and have many friends who still work there. I have no ill feelings towards TOWER, and am in fact still an investor. I now work for a potentially competing company, so bear that in mind.)
Tags for this post: blog( )
posted at: 22:46 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Wed, 21 Jun 2006
|
|
|
|
|
 |
|
 |
|
My team and some ring-ins went for an adventure to Napa Valley, which is a winery district about two hours away from Mountain View (and about an hour away from San Francisco) for a little team building thing. There were two choices, a winery tour in which you get to blend your own merlot, or paintball.
I've been paintballing before, so I figured I'd go the winery route, which I really enjoyed. There was a tour of the big wine vat thingies (a bit boring) and a cave system which the winery made to age their wine in (that was fun). Then we mixed the merlot, which involved a lot of plastic implements, squinting, tasting, and general mess making. Lots of mess.
Looking at Sean's generally painty state, and Armando's wounds after paintball, I think I made the right decision. Anyway, a good day, and I'm grateful that Shoshana took the time to organize it.
See more thumbnails
Tags for this post: events( ) pictures( ) 20060615-offsite( )
posted at: 10:21 | path: /events/pictures/20060615-offsite | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Tue, 20 Jun 2006
|
|
|
|
|
 |
|
 |
|
mikal@mstill:~$ exit 1 | exit 2
mikal@mstill:~$ echo $?
2
We get the return code of the last process in the pipeline. Perhaps fair enough... Then again:
mikal@mstill:~$ exit 1 | exit 0
mikal@mstill:~$ echo $?
0
Here we get the return code of the final process again, which masks the error in the first process from being reported. You can get the return codes of all processes in the pipe like this:
mikal@mstill:~$ exit 1 | exit 2
mikal@mstill:~$ echo ${PIPESTATUS[@]}
1 2
And then if you assume that the sum of all return codes will report if an error occurred:
mikal@mstill:~$ exit 1 | exit 0
mikal@mstill:~$ expr `echo ${PIPESTATUS[@]} | sed 's/ / + /g'`
1
Which is evil, but does what I want. Is there a less evil way of doing this?
Tags for this post: bash( )
posted at: 13:54 | path: /bash | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Hmmm, my pingomatic pings have been timing out for a while, and now when I bother to go to the domain I see that it's been replaced by some random foreign language site. I guess that means the service is off line permanently. I guess it's time for me to give blogflux a go instead.
Tags for this post: pingomatic( )
posted at: 09:27 | path: /pingomatic | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Mon, 19 Jun 2006
|
|
|
|
|
 |
|
 |
|
|
My two favourite Australian beers would have to be Coopers Pale Ale, and the Malt Shovel Brewery Amber Ale. In fact, I am half way through a MSB now, which might explain my terrible spelling in this post. Then again, it might also be that I've been working away for 12 hours now. Anyways, back to the story... Since moving to the US I have been subsisting on these terrible American beers that they have around here. Some of the micro-brews are ok-ish, and Sierra Nevada is better than a punch in the face, but they're really nothing special. For a start, their weak. On the non-micro-brew front, I recommend Coors if you're in a no-beer emergency and you have to get something mainstream.
The other fall back drinking plan has been to develop a taste for Margaritas, which we have been serving in 500 mil pint glasses for effect.
Anyway, back to the story... So yesterday Catherine and the kids and I ventured out to try to fix this. BevMo was rumoured to have Australian beers, and I thought it might be worth a try. The exciting news is that it turns out that BevMo's Australian beer options (my two favourites included) are cheaper here than in Australia. Both are available for $6.99 US ($9.42 Australian as I write this), compared with $13.98 in Australia for a six pack in Canberra.
Hurrah for international trade!
|
Tags for this post: travel( ) usa( )
posted at: 21:18 | path: /travel/usa | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Mon, 12 Jun 2006
|
|
|
|
|
 |
|
 |
|
I like that I have spam blocking. Check this out:
mikal@daedalus:~/blog-comments$ find . -type f -name "*.no" -mtime -1 | wc -l
1468
That's all comment spams from 5:30pm (ish) today. All from one IP address: 193.87.17.120
Tags for this post: blog( ) spam( )
posted at: 19:34 | path: /diary/spam | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sun, 11 Jun 2006
|
|
|
|
|
 |
|
 |
|
Sun, 04 Jun 2006
|
|
|
|
|
 |
|
 |
|
Sat, 03 Jun 2006
|
|
|
|
|
 |
|
 |
|
I occasionally
comment on
the amount of
comment spam I get here.
But I felt further analysis might be a good idea, so I am not logging as much information as possible about the commenter when they submit a comment. This dump below I find fairly interesting (it's for approximately the last 24 hours).
mikal@daedalus:~/blog-comments$ find . -type f -name *.info -exec cat {} \; | \
grep REMOTE_ADDR | sort | uniq -c | sort -n
2 REMOTE_ADDR = 85.255.117.250
3 REMOTE_ADDR = 203.142.1.182
5 REMOTE_ADDR = 202.71.106.121
8 REMOTE_ADDR = 202.75.62.79
9 REMOTE_ADDR = 202.75.49.130
11 REMOTE_ADDR = 202.76.235.6
12 REMOTE_ADDR = 202.75.49.131
13 REMOTE_ADDR = 202.75.49.134
16 REMOTE_ADDR = 202.75.49.133
mikal@daedalus:~/blog-comments$
I wonder if blocking specific IPs would help the spam level, or if stopping comments on some posts would help? There certainly seem to be some "hot spot" posts:
264: /home/mikal/blog-comments/travel/usa/california/santaclara/000003
179: /home/mikal/blog-comments/diary/lca2005/000029
170: /home/mikal/blog-comments/linux/000038
158: /home/mikal/blog-comments/diary/000796
134: /home/mikal/blog-comments/diary/000795
92: /home/mikal/blog-comments/pdfdb/000001
87: /home/mikal/blog-comments/link/000065
81: /home/mikal/blog-comments/diary/toys/000001
79: /home/mikal/blog-comments/travel/usa/000006
70: /home/mikal/blog-comments/diary/toys/mp101/pymediaserver/000001
I think I will ponder more.
Tags for this post: blog( ) spam( )
posted at: 19:36 | path: /diary/spam | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sun, 28 May 2006
|
|
|
|
|
 |
|
 |
|
One, wikipedia rocks. Especially for technical topics I previously found hard to research like image encoding formats like YUV. Kudos to those who write pages there.
Secondly, is it just me or is the history of television formats fascinating. For example:
The adoption of SECAM in Eastern Europe has been attributed to Cold War political machinations: Western TV was popular in the East, authorities were well aware of this, and adopted SECAM rather than the PAL encoding used in West Germany. This did not hinder mutual reception in black&white, because the underlying TV standard B/G remained the same in both parts of Germany. However, East Germans responded by buying PAL decoders for their SECAM sets. Eventually, the government in East Berlin stopped paying attention to so-called "Republikflucht via Fernsehen", or "defection via television". Later East German produced TV sets even included a dual standard PAL/SECAM decoder. In any case the majority of TV sets in East Germany were monochrome (black & white) until well into the 1980s.
Tags for this post: link( )
posted at: 18:34 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
A creative is advertising speak for the copy used for an advertising campaign. For reasons too complicated to explain now, I was just browsing the TiVo pre-canned creatives, and came across this gem:
Which is really quite clever. However, this one shows that they've never watched the show in question:
In the show, Blue is a dog, who leaves clues for either Joe or Steve (depending on which series you're watching). So, Blue never gets clues, she gives them. Also, Blue is singular, and there is normally an apostrophe involved. A better line would have been "you decide when Blue sets her clues". Just my random nit for the day.
TiVo's pre-canned creatives may be found here.
Update: I too suck. Apparently Blue is a girl, although I've seen many episodes and don't recall this being mentioned. I apologise to my wife for any emotional distress caused.
Tags for this post: blog( )
posted at: 17:27 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sat, 27 May 2006
|
|
|
|
|
 |
|
 |
|
Tags for this post: blog( )
posted at: 20:29 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Mon, 22 May 2006
|
|
|
|
|
 |
|
 |
|
Thu, 18 May 2006
|
|
|
|
|
 |
|
 |
|
Tags for this post: blog( )
posted at: 19:33 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Tue, 16 May 2006
|
|
|
|
|
 |
|
 |
|
I have spotted a worrying trend with one of the email lists I archive. So far I have fielded about ten requests to remove emails from the archive, with four of those being in the last couple of weeks. I wont name the offenders, but handling these requests takes a fair bit of time on my part. So, I ask for opinions. Should I be deleting emails from a public archive, given the mailing list is open to subscription from anyone? Does it matter that this is a third party archive, and I am not the list administrator? Should people think before they post?
Given the long memory of search engines, and the increasing probability of an employer Googling for you before hiring, I wonder if this sort of request is going to become so common that it endangers the public archival of things like mailing lists?
A penny for your thoughts...
Tags for this post: blog( )
posted at: 07:48 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Mon, 15 May 2006
|
|
|
|
|
 |
|
 |
|
I've been wondering how long it would take to walk to work for a while, so I thought I would give it a go this morning. The answer is 45 minutes at a leisurely pace. Some factoids:
- It's 3,500 steps from my house to Microsoft's Silicon Valley campus
- Another 1,000 steps an you're at the computer history museum
- Another 1,000 steps gets you to a Google cafe
- It's 5,800 steps total to my desk
Tags for this post: blog( )
posted at: 10:09 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sun, 14 May 2006
|
|
|
|
|
 |
|
 |
|
Louie Bellson is a jazz drummer. He came to our church this morning, so I guess this counts as some sort of long distance meetage. He's the first guy I've ever seen use four drum sticks at once, and was really quite good. Especially for someone over 80.
Tags for this post: blog( )
posted at: 13:16 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Fri, 12 May 2006
|
|
|
|
|
 |
|
 |
|
Work issued me with a pedometer, so I figured that the first step was to determine how far I am walking a day with no lifestyle changes, and then determine what I want to do from there (if anything). The goal is apparently 10,000 steps a day, but having talked to the Google doctor it seems that the goal is more to have an hour of cardio activity each day. Somehow I will have to combine this with riding. Anyways, on to the numbers for the baseline week:
| Day | Distance | Notes |
| Friday | 4,693 | This was a half day -- I picked up the pedometer at lunch |
| Saturday | 3,724 | Trapped in the house because I was on call |
| Sunday | 4,495 | Trapped again... |
| Monday | 4,459 | |
| Tuesday | 3,952 | |
| Wednesday | 6,438 | |
| Thursday | 5,101 | |
So, not too shabby, and I think these numbers are ok if I am riding those days as well. I wasn't riding though because I don't ride when I am on call. Therefore, I should think about walking more on the days when I don't ride into work.
Tags for this post: blog( ) pedometer( )
posted at: 10:13 | path: /diary/pedometer | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Wed, 10 May 2006
|
|
|
|
|
 |
|
 |
|
Mon, 08 May 2006
|
|
|
|
|
 |
|
 |
|
Sun, 07 May 2006
|
|
|
|
|
 |
|
 |
|
California has this strange direct funding system, where the electorate can mandate a given amount of funding for a specific line item, and not involve the politicians in the future decision making. Wikipedia doesn't have an article on proposition 82 yet (I might make one...), but here is an example of a previous proposition.
Proposition 82 proposes free preschool education for all California kids (these guys have the noon82.com site as well as the yeson82.com site). It does have opposition though.
It's strange living somewhere where I get no say in the political process, and where I don't feel obligated to live with the long term effects of any given change. So, I say give me the free stuff!
Tags for this post: link( )
posted at: 20:20 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sat, 06 May 2006
|
|
|
|
|
 |
|
 |
|
I seem to be spending a lot of time recently writing documentation. I mouthed off at a coworker that I could write something up for him in a "couple of weeks" which would be fine because I had about 15 hours mentally allocated to the project. A month later, and I am still working on it. I haven't spent the 15 hours yet, so perhaps that's no so bad. I have spent the majority of the last two days on it though, so I guess I should finish it up soon. Unfortunately, the document is at around 15 pages so far, and is nowhere near finished. Hmmmm.
Tags for this post: blog( )
posted at: 15:27 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Fri, 05 May 2006
|
|
|
|
|
 |
|
 |
|
It certainly seems to be working out for the best for Rory:
When I fired up the machine for the first time to make sure he did everything right and it wouldn’t explode in my face, I couldn’t help but notice that I wasn’t getting any WiFi signal. I told him what was wrong. He said he didn’t even see a WiFi card in there when he was repairing. That didn’t surprise me since, at least from what I saw, he tried to fix my com-puter by repeatedly body-slamming it on the ground and bitch-slapping it. Hard to see the details that way.
Tags for this post: link( )
posted at: 15:30 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Three intrepid MySQLers came to Google after the user conference to give internal tech talks. They were kind enough to agree to us hosting them for other people to see. The first two are up, so I'll mention those now, and put a link to the last one when it's available...
Click on the thumbnail to be taken to the video.
 |
Jay Pipes is a co-author of the recently published Pro MySQL (Apress, 2005), which covers all of the newest MySQL 5 features, as well as in-depth discussion and analysis of the MySQL server architecture, storage engines, transaction processing, benchmarking, and advanced SQL scenarios. You can also see his name on articles appearing in Linux Magazine and can read more articles about MySQL at his website. Jay Pipes is MySQL's Community Relations Manager for North America.
Learn where to best focus your attention when tuning the performance of your applications and database servers, and how to effectively find the "low hanging fruit" on the tree of bottlenecks. It's not rocket science, but with a bit of acquired skill and experience, and of course good habits, you too can do this magic!
|

|
Timour Katchaounov
The first part of this talk describes the main principles behind MySQL's query optimiser and execution engine, how the optimiser transforms queries into executable query plans, what these plans look like, and how they are executed.
The second part of the talk describes the major improvements in the query engine of MySQL 5.0, and how these improvements can benefit the users of MySQL 5.0. The "greedy" optimiser reduces compilation time for big queries with orders of magnitude. The "index merge" access method provides a way to use more than one index for the same query. For faster plan execution and to allow better join orders, the 5.0 optimiser transforms most outer joins into inner joins.
The outer joins that cannot be transformed into inner ones are executed in a pipeline manner, so that no intermediate results need to be materialised. Finally, some GROUP BY and DISTINCT queries can be executed much faster thanks to "loose index scan" technique that reads only a fraction of an index.
The talk concludes with the near-future plans for new features coming in the next versions of MySQL.
|

|
Stewart Smith works for MySQL AB as a software engineer working on MySQL Cluster. He is an active member of the free and open source software community, especially in Australia. Although Australian, he does not dress like Steve Irwin—although if he wrestled crocodiles he probably would. He is a fan of great coffee, great beer, and is currently 39,000 feet above sea level.
part 1 - Introduction to MySQL Cluster The NDB storage engine (MySQL Cluster) is a high-availability storage engine for MySQL. It provides synchronous replication between storage nodes and many mysql servers having a consistent view of the database. In 4.1 and 5.0 it's a main memory database, but in 5.1 non-indexed attributes can be stored on disk. NDB also provides a lot of determinism in system resource usage. I'll talk a bit about that.
part 2 - new features in 5.1 including cluster to cluster replication, disk based data and a bunch of other things. anybody that is attending the mysql users conference may find this eerily familiar.
I can also talk about latest-and-totally-greatest developments and future stuff we're working on. i can also take questions and constructive abuse :)
|
You can see a complete list of the MySQL tech talks at Google here.
Update: added Stewart's talk now that it is online.
Tags for this post: mysql( )
posted at: 10:06 | path: /mysql | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Thu, 04 May 2006
|
|
|
|
|
 |
|
 |
|
A complex system that works is invariably found to have evolved from a simple system that worked….A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over, beginning with a working simple system.
John Gall via Marc on the O'Reilly radar.
Tags for this post: link( )
posted at: 14:01 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Tue, 02 May 2006
|
|
|
|
|
 |
|
 |
|
It turns out that it basically doesn't rain in California in the summer (or so I am assured by the people at work), so now that the weather is nice again I have been riding to work at lot more. I am suffering from a problem I hadn't considered though, mainly because I normally only ride on paved surfaces.
About 10% of my work commute is across a car park with dirt roads, and they are producing a lot of dust. Apart from making the bike dirty (which isn't so bad), the wheel rims are being coated in enough dust for there to be noticeable abrasion noises when I brake after the dirt road stretch of my ride.
This must be a common problem for mountain bikes, so, what should I do about it? I imagine that at worst it's shortening the life of my rims marginally, but I'm not massively concerned as my current rims are cheap ones anyway. Apart from wiping the rims down each evening, is there anything else I can and should be doing?
Tags for this post: bike( )
posted at: 14:41 | path: /bike | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Tim O'Reilly's examination of the state of the book market: comes in three parts. It makes some interesting points. Gary Cornell has started a response which is also worth a read.
Tags for this post: link( )
posted at: 10:23 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Mon, 01 May 2006
|
|
|
|
|
 |
|
 |
|
Sun, 30 Apr 2006
|
|
|
|
|
 |
|
 |
|
Fri, 28 Apr 2006
|
|
|
|
|
 |
|
 |
|
Wed, 26 Apr 2006
|
|
|
|
|
 |
|
 |
|
Tue, 25 Apr 2006
|
|
|
|
|
 |
|
 |
|
So, I attended the first day of the MySQL user's conference yesterday, which was the tutorial day. Overall I was fairly impressed. Registration was easy, the actual rooms presentations are given in are comfortable, the PA system seemed to work after some initial problems in the morning tutorial I attended.
The conference center seems to be big on retirees hanging around, which I thought was weird. Each room comes with a little old lady, whose job appears to be to read a fiction novel at the door. I really have no idea what else they were achieving. They seemed to be having fun though. I did find it a bit odd that the only drinks provided by the catering staff during the day were acidic, and most of them caffinated. For example, we had choices between coffee, tea, soda water, coke, diet coke, pepsi and diet pepsi. Some fruit juice or even plain water would have been a nice change by the end of the day.
The food was good, unless you're a vegan like Stewart at which time the catering staff looked confused and had to go off and get him something special (which didn't look all that special to me when it came ten minutes later). If that happens again today, then I might try to talk him into just going to a restaurant for lunch with me.
The first tutorial I attended was about MySQL cluster, and to be honest I kinda lost interest at the point where I found out that the database currently has to store all of it's data in RAM. That basically renders it unusable for anyone with a large-ish database. The speaker did a good job in adverse circumstances such as the PA system initially not working, and trying to speak in a language which is not his native tongue in a room which was very wide. I do think that he needed to clamp down harder on the irrelevant, repetitive and self serving questions though. It seemed to me that there were a fair few people in the room who viewed the conference as their chance to get someone else to fix their problems at work. Whilst it's fair to go to a conference to ask advice on problems you're having, I do think that some research prior to attending (or even using the wireless during the conference) is a good idea, and that you shouldn't interrupt the flow of a talk to ask your tangential questions.
The second tutorial was by a Yahoo, and was on MySQL replication. It was excellent -- well prepared, relevant to what I am caring about at the moment, coherent, and flowed well. Jeremy and Eric did a great job (slides from the talk). I hung around at the end to try to offer them beer, but they were swamped by fans who didn't appear to want to leave. I'll have to chase them down today sometime to make the offer.
Overall, not a perfect start to the conference, but I thought the day was very useful. A good first day.
Tags for this post: mysql( ) conference( ) mysqluc2006( )
posted at: 14:45 | path: /mysql/conference/mysqluc2006 | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
So, I attended the first day of the MySQL user's conference yesterday, which was the tutorial day. Overall I was fairly impressed. Registration was easy, the actual rooms presentations are given in are comfortable, the PA system seemed to work after some initial problems in the morning tutorial I attended.
The conference center seems to be big on retirees hanging around, which I thought was weird. Each room comes with a little old lady, whose job appears to be to read a fiction novel at the door. I really have no idea what else they were achieving. They seemed to be having fun though. I did find it a bit odd that the only drinks provided by the catering staff during the day were acidic, and most of them caffinated. For example, we had choices between coffee, tea, soda water, coke, diet coke, pepsi and diet pepsi. Some fruit juice or even plain water would have been a nice change by the end of the day.
The food was good, unless you're a vegan like Stewart at which time the catering staff looked confused and had to go off and get him something special (which didn't look all that special to me when it came ten minutes later). If that happens again today, then I might try to talk him into just going to a restaurant for lunch with me.
The first tutorial I attended was about MySQL cluster, and to be honest I kinda lost interest at the point where I found out that the database currently has to store all of it's data in RAM. That basically renders it unusable for anyone with a large-ish database. The speaker did a good job in adverse circumstances such as the PA system initially not working, and trying to speak in a language which is not his native tongue in a room which was very wide. I do think that he needed to clamp down harder on the irrelevant, repetitive and self serving questions though. It seemed to me that there were a fair few people in the room who viewed the conference as their chance to get someone else to fix their problems at work. Whilst it's fair to go to a conference to ask advice on problems you're having, I do think that some research prior to attending (or even using the wireless during the conference) is a good idea, and that you shouldn't interrupt the flow of a talk to ask your tangential questions.
The second tutorial was by a Yahoo, and was on MySQL replication. It was excellent -- well prepared, relevant to what I am caring about at the moment, coherent, and flowed well. Jeremy and Eric did a great job (slides from the talk). I hung around at the end to try to offer them beer, but they were swamped by fans who didn't appear to want to leave. I'll have to chase them down today sometime to make the offer.
Overall, not a perfect start to the conference, but I thought the day was very useful. A good first day.
Tags for this post: mysql( ) mysqluc( )
posted at: 14:45 | path: /mysql/mysqluc | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
This research is tangentially related to the PhD I have take a year off. It's also pretty important if you plan on putting any pictures you take online anonymously.
Tags for this post: link( )
posted at: 14:19 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
A fair few people have asked me about relocating to the US from Australia, so I figured it was time to do a little write up. Specifically the question I want to consider here is "how much do I need to earn to live in the US?". I didn't really know the answer to that when I moved, and simply moved in the faith that I would be able to afford to live. At the time it was stressful, but it's all worked out for the best. So, let's try to answer that question...
Visa status
What visa are you going to be on when you live in the US? There are three main versions that I can think of off the top of my head. There is the E-3, which is what I am on, which allows your spouse to work if he wants, but is only open to Australian citizens. There is the H-1B, which is open to citizens of all nations, but doesn't let your spouse work. Then there are the L "internal skills transfer" visas, which I believe don't let your spouse work, but I could be wrong on that one. To be eligible, the move needs to be inside your current employer, and you need to have worked for hat employer for more than 12 months.
For all of these you need a sponsoring US employer. They don't just let people wander in. Generally if you're going to a new employer it will be an E-3 or an H-1B, if you're moving to another office of an existing employer, it might be an L visa.
There are some other issues to take into account with these visas. First, E-3 and H-1B visas require that you have completed a "four year technical degree", or have equivalent experience. I have such a degree, but Andrew who moved at the same time did not and he was able to argue that his work experience was the equivalent. So, it's not a show stopper, but it might be a problem for you. Now, the judge of the experience test is the guy you talk to at the US Consulate when you apply for the visa, so be sure to be nice to him or her. They have good bullshit filters too, so don't bother. I watched four people get bounced while waiting in line at the consulate for my appointment, and all of them were because they were visibly bullshitting when they applied for the visa.
Oh, Andrew has some pretty interesting posts on moving to the US as well, so checkout that link above.
Now, the L visas don't have the degree test to my knowledge, but you need to be transferring within one company, and that company needs to have invested over a certain amount of money in the US to be eligible, so they're not open to everyone. They were available to my former employer though, and we have only spent a couple of million in the US, so I don't think they're that hard to get.
Only the H-1B has a permanent immigration option by the way. It is possible to convert from an E-3 to an H-1B, but I understand that it can be expensive.
Marital status and number of children
Are you married? Do you have kids? I ask because this affects your federal tax rate. When you start working you will calculate your W-4 withholding number, which is a lot like the pay as you earn (PAYE) system in Australia. The amount they hold back from your pays to cover tax will vary based on your status in the family stakes though, so I am paying less withholding because of being married with two kids than a single person would. Also, if your spouse works, then the withholding rate will go up, as you can no longer file jointly. Checkout the IRS withholding calculator for some assistance with working out your likely W-4 number.
Which state are you planning on living in?
There is also state tax, which is also withheld. Now in California this is a flat 9.something percent, and is withheld from my pay check in the same way as the federal tax. There are some concessions for low income earners, but assume that you're not going to get them. Also, there are other taxes that can be taken out, for example the federal Social Security payment (despite the fact that you can't claim Social Security ever), and things like state disability cover. Your destination state should have a web page which explains state tax.
401k / superannuation
There is no such think as compulsory employer superannuation contributions in the US. Some employers will match your contribution up to some (normally quite low) limit though. Oh, and you can contribute 0% if you want, you'll just be f**ked when you retire, which seems quite common here. Now, this matters because your 401k contributions are pre tax, and therefore lower your tax rate.
Flexible spending accounts
Even better, some employers let you have flexible spending accounts, which means that they take some of your money (you nominate the amount), and buy things you want for you with the money. This avoids paying any tax on that money. This is normally limited to things like medical care, public transport and so forth. There are probably rules here, but I don't know them.
Don't forget health insurance
Which can be quite expensive, and is pre-tax (I think).
That all affects your tax rate
So, all of those issues affect your tax rate. The worst case tax rate is probably around the 40 or 50 percent mark, and the best case is much more like 10 or 20 percent. The tax rates also vary depending on your income level, so I would recommend that you look into this using the calculators and websites I mentioned above. Also remember that income in Australia while you are in the US is taxed in both countries (I believe). In return I believe that losses can be claimed in both countries from investments, which is why my houses in Australia are negatively geared. Oh, and I don't have enough money to pay off the loans in Australia either. I am a bit unsure about this because I have never had to file a tax return here.
Also, bear in mind that you get at the very least a standard $10,000 deduction from your taxable income. If your actual deductions are more than that, then you get the higher of the two numbers, but your tax return is more complicated in return. If you plan on owning property, then you should care about the AMT federal tax return system, but that's really a topic for another day.
Real estate costs
It really depends on where you are. I'm in Silicon Valley, and the average seems to be around $1,700 (two bedroom, shared laundry) to $2,400 (three bedroom, private laundry). It's a lot cheaper elsewhere. In Portland, Seattle and Phoenix I know you can buy a three bedroom house for less than $400,000 US. I recommend you look into online real estate firms, and especially rent.com.
Eating out
Cheaper. If you're not in California, expect there to be left overs, and expect people to want you to take them home. This is definitely true in the Washington DC area, which is where I have experienced it the most. Groceries are cheaper here than in Australia, but those little Australian things like Vegemite are a lot more expensive in return.
Beware the SSN!
You can't be paid by your US employer until you have an SSN, and these can take up to eight weeks to arrive (mine did). You need to be able to live off savings until it comes through. Worse than that, then they do back pay you, it will be taxed at a higher rate than a normal pay. You'll get the extra tax back at the end of the tax year (January), but it's still a hassle. Andrew had a lot of comments on all of that, so checkout the link above.
Credit and banking
You wont be able to get any. Imagine that you're a teenager, and get over it. Apply for a big Australian credit card before you come over here, just in case you need money instantly. Banking in general sucks about as much as in Australia, although if you agree to direct deposit your pay (why wouldn't you?) then generally you'll get fee free banking in return. Checks (cheques that is) take a variable amount of time to clear here, depending on your history with the bank. When I first came here it would take two weeks or so for a check to clear, now it takes a couple of days. Your first pay will probably be a check, so bear this in mind. Perhaps consider writing yourself some small checks early to start developing some clearing history.
Transport, vehicles, gas
If you're lucky, you'll have good public transport. Cars are cheaper to buy here, and gas is about half the price, but expect to use more of it per linear unit of travel. There are many online sites which will give you car pricing. Bear in mind that the prices advertised wont include registration (they call it licensing) and sate sales tax. That added an extra 10 percent to the price of my Toyota Sienna here.
Internet access
Cheaper. But not much. They also appear to be generally all you can eat.
Telecoms
Ringing home to Australia is free, just use Skype or Google Talk. If you must call, it's pretty easy to get calling cards which cost around 5 cents per minute back to an Australian land line. The rest of US telecoms suck even more than in Australia. Yes, I didn't know that was possible either until I moved here. Cell phones are the worst thing here, networks have bad coverage and are expensive. For example, Catherine is on a pre paid plan which is costing us about $20 a month, but her phone is terrible. I've got a nice Blackberry, but I'm paying around $80 a month for the phone, and it only includes 1300 minutes of talk time (which includes received calls).
Going home
Is expensive. It's a long way. Remember that if the company your visa is tied to terminates your employment, then you have a very short period of time to return home in. You probably need to have a war chest in order to be able to deal with an emergency relocation, or your grandma getting sick.
Conclusion
That's all I can think of for now. Feel free to ask questions if you have them, and I will do my best to answer them. I could also talk about cable TV, cost of electronics, and other issues, but my brain has melted. Feel free to ask questions if you would like in the comments. Enter a bogus name if you want to be anonymous.
Updates: clarified L visa description. Expanded the banking section.
Updates: mentioned standard deduction and AMT tax return.
Tags for this post: travel( ) usa( ) relocation( )
posted at: 08:14 | path: /travel/usa/relocation | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Mon, 24 Apr 2006
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
One thing I think that Canberra really lacks is a light rail system. My travels over the last few years have made me realize that one of the things that makes a city a great place to live is a good light rail system. The first one of these systems that I saw was in Washington DC / Virginia, and it was great -- clean, fast, on time, cheap, and it went everywhere I wanted to go. San Francisco's BART is similar, except that it's a little too slow because it has to travel a lot further.
London's tube is a contender as well, although I would argue there that it's too expensive (everything in London is too expensive), and is dirty. Oh, and there is something disheartening about dudes with bombs trying to make you enjoy the train ride less.
The Silicon Valley VTA system is great too. My ride to the MySQL User's Conference made me write this post, I hadn't used the train system really until then. I'd caught the Caltrain to SFO once, but the Caltrain isn't really light rail in my mind, and is nowhere near as nice as the VTA light rail. The ride to the conference to my place costs $1.75 (in fact, unlimited rides for two hours is $1.75), my kids travel for free, and the train trip is on a single line and takes 25 minutes for something which would take me about 30 minutes to drive if I included finding parking at both ends.
VTA, don't go changing. You rock.
Tags for this post: travel( ) usa( ) california( )
posted at: 08:26 | path: /travel/usa/california | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sun, 23 Apr 2006
|
|
|
|
|
 |
|
 |
|
Sat, 22 Apr 2006
|
|
|
|
|
 |
|
 |
|
Fri, 21 Apr 2006
|
|
|
|
|
 |
|
 |
|
Hmmmmm. I didn't realise until it was pointed out to me just now that there are two versions of netcat around. There is GNU netcat which is a re-implementation of the original nc. Interesting, and confusing at the same time.
Tags for this post: netcat( )
posted at: 11:22 | path: /netcat | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
It was Catherine's birthday yesterday, so gifts occurred. I had the day off work, the boys gave her tim tams and Australian tea (tea in the US sucks), and she got that huge handbag she had been eyeing off. Today she goes to be massaged and facialized, and the doctor is giving her a complete physical.
Isn't it nice for the doctor to give her a gift as well?
Tags for this post: blog( )
posted at: 08:54 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Thu, 20 Apr 2006
|
|
|
|
|
 |
|
 |
|
Wed, 19 Apr 2006
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
Adam Barr who is an on and off Microsoft employee has an interesting post in which he describes the role of being a networking test lab engineer for Windows NT. While the manner in which the testing was run probably explains some of the reliability issues that Windows had at that time (I can't imagine it's like this now), what I actually found the most interesting are the comments about how the relatively oppressed contractors had chosen to be happy, and be interested.
Quite a while ago I had a job in the public service where I basically ended up quite unhappy because of management changes. I guess I could have chosen to be happy, but instead I moved on. Perhaps being happy isn't the solution to all problems.
Then again, I know that I'd much rather work with happy and interested people, so there is an element of truth here. I do think it's true that the people who deal well will the adversity are the ones who are most likely to succeed.
Don't get me wrong. There is also a difference between happiness and being cynical.
Tags for this post: blog( )
posted at: 10:00 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Tue, 18 Apr 2006
|
|
|
|
|
 |
|
 |
|
Mon, 17 Apr 2006
|
|
|
|
|
 |
|
 |
|
Hmmm. Trying to decide if I should go to the Maker Faire and if the kids would get bored at such a thing. I guess I don't have to take them if I bribe Catherine to mind them...
Tags for this post: blog( )
posted at: 16:48 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Yucca Mountain is part of the 87% of Nevada which is federal property. It's also where the US intends to store it's nuclear waste, instead of in dry cask storage. Before it starts glowing in the dark, I should consider going on the tour.
Tags for this post: link( )
posted at: 15:11 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
The Boston Globe says you should blog. Unless you're a retiree. The article also suggests single focus blogs, which is interesting. I will meditate on that aspect further.
Tags for this post: link( )
posted at: 10:59 | path: /link | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Stewart has a new toy for his MySQL User Conference presentation, which is probably for the best as I fully intend to ask why MySQL replication is so unreliable, why Innodb hot backup appears to hate me, and lots of other biting questions if I think of them. It does make me wonder what other Aussies are going to be in town for the conference? I have a survey for you to complete:
- My name is: ________________________________
- I am arriving: ________________________________
- I will be staying in: ______________________________ (name of city only please)
- I would be interested in drinking so much I fall off my chair: yes / no (please circle)
- I would like to know where you can get Coopers beer in Silicon Valley: yes / no (please circle)
- Is Frys really as dodgy as it looks? yes / no (please circle)
Let me know if you're going to be in town for the conference, and perhaps we can all get together and do something geeky. If there aren't too many of you, then perhaps I can organise a tour of the Googleplex or something. Hopefully it wont be raining the whole time like it has for the last few weeks, but I would bring rain gear just in case if I was you.
Tags for this post: mysql( )
posted at: 08:22 | path: /mysql | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
OpenOffice has an outliner mode which uses the headings from your document to build an outline. This feature is great. Apart from the fact that every time I open the document, it resets the heading list to the default (heading 1 thru 10), instead of my custom list. Surely if I went to the trouble of setting heading priorities for my document, OpenOffice should save it?
Tags for this post: openoffice( )
posted at: 08:08 | path: /openoffice | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sun, 16 Apr 2006
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
One of the flaws with Microsoft's Media Center flavour of Windows XP when it was released in Australia, was that it suffered from the same inherent flaw as every other PVR option in Australia. No guide data. It really says something about Australia's television networks that they don't want to help people with even vaguely modern computing setups watch their content -- it's a situation which reminds me a lot of the RIAA's stand over tactics, and I think it's equally doomed.
That's one of the joys of my MythTV setup in the US -- the guide data is trivially available in return for doing a simple four or five question survey every three months or so. What could be easier than that?
Well, when I was using a TiVo in Australia the OzTiVo folk had a solution to these problems, and were working with the XMLTV / MythTV people to make it more generic. I hadn't been paying much attention to it until today when I was randomly surfing on the topic, but it's interesting to see that they also now provide instructions for how to import their guide data into a Windows Media Center PC. It's cool to see a community driven project which is so OS agnostic, and seems to be getting the job done. If you have a TiVo, MythTV box, or a Windows Media Center PC you should be thanking the kind folks who enter all this guide data.
Oh, and you should be helping them keep the data up to date. It would seem to be a case of enlightened self interest to work on the shows that you want to be accurate because you want to watch them for instance.
Tags for this post: mythtv( )
posted at: 20:57 | path: /mythtv | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
Thu, 13 Apr 2006
|
|
|
|
|
 |
|
 |
|
Pod coffee is quite big here in the US it seems. Possibly the most famous option that I have seen are the Senseo coffee makers that Adam Curry wont stop harping on about. Most of the offices spaces I have seen here have Keurig machines (although that one is a baby compared to the office ones). All of these machines take some form of variant on the pod / kcup concept.
Anyway, pod coffee is ok, if a little environmentally unfriendly. So today I ventured out and tried pod tea.
It's horrible.
Tags for this post: blog( )
posted at: 10:13 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
I think the spammers are getting smarter at dealing with moderation systems...
Hi All. Help me please with my MSIE!
In my title bar instead of "Microsoft Internet Explorer" a title appears as an advertisement about a site i visited
"visit www . site353535 . com and register for free". What can I do to restore my browser? And why on this site:
http://xxxxxxx-xxx-xxxxx.xxxxxxxxxxxx.net (meet single woman)
I constantly see "cannot resolve host name"? Waiting for your reply.
At least they're starting to make me wonder if the comment is vaguely genuine before I kill it.
Tags for this post: blog( )
posted at: 08:10 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Tue, 11 Apr 2006
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
For reasons which might be fairly obvious, I've been doing a lot of repetitive sshing to machines recently (think executing the same upgrade on four mail servers for instance). I pondered aloud in the cube the possibility of an application which would give me a dialog to type in, and then wack that text into a bunch of xterms all at the same time for me. Andrew did some Debian foo and suddenly cluster ssh is presented as an option. It's pretty cool, and basically does exactly what I wanted.
It's not perfect though -- some people have complained that it uses gnome-terminal, and about the fonts of all things. I've noticed some odd behaviour if you try to cut and paste into the gnome-terminal as well (instead of the text entry dialog). Interesting, I think it might be time for me and the cluster ssh code to become acquainted sometime.
Tags for this post: clusterssh( )
posted at: 09:56 | path: /clusterssh | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Mon, 10 Apr 2006
|
|
|
|
|
 |
|
 |
|
1,593,971 hits on this main in the last four weeks (well, the last four complete weeks from my log files). Thanks Andrew for hosting the domain... Now, if only I could find an open source log analysis tool which didn't make my eyes bleed whilst still giving me the data I want.
Tags for this post: blog( )
posted at: 21:34 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Surprisingly easy. Xebian, and pre-compiled packages make me smile. Time spent building the whole thing -- about an hour. Children now quiet after Australian DVD player broke in the US -- two.
Tags for this post: mythtv( )
posted at: 21:24 | path: /mythtv | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
I was lucky enough to attend Paul Graham's talk on software patents at Google the other week. It's nice to see that Paul has now written that talk up. I went into the talk expecting the conclusion to be that software patents are evil, and rather surprisingly to me that wasn't the outcome at all. Paul did make a compelling argument though, and I think he has me convinced. Anyway, read the article and decide for yourself.
Tags for this post: patent( )
posted at: 13:03 | path: /patent | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sun, 09 Apr 2006
|
|
|
|
|
 |
|
 |
|
Five funny comment spams today (although they were all the same, so it was less funny by the end):
There has been a comment made on the post /diary/toys/000040.
The commenter was Smart
Smart@yahoo.com
http://www.smart.com
-----------------------------
I am smart auto posting. We are posting from auto machine.
-----------------------------
At least it's honest. I wonder if this implies that there will be a flood of comment spam coming my way, although the flood gates seem pretty open already. It seems this bot is often quite honest.
Tags for this post: blog( )
posted at: 19:01 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Wed, 05 Apr 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/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: ";
Nothing to it really. Oh, although the progress counter is still wrong, but I will work on that later. Now all I need to do is submit the diff...
Tags for this post: blog( ) toys( )
posted at: 12:03 | path: /diary/toys | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Tue, 04 Apr 2006
|
|
|
|
|
 |
|
 |
|
I've been working on getting nuvexport to transcode my MythTV recordings to PSP in my spare time for the last couple of days and I think I am getting closer. I had to hack some of the nuvexport perl, and at least I now have all of the packages installed (would you believe that nuvexport doesn't tell you what packages are missing?). I think that my final problem -- which is that the video doesn't work on the PSP. I suspect it has something to do with the ffmpeg command line. Check this out:
Starting ffmpeg: /usr/bin/nice -n19 ffmpeg -f rawvideo -s 720x480 \
-r 29.9700298309326 -i /tmp/fifodir_24287/vidout -f yuv4mpegpipe - \
2> /dev/null | /usr/bin/nice -n19 yuvdenoise 2> /dev/null | \
/usr/bin/nice -n19 ffmpeg -threads 2 -y -f s16le -ar 48000 -ac 2 \
-i /tmp/fifodir_24287/audout -f yuv4mpegpipe -s 720x480 \
-aspect 1.33333333333333 -r 29.9700298309326 -i - -aspect 1.3333 \
-r 14.985 -deinterlace -croptop 10 -cropbottom 10 -cropleft 14 \
-cropright 14 -s 320x240 -b 768 -bufsize 65535 -ab 32 -acodec aac \
-f psp -title 'The Simpsons - The Sweetest Apu' \
'/data/psp/The Simpsons - The Sweetest Apu.MP4'
I'll keep you posted on when I get it working.
Tags for this post: blog( ) toys( )
posted at: 16:30 | path: /diary/toys | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
Sun, 02 Apr 2006
|
|
|
|
|
 |
|
 |
|
Sun, 26 Mar 2006
|
|
|
|
|
 |
|
 |
|
Chris accuses my moderation robots of having failed him, which is hurtful given that I am said robot. The way comment spam detection works is currently like a moderated mailing list -- all comments are treated as spam until I manually approve them, which I generally do about once a day. Therefore if you make a comment, it may take some time to appear (especially now that I live in a different timezone than most of my readers).
Fear now Chris, your comment did survive moderation and is visible...
Tags for this post: blog( )
posted at: 10:15 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Sat, 25 Mar 2006
|
|
|
|
|
 |
|
 |
|
I've been finding that MythTV is really unreliable after dist-upgrading from Breezy to Dapper. In fact, it's been crashing six or seven times a day, which has been really annoying. I figured I though therefore bight the bullet and upgrade to the latest stable version of MythTV. I was previously running a SVN snapshot because it fixed a couple of bugs I was having when I first installed Myth.
Installation was pretty easy. First, grab the one or two libraries you're missing and that the configure script doesn't necessarily detect the dependency for properly:
sudo apt-get install mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev \
libqt3-mt-dev libqt4-dev mesa-common-dev qt3-apps-dev libglu1-mesa fftw3 \
fftw3-dev libsdl1.2-dev festival festival-dev libdvdread3 libdvdread3-dev
And then the usual configure, make, make install in the mythtv and mythplugins directories.
Tags for this post: mythtv( )
posted at: 20:19 | path: /mythtv | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
I picked up a Netgear MP101 a while ago cheap from a guy at work. I haven't got around to making it work until just now, and it was pretty easy to get MP3 streaming happening. The steps are:
Install gmediaserver. Start it. I used something like:
gmediaserver --friendly-name="molokai.stillhq.com" -vvvv --profile=mp101 /data/mp3/symlinks/
I used the extreme verbosity because it takes quite a while for gmediaserver to start up with many MP3s, and I had originally thought that it had crashed.
So, now I can play albums and so forth -- next steps are to get a streaming radio station happening (based off music preferences from people present or something?) and perhaps streaming audio from MythTV. Does anyone else have experience with this sort of thing that they would like to share before I reinvent the wheel?
Tags for this post: blog( ) toys( )
posted at: 10:40 | path: /diary/toys | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Wed, 22 Mar 2006
|
|
|
|
|
 |
|
 |
|
What's wrong with this picture?
mikal@daedalus:~/blog-comments$ find . -type f -name "*.yes" -mtime -2 | wc -l
1
mikal@daedalus:~/blog-comments$ find . -type f -name "*.no" -mtime -2 | wc -l
101
That's 1 real comment (thanks Andrew) to 101 spam comments. Nice.
Tags for this post: blog( )
posted at: 17:51 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Yesterday my wife told me about a user interface she actually experienced, and was surprised by the violence of my reaction. It's simply the worst user interface I can think of for a scenario in question, and it comes from a major corporation with presumably UI experts and testers, and all of that fancy stuff.
So, what she was trying to do was transfer some money from the US to Australia. The user interface was a little bit like this:
So, you're told how many US dollars you have in the account, and then asked how many Australian dollars you want to transfer. There is no select an amount in US dollars. Oh, and if you guess wrong and have to do another transfer, that will of course cost you another set of ten dollar fees.
In summary, this user interface:
- Expects you to know what exchange rate Citibank is going to apply
- How much the fees are
- Perform the exchange rate maths in your head
- Then enter a number
Ewwww.
Tags for this post: blog( )
posted at: 17:50 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
What's with the 50 or 60 comment spams I have got in the last couple of days? It seems that someone's scripts have finally worked out how to deal with my custom comment forms in bulk. It sucks.
Tags for this post: blog( )
posted at: 10:00 | path: /diary | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
I tweaked the bike commute this morning, and in return for spending the same amount of time on roads as before (but much busier roads), I pretty much cut the commute in half. It's a bit of a shame really, because it no longer feels like a real ride because it's too short. Now I need to decide if I go the long way or the short way.
Tags for this post: bike( )
posted at: 09:59 | path: /bike | permanent link to this entry
|
|
|
|
|
 |
|
 |
|
Tue, 21 Mar 2006
|
|
|
|
|
 |
|
 |
|
Mon, 20 Mar 2006
|
|
|
|
|
|