Planet Linux Australia
Celebrating Australians & Kiwis in the Linux and Free/Open-Source community...

May 11, 2008

1080p bluray playback = sweet

Rewired our home theater setup and wired the PS3 into the TV. I must say I am very happy with the result. It worked perfectly fine. Bluray movie playback on the TV at 1080p is really sweet. It looks very good. The PS3 menu even looks a lot better, not to mention GTA IV.

Very happy with the result. All I need now is to test a few good Bluray movie titles. DVD upscaling is very good too, I think I will watch my DVD’s via the PS3 rather then via our Beyonwiz DP-S1.

Downloaded MediaLink for OSX and it seems to work really well. It implements a uPnP server on OSX for sharing out iTunes and iPhoto data, along with other folders of files as you select. Playback of content like DivX and XviD files is very nice. I think I’ll even purchase a license for MediaLink as it works without any effort.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

More on the IceTV judgment

Following up from my long post on the case, some more comments and things on IceTV that are interesting: This thread discussing the decision in the Digital TV Forum This post on the case, with a reference to a really interesting paper by Kathy Bowrey on digital television and copyright; The responding press release from IceTV (foreshadowing a [...]

Isaac Asimov's Foundation Series

I'm getting really into reading second hand science fiction from the 1950s onwards. I read a few (but nowhere near all) of the Foundation series as a child, and I remember liking them a lot. Stolen from Wikipedia, here is a list of the books in The Foundation series in Asimov's suggested reading order:



CYearTitleNotes
1950I, RobotRobot short stories. First collection, which were all included in The Complete Robot, though it also contains binding text (Mind and Iron), no longer in The Complete Robot. Bookbuyer's
11982The Complete RobotRobot short stories. Collection of Asimov stories written between 1940 and 1976.
1986Robot DreamsRobot short stories. Anthologised in a book with the same title.
1990Robot VisionsRobot short stories. Anthologised in a book with the same title.
1992The Positronic ManRobot novel based on Asimov's short story The Bicentennial Man, co-written by Robert Silverberg
21954The Caves of SteelRobot novel. Leigh's Favorite Books
31957The Naked SunRobot novel.
41983The Robots of DawnRobot novel. Leigh's Favorite Books
51985Robots and EmpireRobot novel. Bookbuyer's
1993Isaac Asimov's CalibanCaliban trilogy by Roger MacBride Allen.
1994Isaac Asimov's InfernoCaliban trilogy by Roger MacBride Allen.
1996Isaac Asimov's UtopiaCaliban trilogy by Roger MacBride Allen.
61951The Stars, Like DustGalactic Empire series.
71952The Currents of SpaceGalactic Empire series.
81950Pebble in the SkyGalactic Empire series.
91988Prelude to FoundationFoundation novel.
101993Forward the FoundationFoundation novel.
111951FoundationFoundation trilogy.
121952Foundation and EmpireFoundation trilogy.
131953Second FoundationFoundation trilogy.
1997Foundation's FearSecond Foundation trilogy by Gregory Benford.
1998Foundation and ChaosSecond Foundation trilogy by Greg Bear.
1999Foundation's TriumphSecond Foundation trilogy by David Brin.
141982Foundation's EdgeFinal chronological Foundation books.
151986Foundation and EarthFinal chronological Foundation books.




Next step, read them.



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



Comment on this post

I, Robot

The 1950s must have been a great time to be a science fiction author. WW2 was finally over, and seemingly massively stupid ideas like mutually assured destruction, nuclear rifles so powerful that they were as much a danger to those firing them as those who were on the receiving end, and Brylcreem were all the rage. Into this atmosphere of run away idiocy comes Asimov's I, Robot, the book which defined the three laws of robotics, and some how managed to not suggest that humanity should nuke each other all into submission. This book is still an excellent read almost 60 years later, and I think still shows us some of the future. Its a little depressing to think how little we've achieved towards Asimov's proposed future world, given the time line laid out in this book.



One of the interesting aspects of this book is Asimov's failure to predict things which seem so mundane now, but must have not been obvious to an observer in 1950. For example:



  • The commonness of computers now. One of the short stories revolves around a secret batch of robots, and the need to debug them. The protagonists can't use a computer though, because that would draw too much attention. Why not use a laptop? Because Asimov failed to predict them.
  • The use of wire recorders to record sound. No optical media (or whatever we'll have in the future) here.
  • The assumption that robots contain vacuum tubes.
  • The failure to account for inflation. This one should have been obvious! A batch of 63 robots for instance is valued at $2 million dollars in one of the stories, a sum so great that no one can conceive of deliberately destroying the batch.




A good book.



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



Comment on this post

The Stainless Steel Rat Series

I am increasingly becoming obsessed with science fiction from 1950s and 1960s. Again stolen from Wikipedia, here is a list of all the Stainless Steel Rat books:



YearTitleNotes
1985A Stainless Steel Rat Is BornI got this one from powell's
1987The Stainless Steel Rat Gets Drafted
1994The Stainless Steel Rat Sings the Blues
1961The Stainless Steel Rat
1970The Stainless Steel Rat's Revenge
1972The Stainless Steel Rat Saves the World
1978The Stainless Steel Rat Wants YouI got this one from bookbuyers
1982The Stainless Steel Rat for PresidentI got this one from bookbuyers
1996The Stainless Steel Rat Goes to HellI got this one from bookbuyers
1999The Stainless Steel Rat Joins the Circus
1993The Golden Years of the Stainless Steel Rat




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



Comment on this post

From normalised schema to spreadsheet

Here's one for you... imagine you have a properly normalised schema, but you need to output it to CSV for a spreadsheet. So, you have multiple attributes for each item. The number of items is larger than the max # of joins (61) that you can do in MySQL. How to do this in a single query?

[various] An unflappable trust of our intelligence

The title to this post pretty much sums up the over riding experience I have of my relationship with my mother. To put it more obviously, Jane and I have always found mum to be almost unflappable, to the extent that for years Jane made all manner of statements and claims in an attempt to get a rise out of her. However along with this calm demeanour our mum has always trusted Jane and I to have intelligence and think things through ourselves. Even from a young age she would not often outright tell us not to do stupid things, instead she would suggest that in her opinion it was ill considered (or stupid), however she would let us make our own choices and decisions about our behaviour.

I like to think this trust she has put in our intelligence has gone a long way to making Jane and I the people we are. I like to think we are both well adjusted sensible individuals in this modern society, and so much of this is thanks to mum. I love you mum, and look forward to many more years of seeing if Jane or I will ever get a rise out of you :)

[various] The Annual May Zombie post

I missed out on this tradition last year, however after a year off from making a zombie related post in May (tough schedule that...) I was sitting reading the Sunday life (sun herald magazine) in the kitchen, listening to best of James, waiting for the cookies I am baking to come out of the oven and I stumble across Zombie News.

It appears Sega has released an English teaching game for some Nintendo platform, English of the Dead. You fight off waves of zombies by spelling out words, of course maybe the zombies are just trying to enlarge their next meals...

On the same page of Sunday life I was entertained to see something about Slacker Yoga, you practice this suspended on some form of webbing just above the ground. The guy who created the concept is described as a "ultra-endurance yogi athlete". As much as I enjoy stretching and yoga style activities I think I am happy to refer to myself as a professional geek, or I guess in sports terms as a mountain biker, cyclist, kayaker or adventure racer.

Ouchie!

Injured once again, I realised today that I hadn't told anyone why my blogging had slowed so much over the past few months. The answer in a nutshell is that I had a fractured hand and that from here on in I should be around a bit more as I don't think my current chest injury is going to have the same effect on my on-line productivity as the household productivity!

read more

Cafe 7

Wandered up through Landsdale on the pushbike today, & found Cafe 7 open for lunch — on a Sunday.

Having enjoyed a great nosh-up there with Matt, fixing computers at a local school, I asked about when would be best (the place was absolutely packed at 09:30, guessing Mothers’ Day had something to do with this) for lunch, & wheeled back in at 14:00.

Lunch was absolutely delicious; these people seem to have refined the art of using serious food (e.g. rice) backgrounded by scrumptious stuff & cooking it so the flavour is spread throughout rather than blanded.

I was able to get something reasonably low-fat, plus veggo (hi, Steph! :-), for about the price of two burgers from one of the fast-food chains.

Their choc-milk is not exactly low-fat (it includes both cream & real ice-cream), but was so delicious that I “had” to order a second. (-:

The staff were very helpful, spontaneously offering to rearrange the table so I got a clear view of the wide-screen DVD showing (“Hedge,” which the munchkins from a nearby Islamic family were audibly excited about, parents liked that fact that most (if not all) of the food was Halal) & checking on the progress of my meal without being intrusive at all.

The Cafe itself is here, in Landsdale Forum, just a tad east of Wanneroo Road (take either Kingsway or Gnangara Road to the east) & there’s plenty of parking.

There’s an IGA supermarket next door, a video store, a few other conveniences. They’re open Sundays, weekdays, & most Saturday nights.

Oh, & they have a range of cakes, muffins & icecream that I didn’t dare to try at the time — but I’m sure you’ll be glad if you do. (-:

[amusing] Another ad, still a shame about the product

Last July I commented on the fantastic Carlton Beer ads (linking to those I liked (I do not like the Flash Dance ad)). A few days ago a friend mentioned she had seen a new Carlton ad with some sky diving in it.

Though in my opinion this is no where near as funny as the Canoe ad or the More horses/Metal ad, it has a scale and amusement value on par with the Big Ad, this definitely an ad you should watch. Strangely one of my housemates went skydiving yesterday, it must be a theme for the weekend.

Magazines fully loaded

Now have no less than 6 magazines interested in having me write for them.

With that & miscellaneous other work, all I need to do now is get my life organised enough to manage all of this, & I’ll be only a few steps away from career paradise. (-:

Only three major line-items awaiting solutions, but two of those are biggies.

Did I mention girls going crazy? Remind me one day to explain “second best” as a ranking — it offers both ongoing frustration & eventual hope, if I’ve interpreted the promises of certain people (back window of your car) correctly.

Meanwhile, looking at fighting for a duplex in southerly Girrawheen which “should be” in ADSL2/2+ land for at least 2 ISPs.

May 10, 2008

why so many photos?

People may have observed an increased amount of mediocre-quality photography appearing on my blog of late, and be wondering why.



When I was young, Dad always used to shoot on a 35mm SLR, but with the advent of digital, switched back to point-and-shoot cameras. For many years I longed for a digital SLR, but it was very much out of my price range. Later I decided that I would prefer a small camera that I could easily carry around with me, so for quite a while I've had a Canon Ixus.



Those who saw me at linux.conf.au this year saw me carting around my Dad's Canon 400D, as part of a field trial. Dad buying this camera resparked my interest in SLR photography. I found myself quite enjoying the control and the ability to create really nice photography (or at least make an attempt). It fit in nicely with my need to find new hobbies; plus now digital SLR was something I could afford.



To this end, I purchased a Canon 450D and the two image stabilised lens kit (18-55 IS and 55-250 IS) about 2 days before Steph and I got married. This was the camera I took around Penang and Singapore.



I'm still learning how to use it, but it seems like quite an improvement over the 400D, but I think a lot of that is the lens. The 18-55 IS lens is quite a bit nicer than the old Canon kit lens. The IS is really forgiving and allows for shots that otherwise I would have blurred, although for some reason emits a high-pitched whine when stabilising, which is a little unpleasant.



So that's why I've been taking so many photos.



veganing about town

stoic


I'm just taking the time to mention Steph's new food blog blag Vegan About Town. Perhaps you think it won't be your thing, but it's full of delicious recipes (which even omnivores have admitted are tasty) as well as reviews of Perth's eating houses.



It also contains a fair amount of my photography.



Dahl Pie


Check it out.

Miro AKA DemocracyPlayer

www.ted.com is a premier partner for the Miro player [1]. This is a free player for free online content, the site www.getmiro.com has the player for download, it has binaries for Mac OS/X, Windows, and Ubuntu as well as the source (GPL licensed), it is in Debian/Unstable. It supports downloading in a number of ways (including bittorrent) and can keep the files online indefinitely. A Debian machine connected to the net could be a cheap implementation of my watching while waiting idea for showing interesting and educational TV in waiting areas for hospitals etc [2]. When I first checked out the getmiro.com site it only seemed to have binaries for Mac OS/X and Windows. But now I realise that it’s been in Debian since 11 Sep 2007 under the name Miro and since 12 Jun 2006 under the name Democracyplayer. I have only briefly played with Miro (just checked the channel list) and it seems quite neat so far. I wish I had tried this years ago. Good work Uwe Hermann!

I hope that the Miro player will allow me to more easily search the TED archives. Currently I find the TED site painful to use, a large part of this is slow Javascript which makes each page take an unreasonable delay before it allows me to do anything. I am not planning to upgrade my laptop to a dual-core 64bit machine just to allow Firefox to render badly written web pages.

Biella recently wrote about the Miro player and gave a link to a documentary about Monsanto [3].

One thing I really like about this trend towards publishing documentaries on the net is that they can be cited as references in blog posts. I’ve seen many blog posts that reference documentaries that I can’t reasonably watch (they were shown on TV stations in other countries and even starting to try tracking them down was more trouble than it was worth). Also when writing my own posts I try and restrict myself to using primary sources that are easy to verify, this means only the most popular documentaries.

Too close to Antarctica

Having not written anything here for 4 months, I figure some kind of update would not go astray. Brief summary of events since my last post: still living in Melbourne, now working for an investment fund, found a place to live, haven’t been on the internet very much (except at work).

Bill The Galactic Hero

This book is an interesting read, but for unusual reasons. Its as if Harrison sets out to write a terrible book, and learns new techniques to achieve this terrible along the way. An example of his mastery of the art:



A hundred bucks a month was good money, though, and Bill saved every bit of it. Easy, lazy months rolled by, and he regularly went to meetings and reported regularly to the G.B.I., and on the first of every month he would find his money baked into the egg roll he invariably had for lunch. He kept the greasy bills in a toy rubber cat he found on the rubbish heap, and bit by bit the kitty grew.




It seems to me that this book is so terrible it has to be deliberate, and its good to see that Wikipedia agrees:



Bill, the Galactic Hero is a satirical science fiction novel by Harry Harrison, first published in 1965.



It is a response to Heinlein's controversially militaristic Starship Troopers. The overall plot is similar, the details rather less so; and Harrison makes the most of an opportunity to spoof the work of other authors including Isaac Asimov, "Doc" Smith, and Joseph Heller. Harrison reports having been approached by a Vietnam veteran who described Bill as "the only book that's true about the military".




This book is a study in bad writing, and that's what makes it great. This book is entertaining, stupid, and funny. You wont to be a better person at the end, but you wont be bored while reading it either. To be clear -- I loved this book and its paranoia-like universe.



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



Comment on this post

Changes in the blog

Its worth noting some website changes. First, I dropped Skribit. The widget has been sitting there unused for weeks, so I’m thinking that’s software that no one, besides its founders use. “Is Skribit proving useful?” is the question they ask - no.

Next up, I’ve stopped using Technorati tags, and have decided to use Wordpress tags. I’ll still be using categories, as well as tags to complement the categories. Why? Wordpress has the feature… Technorati still gets updates/pings from my blog, and creates its own “tags” (largely from what I can see, from ways I categorise my post) that it sees my blog represents.

Besides, now I can add tags for relevant events, and RSS feeds can be generated from it. Good for people just wanting to follow notes from a certain event, and aggregations of the specific feed for said events.

May 09, 2008

Of cleaning keyboards and virii

In a tiny fit of paranoia, as the Norovirus has decided to pay a visit to the Moscone this week, I decided that I needed to clean my keyboard on the Macbook.

I’ve already been following best practices of washing ones hands before eating with them (say bread at a restaurant even). You learn this stuff as a kid, but somewhere in-between growing up, and finding a girlfriend, you decide to share over cleanliness. Anyway, the habit has been back for a while. This largely after looking at toilets in a many a men’s wash room, where I notice that a lot tend to not wash their hands!

Anyway, to the point. Keyboard Cleaner. Tiny application that locks everything up, allows you to clean your keyboard and trackpad, and then with the magic Command+Q only will the application exit. Its small, but it serves a useful purpose.

twitter updates for Fri 9 May

Old protocols have their advantages

If you were fretting about the Ubuntu mirrors being so slow, remember that the installer defaults to using HTTP, rather than FTP.

Warning: download speeds can go down as well as up..

Old protocols have their advantages was syndicated from The Musings of Chris Samuel.

 
Mental note to self: When you first start cooking with chillies, be careful how much you add!

My little outsourcing experiment

After recently reading The Four Hour Work Week by Tim Ferris I decided to start my own little outsourcing experiment. I didn't have anything in mind at first, but then I thought about the logo for my own consulting company Dalton Technology - it was looking a little tired and I could do with something new. I would normally get my wife to do this as she is actually a graphic designer, but her being pregnant, tired and completely off this sort of work at the moment - I thought I would try one of Tim's recommendations - the site elance.com

Took me all of 2 minutes to post my project - entitled "logo for my consulting company" - very little additional information (I was feeling lazy and also wanted to test out how people responded to zero upfront information). Anyway - you can put these things out for open tender, but I didn't want to deal with all the emails so I just picked about 7 or 8 suppliers that I liked the portfolios styles of and let them bid it out. Bids ranged from about $50 - $300 for the job. The one I liked the most bid at about $180 and so I whittled it down to 3 that I liked and managed to price match them down to $150.

The winning bidders for my project were The Netmen - and once selected in elance, they sent me a short questionaire for me to fill in for my company. This was relatively painless and probably took me around 15 mins to fill in. It consisted of questions about my company, my business, the kinds of customers I have, corporate styles, colours, fonts and most importantly - which logos in the current portfolio I liked and which I disliked (and why).

read more

Learnertic

Discovered a new mode of learning yesterday, & that I have used it all along (I match up bullet for bullet down the characteristics list).

Sister’s kinder are very much VSL.

Know a pre-teen who is probably going to crash during primary school because he’s begun to collide with the non-VSL techniques used in State School, finds school “boring” (a word which evidently carries a heavy freight of meaning for this bright young lad).

Another branch to the tree is emotive learning, which I’ve not explored yet, but sister’s 2nd-last munchkin is an absolute genius at it (as in, I don’t understand the detail, but I can see the little light come on as she flashes to a conclusion far faster than I’m able to).

Know another pre-teen in which this mode also is not being addressed.

Sigh. /ME wishes for a perfect world in which not only was the understanding wider spread, but social politics didn’t intervene with communicating it in time.

Change management sucks.

Adding insult to injury:

It's bad enough that due to "heightened change procedures", I am required to submit a change request - with 14 days lead time - to compress a bunch of log files, on an 85% full filesystem. But for that change to then be rejected?

Fine, let it break. It'll cost more to fix it, then. At least I now know why my phone bill is so expensive.

Book plug (no, not mine) - David Lindsay’s book on domain names

Today we had the pleasure of a staff seminar up here at the University of Queensland Law School - by David Lindsay, an old colleague of mine from my melbourne days. David these days is at Monash University Law School. David’s recently published a book with Hart called International Domain Name Law. Now, I remember [...]

Suspending TRIPS Obligations - the Little Guy’s Nuclear Option



Astounding in its simplicity, shocking in its consequences, the Center [sic] for International Environmental Law has recently held a workshop in Geneva on SUSPENDING IP OBLIGATIONS UNDER TRIPS: A VIABLE ALTERNATIVE TO ENFORCE PREVAILING WTO RULINGS? They have also released a paper on the subject.

While the theory is untested, given the extraordinary influence that such interests have in trade negotiations the likely effectiveness of such an approach in securing WTO compilance is dumbfounding, creating a sort of IP ju-jitsu move on big countries for whom IP is important but who are heavily into agricultural subsidies. In the extreme it can create a direct internal tension between various political constituencies in the target country affecting the negotiating position of the target country in future trade rounds.  Once this has been established as a precedent it will cause even more trouble for countries with agricultural subsidies - as a breach based on subsidies is generic in its effect and will presumably entitle multiple aggrieved third party countries to take similar retaliatory action.

Hat tip to Shane Coughlan.

Frustrated with Burmese Junta Inaction? Donate to a group that have people in-country

And double your money, by doing it via the Club Troppo/John Quiggin appeal. Details here.

Why People Are Passionate About Perl

This is inspired by brian d foy's post asking why people are passionate about Perl. I can't speak for everyone, but I'll share some things I've picked up from others along the way.

Mainframe programmers. We were invited to present to the Capacity Management Group in Sydney, Australia a couple of years ago. Basically they wanted to know what Perl was, and whether it could be useful. They were completely blown away by the fact that it was free (in their world everything has to be paid for) and had filters for EBDIC systems automatically integrated! The idea that they could download thousands of libraries on demand also for free was an added bonus. With thanks to the passion of at least the organiser we've been given a few more speaking opportunities with them.

Shell programmers. We've had some die-hard shell programmers being sent to our courses, and some of them have fallen in love with Perl. They've been used to everything being much more verbose than shell and were delighted that you can get so much done in so little code in Perl.

I am passionate about Perl because it's an easy language to work with. I first learned it because I needed it for a job, and I was delighted at how powerful, simple and often intuitive it is. I like the english constructs: unless, and, not, or. I like the short-circuiting nature of the operators: my $foo = $a || $b || 0; - that saves me so many lines I always have to do in other languages. I appreciate its variable scoping and I like strict. I love the DBI, and even more so the abstraction classes (DBIx::Class, Class::DBI etc). How could I not mention the CPAN? Perhaps Perl's biggest answer.

I know, and program in, several other languages, but they don't compare well. I do a lot in PHP, but there are so many little things that get in my way and slow me down. I also keep littering my code with mys. I do a little in C, but I think most people would prefer Perl to C when speed wasn't an issue, so that's not saying much. I write bash occasionally, but past a few lines I can't stop myself returning to Perl for better error handling and real lists. I have never encountered anything that compares to Perl's testing frameworks.

We taught a friend of ours Perl, he is a very experienced Java programmer. He still writes a lot of Java but he uses Perl to script all the repetitive stuff. ;) I can still remember the expression on his face when we showed him "Hello world". Where was all the rest of the code? He's not passionate about Perl, but he's not passionate about Java either. Maybe programming doesn't inspire him with passion, but I always smile when I he asks me "so how would I do X in Perl?" and I show him a simple, elegant, and short way of doing it; followed with him showing me the awkward, cumbersome way he's been trying in order to get it to work in Java. Sometimes I'm able to offer better Java solutions, but not as often as he's able to improve my Java code.

Interactive Application Development for IPTV

Presented by Ronan McBrien and Sourath Roy, both from Sun Microsystems. The highlight of the show for me? Seeing the Sun Media Receiver. Not much information about it, except from the Sun Labs Open Day.

  • Sun Media Receiver (developed at Sun Labs, now maintained by ISV Engineering). Sun make a PVR? Cool.
  • RISC Processor (150-300MHz, predominantly MIPS, some ARM), memory, HDD optional, Ethernet port, USB, IR (remote control), Video output (SD, S-Video, composite, or HD, via HDMI connectors), hardware codecs (MPEG2, MPEG4-2, H.264)
  • Makes use of the Java Media Framework API
  • Can also expose talking to a SIM/smart card through the Java APIs, for security in your IPTV hardware

5 things I hate about Perl

This is inspired by brian d foy's post on "What do you hate most about your language?". Of course I love Perl. I program in it and teach it for a living. Still I hate....

  1. eval. Block eval should be spelled "try" and should have a "catch" instead of an ugly unreadable if statement following. Block eval should not be called the same thing as string eval - which is very, very different.
  2. symbolic references. You should have to *turn on* this functionality if you want it, rather than having it on by default. Trying to convince self-taught programmers who refuse to use strict because it breaks their code and don't want to know that hashes are a better solution, is a challenge in self-control every time. In fact, although I hardly ever use strict in my command-line one-liners or my temporary stuff; it shits me that strict isn't on by default.
  3. bad legacy stuff. In particular things like "reset", which makes some sense in the context of lazy programming, but which just screams out to be abused in "job secure" code.
  4. inconsistent whitespace rules.

    print $foo->{blah};  print $foo -> {blah};  print "$foo -> {blah}";
    I get why the last one fails, but why allow the second one to succeed if you can't be consistent?
  5. no way to take a slice through arrow-notation. If it wasn't for this, we could teach our students arrow notation exclusively and they'd never need to know about the uglier form of dereferencing.

May 08, 2008

All our program guides are belongs to us

As I flagged yesterday, yesterday morning the appeal judgment in the IceTV case was handed down by the Full Federal Court. This truly was an all-stars copyright case: interesting issues, an all-star IP bench (including the CJ himself, plus two senior IP heavies - Justices Lindgren and Sackville) (note too - the same bench [...]

NRMA proving themselves to be useless morons again

Could anyone with an NRMA memership, that rides a bike and cares about it, please ring NRMA (specifically asking for Alan Evans (president) and Anne Morphett (safety adviser)), asking them not to speak on your behalf in the future, please?



*SCREAM*



Seriously, what THE FUCK are they thinking, taking a "known to police" psychotic maniac's response to a bunch of cyclists as an excuse to push their fucking useless and counter productive agenda?



Bring on $10 a litre, fuckers.



EDIT: And now the stupid minister for cars wants us to avoid using the roads alltogether when it is busy (6:45am? Peak hour? You mean peak 8 hours, don't you?). Sounds great. Especially for those of us who utility cycle. It's not fucking helpful to peak hour traffic? NO FUCKING KIDDING ME, YOU FUCKING ARSECLOWN! IT'S NOT HELPFUL TO BE ASSAULTED EITHER! I would argue that traffic is not helpful to peak hour traffic. 1.1 fucking people on average per 5 person car is not helpful to traffic you total dickwad.

Uing DTrace with Java Technology Based Applications: Bridging the Observability Gap

Presented by Jonathan Haslam, Simon Ritter, Sun Microsystems

In what I thought was completely great showmanship between Jonathan Haslam and Simon ritter, it was simply, pure comedy, having the two of them on stage. No reason to go deeply into notes (as the verbose slides are available), but the actual demonstration, the writing the code on stage, and the dynamics between the two - that made this session pure gold to attend.

You can ask a system to panic with DTrace if you want!

Some terminology:

  • Probe: place of interest in the system where we can make observations
  • Provider: instruments a particular area of a system, and makes probes available. Transfers control into DTrace framework when an enabled probe is hit
  • Aggregation: patterns are more interesting than individual datum, so aggregate data together to look for arrays. Generally an associative array

DTrace has a PID provider, to look at applications based on PID

dvm provider is a java.net project to add DTrace support in. Install a new shared library, and make sure its in the path.

DTrace in JDK6 exists as a hotspot provider. No need to download a shared library. Its also more feature-rich.

Project DAVE (DTrace Advanced Visualisation Environment) was demoed. Also note that there’s chime.

Photo of the day - 09 May 2008

Abstract

Abstract

Dud long exposure shot, kinda came out interesting

Free and Open Source Software: Use and Production by the Brazilian Government

First up, I want to say, I’m truly impressed with Brazil. One day I will visit this amazing place, and spread the good word of open source with projects that are close to my heart: MySQL, OpenOffice.org, Fedora, and in due time, a lot more. This is a live-blog, from a most interesting talk, at JavaOne 2008. As I wrote on Twitter, “Brazil, simply impresses me. Their use of open source in government, makes me think that the rest of the world has a lot to learn from them”.

Free and Open Source Software: Use and Production by the Brazilian Government

Rogerio Santana <rogerio.santanna@planejamento.gov.br> +55 61 313 1400, Logistics and Information Technology Secretariat

Planning, Budget and Management Ministry

Brazilian Government

Households with Internet access: 70% in the US4k household income range. 70% of households have mobile phones (even when total revenue is USD$2k). Middle and upper class are all, generally on the Internet.

In 2007, 98% of Income Tax has been sent by the Internet. By 2009, there’s only going to be use of a Java application for this. About 17.5 million people filed via the Internet. Impressive.

Brazil has 142k public schools - 26k are connected to the Internet now (18%), and 92% are connected at low speed, while 8% have 512kbps connections.

Plan? Free Internet for schools, from 2008-2025. 1mbps for each connection, growth plans in the next 3 years.

There exists Computer Reconditioning Centres (CRCs) for recycling PCs.

www.eping.e.gov.br (e-PING: e-Government Interoperability Standards)

www.governoelectronico.gov.br (e-MAG: e-Government Accessibility Model)

Brazil has been using electronic voting since 1995. 136.8 million people voted in 2006 election. Next version of vote machines will use GNU/Linux!

Open Standards. Interoperability. Free Software. Free License. Community.

e-PING: uses XML, browser compliant, they have metadata standards

Many organisations of the Brazilian Government use Java as a primary development platform. Remember, Java is important because its the first that allowed even Linux users to interact with government applications.

Brazilian Digital Television? Middle-ware responsible for the interactive process of digital TV also developed in Java. (Ginga is the name of the application).

In education? Enrolment is done via the Internet for universities. e-Proinfo is an e-learning project that has already trained 50k students.

Developing clusters and grids, with focus on high availability, load balancing, database replication, distributed mass storage, and virtualization. The government is backing this, since 2006.

Bazaar gedit integration

Javier Derderian is working on "integrating Bazaar into gedit, the GNOME standard text editor, so that you can very easily record changes, push them to a server, and so on. Bazaar's model that a branch is just a directory with extra metadata fits pretty well here. He just made another exciting release (or should that be "excited"? :-)

VMWare Workstation on Ubuntu 8.04

Well I ran into a problem with VMWare Workstation (v6.0.3) since the kernel modules wouldn't build on hardy. Thankfully Igor Guerrero Fonseca has already solved the problem and his fix worked for me. Take a look at his blog: VMware 6.0.3 in Ubuntu Hardy 8.04 kernel 2.6.24.

twitter updates for Thu 8 May

  • (13:24) I don't like the opening-bracket-on-new-line placement in the CodeSniffer rules at all. #
  • (13:39) @stewartsmith How many messages to go?' --; DROP TABLE Inbox; #
  • (15:17) @djelibeybi For entertainment tonight? :-) Easy to switch to $LANGUAGE? #
  • (15:20) @djelibeybi $_ENV['LOCALE'] ftw #
  • (15:42) @djelibeybi дйелибеыби!!! #

Spring Cleaning

A little late, but I’ve done a spring clean on the site, upgraded wordpress and coppermine to the latest version, and changed the theme to something a little nicer on the eyes.

Let me know if you find something odd and I’ll look into it.

Open Source Developers Gold Coast Meetup #2

Just got back from meetup #2 of the OSDGC. We met at the Mylkbar on Upton St - a good central venue I think and I was pleased to see on entering that they have a happy hour until 6pm so beer was pretty damn cheap.

Some new faces, old faces and new faces that were really old faces - and we had some good stimulating conversation about Open Source and the state of the IT Industry on the Gold Coast in particular. I tried really really hard to not talk too much, ask questions and listen more (it's an effort - I think it is in my genes to waffle when I think there might be a silence coming).

Anyway - a big thanks to everyone that came (and thanks Ralph for buying us food - we should have really chipped in for that). We are hoping to do a lot more of this community building and I am hoping to get a Bar Camp Gold Coast going sometime in June/July, please join the OSDGC mailing list at http://groups.google.com/group/osdgc to keep up to date.

Got home and caught up on lifehacker feed - which led me to this post which led me to Geek Dad. I think I have found my new favourite blog.....

ps. speaking of geek, I just saw the ultimate Star Wars geek toy today - R2D2 DVD Projector

 
Both my stats tutorials completely sucked today.

IceTV judgment handed down

Just a quick note: the Full Federal Court judgment in IceTV is now up on AustLII. The case concerns the electronic program guide for television: Channel Nine sued a company which was providing the EPG for people wanting to make fully functional use of digital television recorders. Background on the case here. At first [...]

[mtb/gear] Yet Another Cycling Jersey - feeding the addiction

google cycling jersey

My very own google cycling jersey (Full Size)
Yes I have a Cycle Jersey Addiction (though the number decreased by one when my CORC jersey was cut off me at the hospital. (though I will probably replace it as I like my current CORC clothing, I still have two of the old style jerseys, fortunately the jersey that was damaged was not one of my irreplaceable jerseys (out of print or small print run))

Anyway as can be seen to the left I have acquired another cycle jersey, one that I suspect will be somewhat rare in Canberra, though to some extent this is obviously a corporate looking jersey, I think it is a rather good design and will be rare enough here I will enjoy wearing it. Thanks Mikal.

[life] Tour de Cure

Sarah and I are doing the Tour de Cure again this year, like we did in 2006, again as part of the Google team.

This time around we're doing the 50 kilometre ride, since the 25 kilometre one was a bit of a cakewalk. That said, the fitness levels of both of us are pretty abominable at the moment, so it'll be interesting.

So this is the obligatory grovel for donations. If you'd like to make one, you can do it at http://tour.diabetes.org/goto/andrew_pollock

Here's what I'm not spamming people with:

I recently accepted the challenge of cycling in the American Diabetes Association's Tour de Cure fund-raising event. The Tour de Cure is a series of cycling events held in over 80 cities nationwide. The Tour is a ride, not a race; it features different route lengths from a leisurely 10-mile course to a demanding 100-mile journey. I have joined thousands of others to pedal in support of the Association's mission: to prevent and cure diabetes and to improve the lives of all people affected by diabetes.

I am asking you to help by supporting my fund-raising efforts with a donation. Your tax-deductible gift will make a difference in the lives of more than 20 million Americans who suffer from diabetes and another 54 million people in the United States with pre-diabetes.

Any amount, great or small, helps in the fight against this deadly disease. I greatly appreciate your support and will keep you posted on my progress. If you want to do even more to help, please consider joining me in this great event. Our efforts will help set the pace in the fight against diabetes.

More information on the American Diabetes Association, its programs and diabetes in general can be found at the Association's Web site: www.diabetes.org.

For more information on Tour de Cure, please visit www.diabetes.org/tour.

On body modification

Body modification is a permanent or semi-permanent alteration of the body for non-medical reasons — think spiritual, societal, BDSM play, aesthetic or practical. Body modification has been in practice for at least two thousand plus years—Ötzi the Iceman was found with a fairly large earlobe piercing (1–000 gauge; 7–11mm) and 57 carbon tattoos.

Yesterday I had another piercing done — a vertical eyebrow piercing sitting right beside my first on my left eyebrow. I wanted to get another piercing before I leave for Germany this Sunday. Being my second eyebrow piercing I knew what I had coming and all in all it was a fairly relaxing procedure, as far as piercings go. My latest metallic addition had me reflect over the topic of body modifications again — the image I present to others both at work and in my personal interactions.

These issues came up twice before — when I got my first eyebrow piercing and later when I had my Ashley piercing (an inverted vertical centered labret). Eyebrow piercings are simple to get, quick and easy to heal and generally bruise or swell very little. My Ashley piercing on the other hand left my lip swollen for several weeks, bruised and discoloured. Now that the primary healing is over I’m as happy as a clam; I love it. I consulted my employer, work colleagues, family and close friends about both of the piercings and received mixed responses. Work was open to the idea and didn’t mind whatsoever, family didn’t mind either way and accepted it was my decision whilst most of my friends were supportive and receptive to the idea.

Ultimately it comes down to an alteration of the body that can affect the impressions we leave upon others, particularly first impressions. First impressions are vital to good relationships; as much as we like to think we don’t judge books by their covers our first impressions of someone will shape our reactions and future interactions with that person.

The way we look during social interactions is influenced by many factors. Two that come to mind first include the way we dress (is she wearing a casual t-shirt or smart business wear) and personal hygiene (how clean are his fingernails). Body modification also affects the way we look.

I’ve found little issue with the piercings I have and the way they’ve altered my personal image. The only notable observations are that interactions with those several generations older than myself tend to be more conservative and prone to look less favourably upon visible body modifications. This is obviously something that I needed to weigh up — how much did I want to get the piercings versus how often I would have important business meetings with government types. I don’t want to make accusations that public servants are all conservative, but I think the example works.

On that note working in Canberra means I’ll probably run across a public servant just by walking out the door here in the City. I have a few colleagues who directly work for the government and themselves have a piercing or three, if not a tattoo or something else and have had no issues getting or holding their job. I’m glad that thus far I’ve had no problems in business interactions and happy to rarely hear of prejudicial treatment relating to body modifications, at least here in Australia.

In closing, I’ve also been told that as a “creative type” we’re given a little more leeway in this entire regard and sometimes we’re almost expected to be somewhat more outgoing and expressive.

[comp/prog] Move a little thing to python

At ANU there is an online (web page) searchable phone database for all ANU phone numbers. A few years ago (July 2002, according to the version control dates) I spent an hour or two writing a command line program in perl that queries this and prints the results. I find it much easier to use a command line application than open a tab in a web browser and find the appropriate page and enter a query when all I want is a simple bit of information back. I suspect most of the staff in this department are similar (Computer Science).

Sometime last year I realised that though the URL I was using on the ANU Internal Web still worked it seemed not to interface with the latest phone database for the uni so it sometimes did not match people I knew worked on campus, other times it contained out of date numbers for people. However there were other important uses for my time so I did not bother looking too closely into updating it when most of the time the old results were still good enough.

Finally this week Bob noticed there were no matches coming back, it seems the old interface no longer connected to the database correctly. Thus I opened the program and had a look at updating it. The old program used LWP to fetch the page with a GET request. The newer interface now on ANU Web works properly with a POST request. Also the result page is more complex to parse than the old one (more complex regular expressions, or maybe a small state machine needed). Still it did not look too hard to spend an hour or so fixing the old perl code up to get the new page and parse it properly for the desired results.

However I hit a snag when for some reason LWP did not fetch the entire result from the web server that was returning the data in chunks. A tcpdump session showed it simply closed the request rather then fetch all the data. At this point I could have debugged the perl code and fixed, after all there is no good reason LWP should not work. However I thought to myself, I have been keen to write python a bit for a while. Bob bought the Mark Lutz Programming Python book for my office and I read through about half of it. So why not rewrite the program in python. See how a perl hacker can transfer to using python at least for a small program.

I am happy to say that the page fetching in python even made perl look complex, the code that did the job (and worked, doing a post request fine) was

   name = ' '.join(sys.argv[1:])
   params = urllib.urlencode({'stype': 'Staff Directory', 'button': 'Search', 'querytext': name})
   f = urllib.urlopen(searchuri, params)
   r = f.read()

Cool I thought, this is hell easy, what a fantastic language, I will forever give up my perl ways if everything is this easy and obvious. Obviously this was not going to last, I guess partly because my brain meshes with perl well after so many years, and I am used to perl associative arrays, classes, modules, and regular expressions. Anyway I now had my result from the search and all I had to do was parse it and extract a form that can be printed on a terminal nicely.

First I tried using the python regular expression matching and needed to create some hideous regexp to match the data returned. I also discovered that when a search matches more than about 2 people the data is returned in a different format. Fortunately in this second case the format is really easy to match against with a regexp. Even though the regexp language is similar/identical to perl I was still getting my head around the documentation for all of what I was doing and could not at first construct a regexp that made sense to parse the first sort of data. So I decided to get a HTMLParser and extract the data I wanted without the crap in the tags.

My first attempt was to use the HTMLParser module, however I soon found that this threw an exception when ever I fed it the page from the uni with the matches in it. I tried except: pass in the hopes it would keep on going, however it stopped there and did not process the rest of the page. So I had to change to using the htmllib.HTMLParser which was almost identically easy to use and managed to process the entire page.

Next I wanted to store the data until all matches were found, in perl this would be trivial using a multiple level hash or an array of hashes. Of course the most obvious way to do this in python now I think about it is using a list of dicts. However I had my brain stuck on using a multi level hash. I found this was most difficult in python as you need to initialise dict entries and can not simply assign arbitrarily into them when you need. I needed to use the following construct.

if (D.has_key (key1) == 0):
   (D[key1]) = {}

if ((D[key1]).has_key (key2) == 0):
   D[key1][key2] = ''

s = D[key1][key2]
D[key1][key2] = s + data

Which is obviously a bit more verbose than the perl vernacular of $H{key1}{key2} = $s; I think that dicts do not yet work this easily is a problem, however someone has assured me that future python releases will have dicts that can work as easily as a perl hacker would expect. Anyway rather than next go on to the now obvious that I thought about it list of dicts I was still stuck on the idea of using a pair of keys to access some value, thus a tuple seemed obvious to store the data in a dict still. However this meant that when I extract the values from the dict I can not simply use len on the dict collection as it does not accurately reflect the number of records.

Which of course was the perfect chance to go and learn how to use map and lambda in python, after all I use map in perl often and it really is lovely to have functional capabilities in a language you program in. Using a number as one of the record keys I was then able to have constructs such as (after refactoring to list of dicts I did not need the high = expression and modified the second expression slightly)

high = max (map (lambda k: k[0], D.keys()))
and
name, phone, address = map (lambda k: D[(i,k)],['Name', 'Phone', 'Address'])

The first to find the number of records from the numeric key and the second to extract the information I was interested in printing. The second especially is often used in perl to extract matches with a [0..N] or range(N) sort of thing when you get things with multiple function calls into a list. Such as the perl expression

my @emails = map { $res->getvalue ($_,0); } (0..$res->ntuples-1);

The final problem I had was when printing the data, in perl and c I can do

printf ("%-20s %-12s %46s", name, phone, address)
However in python the string formatting in print did not justify or cut off arguments as expected. Also string.rjust and string.ljust did not limit the size of strings if they were larger than the field size. So I needed to do the following.

   print "%s %s %s" % (name[0:30].ljust(30), \
                       phone.rjust(12), \
                       address[0:45].rjust(45))

That final concern is not really a problem, and arguably clearer as to what is going on than using printf formatting as a c programmer is used to. Anyway if anyone who works at ANU wants to use this from a command line or anyone wants to see it I have it online for download/viewing. There may be a few places I can clean this up better, and the version online is stripped of comments. I can understand how people like the way python works, the code really is almost like pseudo code in many ways, it does most of the time work the way you expect it to, it is a little hard to wrap my perl oriented brain around, however that does not take long to work around I expect. Also anyone complaining about whitespace formatting in python, IMO you are deranged, it really is not an issue needing to use whitespace for program layout.

Economist article titles, or indy playlist?

  • Suicide in Japan
  • Too soon to relax
  • A lot to be angry about
  • Fearful asymmetry
  • Death be not proud
  • Unsteady as she goes
  • Speedy decline
  • The Montana Meth Project
  • Prove who you are
  • Cristina in the land of make-believe
  • Unfraternal
  • Right back
  • Hopes of healing
  • Oceans apart
  • Rank injustice
  • Look behind you

Now I want to hear what A lot to be angry about sounds like.

Tightening up public Apache web servers

I recently read an interesting page entitled '80 of the Best Linux Security Applications'.



Whilst the page looks like a typical 'Digg top 10 list page' (aka Digg-Whoring) it does indeed list some good tools.



It did remind me of the great little tool Nikto; a very handy webserver security scanner. 8-)



Nikto does quite a good job of automating and detecting various web-server misconfigurations, as well as known vulnerabilities in web applications.



It's well worth running over your own host just to ensure there is nothing there that the script kiddies will find and play with. :-O



One thing you will notice is that many public web-servers leave the TRACE method open by default. This isn't a bad thing when developing... but probably best avoided on a public web server. (Trace is defined in RFC2616).



Many people write that the way to disable it is via the following snippet of code:



RewriteEngine on

RewriteCond %{REQUEST_METHOD} ^TRACE

RewriteRule .* [F]


Whilst this does indeed remove some of the TRACE methods, it doesn't remove all instances.



The preferred way to actually stop it comes from a recently added directive to your httpd.conf.

The EnableTrace directive was added in Apache 1.3.34, 2.0.55 and 2.2.x).



So basically using the following block will disable the trace method:

EnableTrace off


For those using Apache on a public IP address, it's recommended to disable the TRACE method.



If you require more information on how to harden Apache, I would recommend you take a read through the book 'Hardening Apache'. The author Tony Mobily is actually a fellow Aussie! 8-)

He's probably best known as the founder and Editor of the Free Software Magazine.

Avoiding "not permitted to upload" errors from PPAs

Morten asked today on irc about an error I have hit before myself: you go to upload your new package to a PPA, and get an odd message of Not permitted to upload to the RELEASE pocket in a series in the 'CURRENT' state.

What this means is that your upload was trying to go into the Ubuntu distribution, rather than into a PPA, and you're not authorized to put it there. The underlying reason is that the command line for dput, the tool for uploading source packages, is

dput [options] [host] package.changes ...

It's easy to forget the optional host parameter and if it's omitted it uploads into the Ubuntu archive.

There is a pretty easy (if crude) way to disable this behaviour, by adding these lines to your ~/.dput.cf:

[DEFAULT]

default_host_main = notspecified

[notspecified]

fqdn = SPECIFY.A.PPA.NAME

Getting Started Using NDB on MySQL University

We haven’t had a MySQL University session in a while (a semi-spring break?), but tomorrow’s session (May 8) should be real interesting. MySQL Cluster developer, Stewart Smith, will host a session titled Getting Started Using NDB. It will happen on May 8, at 13:00 UTC.

One of the most common queries I receive is from people wanting to install or get started with NDB usage (ok, strictly speaking, they want to “cluster” MySQL, and I’m happy Stewart is using the word “NDB” which refers to the storage engine). All in all, it should be a great session, so I encourage you to join in the festivities.

Lucky for me, 13:00 UTC equates to 06:00 PST, while I’m in San Francisco. So I should definitely attempt to be there.

May 07, 2008

 
What condition are the Saudi oil fields in? Oil prices have been high of late, but that doesn't mean we're peaking. Given how important the Saudi oil fields are to the world's oil production, someone independent should be allowed in to audit, but I really don't think that's going to happen.

Estimating the progress of queries on MySQL

I've been doing a lot of batch updates on one of my databases at home recently. show processlist says something like this:



mysql> show processlist;
+-------+------+---------------+--------------+---------+-------+----------+------------------------------------------+
| Id    | User | Host          | db           | Command | Time  | State    | Info                                     |
+-------+------+---------------+--------------+---------+-------+----------+------------------------------------------|
| 18354 | root | maui:37403    | smtp_servers | Query   | 57234 | Updating | update ips_218 set reverse_lookup = null |
| 22286 | root | maui:37348    | smtp_servers | Query   | 38103 | Updating | update ips_80 set reverse_lookup = null, |
| 22851 | root | maui:54982    | smtp_servers | Query   | 34091 | Updating | update ips_19 set reverse_lookup = null, | 
| 23351 | root | molokai:58232 | smtp_servers | Sleep   |    57 |          | NULL                                     |
| 23496 | root | maui:40923    | smtp_servers | Query   | 29973 | Updating | update ips_62 set reverse_lookup = null, |
| 23906 | root | maui:38068    | smtp_servers | Query   | 26794 | Updating | update ips_83 set reverse_lookup = null, |
| 25675 | root | maui:56438    | smtp_servers | Query   | 12505 | Updating | update ips_82 set reverse_lookup = null, |
| 25846 | root | maui:41334    | smtp_servers | Query   | 10948 | Updating | update ips_90 set reverse_lookup = null, |
| 26437 | root | maui:41139    | smtp_servers | Query   |  6211 | Updating | update ips_66 set reverse_lookup = null, |
| 26773 | root | maui:32885    | smtp_servers | Query   |  3526 | Updating | update ips_76 set reverse_lookup = null, |
| 27073 | root | maui:42607    | smtp_servers | Query   |  1148 | Updating | update ips_11 set reverse_lookup = null, |
| 27202 | root | molokai:50688 | smtp_servers | Query   |     0 | NULL     | show processlist                         |
| 27203 | root | molokai:50689 | smtp_servers | Sleep   |     2 |          | NULL                                     |
+-------+------+---------------+--------------+---------+-------+----------+------------------------------------------+
14 rows in set (0.20 sec)




Now, wouldn'