Subscriptions

Last updated: 11 March 2010 21:14
All times are UTC.

Feeds:
RSS 1.0 RSS 2.0 ATOM FOAF OPMF LCA2007
Powered by:
Planet

Planet LCA2010

11 March 2010

Jonathan Lange

Have you tried lptools?

Have you tried lptools?

It's not at all officially associated with the Launchpad project, of course, but it's got a few nice things that you might want to look at, including:
  • a milestone manipulator
  • a code review notifier, and
  • a milestone to iCal exporter
One of these days, I'd like for there to be an official, awesome Launchpad command-line client. As it is, I'm happy with the world of people making extensions to meet their needs.

For other extensions, check out the lpx project or our list of clients.

by noreply@blogger.com (jml) at 11 March 2010 17:17

Stewart Smith

Writing A Storage Engine for Drizzle, Part 2: CREATE TABLE

The DDL code paths for Drizzle are increasingly different from MySQL. For example, the embedded_innodb StorageEngine CREATE TABLE code path is completely different than what it would have to be for MySQL. This is because of a number of reasons, the primary one being that Drizzle uses a protobuf message to describe the table format instead of several data structures and a FRM file.

We are pretty close to having the table protobuf message format being final (there’s a few bits left to clean up, but expect them done Real Soon Now (TM)). You can see the definition (which is pretty simple to follow) in drizzled/message/table.proto. Also check out my series of blog posts on the table message (more posts coming, I promise!).

Drizzle allows either your StorageEngine or the Drizzle kernel to take care of storage of table metadata. You tell the Drizzle kernel that your engine will take care of metadata itself by specifying HTON_HAS_DATA_DICTIONARY to the StorageEngine constructor. If you don’t specify HTON_HAS_DATA_DICTIONARY, the Drizzle kernel stores the serialized Table protobuf message in a “table_name.dfe” file in a directory named after the database. If you have specified that you have a data dictionary, you’ll also have to implement some other methods in your StorageEngine. We’ll cover these in a later post.

If you ever dealt with creating a table in MySQL, you may recognize this method:

virtual int create(const char *name, TABLE *form, HA_CREATE_INFO *info)=0;

This is not how we do things in Drizzle. We now have this function in StorageEngine that you have to implement:

int doCreateTable(Session* session, const char *path,
                  Table& table_obj,
                  drizzled::message::Table& table_message)

The existence of the Table parameter is largely historic and at some point will go away. In the Embedded InnoDB engine, we don’t use the Table parameter at all. Shortly we’ll also get rid of the path parameter, instead having the table schema in the Table message and helper functions to construct path names.

Methods name “doFoo” (such as doCreateTable) mean that there is a method named foo() (such as createTable()) in the base class. It does some base work (such as making sure the table_message is filled out and handling any errors) while the “real” work is done by your StorageEngine in the doCreateTable() method.

The Embedded InnoDB engine goes through the table message and constructs a data structure for the Embedded InnoDB library to create a table. The ARCHIVE storage engine is much simpler, and it pretty much just creates the header of the ARZ file, mostly ignoring the format of the table. The best bet is to look at the code from one of these engines, depending on what type of engine you’re working on. This code, along with the table message definition should be more than enough

by Stewart Smith at 11 March 2010 14:27

Melissa Draper

Random winner!

Monday saw the announcement of the International Women’s Day competition winners.

Well, most of them. Jono had unfortunately misunderstood what we had asked of him and hence promoted, and not drawn the second winner randomly. Oops! (We’ll blame it on his runaway glasses). Thankfully, being a man of his word, he has managed to right this. During his q&a ustream broadcast yesterday, he drew a truly random winner… Caterina Brigandi!

Congrats again to Elvira, Karen, Jen and now Caterina! Thank you all so much for participating.

by melissa at 11 March 2010 12:29

Tabitha Roder

Ages since I blogged - what have I been doing?

Well I have not blogged in a month. That is terrible. Especially when you consider all the things I have been doing.

  • tabitha.net.nz was born
  • google gave tabitha.net.nz lots of apps - email, calendar, chat, etc
  • Moodle was installed on tabitha.net.nz
  • Mahara was installed on tabitha.net.nz

That bit in itself should get a huge post and explanation. For oh so long now I have been thinking I need to get myself a domain and setup my own website. Free parking provided my domain for about forty dollars a year.

I needed a way to receive and send emails for @tabitha.net.nz so I decided google apps would be perfect. I am currently encouraging teachers to use google apps so I will as well to "practise what I preach". Already being familiar with google apps gave me a headstart.  Add my new email tabitha@tabitha.net.nz to your address book.

Next step was what to put at tabitha.net.nz. Well I have installed Moodle locally many times and I use Moodle every day, so why not use Moodle for my website? I have spent a very small amount of time on it, but at least it is there. More work to be done. http://tabitha.net.nz/moodle/

Mahara. Think. Again, I am telling teachers and students to have eportfolios and I always recommend Mahara, so it just made sense for me to install Mahara. I made a sample view for Unitec and for olpc to give me at least a little bit to show people, and of course it is an eportfolio system so expect more. http://tabitha.net.nz/mahara/

Next: I will slowly shift to using tabitha@tabitha.net.nz for all my connections - this will take time as everyone knows me at other contact points. I will notify people and monitor multiple connections until they all are slowly moved to tabitha@tabitha.net.nz - well that is the plan.

 

Other things that I should have blogged about this month: 

Unitec - still there, still busy, still good. Getting to know more people and how I can help them. Semester is well under way now so I am getting a feel for what "normal" might look like at Unitec.

HRDNZ - Moodlemoot NZ is not far off now, 13 - 15 April. I have started planning the workshop I am running on Tuesday 13 April for newcomers. Looking at the speakers it looks like we can gear up for another excellent moot with awesome conversations inspiring us all for trying new things throughout the year. Note that if you are registering for moodlemoot you should register by 13 March to get early bird prices.

olpc and sugarlabs - testing sessions on Saturdays still all go, had a great session last Saturday and really felt like we did some good testing. I joined the QA call with Sri Lanka this week and it was a good reminder to me of just how far we have come and how much we can still contribute to olpc and sugarlabs. I committed to helping Sri Lanka QA team so have started providing them some of those things. 

 

Apparently it is bed time now, so better stop the blog post now. 

11 March 2010 09:05

Stewart Smith

Continuing the journey

A couple of months ago (December 1st for those playing along at home) it marked five years to the day that I started at MySQL AB (now Sun, now Oracle). A good part of me is really surprised it was for that long and other parts surprised it wasn’t longer. Through MySQL and Sun, I met some pretty amazing people, worked with some really smart ones and formed really solid and awesome friendships. Of course, not everything was perfect (sometimes not even close), but we did have some fun.

Up until November 2008 (that’s 3 years and 11 months for those playing at home) I worked on MySQL Cluster. Still love the product and love how much better we’re making Drizzle so it’ll be the best SQL interface to NDB :)

The ideas behind Drizzle had been talked about for a while… and with my experience with internals of the MySQL server, I thought that some change and dramatic improvement was sorely needed.

Then, in 2008, Brian created a tree. I was soon sending in patches at nights, we announced to the whole world at OSCON and it captured a lot of attention.

Since November 2008 I’ve been working on Drizzle full time. It was absolutely awesome that I had the opportunity to spend all my days hacking on Drizzle – both directly with fantastic people and for fantastic people.

But… the Sun set… which was exciting and sad at the same time.

Never to fear! There were plenty of places wanting Drizzle hackers (and MySQL hackers). For me, it came down to this: “real artists ship”. While there were other places where I would no doubt be happy and work on something really cool, the only way I could end up working out where I should really be was: what is the best way to have Drizzle make a stable release that we’d see be suitable for deployment? So, Where Am I Now?

Rackspace.

Where I’ll again be spending all my time hacking Drizzle.

by Stewart Smith at 11 March 2010 07:42

10 March 2010

Michael Kerrisk

Last chapters shipped for typesetting

I shipped chapter 64 off for typesetting today. (There only remain the appendixes to go to the typesetters now.)

We're not going to make an April publishing date :-(. I'll blog a revised date in a few days time.

by mtk (noreply@blogger.com) at 10 March 2010 22:23

Jonathan Lange

launchpadlib powerup

In my last post, I introduced launchpadlib and demonstrated a very simple script that uses it. In this post, I'd like to build on that a bit and show you how to do something actually interesting.

In particular, I want to show you how to search for bugs, teach you a bit about Launchpad's internal data model and help you help yourself when it comes to figuring out Launchpad APIs.

The script at lp:~jml/+junk/bugstats is designed to tell you how good you are at filing bugs. It uses a very simple metric: out of the bugs that you've filed, how many actually have been fixed.
$ ./bugstats.py ubuntu jml
jml is 22.22% successful on bugs in Ubuntu
$ ./bugstats.py launchpad-code jml
jml is 47.63% successful on bugs in Launchpad Code
To do that, we need to:
  1. get the "project" and person referred to on the command line
  2. search for all fixed bugs filed by that person
  3. search for all bugs in total by that same person
  4. count them both
  5. divide them
  6. print them!
I say "project", but I really should say "pillar", which is the Launchpad technical term for a project (e.g. "bzr"), distribution (e.g. "ubuntu") or project group (e.g. "gnome"). A pillar is anything in first part of Launchpad URL that isn't a person.

We get the pillar and person like this:
   pillar = launchpad.projects[pillar_name]
reporter = launchpad.people[reporter_name]
Pretty easy, huh? Now, how do we search for bug tasks?

The first port of call is to go to the Launchpad API reference page. I'm going to look for the string 'reporter', since that's the one thing I definitely know I want to find.

Eventually, I found the searchTasks method (named operation) that's on pillars and takes a bug_reporter parameter and a status parameter. It returns a collection of bug_tasks, which are the objects that represent the rows in the table you see at the top of a bug page.

I can find the bugtasks for the bugs I've reported that have been fixed by doing:
   fixed_bugtasks = pillar.searchTasks(
bug_reporter=reporter, status=['Fix Released'])
It took me a while to figure out exactly how to spell "Fix Released". I ended up using trial and error.

Similarly, I can all the bugtasks for bugs I've filed by doing:
   total_bugtasks = pillar.searchTasks(
bug_reporter=reporter,
status=[
"New",
"Incomplete",
"Invalid",
"Won't Fix",
"Confirmed",
"Triaged",
"In Progress",
"Fix Committed",
'Fix Released'])
I cheated a bit for that one and looked at the launchpad code to get a list of all bug statusus. The default for searchTasks is to only return open bugs.

Once we've got the collections of bug tasks, we need to get their counts. In an ideal world, it would be len(total_bugtasks), but sadly bug 274074 means that len is really, really slow here.

Instead, I wrote this helper function:
def length(collection):
# XXX: Workaround bug 274074. Thanks wgrant.
return int(collection._wadl_resource.representation['total_size'])
With that, I can calculate & print my success rate at filing bugs:
   percentage = 100.0 * length(fixed_bugtasks) / length(total_bugtasks)
print "%s is %.2f%% successful on bugs in %s" % (
reporter.display_name, percentage, pillar.display_name)
Next up on the API, I'll talk about some of the gotchas and what you can do about them.

by noreply@blogger.com (jml) at 10 March 2010 18:54

Tim Connors

Tuz

Attendees of LCA2009 may be pleased to know that there is at least *some* hope for the Tassie Devil.

There is a completely separate monoculture that has thus far not been affected by the facial tumor. Whether it will be enough is the $44,000 question.

10 March 2010 18:34

Bob Brown

Walk To Work Day

Today was Walk To Work Day in Dunedin, an initiative spearheaded by Living Streets Aotearoa with the support of Sport Otago and the DCC. I decided to make the trip as the amount of excercise I get thanks to the extreme convenience of my scotter is minimal. I left home at 7:20 this morning and arrived in the Octagon at about 8:30 where a few stands were laid out for registration. The registration process was rewarded with a $7 voucher redeemable at Barakah, MASH, The Ra Bar, Alibi or The Craic. I chose MASH and a nice looking breakfast bap which was delicious, but unfortunately my order was forgotten in the rush of breakfast time cafe operations. After a reminder it turned up with an apology.

They say New Zealand is a small place and indeed it is – I ran into community advocates Frank Buddingh and Nina Arron from Lawrence who were on the registration stands. A familiar face was very much a welcome sight. I first ran into Frank and Nina some time ago when Frank was looking for an alternative provider for the Buddingtree Consultancy website.

For me the nicest thing (other than the fantastic weather!) about walking into town was it was a chance for me to “sit down” and listen to some podcasts. Listening to Leo Laporte, Jono Bacon and Randal Schwartz interview Jamie Cameron about Webmin on the FLOSS weekly podcast was a delight, especially as in my dark days I had a fair use for Webmin, so much so that I bought Jamie’s “Using Webmin” book.

Now that I have my walking method sussed all I need to do is load up my iPod and get an early night and a good sleep beforehand – unfortunately the early night and good sleep was thwarted last night by some jQuery and AJAX goodness and also by Zoe night-babbling, then Linus who woke up crying because “Ada ate my pie in a dream!” and then some more Zoe babbling. Things had quietened down by about 4am anyway.

Check out the local Channel Nine TV coverage at http://www.ch9.co.nz/node/14223

by GuruBob at 10 March 2010 10:20

09 March 2010

Dustin Kirkland

UEC at the Texas Linux Fest


Take a close look at this beautiful image by John Rogers of the Austin skyline ... Do you see some purple? Maybe some orange? How about a few clouds? Reminds me a bit of the new Ubuntu color scheme...

Well the Texas Linux Fest committee has accepted my proposal to demo the Ubuntu Enterprise Cloud!

So if you're interested in seeing a demonstration of the 10.04 LTS Ubuntu Enterprise Cloud in action, join me in Austin, Texas on Saturday, April 10, 2010 at the first ever Texas Linux Fest.

In my presentation, I will use:
  • One free Ubuntu Server ISO (10.04 Beta2 64-bit) burned to a USB stick
  • Two laptops, and
  • Twenty Minutes
And you will witness the ease of deploying an Ubuntu Enterprise Cloud (UEC), Canonical's open source implementation of an Amazon EC2-compatible cloud that you can run locally, in your own data center and on your own hardware.

In this presentation, you will learn about the UEC, Eucalyptus, Cloud topologies, the installation process, registering nodes, running and terminating instances in the Cloud, and the UEC Image Store.
Bring a blank 1GB+ USB key and I'll even burn you a copy of the same ISO I use in my presentation.
Cloud Computing is here, and Ubuntu is a phenomenal platform on which you can construct your private Cloud today. Since 2004, Ubuntu has revolutionized the Linux desktop. Attend this session and learn how Ubuntu is changing the landscape of the Linux server.

:-Dustin


by Dustin Kirkland (noreply@blogger.com) at 09 March 2010 16:37

Melissa Draper

And the winners are…

Whilst I was quite happily sleeping yesterday morning, the International Women’s Day competition winners were announced. The popular vote prize went to Elvira Martinez “tatica1″. The second prize went to Karen Y. Perez, and Jen Phillips got an honourable mention for her awesome analogy-style story.

You can read all the stories and see the record of votes on the Ubuntu Women wiki.

Thanks so much to everyone who entered and voted (and Jono for announcing). The competition was heaps of fun to organise and now we have lots of stories to show that we forge our own paths to Ubuntu just like the guys do!

by melissa at 09 March 2010 15:11

Jonathan Lange

Get started with launchpadlib

In my spare time, I sometimes talk to people about how they can get started with launchpadlib hacking.

launchpadlib is the Python client-side library that talks to Launchpad's own REST API. It turns out that customize scripted control of a bug-tracker-code-hosting-translation-distribution-building-cross-project-collaboration thing is actually quite handy.

If you want to get started hacking with launchpadlib, and you have Ubuntu, then install 'python-launchpadlib' now. I'm pretty sure you can also get it from PyPI.

You can check that it works by running:
$ python
>>> import launchpadlib
>>> launchpadlib.__version__
'1.5.1'

I'll be assuming you're running 1.5.1 or later.

I've written a very simple launchpadlib application that you can get with 'bzr branch lp:~jml/+junk/bugstats'. Each revision shows a meaningful launchpadlib script. You can get at the old revisions with 'bzr revert -r1' or 'bzr revert -r2' or '-r3'.

Here's what the simplest launchpadlib script that I could think of looks like:
import os
import sys
from launchpadlib.launchpad import Launchpad, STAGING_SERVICE_ROOT

APP_NAME = 'jml-bug-stats'
CACHE_DIR = os.path.expanduser('~/.launchpadlib/cache')
SERVICE_ROOT = STAGING_SERVICE_ROOT

launchpad = Launchpad.login_with(APP_NAME, SERVICE_ROOT, CACHE_DIR)
print launchpad.bugs[1].title
(Adapted from r2 of the above branch).

A few points.

  • We use STAGING_SERVICE_ROOT, which means that we're pointing
    at Launchpad's staging service,
    just in case we screw up any data.

  • We give the application a name, when you run the application, launchpadlib
    opens up a browser window letting you decide how far the application
    can act on your behalf.
  • We provide a cache directory. Credentials, among other things, get stored
    here.
  • We then login and get an object that represents a Launchpad instance
  • Once we've got it, we look at the collection of bugs, get Bug #1 and then
    print the title
Very simple. To learn how to write this application, I looked at the main Launchpad API help page, the
examples page and the reference documentation. You'll notice that I had to translate the reference documentation from REST-speak into Python-speak.

Already you have enough to go exploring with the Launchpad API and think of cool things to do. A bunch of people are already doing cool stuff and there are many projects that use launchpadlib.

Next up, I hope to show you some more complex things you can do with the API.

by noreply@blogger.com (jml) at 09 March 2010 13:34

Dustin Kirkland

The Roomba Mod that Saved My Sanity


These two guys shed about 42 pounds of fur per day (it seems), and I like robots and automation, so a few weeks ago, I bought a Roomba.

Really neat...at least in principle.

However, the stock Roomba is simply incompatible with my house. 100% of the daily runs concluded prematurely with the Roomba inevitably stuck under my couch.


That sucks. And not in the vacuum cleaner sort of way that it's supposed to suck. Throw the automation out of the window if you have to un-wedge the machine from beneath your furniture every time, and it doesn't make it back to the recharging station.

Time for a bit of ingenuity...

I had unused four adhesive rubber "feet" that came with a wireless router (or something). I stuck these to the top of the Roomba sensor, adding about 2cm of additional required clearance, and poof--a working robot again!



Five days running now, and not a single wedging ;-)



:-Dustin


by Dustin Kirkland (noreply@blogger.com) at 09 March 2010 13:01

Stewart Smith

Drizzle BoF at the MySQL Conference and Expo

At the 2010 O’Reilly MySQL Conference and Expo there will be a Drizzle BoF!

It’s currently scheduled for 7pm on April 13th.

Come along, it will be awesome.

by Stewart Smith at 09 March 2010 04:46

08 March 2010

Jonathan Lange

Monitor & keyboard

I want to get a shiny new monitor and keyboard. The monitor is for coding, writing docs, answering emails and watching films. The keyboard is for same. They'll both plug into my Thinkpad X200 for now.

I'm tempted to get an Apple Cinema Display (but at such cost!). I don't know what keyboard I want. I think that the DAS keyboard I have isn't it.

Thoughts?

by noreply@blogger.com (jml) at 08 March 2010 12:25

Adam Shand

The plans they keep a changin'

Time is ticking along, and it seems that my plans for the big trip are evolving weekly. Ideas and experience keep flooding in as I talk to random people. Turns out everybody loves to talk about their experiences travelling!

I was planning on having Bangkok as my initial destination but then my cousin Peter informed me that his brother is now living on Ko Samui, an island off the southern peninsula of Thailand. Once I looked on a map I figured it make more sense to start in Singapore or Kuala Lumpur and head north rather then travel the peninsula twice.

Then I had a long Skype chat with a friend who spent 16 months travelling the world a couple years ago. Chris strongly recommended that I start in Indonesia, so after some more thinking decided that I'd start in Bali. Island hoping across Indonesia and Malaysia seemed like an amazing way to get to Thailand.

While talking to Craig, who is going to join me for the beginning of the trip, we hatched the plan to add exploring some of Australia to the beginning of the trip. So many people have talked about the amazing diving through Asia that it seemed like getting PADI certified would be a sensible thing to do. So with that in mind thought we'd start in Cairns, spend a week or so getting certified and doing a live aboard dive trip of the Great Barrier Reef. Then spend a couple of weeks driving to Darwin and from there hop a plane to Bali.

In the middle of all of this it looks like I've got a job offer to do a week or so consulting in the States. I'll be hitting San Francisco, Los Angeles and New York City in a whirlwind few days and then possibly to Las Vegas for NAB. While this will provide a welcome influx of cash, it means that leaving is postponed until mid-April.

I thought that was probably about as much as plans could change, but now James has just told me about an epic adventure that friends of his are cooking up. Apparently a mate moved to Nepal and has been doing charity work there. They are now in the process of organising a charity tuk tuk trip from Nepal to Amsterdam! Sounds ridiculous(ly fun), the only gotcha is that they are hoping to leave in June and I'll have barely made it to Thailand by then.

I'm loath to pass up a oncer, but it would mean shuffling plans around considerably and probably doubling back later. Still I said I was going to travel with as little of an agenda as possible to be open to whatever opportunity arises!

Decisions, decisions ...

08 March 2010 12:09

Robert O'Callahan

Rainbows End

I just finished reading Vernor Vinge's Rainbows End. Pretty good, but I think A Fire Upon The Deep and A Deepness In The Sky were better. I think in Rainbows End the technology gets a bit in the way of the story ... Vinge carefully prognosticates and extrapolates, and that makes it overwrought.

Having said that, the prognostication is quite good and worth reading and thinking about. And having said THAT, there are a few major blind spots. In Vinge's world, software usually works, porn and spam are almost absent, and nations with extraordinary totalitarian power don't abuse it. Hmm ... I doubt it :-).

08 March 2010 09:51

07 March 2010

Dustin Kirkland

virt-manager: The Great Bug Triage


I checked my mail this evening to find a whopping 57 new messages in my Ubuntu-Virt-Bugs folder, which is a bit high for a Sunday night.

Why, pray tell, did I have 57 new messages?

Ah, well, this was the excellent work of Marc Deslauriers, one of Canonical's esteemed security engineers, evidently working hard on a Sunday afternoon triaging virt-manager bugs.

Thanks, Marc, you're the man!

Are you reading this post wondering "How can I get more active in the Ubuntu Community?" or "How can I give something back to the open source world?" Do you have an interest in helping ensure that Ubuntu 10.04 LTS's virt-manager package is a stable graphical virtual machine manager?

If so, pay a visit to Launchpad, and help try to reproduce any of the 57 remaining New and Incomplete bugs filed against virt-manager. If you help tell us what bugs have been fixed in Lucid, and which ones remain, it will greatly help Ubuntu developers focus on fixing the rest!

Cheers,
:-Dustin


by Dustin Kirkland (noreply@blogger.com) at 07 March 2010 19:45

Mark Foster

#LCA2010 - More of the Promised Blog: Tuesday...

My LCA2010 Tuesday started with an Airport pickup; it was my job to meet Keith Packard at Wellington International Airport and deliver him to the event.
I then had to drive across town to my car park and walk back to the event :/

However... I did get back on time to pick up the tail of the Keynote and then attend the remainder of the days session - and this day was of particular interest, being the 'Open and the Public Sector' stream. This was kicked off by Don Christie in his role of President of the New Zealand Open Source Society and the keynote was by the UK Governments Director of Digital Engagement, Andrew Stott. I have to say that I give the UK Government a lot of credit for their willingness to embrace online engagement, the talk was given via Skype and was (generally) successful - though they should probably have pumped the audio across an ordinary PSTN or even cellular phoneline, as the Internet link wasn't flawless by any means...

read more

by BlakJak at 07 March 2010 09:06

Melissa Draper

IWD2010 story competition — did you vote yet?

Remember how I said that the voting for the International Women’s Day competition was open?

Well that statement only stays valid for about the next 16hrs or so.

There’s also a substantial number of people who’ve gone through, read all the stories and submitted their votes, but have not followed the instructions that were emailed to them. They really ought to do that. The token that is emailed out is how you validate your email address — votes are held in quarantine until this happens.

by melissa at 07 March 2010 08:03

Mark Foster

#LCA2010 - The Promised Blog Entry arrives. Report to Monday PM.

Though I have made two, separate previous entries on the subject, my grand intention to blog about the Wellington-hosted Linux Australia Conference kinda looks pretty lame; here I am 6 weeks? later finally putting 'pen to paper'.

In my defence, well, domestic and professional life have both taken their toll; a grand total of 2 months off work (All of Dec and Jan) resulted in a need to hit the ground pretty much running when I returned to work proper on the 4th of February, and it's been basically a full month before I got to the stage where 'normality' had returned. That was Friday...

So back to my intention: To write about LCA.

Well, there's an article above about the Monday, but really, my involvement in LCA started earlier than that:


The Rental Truck...

read more

by BlakJak at 07 March 2010 06:58

Tim Connors

Redhat bug reports

Everytime I've ever read a redhat bugzilla report, I've always come away with the feeling that they've spent a *lot* of effort discussing why they shouldn't do anything.

See this for example. EDIT:Or an earlier effort of mine in trying to report a bug: bug 463880 or indeed any of my other bugs. I mean, absolutely no justification whatsoever for not fixing a bug that has already been fixed upstream several years ago?

Compare this to debian, where there's at least *some* effort.

Here's a cluebat for redhat and gnome developers: Some sysadmins don't agree that user home directories should be completely private, and they'll default to new users having permissions of 755. Some users want to be able to share certain data in their home directories, but not open up absolutely everything. It might be at least prudent to make sure that files that should definitely be set with private permissions (not many people would disagree that mail easily falls into that category) be indeed set with private permissions. If a user wants to store financial data in their home directories, they'll can put it in a directory with the right permissions. But they won't necessarily notice that their mail client is doing something stupid.

07 March 2010 04:12

06 March 2010

Dustin Kirkland

Forget the Mouse, Love Your Keyboard

When you find yourself inexorably drawn northeast, try these (in Gnome)...
  • Alt-F10 maximizes the current window
  • Alt-F9 minimizes the current window
  • Alt-F4 closes the current window
  • Alt-Tab switches between windows (forward)
  • Alt-Shift-Tab switches between windows (backward)
Forget the mouse. Love your keyboard!

:-Dustin


by Dustin Kirkland (noreply@blogger.com) at 06 March 2010 11:26

Stewart Smith

Bike Riding in the storm

Out on a pier down St Kilda, the weather looked… well… like it could be a bit annoying on the way back:

but then… just a bit down the way…. it hit:

It was “a bit wet”. Big blocks of ice falling from the sky (that hurt).

Anyway, on the way back we found a storm water drain:

Yes, behind Michael is just all water (and I’m not talking about the Bay).

Still managed to get a 36.5km ride out of it, so not all bad.

by Stewart Smith at 06 March 2010 05:24

05 March 2010

Dustin Kirkland

Server Bug Zapping: KVM in Retrospective

Big thanks to those who participated in this week's Ubuntu Server Bug Zapping effort on Ubuntu's KVM!

During the course of this week, we reduce the total number of open bugs against the qemu-kvm package in Ubuntu from 48 on Monday to 24 today. That's 24 bugs closed, slicing our open bug list in half!

Torsten Spindler was an all-star, helping triage, reproduce, and confirm fixes for quite a number of bugs, and thanks to Brian Thomason for the documentation patch. Also, thanks to Anthony Liguori (QEMU's maintainer) for meeting me at Opal Divine's and helping triage a bunch of the remaining open bugs.

I didn't get to spend quite as much time on this effort this week as I hoped, so I libvirt didn't get the love it deserves yet. I'll plan on working on libvirt in one of the next few weeks.

As for next week, stay tuned to Thierry Carrez' blog, as he's going to announce the next Bug Zapping target.

Cheers,
:-Dustin


by Dustin Kirkland (noreply@blogger.com) at 05 March 2010 19:00

Grant Pannell

PC Media Centers: A journey of pain, hurt and frustration.

Putting a PC under your TV to play your pictures, movies, and all that jazz, sounds like an excellent idea until you actually try and implement it. I’ve been using a full blown PC since 2004 to record TV and stream media from my server….but it’s been hell.

Problem #1: Choosing the right hardware
Back in 2004, I thought that putting a PC under the TV to play media would be a fantastic idea. I started to plan a bunch of parts and on paper, it looked great. Being slightly more clueless than I am today, I didn’t do much research….which led to me buying a P4 LGA775 (the hottest of all Intel processors) processor and a set of loud components.

The TV tuner card (a Hauppauge PVR-MCE-350) was also very average. It’s an analogue card, but the quality of video it outputs is significantly worse than plugging it directly into the TV (via the same connector). Fast forward to today and I still use the same card. It works OK, but in the world of digital, the card needs updating.

The leads us to the next problem. Working with a FOXTEL box. In 2004, FOXTEL digital was introduced. Ironically, the set top box provided by FOXTEL does not output any digital video (only audio). FOXTEL boxes have only recently outputted in digital with the introduction of FOXTEL HD channels. That brings up a new problem. It’s impossible to create a “purely digital” media center PC…where there’s digital input and digital output. Why? Well firstly, HDMI and Component are protected by HDCP (and any capture cards to bypass HDCP are “illegal” or need heavy licensing fees). Secondly, it takes a beefy PC to capture and view HD video at the same time. Currently, the only way to capture HD video from FOXTEL would be via analogue component inputs. Capture cards that do this are reasonably expensive…$300+ The alternative is CableCard. A technology that has never taken off despite it being amazing and around for several years.

There’s also the problem of IR blasting. This isn’t FTA Digital/Analog, where you tune into a frequency depending on a channel, the capture card sees FOXTEL as a singular channel. Every time you want to change the channel you must blast infrared out to the FOXTEL box. I’ve found that this can often be inaccurate and laggy.

Problem #2: Choosing the software
Now the software. Generally, you’d use Windows Media Center. It comes with Windows. For a simplistic Media Center, it works pretty well. However, it’s hard to extend and skin. Windows 7 media center is particularly average when it comes to UI.

The alternatives? MythTV. XBMC. MediaPortal. MythTV is out, fuck Linux. XBMC is out, no capture card support. This leaves MediaPortal. An open source media center that’s highly extensible and skinable. MediaPortal, by default, looks like balls but it has a ton of cool features. Adding the StreamedMP skin and a couple of plugins makes MediaPortal look and feel like XBMC. It has excellent UIs for TV Shows and Movies (with a bit of work).

The downside? It’s buggy as fuck. Firstly, the StreamedMP skin doesn’t support 4:3. I guess this isn’t a big deal for most, alas, the parents refuse to venture into a world of new technology. This means you have to do a crapton of skin modifying to fit things on the screen. Secondly, I had to go ahead and check out the source from SVN to determine what was hanging MediaPortal for 2 minutes. It turns out there was no such timeout for devices like card readers. If there’s nothing in the card reader, there’d an extended I/O timeout which would hang MediaPortal. It’s an easy source fix, but there’s bugs like this that just make MediaPortal very unfriendly (without a helluva lot of work).

There’s also a problem with timeshifting. A feature that allows you to pause and rewind TV. With FTA, this is great. With FOXTEL, this is absolute pain. The way timeshifting works is that the capture card is saved to a temporary file before it is viewed on the screen. This means there’s usually a 3-4 second delay. This delay makes using onscreen components for the FOXTEL box (such as TV guide) impossible. Unfortunately, both MediaPortal and WMC do not allow you to disable timeshifting.

Finally, EPG (programme guide) data is nearly impossible to get for FOXTEL. There are sources such as OzTiVo, but it is often incomplete. In the end, I ended up writing a parser for YourTV (which has relatively complete FOXTEL data). It’s a very highly customized solution mainly because there is now “raw” data feed (such as XML). I have to parse HTML pages to get meta data. Each day downloads approximately 50-75MB of data (when parsed it’s only ~4MB, 600KB zipped)…which means I have to run this on my overseas VPS. Basically, the stars have to align to get any sort of consistent EPG data.

So, in conclusion?
a) If you want a purely digital media center: you’re going to have to use FTA Digital. You can use analogue component for FOXTEL but it’ll cost you.
b) EPG data for FTA is great! FOXTEL not so much.
c) FTA works great for timeshifting. You’re probably going to want to connect FOXTEL directly to your TV and capture card, so that when you need to record, you can.
d) Buy and research silent, cool and compatible hardware components.
e) 4:3 is out. 16:9 is here. Don’t even bother if you have an old TV.
f) Be prepared to pull your hair out.

You can probably tell this is just a spill of my brain. I haven’t gone in to much detail…but I’ve finally finished the rebuild project of my media center.

by DigitalDJ at 05 March 2010 14:13

Melissa Draper

Erk.

I’ve just gotten around to reading my email.

There’s a faux journalist in my inbox wanting comment about my relationship with Ubuntu of late. He’s been told to publish no such thing. Forecast is for a high chance of misquotes and misappropriations.

You have been warned.

by melissa at 05 March 2010 01:56

04 March 2010

Dustin Kirkland

Ubuntu's New Themes and Byobu

Jono Bacon, Alan Pope, and many others have blogged about the new Ubuntu Light and Dark themes.

I must say, I'm pretty excited. I think they look great! What a great time for a refresh of the Ubuntu Brand. I really like the orange and purple, and the black and gray look great.

You can easily configure Byobu to align with the new themes too! Just edit your ~/.byobu/color file, and set MONOCHROME=1, and then press F5 to reload.

Note: The theme is still very much still under development, and I'm not an artist on Canonical's excellent Design teams, so no guarantee from me that the desktop portion of these screenshots will look anything like the final Lucid desktop. These shots are meant to show that Byobu can be configured to work well with the new Ubuntu themes.






:-Dustin


by Dustin Kirkland (noreply@blogger.com) at 04 March 2010 21:46

Tim Connors

Square Kilometer Array is big, film at 11.

You need to watch videos like this [70MB] to see just what sort of scale the Square Kilometer Array people are talking about. And they reckon they can build this for only ~$3 Billion? Tell 'em they're dreaming!

04 March 2010 13:10

03 March 2010

Jonathan Lange

Back from PyCon

I had a great time at PyCon 2010. The best part was definitely the Twisted sprint, which gave me a long overdue opportunity to do some actual coding.

Well, actually, I ended up spending a lot of the time organizing a release and writing process documents, so I didn't escape management as much as I would have liked.

Now I'm back, planning on doing the Twisted 10.0 release and working with didrocks to get better Launchpad integration with Quickly, as my contribution to Project Awesome Opportunity.

by noreply@blogger.com (jml) at 03 March 2010 09:54

Robert O'Callahan

Nightmare On Infinite Loop

This Apple patent attack on HTC is very bad news. Like Microsoft's attack on Tomtom, it's a offensive lawsuit based largely on software patents. Unlike Microsoft's attack, it seems to be not about licensing deals but about shutting down the competition, and many of the patents involved are for obvious, fundamental and very general software techniques. LWN has a good article with links to the specific patents involved.

Consider the first claim of patent 7,362,331:

1. A method for moving an object in a graphical user interface, comprising the steps of: a) determining a path of movement for the object along at least one axis, and a period of time for the movement along said path; b) establishing a non-constant velocity function along said axis for said period of time; c) calculating an instantaneous position for the object along said path in accordance with said function and the relationship of a current time value to said period of time; d) displaying said object at said calculated position; and e) iteratively repeating steps (c) and (d) during said period of time.
It was filed in 2001 and issued in 2008. (The other claims are mostly restatements of the same idea.) So when Jobs says
"We think competition is healthy, but competitors should create their own original technology, not steal ours."
not only does he believe that in 2000 Apple was the first company to invent the idea of time-based animation of objects with non-constant velocity, but he also believes that they deserve a monopoly on use of that idea until 2021, and that anyone else using the idea until then is stealing from Apple. All three beliefs are ludicrous and shameful.

It's worth noting that any implementation of CSS transitions would infringe patent 7,362,331. I hope Apple isn't planning to sue implementers of CSS transitions for "stealing" their "technology".

That patent was just the first one in LWN's list. Some of the others look worse.

I'm very glad I don't work for Apple.

03 March 2010 09:19

Melissa Draper

Vote on “Discovering Ubuntu” IWD2010 stories

The International Women’’s Day Competition was launched in January. Entries closed last week and we have a whopping 15 stories to vote on. Some are funny, some are poetic, but they’re all great examples of women discovering Ubuntu.

Voting has opened, and anyone can vote, so go on.

by melissa at 03 March 2010 04:49

01 March 2010

Dustin Kirkland

Server Bug Zapping: KVM Day 1

Server Bug Zapping, Day 1, Week 1: KVM Triage .... Done!

See:
https://bugs.launchpad.net/ubuntu/+source/qemu-kvm

At the start of the day today, there were 48 open bugs against qemu-kvm in Ubuntu. And as of this post, there are now 31 open bugs.

I performed 2 qemu-kvm uploads today, fixing a configuration regression with alsa/pulseaudio and a broken manpage symlink (really low hanging fruit).

Most of the 17 bugs closed were bugs that we could confirm as fix-released, which is a huge compliment to the the upstream QEMU and KVM communities.

There are now 7 bugs in the triaged state, which means that we at least know exactly what needs to be done to solve the problem. If you think you can fix any of those triaged bugs in the next 24 hours, please assign the bug to yourself and come talk to us in #ubuntu-server. We'd love to have your contribution!

But even if you're not ready to start hacking on the qemu-kvm source code, you can still help. There are now 11 bugs in the incomplete state, and . Almost all of these need someone to try and reproduce the issue with the latest Lucid qemu-kvm 0.12.3 package. If you can lend a hand there and help confirm that these bugs are either fixed or still broken in Lucid, that would be very helpful too!

Finally, a big thanks to today's most active Bug Zappers: Torsten Spindler and Andres Rodriguez!

Cheers,
:-Dustin


by Dustin Kirkland (noreply@blogger.com) at 01 March 2010 21:30

Stewart Smith

Writing A Storage Engine for Drizzle, Part 1: Plugin basics

So, you’ve decided to write a Storage Engine for Drizzle. This is excellent news! The API is continually being improved and if you’ve worked on a Storage Engine for MySQL, you’ll notice quite a few differences in some areas.

The first step is to create a skeleton StorageEngine plugin.

You can see my skeleton embedded_innodb StorageEngine plugin in its merge request.

The important steps are:

1. Create the plugin directory

e.g. mkdir plugin/embedded_innodb

2. Create the plugin.ini file describing the plugin

create the plugin.ini file in the plugin directory (so it’s plugin/plugin_name/plugin.ini)
An example plugin.ini for embedded_innodb is.

[plugin]
title=InnoDB Storage Engine using the Embedded InnoDB library
description=Work in progress engine using libinnodb instead of including it in tree.
sources=embedded_innodb_engine.cc
headers=embedded_innodb_engine.h

This gives us a title and description, along with telling the build system what sources to compile and what headers to make sure to include in any source distribution.

3. Add plugin dependencies

Your plugin may require extra libraries on the system. For example, the embedded_innodb plugin uses the Embedded InnoDB library (libinnodb).

Other examples include the MD5 function requiring either openssl or gnutls, the gearman related plugins requiring gearman libraries, the UUID() function requiring libuuid and BlitzDB requiring Tokyo Cabinet libraries.

For embedded_innodb, pandora-build has a macro for finding libinnodb on the system. We want to run this configure check, so we create a plugin.ac file in the plugin directory (i.e. plugin/plugin_name/plugin.ac) and add the check to it.

For embedded_innodb, the plugin.ac file just contains this one line:

PANDORA_HAVE_LIBINNODB

We also want to add two things to plugin.ini; one to tell the build system only to build our plugin if libinnodb was found and the other to link our plugin with libinnodb. For embedded_innodb, it’s these two lines:

build_conditional="x${ac_cv_libinnodb}" = "xyes"
ldflags=${LTLIBINNODB}
Not too hard at all! This should look relatively familiar for those who have seen autoconf and automake in the past.

Some plugins (such as the md5 function) have a bit more custom auto-foo in plugin.ini and plugin.ac (as one of two libraries can be used). You can do pretty much anything with the plugin system, but you’re a lot more likely to keep it simple like we have here.

4. Add skeleton source code for your StorageEngine

While this will change a little bit over time (and is a little long to just paste into here), you can see what I did for embedded_innodb in the skeleton-embedded-innodb-engine tree.

5. Build!

You will need to re-run ./config/autorun.sh so the build system picks up your new plugin. When you run ./configure --help afterwards, you should see options for building with/without your new plugin.

6. Add a test

You will probably want to add a test to see that your plugin loads successfully. When your plugin is built, the test suite automatically picks up any tests you have in the plugin/plugin_name/tests directory. This is in the same format as general MySQL and Drizzle tests: tests go in a t/ directory, expected results in a r/ directory.

Since we are loading a plugin, we will also need some server options to make sure that plugin is loaded. These are stored in the rather inappropriately named test-master.opt file (that’s the test name with “-master.opt” appended to the end instead of “.test“). For the embedded_innodb plugin_load test, we have a plugin/embedded_innodb/tests/t/plugin_load-master.opt file with the following content:

--plugin_add=embedded_innodb

You can have pretty much anything in the plugin_load.test file… if you’re fancy, you’ll have a SELECT query on data_dictionary.plugins to check that the plugin really is there. Be sure to also add a r/plugin_load.result file (My preferred method is to just create an empty result file, run the test suite and examine the rejected output before renaming the .reject file to .result)

Once you’ve added your test, you can run it either by just typing “make test” (which will run the whole test suite), or you can go into the main tests/ directory and run ./test-run.pl --suite=plugin_name (which will just run the tests for your plugin).

7. Check the code in, feel good about self

and you’re done. Well… the start of a Storage Engine plugin is done :)

by Stewart Smith at 01 March 2010 13:40

Adam Shand

Leonard Cohen: A Thousand Kisses Deep

You came to me this morning
And you handled me like meat
You’d have to be a man to know
How good that feels, how sweet
My mirrored twin, my next of kin
I’d know you in my sleep
And who but you would take me in
A thousand kisses deep

I loved you when you opened like a
Lily to the heat
You see I’m just another snowman
Standing in the rain and sleet
Who loved you with his frozen love
His second hand physique
With all he is, and all he was
A thousand kisses deep

I know you had to lie to me
I know you had to cheat
To pose all hot and hide behind
The veils of shear deceit
Our perfect porn aristocrat
So elegant and cheap
I’m old but I’m still into that
A thousand kisses deep

I’m good at love, I’m good at hate
It's in between I freeze
Been working out, but its too late
It’s been to late for years
But you look good, you really do
They love you on the street
If I could move I’d kneel for you
A thousand kisses deep

And I'm still working with the wine
Still dancing cheek to cheek
The band is playing Auld Lang Syne
But the heart will not retreat
I ran with Diz and I sang with Ray
I never had their sweep
But once or twice they let me play
A thousand kisses deep

The autumn moved across your skin
Got something in my eye
A light that doesn’t need to live
And doesn’t need to die
A riddle in the book of love
Obscure and obsolete
Until witnessed here in time and blood
A thousand kisses deep

I loved you when you opened
Like a lily to the heat
You see I'm just another snowman
Standing in the rain and sleet
Who loved you with his frozen love
His second hand physique
With all he is, and all he was
A thousand kisses deep

But you don’t need to hear me now
And every word I speak
It counts against me anyhow
A thousand kisses deep

by Leonard Cohen at 01 March 2010 11:20

Life after Weta?

I keep forgetting that we aren't all connected to the same hive mind and am surprised when friends don't know that I have left Weta (again). Everybody asks why I chose to leave, and the answer is simple. Despite the fact that I adore my job, doing it left me with very little emotional energy to do anything else. I realised that for most of my adult life, work really has been my life. For a long time that was fine because I loved my work and was happy to make it my life. However with each passing year that compromise has seemed less acceptable. With "Avatar" wrapping up, and especially now that I'm single again, it felt foolish to not take a punt and try something different.

Of course this leaves the question of what exactly is the next step, and honestly the answer is that I don't know. What I do know is I've been talking about travelling the world for longer then I can remember. As a kid, shuttling between California and New Zealand with my parents, I remember idolising the scruffy hippy kids that I'd see congregating in the corners of airports. Over the last <gulp> twenty years I've ended relationships and quit jobs to head off on this journey more times then I care to count. Yet I always allowed life to pull me back before the final plunge. The time has arrived to stare the dream square in the face and either plunge in … or get over it.

What I do know is that I'll be spending the next couple months in Wellington enjoying summer and the company of friends. Then around April I'll be heading off towards Southeast Asia. My destination? The cheapest flight that gets me to Southeast Asia, I'm guessing Bangkok but hope to be surprised. From there I intend to slowly make my way westward. Since I'm not in a hurry I intend to stop for as long as I like and enjoy everything which seems worth savouring. I'll be avoiding planes and will instead travel by foot, bicycle, motorbike, boat and bus as much as possible. After exploring Southeast Asia I hope to make my way into China and from there to Tibet, down through Nepal and into India. After that I really have no idea, I suspect my initial travel companions will have headed for home by then so I'll be properly on my own. Then depending on how comfortable I am in my new traveller shoes, Africa or Eastern Europe seem the most likely choices.

I've been saying that this is going to be a years trip but really I have no idea. More realistically it'll end when I: get sick of it, run out of money, find something I don't want to leave or end up back in New Zealand.

Between now and the I hope to keep the new travel section of this updated with what I learn and experience along the way.

01 March 2010 04:24

Paul McKenney

Parallel Programming: Administrators as Architects

Although IT professionals should take care to avoid engineering envy, it is often useful to learn from the experiences of other engineering disciplines. In this posting, I will compare and contrast construction of a building to implementation of a large software project.

Leaving aside financial engineering, building construction starts with an architect, who lays out the general shape and look of the building. A structural engineer creates a detailed design, with an eye towards ensuring that the building will remain standing despite the best efforts of wind, gravity, and plate tectonics. A construction engineer works out the details of the construction process — for example, it is good if the building can support itself while being built as opposed to doing so only when completed. Other engineering specialties may be required as well, for example, HVAC (heating, ventilating, and air conditioning).

Once the building is built, different skills are needed, including operating engineers, maintenance personnel, and janitors.

A very similar sequence of events can play out for a large software application. Software architects (for better or worse) lay out the general shape of the project, developers design and code it, and others ensure that it is built, tested, and safely ensconced in some source-code management system.

However, once the application is completed, it is likely that its care and feeding will be taken over by application, database, and system administrators. The architects and developers will switch to other projects (possibly version N+1 of this same application), and perhaps even retire or otherwise move on. Of course, if the application runs at multiple sites, there might well be a separate set of administrators for each site. But for simplicity, let's assume that this application runs at only one site.

Now suppose that it is necessary to parallelize this application.

This is tantamount to major structural change to the building, such as adding several new floors. A structural change of this nature is clearly not a job that you would normally entrust to operating engineers, maintenance personnel, or janitors.

But what else can you do if the original architects and developers are gone?

01 March 2010 01:43

27 February 2010

Stewart Smith

Playing with multiple exposure

So, I discovered that my D200 had a built in “multiple exposure” option. While you can do exactly the same thing in GIMP (or Photoshop I guess) a whole lot easier (for one, you get to see what’s gonig on), we had been discussing Holga earlier in the night… so I felt it kind of appropriate to not really see what I was doing.

Leah playing guitar hero, me sitting across the room only slightly distracting her with a camera.

Guitar Hero

Maybe I will end up getting a Holga one of these days… being restricted can be fun.

by Stewart Smith at 27 February 2010 23:18

Dustin Kirkland

Server Bug Zapping Call for Participation!


In October 2009, just before the release of Ubuntu 9.10 (Karmic), Mathias Gug, Dan Nurmi, and I holed up for a couple of very long days, working on the Ubuntu Eucalyptus package. Over the course of 72 hours, we uploaded Eucalyptus 7 times, fixing over 30 bugs! While Mathias, Dan, and I were co-located, we were also greatly assisted by Thierry Carrez (located +7 hours ahead) and community member Joseph Salisbury. Thierry and Joe helped tremendously with regression testing of the rapid fire uploads, triaging and squashing any new issues as they arose. This "push" was essential to delivering UEC for Ubuntu 9.10!

Well, the Server Team is going to do it again, for Ubuntu 10.04, and covering several other important server packages in addition to Eucalyptus, and we're hoping to get your help this time!

We're calling this effort Server Bug Zapping. The plans are detailed here:
The idea is that rather than waiting around for bugs to "get fixed" ...
We're going to take a more proactive approach ...

We're arming a platoon of Ubuntu Server Developers, Community Members, and Triagers, deploying them out on timed, coordinated missions, focusing our efforts on a particular packages for about a week at a time.

The first mission commences next week, March 1 - 5, 2010, targets our Virtualization stack, focusing on:
Anthony Liguori (upstream QEMU maintainer) will be helping us a bit next week, too.

If you have a particular interest in seeing these packages solid and successful in Ubuntu 10.04 LTS Server, then please lend a hand! Even if you're not a developer, we need quite a bit of help triaging the bugs, testing the new Lucid packages, confirming old bugs against the latest code, and verifying the the latest code fixes others!

Here's the plan:
  • Monday - total bug triage
    • prioritize all bugs according to a defined formula
    • confirm/reproduce any bugs in the "new" state
    • triage any bugs in the confirmed state, ie, identify the problem, test workarounds or solutions
    • expire any bugs that are invalid
    • fix-release any bugs that cannot be reproduced on the latest code
    • assign yourself (or others) triaged bugs that they can fix
    • time permitting, start working on fixes
  • Tuesday
    • bzr branch (or apt-get source) the latest lucid code
    • work on fixes, pushing to lp:~yourname/thepackage/bugnumber
    • build a package in your PPA for testing
    • get some else to verify your PPA build
    • uploader will roll all fixes into an upload for that day
  • Wednesday
    • same as Tuesday
  • Thursday
    • same as Tuesday, rolling toward a "final" release by the end of the day
  • Friday
    • Comprehensive regression testing
    • Generate status report on total uploads, bugs triaged, bugs fixed, participation
    • Post to ubuntu-server@ mailing list and the ubuntu-server blog
If you would like to get involved, please:
  1. Join the ~bug-zappers team in Launchpad.net
  2. Subscribe to the specification and the blueprint
  3. Communicate with us in #ubuntu-server on irc.freenode.net
  4. Participate in the triage on Monday, and the bug fixing/testing Tuesday - Friday, from March 1st - April 8th
Finally, the schedule of targeted packages is not yet set in stone. The only two that are confirmed right now are March 1-5 (qemu-kvm, lxc, libvirt), and March 22-26 (eucalyptus, euca2ools). If you have suggestions of packages we should consider targeting, please let us know on the Ubuntu-Server mailing list. Please consider packages that meet the following criteria:
  • heavily used, high value
  • large number of (fixable or un-triaged) bugs
  • active upstream
  • and perhaps an upstream that's interested in participating in a week of bug triage/fixing

Cheers,
:-Dustin


by Dustin Kirkland (noreply@blogger.com) at 27 February 2010 09:36

26 February 2010

Dustin Kirkland

Attention Encrypted Home Users...

We're rapidly pushing toward an excellent Ubuntu 10.04 LTS release, and we have made a few improvements in the way your Encrypted Home's metadata is stored.

If you configured your Encrypted Home with Ubuntu 9.10 (Karmic) or Ubuntu 10.04 (Lucid), then no action is required, -- you may stop reading here.

If you're not sure, and you want to check if you need to read this article, take a look at your /var/lib/ecryptfs directory. If that directory is empty, or it does not exist, you may stop reading here. If that directory has contents, then you may want to continue reading...

Ubuntu 9.04 (Jaunty) Encrypted Home installations stored eCryptfs metadata in /var/lib/ecryptfs/$USER. This information is absolutely required to mount your Encrypted Home Directory. Actually, everything in here can be re-created if you wrote down your randomly generated mount passphrase!
Big fat reminder here ... please be absolutely certain that you have recorded your mount passphrase, on a piece of paper, stored somewhere safely, separate from your computer! You can retrieve your randomly generated passphrase by running the ecryptfs-unwrap-passphrase utility.
For Ubuntu 9.10 (Karmic), new installs actually put this metadata in /home/.ecryptfs/$USER. This is far more convenient for users who put all of /home on its own partition, or for users who just simply backup all of /home.

I've previously written about how to move your metadata out of /var/lib/ecryptfs. Particularly if you're planning a Lucid upgrade of a system that was originally installed with Jaunty's Encrypted Home Directory, I strongly recommend that you follow these instructions:

http://blog.dustinkirkland.com/2009/08/moving-your-encrypted-home-meta-data.html


Cheers,
:-Dustin


by Dustin Kirkland (noreply@blogger.com) at 26 February 2010 16:02

Adam Shand

Statistics do not a whole story tell

I've been doing a lot of reading lately; Malcolm Gladwell, Steven Levitt, Dan Gilbert among others. They all have fascinating things to say. However the more I read, the more I'm left with the feeling that while the stories they have to tell are intriguing, they are grossly simplified.

I've just picked up Daniel Gardner's "The Science of Fear" and am reading the prologue. In it he talks about how the September 11 attacks caused American's behaviour to change.

It was an unreal, frightening time, and it was predictable that people would flee the airports. Perhaps surprisingly, though, they didn't start digging backyard bomb shelters. Instead, most went to work and carried on living. They just didn't fly. They drove instead.

Politicians worried what the mass exodus of Americans from planes to cars would do to the airline industry, so a bailout was put together. But no one talked about the surge in car travel. Why would they? It was trivia. There were deadly threats to worry about.

But what no politician mentioned is that air travel is safer then driving. Dramatically safer — so much so that the most dangerous part of a typical commercial flight is the drive to the airport.

The safety gap is so large, in fact, that planes would still be safer than cars even if the threat of terrorism were unimaginably worse then it actually is: An American professor calculated that even if terrorists were hijacking and crashing one passenger jet a week in the United states, a person who took one flight a month for a year would only have a 1-in-135,000 chance of being killed in a hijacking — a trivial risk compared to the annual 1-in-6,000 odds of being killed in a car crash.

It turned out that the shift from planes to cars in America laster one year. Then traffic patterns went back to normal. Gigerenzer also found that, exactly as expected, fatalities on American roads soared after September 2001 and settled back to normal levels in September 2002. With these data, Gigerenzer was able to calculate the number of Americans killed in car crashes as a direct result of the switch from planes to cars.

It was 1,595. That is more then one-half the total death toll of history's worst terrorist atrocity.

And yet almost nobody noticed but the families of the dead. And not even the families really understood what had happened. They thought — they still think — that they lost husbands, wives, fathers, mothers, and children to the routine traffic accidents we accept as the regrettable cost of living in the modern world.

They didn't. It was fear that stole their loved ones.

It's easy to look at that story and those numbers and come to the conclusion that humans are bad at estimating risk and let fear rule their decisions. But it's not that simple.

On a population basis it's a compelling and important piece of information. On an individual basis it misses out on some critically important pieces of information which people absolutely should factor into their decision making process:

  • The September 11 attacks meant that something "new" happened, it's only in hindsight that we can talk about it as an isolated event. At the time when everybody was making decisions about how to travel, nobody knew if there were a long line of attacks planned or how effective American security procedures would be at thwarting them. In this context it makes complete sense for people to take a step back and wait to see what happens next.

  • When you get onto a plane you are playing a trust game. From the moment a plane takes off to the moment it lands, there is almost nothing you can do to influence your safety. Trust games are fine (even fun!) when you are comfortable with the risks, when there are new risks that you don't understand ... not so so much.

  • Driving, while inherently more dangerous then flying, offers a degree of involvement and control that simply doesn't exist on a flight. Have your kids in the car, drive slowly and carefully. Don't like the traffic, pull over. Tired, pull over. Something crazy happening on the news, get a motel room and hide. Volcano erupting, drive for the hills.

To me the change in driving habits represents an entirely rational decision making process. In times of risk revert back to things which you understand and can control. Billing this behaviour as "driven by fear" seems simplistic in the extreme.

PS. Don't get me wrong. I use the the difference in statistical risk between flying and driving in conversation all the time, it's a great way to demonstrate the difference between perceived risk and actual risk. I also get that the above information could have been used by politicians to save lives by shaping policy decisions. I just don't buy fear as the only explanation.

26 February 2010 07:49

Martin Krafft

ACTA leak: no surprises about transparency blockers

The most common criticism of the Anti-Counterfeiting Trade Agreement (ACTA) is the lack of transparency. Before the nations disclose the terms of the agreement under negotiation, we are unable to gain an idea of the big picture, let alone voice our opinions and push for changes. Our politicians don’t want us to know. We rely on leaked documents for our information. This is backwards in a world where a state should represent its people. This smells foul to me.

There are undoubtedly some good reasons for the treaty, and if we can contain worldwide, large-scale trade of counterfeited goods and medicine, then that would be a net benefit to us all. However, we must not allow certain governments to succomb to the pressure of (commercially-motivated) lobbyists, to extend that pressure onto other nations using trade as a means of pressure, and to slash our freedom as if it were an inconvenient obstacle in their way.

Only if the terms under negotiation become publicly available, and the public is given a voice, then we can help our governments in entering an agreement that is in the interest of its people, rather than a threat to us.

It is hardly surprising that total capitalist nation USA are the strongest opponents of transparency, because the public might delay or even prevent the treaty. I was also not surprised to see South Korea and Germany in the list of supporters of secrecy either. It is interesting to see that the leaders of Singapore, Belgium, Portugal, and Denmark also seem to believe that these negotiations should be withheld from the public. Does anyone know about Switzerland?

I tip my hat to New Zealand, Canada, Australia, Netherlands, Sweden, Finland, Ireland, Hungary, Poland, Estonia, and Austria for their support of transparency.

26 February 2010 07:01

Dave Airlie

GPU switching update

Okay I've been busy elsewhere but dragged myself back to try and finish this for upstream

v10 of the patch is up
http://people.freedesktop.org/~airlied/vgaswitcheroo/0001-vga_switcheroo-initial-implementation-v10.patch

changes are mainly that mjg59 was right about keeping ugly things in the drivers.

adding ATRM support to get the ROMs on ATI hybrid for the discrete card was actually a pain with the previous code design,
so I moved lots of it around again, and now the discrete ROM can be retrieved via the ATRM method.

I've tested it on the W500 and it works as well as before, which means still the 3rd or 4th switch fails and locks the machine up,
I need to debug this further.

The refactored code should hopefully make it easier to fill in the nvidia/nvidia and intel/nvidia blanks for mjg59.

Update 1: v11 is now up
http://people.freedesktop.org/~airlied/vgaswitcheroo/0001-vga_switcheroo-initial-implementation-v11.patch
It should fix the failure to switch to IGD the 2nd time hopefully.

Update 2: v13 is now up, it blindly implements nvidia DSM changing, but I've no idea if it works. Hopefully someone can test it and give me some feedback. Its nearly all guesswork from work mjg59 did.

26 February 2010 05:04

25 February 2010

Vik Olliver

Drilling Down The Middle

We've all tried to do it - drill a hole down the middle of a bolt or rod. Making steam engines, nozzles, RepRap parts, air gun barrels, whatever it is physics conspires against us, and the hole never goes straight. But it can be done in a hobbyist drill press - the type that holds a power drill - by making physics work for us.

First off, the drill press itself must be reasonably solid. So, no pressed metal, no tubing, no plastic clamps. Get a good, solid cast-iron cheap one with a solid post. They churn them out in China and I paid NZ$30 for mine. You will need a drill vise that fits the drill press. Pick one with a small notch in the middle of the jaws.

Next, the power drill. You'll need one with variable speed. Make sure hammer drill options are turned OFF or you will smash things to bits. Being in "forward" helps too. Finally, make sure your drill bit is sharp. Sharpening by hand is really quite easy and a badly hand-sharpened bit is more use than an old, dull bit anyway.

Put the drill bit hand-tight in the chuck the wrong way round. Lower the press so that the bit can be clamped in the vise. Tighten the vise and bolt it firmly to the drill press base. Tighten the clamp that holds the press mechanism to the post. Now loosen the chuck and slowly raise the drill. Do not let it fly up or it'll whack itself out of alignment.


Place the bit of rod or bolt that you want to drill into in the drill chuck. Tighten it up and make sure it and the bit are still central. Using high speed and very little pressure, lower the drill onto the bit. This will cause a little vibration initially, but soon small turnings will fall and the drill bit will automatically "hunt the centre." Slow the drill right down and gradually increase the pressure.


You want to see gleaming, long streams of swarf coming out, not many little fragments. If swarf stops coming out or you see smoke, stop and clear the bit with something pointy. Fingers are a poor choice as the bit will likely be damn hot and the swarf is really sharp to boot.

For deep through holes, stop half way (mark the bit with a pen), reverse the part in the chuck, and start again. There will be a little jamming as the two holes meet - go through it and the result is a beautifully central hole!

I mostly do this with brass, but if you do it with steel you'll need coolant/lubricant. It comes in cans at the DIY store. So there you go. Neat, central holes.

Vik :v)

by noreply@blogger.com (Vik Olliver) at 25 February 2010 23:49

Tim Connors

Tasmania, the great corrupt land

Tasmania always has been corrupt. Tasmanian premiers and cabinet in particular have always been corrupt for as long as I can remember. Tasmanian police are the most corrupt I've ever come across (most police are merely ineffective in my experience), where the attempted political assassinations of people like Bob Brown results only in charges of "discharging a firearm on a Sunday". Where no people are actually interviewed as a result of the plane that was carrying Brenda Hean being brought down, presumably by saboteurs who broke into the hanger the night before (but we will never know, because police were ordered to go easy on the investigation).

Forestry thugs like those who were caught on video assaulting protesters have yet to be charged. Thugs like Paul Lennon are later voted into the position of premier.

All for the sake of a few thousand forestry workers (3% of the workforce), you ruin that great southern land. Been for a trip through Tasmania recently? It's looking awfully like a genetically "enhanced" monoculture wasteland.

And just now, the compulsory acquisition of land is going ahead (illegally) on behalf of the Gunns pulp mill.

Will we learn in time?

25 February 2010 12:15

24 February 2010

Claudine Chionh

Refugee policy and 'The Indonesian solution'

I went to this public lecture nearly two weeks ago but haven’t got round to writing about it yet, a sad comment on my priorities these days. Here are some brief notes before it’s all forgotten.

Out to Sea: Refugee Policy Under Rudd Government

Jessie Taylor: Lawyer who visited Indonesia last July, detention centres and prisons, inhumane conditions.

Report: Behind Australian Doors. http://behindaustraliandoors.wordpress.com/

Film: Between the devil and the deep blue sea: A 52 minute documentary looking at the circumstances and decisions that lead someone to become a ‘boat person’. http://deepblueseafilm.wordpress.com/ (with trailer video)

‘The Indonesian Solution’: Australia pays the International Organisation for Migration (IOM) millions of $ to detain and ‘process’ asylum seekers (inc. Hazara from Afghanistan, Middle East…) in Indonesia.

Indonesia is not a signatory to the Refugee Convention (nearest signatory is Cambodia?) –> no obligations, standards, BUT their signing the convention may sweep issue under carpet.

IOM encouragement of ‘voluntary’ resettlement –> refoulement?

No accountability from IOM.

Processing of ‘queue’: 2-4 years, Australia accepts avg 52/year from Indonesia, 2100 in ‘queue’, wait 40 years.

UNHCR not processing anyone who arrived in Indonesia after 2007 (under Australian instruction?).

Need for real leadership from Australian government on this issue – Rudd will be re-elected (???) so can take a risk and show some bravery.

24 February 2010 03:13

Giuseppe Maxia

Linux MySQL distros meeting in Brussels

When I saw Shlomi's post on why not to use apt-get or yum for MySQL, I thought immediately that his conclusions are quite reasonable. What you get from the Linux distributions is not the same thing that you find in the official MySQL downloads page. Now, whether you value more the completeness of the server or the ease of administration through the distribution installation tools, it's up to you and your business goals. We at the MySQL team have organized a meeting with the Linux distributions with the intent of finding out which differences and problems we may have with each other, and to solve them by improving communication. What follows is a summary of what happened in Brussels during the meeting.

Linux Distro MySQL packagers meeting

Summary


Linux distributions ship MySQL products (Server, GUI Tools, connectors, Cluster) with different criteria and different grade of maturity, according to their own goals.
Due to lack of communication and policy conflicts, the distros almost always ship outdated versions of MySQL server and MySQL Cluster. The lag between the shipped version and the latest product shipped by MySQL ranges from a few months to several years.
By mutual understanding, the distros will now try to ship recent versions of Cluster (7.x) in a separate package.

Participants


(see some more pictures from the meeting).

Giuseppe Maxia, MySQL Community Team Lead, Italy
Tomas Ulin, MySQL VP Engineering, Sweden
Harmut Holzgraefe, MySQL Support, Germany
Lars Heill, MySQL Build, Norway (Trondheim)
Joro Kodinov, MySQL Engineering / 5.1, Bulgaria
Oden Eriksson, Mandriva, Sweden
Mathias Gug, Canonical/Ubuntu, Canada
Robin H. Johnson, Gentoo Linux, Canada
Michal Hrušecký, Novell/openSUSE, Czech Republic
Geir Høydalsvik, MySQL QA, Norway (Trondheim)
Norbert Tretkowski, Debian Linux, Germany
Kaj Arnö, MySQL VP Community Relations, Germany

Main issues from the distributions:

d1. Security bugs are invisible until MySQL releases a fix. They would like to get visibility of the bug report, to become aware of the problem and eventually help fixing it. We are looking into this matter.

d2. Due to lack of communication, the distros were running the test suite with different parameters. Gentoo packages the server with UTF-8 as default character set, and this causes several tests to fail. Our QA team is looking into it.

d3. Bug databases are different for each distros. They usually solve problems on their own, or send the issue upstream (to the MySQL team at Sun, now Oracle) when it is a legitimate bug.

d4. Debian and Ubuntu don't apply all our patches to the server that they ship. They only apply security bugs and fix for bugs that don't introduce new or changed functionality. This is, IMO, mostly a matter of terminology, since the new functionality is only added as a side effect of fixing a bug. For example, when we fixed Bug#49222: Mark RAND() as unsafe, there is a change in functionality. Now RAND() is logged in ROW format, as it should have been in the first place. It is indeed a new functionality, but as a user I would rather have this bug fix in my server, than adhering to the strict rules of no changes.

d5. GUI tools are still shipped as current although they aren't actively supported, with patches provided by OpenSuse.

d6. While we provide specifications for .rpm packages, we don't do that for .deb ones. Debian/Ubuntu ask if we can include them in our code.

Main issues from the MySQL team:

m1. Cluster packages are outdated. Mainly for miscommunication, some distros are building the cluster binaries with the server package, thus shipping quite old and non-functional cluster binaries. After an explanation on the Cluster roadmap, the distros agreed to ship 7.x binaries from now on. We agreed that we will modify the build scripts in the server to avoid compiling the cluster binaries unintentionally.

m2. MySQL Workbench is not included in the stable releases. There are two reasons: it is not GA yet, and its source includes non-GPL code (for Windows and Mac) that needs to be removed before being used by Debian and derivatives. Moreover, Debian communicates that some DBAs don't like the idea of deploying a design tool for daily database administration.

Conclusions


All in all, I feel that this meeting was a success. We achieved a lot during the proceedings, solving problems ranging from simple communication mismatches to neglected bugs. And meeting in person with the ones who deal actively with MySQL in the Linux distros is quite a rewarding experience.
From a technical standpoint, I hadn't realized that every distribution is shipping a different server. That is quite a challenge for the common users who may need to choose between versions in several sites. However, this meeting has also shown me that all the participants have very high quality standards, and the difference in shipped versions is mostly due to the peculiarity of many shipping calendars.
Thanks to all the participants. We fixed many issues, and we had lots of fun at the same time. We should do that more often!

by datacharmer (noreply@blogger.com) at 24 February 2010 00:29

23 February 2010

Melissa Draper

Protesting stupidity

Those who use the freenode IRC network regularly may have noticed that there has been somewhat of an influx of trolls of late. These trolls are intent on making life miserable for both us ordinary users, and those volunteers who keep the network going.

Freenode is a really important resource for many open and free groups and projects. Ubuntu’s community relies on it directly, but also indirectly — many important upstream projects rely on it too!

Hence, following in Miia’s footsteps, I’ve signed up to support the network via a professional donor subscription. If you too would like to protest the trolling of the network in this way, then you can do so by following the instructions on the regular donation page or by filling out the form on the special ircd-seven donation page.

Donate today to give the trolls the proverbial finger.

by melissa at 23 February 2010 12:26

Stewart Smith

anti-anti-feature: Windows license stickers

Anti-Anti-Feature: An antifeature that doesn’t actually do what it’s meant to (something you didn’t want in the first place)

My laptop came with a Windows Vista license. An anti-feature in itself – I didn’t want it, have never used it (I run Ubuntu and love freedom).

However, if you try and read the license key off this sticker, it’s increasingly difficult to do so. It’s being worn away. Why? Because it’s on the bottom of the laptop and I’m using it on my lap (so friction rubs it away).

Luckily I don’t run Windows Vista and need to re-install it any time soon.

by Stewart Smith at 23 February 2010 05:06

Silvia Pfeiffer

HTML5 Media and Accessibility presentation

Today, I was invited to give a talk at my old workplace CSIRO about the HTML5 media elements and accessibility.

A lot of the things that have gone into Ogg and that are now being worked on in the W3C in different working groups – including the Media Fragments and HTML5 WGs – were also of concern in the Annodex project that I worked on while at CSIRO. So I was rather excited to be able to report back about the current status in HTML5 and where we’re at with accessibility features.

Check out the presentation here. It contains a good collection of links to exciting demos of what is possible with the new HTML5 media elements when combined with other HTML features.

I tried something now with this presentation: I wrote it in a tool called S5, which makes use only of HTML features for the presentation. It was quite a bit slower than I expected, e.g. reloading a page always included having to navigate to that page. Also, it’s not easily possible to do drawings, unless you are willing to code them all up in HTML. But otherwise I have found it very useful for, in particular, including all the used URLs and video element demos directly in the slides. I was inspired with using this tool by Chris Double’s slides from LCA about implementing HTML 5 video in Firefox.

by silvia at 23 February 2010 03:05

Stewart Smith

on presenting

Dilbert.com

This is totally not confined to at-work presentations.

The number of sessions I have sat through that could have taken 5 minutes instead of 20,30,40 or even 60 is amazing. Remember: I have not flown half way around the globe to see you read. I have come to hear a story, to see how conclusions were formed and interact.

Often, the tools are deficient. Powerpoint encourages bad habits (you can use PowerPoint for excellent slide decks too, but ignore the temptations of boring templates, bad effects and dot lists). The dot point list is more often than not your enemy. I (and anybody else in the audience who has learnt to read) can read your dot points faster than you can. While I’m reading, I’m not listening to you. If you spoke a cure for all forms of cancer just after having put a slide up filled with dot points… 90% of people will miss it.

Now, dot points are an excellent way to remind you what the heck you’re meant to be talking about (and in what order). Use presenter notes! They are really useful.

If your laptop/presentation software doesn’t support a “presenter” mode that lets you view presenter notes but not the whole room, simply write them down, print them out, or anything like that. One simple practice run through will make you be able to do this seamlessly.

The last couple of presentations I did were completely assembled using 280slides.com. An excellent web app for doing presentations. It will import and export ODF (and other formats) so you’re not tied to a (unfortunately) non open source web app. That being said, it ran fine in my browser and unlike OpenOffice.org, did not make me want to stab people repeatedly every time I used it.

So, Stewart’s quick tips:

  • Tell a story. How did you get to your conclusions?
  • Don’t just read. Use visuals to accompany the talk. Visuals aren’t the talk.
  • Practice. Just once or twice through will make things a lot smoother.

Equipment:

  • Make sure your equipment works beforehand. Nobody wants to see you fiddle around with your Windows/OSX laptop only to find out you didn’t bring the dongle or can’t operate the Displays control panel. (Interestingly enough, I see Linux “just work” more than Windows or OSX these days).
  • If there is a microphone, use it. I don’t want to struggle to hear you.
  • If you are constantly using a laser pointer you either have too much on your slides or the slide does not highlight the important information. (laser pointers are useful when people ask questions though)

One blog I love on the subject is Presentation Zen. I’ll also recommend the book, but you can get so much just from the web site.

Some excellent recent presentations:

  • Simplicity Through OptimizationPaul McKenney
    Paul is able to explain RCU clearly and concisely through visuals. You are left with no doubt that this does really work. The visuals are not everything, they assist in the telling of the RCU story
  • Teach every child about foodJamie Oliver
    I watched this online. Note how not everything was smooth the whole way. Also note how this was still effective. Passion is an awesome tool. Check out the simple graph showing lead causes of death: simple and effective.
  • Bill Gates on energy: Innovating to Zero!
    Historically, Bill Gates has not been the most engaging speaker. We can all forget the horrible PowerPoint slides with four hundred dot points about some release of something that nobody cared about. This is different. Clear, concise, engaging and simple visuals to make the point.

by Stewart Smith at 23 February 2010 00:23

22 February 2010

David Woodhouse

22 Feb 2010

My God, I've been vaguely aware of the HTML5 video train wreck but I hadn't realised just how much of a fucking abortion the rest of the HTML5 'standard' is.

I had the misfortune to read the section on character encodings over the weekend, and it almost made me lose my lunch.

Not only does it codify the crappy and unreliable practice of applying heuristics to guess character encodings, it also requires that a user agent deliberately ignore the explicitly specified character set in some cases — for example, text explicitly labelled as US-ASCII or ISO8859-1 MUST be rendered as if it were Windows-1252!

It justifies this idiocy, which it admits is a 'willful violation', on the basis that it aids compatibility with legacy content. By which of course it means "broken content", since this was never actually necessary for anyone who published content correctly even with older versions of HTML.

But that doesn't make any sense — surely legacy content won't be identifying itself as HTML5? It might be reasonable to do these stupid things for legacy content, but not HTML5. The complete mess we have with charset labelling is a prime example of where the RFC1122 §1.2.2 approach of being lenient in what you accept has turned out to be massively counter-productive — if we'd simply refused to make stupid guesses about character sets in the first place, then people would have actually started getting the labelling right.

The sensible approach to take with HTML5 would just have been to say "All content which identifies itself as HTML5 MUST be in the UTF-8 character encoding. A conforming user agent MUST NOT attempt to interpret content as if it has any other encoding; any invalid UTF-8 byte sequences MUST be shown using the Unicode replacement character U+FFFD (�) or equivalent."

Or, if we really must continue to permit the legacy crap 8-bit character sets, it should have said that the content MUST be in the character set specified in the HTTP Content-Type: header or equivalent <META> tag.

Keep the stupid heuristics for legacy content by all means, but it should be forbidden to render HTML5 content in a character set other than the one it is labelled with, and all invalid characters (including the C1 control characters in ISO8859-1 which in Windows-1252 would map to extra printable characters like the Euro sign) MUS be shown as U+FFFD (�). And then the people who publish broken crap would see that they're publishing broken crap, rather than thinking it's OK because the browser they use just happens to assume the same character set as the system they're publishing from.

To me, HTML5 looks less like a standard and more like a set of broken hackish kludges to work around the fact that people out there aren't actually capable of following a standard.

22 February 2010 12:31

Stewart Smith

First roll through the Nikon F80

A little while ago I bit the bullet and bought a Nikon film body – a F80. May as well have a film body that’s a bit automatic and takes the same lens mount as my digital.

So, I got it and thought “hrrm… I better run a roll of film through it to make sure it works”. Off to the fridge i went to find the cheapest, shittiest roll of film possible… I found “Walgreens” brand film. Manufactured by one of many, bought for cheap, and run through the F80.

Some shots turned out pretty good. I have the full set (most of the roll) up on flickr. A few choice ones are:

Which due to some nice accident of lighting, turned out pretty good. IIRC this was pretty late at night and I was editing photos as Michael came over (bringing much needed beer).

Slides and beer, do you need anything else? I just like this because it’s a snapshot of what I was working on (well, kinda, I was mostly just manipulating digital images).

Leah and I went bushwalking… so had to snap a shot of her. I do like the Nikon 50mm as a portrait lens. The film… well… it was cheap, but not too bad actually.

A shallow depth of field can be a lot of fun. Although not entirely sure how I feel about the bokeh….

Which has some odd colours. Nice, but odd.

I like my “new” body. It’ll be fun.

by Stewart Smith at 22 February 2010 07:14

Jonathan Lange

Twisted 10.0.0pre1 released

It's not going to work, it's not the final release, but I'm very pleased to announce that Twisted 10.0.0pre1 is available for testing.

Download it, test it, play with it and help us make 10.0 the best release ever!

On a side note, this is hopefully the start of a much simpler, more automated release process and maybe even time-based releases.

by noreply@blogger.com (jml) at 22 February 2010 02:51

21 February 2010

Stewart Smith

Anti-features mean pirates get all the good things

Spotted on Boing Boing:

The worst is renting… the amount of times you have to press skip (or the damn disc doesn’t work) you do start to wonder if you would have had a much better user experience if you just downloaded it instead.

by Stewart Smith at 21 February 2010 23:53

Dave Hall

Check Drupal Module Status Using Bash

When you run a lot of drupal sites it can be annoying to keep track of all of the modules contained in a platform and ensure all of them are up to date. One option is to setup a dummy site setup with all the modules installed and email notifications enabled, this is OK, but then you need to make sure you enable the additional modules every time you add something to your platform.

I wanted to be able to check the status of all of the modules in a given platform using the command line. I started scratching the itch by writing a simple shell script to use the drupal updates server to check for the status of all the modules. I kept on polishing it until I was happy with it, there are some bits of which are a little bit ugly, but that is mostly due to the limitations of bash. If I had to rewrite the it I would do it in PHP or some other language which understands arrays/lists and has http client and xml libraries.

The script supports excluding modules by using a extended grep regular expression pattern and nominating a major version of drupal. When there is a version mismatch it will be shown in bolded red, while modules where the versions match will be shown in green. The script filters out all dev and alpha releases, after all the script is designed for checking production sites. Adding support for per module update servers should be pretty easy to do, but I don't have modules to test this with.

To use the script, download it, save it somewhere handy, such as ~/bin/check-module-status.sh, make it executable (run chmod +x ~/bin/check-module-status.sh). Now it is ready for you to run it - ~/bin/check-module-status.sh /path/to/drupal and wait for the output.

#!/bin/bash
#
# Check the latest version of a drupal module / template
#
# Written by Dave Hall http://davehall.com.au
# Copyright (c) 2010 Dave Hall Consulting http://davehall.com.au
# Licensed under the terms of the GPLv3 http://www.gnu.org/licenses/gpl.html
#

BASE_URL='http://updates.drupal.org/release-history/'

if [[ 0 -eq $# || 3 -lt $# ]]; then
  echo Usage: $(basename $0) /path/to/drupal-instance [[exclude-pattern] drupal-version]
  exit 1
fi

DRUPAL_PATH=$1

if [ ! -d "$DRUPAL_PATH" ]; then
  echo ERROR: Invalid path - $DRUPAL_PATH
  exit 2
fi

EXCLUDE_PATTERN='(drupal)'
if [ 2 -lt $# ]; then
  EXCLUDE_PATTERN=$2
fi

DRUPAL_VERSION=6.x
if [ 3 -eq $# ]; then
  DRUPAL_VERSION=$3
fi

INFO_FILES=$(find $DRUPAL_PATH -name *.info)

modules=( )
for info in $INFO_FILES; do
  project=$(sed -e '/project =/!d' -e 's/project = "\(.*\)"/\1/g' < $info | head -n1)
  if [[ "" == "$project" || 0 -eq $(echo $project | egrep -cv $EXCLUDE_PATTERN) ]]; then
    continue
  fi
  cur_ver=$(sed -e '/version =/!d' -e 's/version = "\(.*\)"/\1/g' < $info | tail -n1)
  modules=( "${modules[@]}" "$project|$cur_ver##" )
done

modules=$(echo ${modules[@]} | tr '##' '\n' | sort -u)

echo -e "module\t\tlocal\tcurrent"
for mod in $modules; do
  color='\e[0;32m'
  new_ver=$(wget -O - http://updates.drupal.org/release-history/`echo $mod | cut -d\| -f1`/$DRUPAL_VERSION 2> /dev/null | sed -e '/<version>.*<\/version>/!d' -e '/\(dev\|alpha\)/d' -e 's/.*<version>\(.*\)<\/version>/\1/g' | head -n1 );
  if [ "$(echo $mod | cut -d\| -f2)" != "$new_ver" ]; then
    color='\e[1;31m'
  fi
  echo -e $color$mod\|$new_ver | tr '|' '\t'
done

by Dave at 21 February 2010 13:46

20 February 2010

Martin Krafft

Charge advertisers for the last mile

ISPs fight a raging war over net neutrality because their infrastructure cannot keep up with the increasing demand (or rather supply) of content. Therefore, ISPs want to charge the users premiums if they wish to use certain services on the Net. For instance, since videos are usually large in size, one would have to purchase e.g. the “platinum package” to be able to access video hosting sites. It would be a serious loss of freedom if they won, and the Internet would never be the same.

Let’s turn that idea around: since sites that use advertising make money off every visitor, they are really the ones that should pay the ISPs so that they can improve their infrastructure. The same applies to sites that make money off visitors in other ways.

At the moment, users pay to access the network (which is like paying a taxi to get to the market), so that they can visit sites where advertisers make money showing ads to the visitor, which might actually let them to pay a manufacturer for a product — the end user pays twice, and the advertisers take in money, leeching off the ISPs investing into their infrastructure.

I think that the advertiser and not the consumer should pay the ISP to keep the infrastructure afloat — improve it even. The manufacturer should then pay the advertisers for displaying the ad, and the user consumes if s/he chooses to — and everyone only pays once, for services they want. This will help improve competition among providers, which should always be the goal.

If my ISP would start to record the volume of HTTP traffic I produce for each target site, charge the targets appropriately (they could start with a couple at first), and I’d get free connectivity in turn, I’d be quite happy. The ISP wouldn’t have to look at the contents at all for that.

I don’t yet know what to do if the target sites choose not to pay up. ISPs could block them, or throttle or deprioritise traffic, but either of those might simply lead to an exodus of users, just like “premiums” would.

As usual, this just needs to be done by many ISPs in concert. Are you listening?

20 February 2010 22:02

Making money off ethics

The coffee place around the corner from where Penny and I lived for the past two months — Caffé Mode — offers to make your food using free-range eggs for NZ$1. Free-range eggs are more expensive than normal ones, but the price difference is not one dollar. Therefore, the cafe makes a profit every time a customer makes the right choice.

I went in this morning to ask them about it, and the guy taking my coffee order admitted stale-mate. When I suggested that the cafe should use free-range eggs exclusively, he agreed. Let’s hope that he lets those making that decision know, and that the cafe soon stops making money on ethical choices.

20 February 2010 11:05

Melissa Draper

Two days left!

Would you look at the time? There’s like only 2 days left to enter the International Women’’s Day Competition.

That means that ubuntu-using girls and women really really really really really ought to get their skates on and their entries in if they would like a share of this:

Bags, tshirts, magazines, books and other fun stuff

Help spread the word by telling all the women you know who use Ubuntu.

The best bit about this competition is that the story doesn’t have to be a masterpiece, or a spectacular fairytale. Why not? Because one of the prizes is completely random!

by melissa at 20 February 2010 11:00

Silvia Pfeiffer

Google’s challenges of freeing VP8

Since On2 Technology’s stockholders have approved the merger with Google, there are now first requests to Google to open up VP8.

I am sure Google is thinking about it. But … what does “it” mean?

Freeing VP8
Simply open sourcing it and making it available under a free license doesn’t help. That just provides open source code for a codec where relevant patents are held by a commercial entity and any other entity using it would still need to be afraid of using that technology, even if it’s use is free.

So, Google has to make the patents that relate to VP8 available under an irrevocable, royalty-free license for the VP8 open source base, but also for any independent implementations of VP8. This at least guarantees to any commercial entity that Google will not pursue them over VP8 related patents.

Now, this doesn’t mean that there are no submarine or unknown patents that VP8 infringes on. So, Google needs to also undertake an intensive patent search on VP8 to be able to at least convince themselves that their technology is not infringing on anyone else’s. For others to gain that confidence, Google would then further have to indemnify anyone who is making use of VP8 for any potential patent infringement.

I believe – from what I have seen in the discussions at the W3C – it would only be that last step that will make companies such as Apple have the confidence to adopt a “free” codec.

An alternative to providing indemnification is the standardisation of VP8 through an accepted video standardisation body. That would probably need to be ISO/MPEG or SMPTE, because that’s where other video standards have emerged and there are a sufficient number of video codec patent holders involved that a royalty-free publication of the standard will hold a sufficient number of patent holders “under control”. However, such a standardisation process takes a long time. For HTML5, it may be too late.

Technology Challenges
Also, let’s not forget that VP8 is just a video codec. A video codec alone does not encode a video. There is a need for an audio codec and a encapsulation format. In the interest of staying all open, Google would need to pick Vorbis as the audio codec to go with VP8. Then there would be the need to put Vorbis and VP8 in a container together – this could be Ogg or MPEG or QuickTime’s MOOV. So, apart from all the legal challenges, there are also technology challenges that need to be mastered.

It’s not simple to introduce a “free codec” and it will take time!

Google and Theora
There is actually something that Google should do before they start on the path of making VP8 available “for free”: They should formulate a new license agreement with Xiph (and the world) over VP3 and Theora. Right now, the existing license that was provided by On2 Technologies to Theora (link is to an early version of On2’s open source license of VP3) was only for the codebase of VP3 and any modifications of it, but doesn’t in an obvious way apply to an independent re-implementations of VP3/Theora. The new agreement between Google and Xiph should be about the patents and not about the source code. (UPDATE: The actual agreement with Xiph apparently also covers re-implementations – see comments below.)

That would put Theora in a better position to be universally acceptable as a baseline codec for HTML5. It would allow, e.g. Apple to make their own implementation of Theora – which is probably what they would want for ipods and iphones. Since Firefox, Chrome, and Opera already support Ogg Theora in their browsers using the on2 licensed codebase, they must have decided that the risk of submarine patents is low. So, presumably, Apple can come to the same conclusion.

Free codecs roadmap
I see this as the easiest path towards getting a universally acceptable free codec. Over time then, as VP8 develops into a free codec, it could become the successor of Theora on a path to higher quality video. And later still, when the Internet will handle large resolution video, we can move on to the BBC’s Dirac/VC2 codec. It’s where the future is. The present is more likely here and now in Theora.


ADDITION:
Please note the comments from Monty from Xiph and from Dan, ex-On2, about the intent that VP3 was to be completely put into the hands of the community. Also, Monty notes that in order to implement VP3, you do not actually need any On2 patents. So, there is probably not a need for Google to refresh that commitment. Though it might be good to reconfirm that commitment.

by silvia at 20 February 2010 07:57

19 February 2010

Dave Hall

Western Digital My Book World Edition Licensing and the GPL

Earlier today I purchased a Western Digital My Book World Edition (MBWE) 1Tb NAS as I needed a simple NAS. The MBWE seemed like a good option, it runs GNU/Linux, it is hackable and there is a bit of a community around it. I got the thing home and started setting it up through the web gui so I could enable SSH and NFS on it, until I hit the EULA. Yes I am one of those people who does actually read the EULA of most software before installing it. The EULA didn't strike me as a very free/open source software friendly. It states (emphasis mine):

WESTERN DIGITAL TECHNOLOGIES LICENSE AGREEMENT AND WARRANTY DISCLAIMER

NOTICE: By accepting this License Agreement and/or by installing, using or copying the Licensed Software, You are becoming a party to, indicating Your consent to, and agreeing to be bound by the terms of this License Agreement, without modification. If You do not understand and accept all of the following terms and conditions or You respond "NO" or give any other response that indicates you do not accept this License Agreement, then You must not install, use, or copy the Licensed Software.

1. DEFINITIONS.

(a) "Agreement" and/or "License Agreement" shall mean this License Agreement and any and all documents incorporated by reference; (b) "You" and/or "Your" shall mean the individual or legal entity exercising rights under; (c) "Licensed Software" shall mean computer software owned by Western Digital Technologies and may include associated media, printed materials, and "online" or electronic documentation provided by Western Digital Technologies; and (d) "Western Digital Technologies" shall mean Western Digital Technologies, Inc. and its subsidiaries, affiliates, licensees and agents.

2. LICENSE GRANT.

Subject to the terms of this Agreement, Western Digital Technologies hereby grants You a non-exclusive and non-transferable license to and use for personal or internal purposes the Licensed Software. This license is not a sale of the Licensed Software. Western Digital Technologies has no duty to provide further updates or changes to the Licensed Software.

3. RESTRICTIONS.

You acknowledge and agree that You shall not (a) modify, adapt, translate or create any derivative works of the Licensed Software; (b) attempt to disable the Licensed Software by any means or in any manner; (c) attempt to decompile, disassemble, reverse engineer, or otherwise attempt to derive the source code for the Licensed Software; (d) distribute, encumber, sell, rent, lease, sublicense, or otherwise transfer, publish or disclose the Licensed Software to any third-party; or (e) remove or alter any trademark, logo, copyright or other proprietary notices, legends, symbols or labels in the Licensed Software.

4. TITLE.

Title, ownership and all intellectual property rights in and to the Licensed Software shall remain in Western Digital Technologies and/or its suppliers. The Licensed Software is protected by the copyright laws of the United States and international copyright treaties. Title, ownership rights and intellectual property rights in and to the content accessed through the Licensed Software including any content contained in the Licensed Software media demonstration files is the property of the applicable content owner and may be protected by applicable copyright or other law. This license gives you no rights to such content.

5. DISCLAIMER OF WARRANTY.

THE LICENSED SOFTWARE IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, WESTERN DIGITAL TECHNOLOGIES FURTHER DISCLAIMS ALL WARRANTIES INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OF MERCHANTABILITY FITNESS FOR A PARTICULAR PURPOSE, AND FREEDOM FROM INTERFERENCE WITH ENJOYMENT OR FROM NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY RIGHTS. WESTERN DIGITAL TECHNOLOGIES DOES NOT WARRANT THAT THE LICENSED SOFTWARE WILL MEET YOUR REQUIREEMNTS OR WILL BE ERROR FREE. THE ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF THE LICENSED SOFTWARE AND DOCUMENTATION REMAINS WITH YOU. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL WESTERN DIGITAL TECHNOLOGIES OR ITS SUPPLIERS BE LIABLE FOR ANY CONSEQUENTIAL, INCIDENTAL, DIRECT, INDIRECT, SPECIAL, PUNITIVE, OR OTHER DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION. DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) ARISING OUT OF THIS AGREEMENT OR THE USE OF OR INABILITY TO USE THE LICENSED SOFTWARE, EVEN IF WESTERN DIGITAL TECHNOLOGIES HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME STATES/JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.

6. TERMINATION.

This license shall terminate automatically if you fail to comply with the limitations described in this Agreement. No notice shall be required from Western Digital Technologies to effectuate such termination. Upon termination you must destroy all copies of the Licensed Software.

7. U.S. GOVERNMENT RESTRICTED RIGHTS AND EXPORT RESTRICTIONS.

The Licensed Software is provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(I)(ii) of The Rights in Technical Data and Computer Software clause of DFARS 252.227- 7013 or subparagraphs (c)(i) and (2)of the Commercial Computer Software-Restricted Rights at 48 CFR 52.227-19, as applicable. Manufacturer is Western Digital Technologies, 20511 Lake Forest Blvd., Lake Forest, CA 92630. You acknowledge that none of the Licensed Software or underlying information or technology may be downloaded or otherwise exported or re-exported into (or to a national or resident of) Angola, Cuba, Iran, Iraq, Libya, North Korea, Sudan, Syria, or any other country to which the U.S. has embargoed goods; or anyone on the U.S. Treasury Department's list of Specially Designated Nationals or the U.S. Commerce Department's Table of Denial Orders. By using the Licensed Software, you are agreeing to the foregoing, and are representing and warranting that you are not located in or under the control of a national or resident of any such country or on any such list.

8. INDEMNITY

You hereby agree to indemnify, defend and hold Senvid and Western Digital Technologies from and against any all liabilities, damages, claims, fines and expenses (including reasonable attorney's fees) arising out of any breach of this End User License Agreement and Warranty Disclaimer.

9. MISCELLANEOUS.

(a) This Agreement constitutes the entire agreement between the parties concerning the subject matter hereof; (b) This Agreement may be amended only by a writing signed by both parties; (c) This License Agreement shall be governed by the laws of the State of California, without regard to conflicts of law provisions, and you consent to the exclusive jurisdiction of the state and federal courts sitting in the State of California; (d) This Agreement shall not be governed by the United Nations Convention on Contracts for the International Sale of Goods; (e) If any provision in this Agreement should be held illegal or unenforceable by a court having jurisdiction, such provision shall be modified to the extent necessary to render it enforceable without losing its intent or severed from this Agreement if no such modification is possible, and other provisions of this Agreement shall remain in full force and effect; (f) A waiver by either party of any term or condition of this Agreement or any breach thereof, in any one instance, shall not waive such term or condition or any subsequent breach thereof; (g) The provisions of this Agreement that require or contemplate performance after the expiration or termination of this Agreement shall be enforceable notwithstanding said expiration or termination; (h) You may not assign or otherwise transfer by operation of law or otherwise this Agreement or any rights or obligations herein except in the case of a merger or the sale of all or substantially all of Your assets to another entity; (i) This Agreement shall be binding upon and shall inure to the benefit of the parties, their successors and assigns; (j) Neither party shall be in default or be liable for any delay, failure in performance (excepting the obligation to pay), or interruption of service resulting directly or indirectly from any cause beyond its reasonable control, and; (k) If any dispute arises under this Agreement, the prevailing party shall be reimbursed by the other party for any and all legal fees and costs associated therewith.

IF YOU ACCEPT the terms of this Agreement: I acknowledge and understand that by ACCEPTING the terms of this Agreement, I am agreeing to be bound by the terms, conditions, and limitations of this Agreement.

IF YOU DO NOT ACCEPT the terms of this Agreement. I acknowledge and understand that by refusing to accept these terms, I have rejected this license agreement and therefore have no legal right to install, use, or copy the Licensed Software.

I should probably preface the rest of this post with IANAL and that this does not constitute legal advice and if you need legal advice pay loads of money to a lawyer (I hope that keeps my lawyer happy).

I took a risk and clicked "I Agree" because I couldn't be bothered driving another 130km round trip to take it back and get something different and also I wanted to start hacking it anyway. I also figured that if WD's lawyers wanted to come after me I had the GPL on my side.

I suspect someone in engineering just copied and pasted the text in, just like they do for all of their software. To their credit WD does make the source code for the firmware for the device available on their website, so it doesn't strike me as an intentional attempt to avoid their obligations under the GPL. This seems like a pretty easy problem to fix, get a couple of people from WD's legal and engineering teams in a room and work out what the new text should be and then have engineering roll a new firmware release.

I have also contacted Western Digital's support department about the problem. Any updates will be posted here.

by Dave at 19 February 2010 20:35

Group Redent Plugin for Status.net / Identi.ca

For a bit over a year now I've been using the free software based microblogging service identi.ca. Unlike twitter, the identi.ca code base is released under the AGPLv3, through the status.net project. Anyone is free to setup their own instance of status.net and can even federate with other instances, using the Open Micro Blogging standard.

Another feature which identi.ca/status.net has over twitter is support for groups, so someone can send a message to a group of people, a bit like how a mailing list works. One down side of this feature is that some people redent (like retweeting, but on identi.ca) without removing the group "bang tag" (aka !). This leads to the same message being sent to the group over an over again which gets annoying. I left !linux and have considered leaving !ubuntu, because of how often this happens.

As status.net is freely available, I decided to write a plugin which handles this problem. If someone redents a message to a group without changing the group tag to a hash tag, the plugin does it for them. It is like the status.net twitter bridge when reposting dents to twitter. If someone really wants to redent something to a group, they simply use !! instead of ! and it will be sent to the group. This is useful, if for example, a dent from someone is relevant to a group, but wasn't posted there initially, it can be redented to the group

I disagree with Bela Hausmann (aka @and3k), I think it should be enabled by default on identi.ca. I hope others consdier it to be a useful feature and ask for it to be added to identi.ca.

If you run your own instance of status.net running, download the plugin, drop it in /path/to/statusnet/plugins/GroupRedentCleanerPlugin.php
and add the following to your config.php:
addPlugin('GroupRedentCleaner', array());
Have a play!

by Dave at 19 February 2010 14:38

Dustin Kirkland

Have you taken Lucid for a testdrive yet?

Ubuntu Lucid Lynx is in Feature Freeze, and Alpha3 is right around the corner, releasing next week.

If you're running Ubuntu 9.04, 9.10, or 10.04, it's trivial to testdrive Lucid in a virtual machine, without modifying your current installation!

If you're already running Lucid, congrads! All you need to do is add the testdrive ppa, and install testdrive, and either kvm or virtualbox-ose.

Just pop open a terminal and run:
  sudo add-apt-repository ppa:testdrive/ppa && \
sudo apt-get update && \
sudo apt-get install testdrive
Then you can either run testdrive from the command line, or use the menu, Applications -> System Tools -> Testdrive.


Then, a menu will pop up, with a menu of Lucid daily images. If you have previously downloaded any of these, you should see a timestamp of the cached file. If you run testdrive everyday, your cache will stay up-to-date, and the incremental download will be much faster!


Select one of the offered ISOs, or enter a URL to another one of your choosing, and you should be off and running. Help us make Lucid Lynx the best Ubuntu to date!

:-Dustin


by Dustin Kirkland (noreply@blogger.com) at 19 February 2010 13:15

Don Christie

Does free software have an image problem?

It is always a salutary experience to learn how those who see themselves as part of the IT mainstream perceive people involved in free software. A recent event has given me a sharp reminder of this. In his regular Computer Society Insight column in IT Brief for February 2010 (currently not online), the chief executive of the New Zealand Computer Society writes about “a cold war” between open source and proprietary software.

In it, he makes a number of interesting statements about where “the truth” lies.

Ideological reasons aside, there’s frankly no great benefit for the majority of users in being able to modify an application themselves — most don’t have the skills, knowledge or inclination to do so. Most motorists don’t need or want to be able to pop the bonnet and rewire their starter motor.

I see free software as a philosophy, not an ideology. Having heard each of Richard Stallman’s talks during the GNU Zealand 2009 tour, and read the transcripts, I can safely say that he has logical, evidence-based reasons for every statement he makes. People may disagree with his conclusions (show me two philosophers who agree on anything), but his position is a rational one. We also need to remember that the freedom to study how a program works, and change it to make it do what we wish, is only one of the four freedoms. The freedom to run the program, for any purpose (freedom 0) and the freedom to redistribute copies, so you can help your neighbor (freedom 2) are important for all users. Most proprietary software denies these freedoms to its users. And in fact, many motorists take their cars to the garage of their choice to get problems fixed, rather than buy a new release from the manufacturer.

He goes on:

And this, of course, is the crux of the issue. FLOSS advocates argue that if a user wants to pop the hood and have a play, they should be able to without restriction — just like with a car or any other physical-world equivalent.

Leaving aside the use of “play”, which implies that people don’t work on free software, they “play” with it, no, the crux of the issue is the four freedoms. I do not know to which FLOSS advocates the author is referring, as there is no citation in the original, so I can only speak for myself. My training is in science. For me, Isaac Newton encapsulated the scientific method when he wrote in a letter to Robert Hooke, “If I have seen further, it is only by standing on the shoulders of giants.” Free software lets all of us, including those who write and sell proprietary software, stand on the shoulders of giants. It is part of our cultural common wealth, like literature, music, art and science. These are not “free as in free beer” but they are all “free as in freedom”. In my view, free software is preferable to proprietary software in the same way that evolution is a better theory of the natural world than “intelligent design” — not just as a way to understand the world, but because of the values which underpin the method by which science works.

I am also cautious of making generalizations about the free/open source world. You start off in a maze of twisty little passages all alike, but soon find yourself in a twisty maze of little passages, all different. There is no such thing as a typical project or a typical participant. There are some important shared values, but like communities everywhere, it’s their diversity that makes them interesting.

He then concludes:

The best solution is the one that adequately solves the problem of the client, nothing more and nothing less. No professional should ever lose sight of this or allow ideology to prevent them from providing the best solution: proprietary, open source or otherwise.

What I think this is saying is that all professionals have a duty to be pragmatists, that practical utility is the only valid test for software. And that everyone who isn’t a pragmatist is an ideologue. However, in my view, a professional’s first duty is to act ethically (”first, do no harm”). The pragmatic position seems to be that choosing software is a matter of utility only, there is no ethical dimension, and it doesn’t matter whether software is free or proprietary. The free software position is that free software is an ethical imperative. The open source position (and it’s a philosophy, not an ideology) is that open source is a superior development method.

Does it matter if the chief executive of the Computer Society (to which many people working in free software in New Zealand belong) has shown a limited understanding of the values underpinning free software? On the one hand, many people work with free software by choice, are passionate about it, while accepting that others do not share their passion. It’s a free country. We don’t all drive the same car or vote for the same party; we don’t all have to use the same software. Free software is a philosophy, not a religion; its advocates will explain it to those interested and will welcome those who choose to participate, but they don’t seek converts. Those who wish to inform themselves about free software can do so using the Web. Those who are not interested or who disagree are free to do so.

On the other hand, some may think that free software deserves to receive full and fair consideration during software selection processes, that software contestability is a good thing, and that proprietary software lock-in is bad for business and for society. In which case, perhaps free software has an image problem. Has it been (to quote one last time) “often unnecessarily and significantly damaging the mainstream view of FLOSS”?

by John Rankin at 19 February 2010 02:59

Silvia Pfeiffer

Accessibility support in Ogg and liboggplay

At the recent FOMS/LCA in Wellington, New Zealand, we talked a lot about how Ogg could support accessibility. Technically, this means support for multiple text tracks (subtitles/captions), multiple audio tracks (audio descriptions parallel to main audio track), and multiple video tracks (sign language video parallel to main video track).

Creating multitrack Ogg files
The creation of multitrack Ogg files is already possible using one of the muxing applications, e.g. oggz-merge. For example, I have my own little collection of multitrack Ogg files at http://annodex.net/~silvia/itext/elephants_dream/multitrack/. But then you are stranded with files that no player will play back.

Multitrack Ogg in Players
As Ogg is now being used in multiple Web browsers in the new HTML5 media formats, there are in particular requirements for accessibility support for the hard-of-hearing and vision-impaired. Either multitrack Ogg needs to become more of a common case, or the association of external media files that provide synchronised accessibility data (captions, audio descriptions, sign language) to the main media file needs to become a standard in HTML5.

As it turn out, both these approaches are being considered and worked on in the W3C. Accessibility data that are audio or video tracks will in the near future have to come out of the media resource itself, but captions and other text tracks will also be available from external associated elements.

The availability of internal accessibility tracks in Ogg is a new use case – something Ogg has been ready to do, but has not gone into common usage. MPEG files on the other hand have for a long time been used with internal accessibility tracks and thus frameworks and players are in place to decode such tracks and do something sensible with them. This is not so much the case for Ogg.

For example, a current VLC build installed on Windows will display captions, because Ogg Kate support is activated. A current VLC build on any other platform, however, has Ogg Kate support deactivated in the build, so captions won’t display. This will hopefully change soon, but we have to look also beyond players and into media frameworks – in particular those that are being used by the browser vendors to provide Ogg support.

Multitrack Ogg in Browsers
Hopefully gstreamer (which is what Opera uses for Ogg support) and ffmpeg (which is what Chrome uses for Ogg support) will expose all available tracks to the browser so they can expose them to the user for turning on and off. Incidentally, a multitrack media JavaScript API is in development in the W3C HTML5 Accessibility Task Force for allowing such control.

The current version of Firefox uses liboggplay for Ogg support, but liboggplay’s multitrack support has been sketchy this far. So, Viktor Gal – the liboggplay maintainer – and I sat down at FOMS/LCA to discuss this and Viktor developed some patches to make the demo player in the liboggplay package, the glut-player, support the accessibility use cases.

I applied Viktor’s patch to my local copy of liboggplay and I am very excited to show you the screencast of glut-player playing back a video file with an audio description track and an English caption track all in sync:

elephants_dream_with_audiodescriptions_and_captions

Further developments
There are still important questions open: for example, how will a player know that an audio description track is to be played together with the main audio track, but a dub track (e.g. a German dub for an English video) is to be played as an alternative. Such metadata for the tracks is something that Ogg is still missing, but that Ogg can be extended with fairly easily through the use of the Skeleton track. It is something the Xiph community is now working on.

Summary
This is great progress towards accessibility support in Ogg and therefore in Web browsers. And there is more to come soon.

by silvia at 19 February 2010 01:57

18 February 2010

Dustin Kirkland

Introducing LinuxSearch.org!


I have created a handful of Google Custom Searches over the past couple of years. These are really handy ways of narrowing your search to a particular field, or set of websites.

When I first joined the Ubuntu Community, I found it difficult to comprehensively search Launchpad, and the Forums, and all the wiki's, etc. So I created the Ubuntu Developer Documentation Search.

The leaders of the Ubuntu Documentation Team found it more effective than the search they were previously using, so I created the search used at the top of the official documentation site, help.ubuntu.com.

During the course of my daily development activities as a Canonical Ubuntu Server Developer, Ubuntu Community Member, and Upstream Free Software Maintainer, it is often useful to search for patches, bugs, or documentation in other Linux distributions, such as Debian or Fedora. While I know the available Ubuntu resources very well, I may not necessarily have Gentoo's bugtracker or Arch's forums at my fingertips.

Thus, I created LinuxSearch.org!

For each of the seven Linux distributions where I most often find useful developer documentation:
I identified the websites providing their:
  • Documentation, Wikis, Forums, Mailing Lists, Package details/sources, and Bug trackers
Let's walk through an example...
  1. Search for a term at LinuxSearch.org, such as "ext4 corruption". The default results are for the entire web, without narrowing the focus. Perhaps you find what you're looking for.
  2. Next, you can focus your search by choosing one of the 7 distributions, perhaps Fedora. Now, you are only looking at results from Fedora-related websites.
  3. Finally, you can refine your search even further, by only looking at entries from, say Fedora's Documentation.
  4. Now, if you want to broaden your search once again, you can click any of the links across the top, similar to Google's home page, searching the Web, Images, Videos, Maps, News, or Shopping. And there's one bonus that Google doesn't provide across their top bar -- Wikipedia ;-)
Or just give it a shot yourself.

There's also support for a browser plugin. If you click "Install the Browser Search Plugin", you can add LinuxSearch.org to your search engine tool bar (ctrl-k).

I'm using this tool every day, and it's very much helping me tread through volumes of disparate Linux documentation resources, track down patches, and correlate bugs. I hope you might find it useful too!

:-Dustin

p.s. If there are resources or websites that I missed (as I'm not an expert in any of these distributions besides Ubuntu, please leave a comment below!)


by Dustin Kirkland (noreply@blogger.com) at 18 February 2010 13:25

Martin Krafft

Thank you, Catalyst!

Tomorrow, Penny and I head off back home, and two months of living in NZ come to an end. (did you hear that, pleaserobme.com?)

Maybe I’ll find the time to write about my impressions of living on this side of the planet, and being immersed in Kiwi culture while going after my daily routine and trying to work as much as I could. But there is one thing that should not wait:

Thank you, Catalyst IT for giving us workspaces! For the better part of 6 weeks, you gave us our own room, monitors, keyboards, mice, and connectivity. And more than that: you welcomed us, let us participate in sessions, invited us to your parties, received our parcels, sent out letters, and generally provided us with a great environment to work. This was certainly well above what we had dreamed of.

At times, I was forced to stay into the middle of the night — 12 hours time difference with Europe is not always easy — and spent waking hours in your building alone. Thank you for your trust!

Catalyst is a fully New Zealand owned company who deliver critical open source business systems to some of NZ’s largest organisations, and organisations worldwide. Catalyst was also a major enabler of LCA2010, and a sponsor of Kiwi Foo Camp, both events that I had the privilege to attend.

Let me know when you’re in my part of the world. ;)

NP: The Mamaku Project: Karekare

18 February 2010 05:15

Silvia Pfeiffer

How to display seeked position for HTML5 video

Recently, I was asked for some help on coding with an HTML5 video element and its events. In particular the question was: how do I display the time position that somebody seeked to in a video?

Here is a code snipped that shows how to use the seeked event:


<video onseeked="writeVideoTime(this.currentTime);" src="video.ogv" controls></video>
<p>position:</p><div id="videotime"></div>
<script type="text/javascript">
// get video element
var video = document.getElementsByTagName("video")[0];
function writeVideoTime(t) {
document.getElementById("videotime").innerHTML=t;
}
</script>

Other events that can be used in a similar way are:

  • loadstart: UA requests the media data from the server
  • progress: UA is fetching media data from the server
  • suspend: UA is on purpose idling on the server connection mid-fetching
  • abort: UA aborts fetching media data from the server
  • error: UA aborts fetching media because of a network error
  • emptied: UA runs out of network buffered media data (I think)
  • stalled: UA is waiting for media data from the server
  • play: playback has begun after play() method returns
  • pause: playback has been paused after pause() method returns
  • loadedmetadata: UA has received all its setup information for the media resource, duration and dimensions and is ready to play
  • loadeddata: UA can render the media data at the current playback position for the first time
  • waiting: playback has stopped because the next frame is not available yet
  • playing: playback has started
  • canplay: playback can resume, but at risk of buffer underrun
  • canplaythrough: playback can resume without estimated risk of buffer underrun
  • seeking: seeking attribute changed to true (may be too short to catch)
  • seeked: seeking attribute changed to false
  • timeupdate: current playback position changed enough to report on it
  • ended: playback stopped at media resource end; ended attribute is true
  • ratechange: defaultPlaybackRate or playbackRate attribute have just changed
  • durationchange: duration attribute has changed
  • volumechange:volume attribute or the muted attribute has changed

Please refer to the actual event list in the specification for more details and more accurate information on the events.

by silvia at 18 February 2010 04:29

17 February 2010

Martin Krafft

ACTA documents leaked

Shortly after I wrote my last article about ACTA and the lack of transparency, I was delighted to find out that a report of the recent negotiations in Mexico has been leaked. I find it a bit disconcerting that our politicians, who are theoretically supposed to represent our interests, are writing documents that can “leak” to the public, when they should have been available to the public from the start.

The document and the coverpage are available for direct download.

Michael Geist has a first analysis

A brief report from the European Commission authored by Pedro Velasco Martins (an EU negotiator) on the most recent round of ACTA negotiations in Guadalajara, Mexico has leaked, providing new information on the substance of the talks, how countries are addressing the transparency concerns, and plans for future negotiations. (read more…)

NP: Dimmer: Degrees of Existence

17 February 2010 22:55

Sage Weil

v0.19 released

The v0.19 release is finally here.  The focus this past cycle was on stability and the disk format, and things have improved greatly in that area.  Our plan is to make any future disk format changes roll forward, so that users won’t need to rebuild their file systems.  The protocol has also grown feature bits that so it is at least possible to make protocol changes transparent; whether we do so or not will depend on the severity of the change and cost of maintaining compatibility.

Overall, things are looking good.  If you’ve been standing on the sidelines waiting for something more stable to test, now is a good time to try things out.  There are some lingering OSD performance problems (see below), and we are still a long ways off from something we would recommend for use in a production environment, but otherwise this release is looking pretty good for evaluation purposes.

Changes since v0.18 include:

  • Stabilized disk format, with feature bits
  • Wire protocol feature bits
  • structure encoding versioning throughout
  • msgr: code simplification, cleanup, bug fixes
  • truncation fixes
  • debian: packaging improvements
  • rados: pool deletion, misc fixes
  • osd: recovery fixes, journaling fixes
  • lots of bug fixes (osd, mds, client)

On the kernel client side of things,

  • Support for Kerberos-like ‘cephx’ authentication
  • sync/directio read/write bug fixes (multiple client access to a single file)
  • writeback congestion control
  • mds ops interruptible (with control-c)
  • Lots of code cleanup
  • Lots of bug fixes

Notably, there are major revisions underway with the way the storage daemon cosd interacts with btrfs, and these are sufficiently intrusive and untested that they did not make it into this release.  They should be in v0.20.  That means that OSD performance is still not great in v0.19.  (So far performance with the new code is much much better.)

The primary focus areas for v0.20 will be

  • OSD performance and btrfs interface changes
  • Clustered MDS

Relevant URLs:

Enjoy!

by sage at 17 February 2010 22:30

Claudine Chionh

Drupal is my database -- importing 80,000 convicts with Table Wizard and Migrate

One of the goals of the Founders and Survivors project (the one that concerns me the most) is to compile and publish data about the Van Diemen’s Land convicts from a variety of sources, and make links or cross-reference between records from different sources that relate to the same individual (or, potentially, the same family). Our sources include convict indents carried on the convict ships, conduct records, police gazettes, and registers of births, deaths and marriages. In addition, we have been collecting biographies and family histories submitted by descendants of convicts, which are valuable sources of information about the lives of convicts after they left the penal system.

Biographies have been submitted by members of the public through our Drupal website as a custom content type using the CCK module. The other data exists in paper records which are being transcribed and in some cases photographed. Transcriptions have been entered in a variety of desktop-oriented data collection systems, including Filemaker Pro, Microsoft Access and Microsoft Excel. My goal is to make this data available to other researchers and members of the public in open formats and through the web. As I have got to know Drupal better, I have come to see that it is a powerful way of representing strucutred data as well as free-form documents on the web, and it can also handle the privacy and access control we need to prevent unethical use of data.

The Archives of Tasmania have an online Index to Tasmanian Convicts and I was given a copy of this data in Microsoft Access. This index will form the basis of the entire Founders and Survivors database, so that a record of a convict in the index will contain links to all of the other data we have on that individual. After exporting the index data to a comma-separated text file (so that I don’t have to touch Access again) I hacked together a Perl script to extract data from this file and insert it directly into the node and content tables in Drupal’s database. It looked as if the script did what I wanted it to do, but I wasn’t confident about it and didn’t run it on our production database before I left for LCA2010 and DrupalSouth, where Angie Byron gave me a better solution. (Why yes, I do lose years off my life every time I attempt a bulk migration!)

Angie’s article is a good tutorial on using the Table Wizard and Migrate modules generic data migration process. This is the full process I needed to set up migration for the Archive index (which is still underway – 80,000 records don’t appear instantaneously).

First I also created a content type in Drupal with the same data structure. Every node must have a title, and I wanted the index records to have a composite title containing the convict’s index number and name and the name of the ship on which he or she arrived in Van Diemen’s Land. My first solution was to use the Automatic Nodetitles module which did just this for manually entered records. However, after running the migration process on a sample, I found that the whole batch of migrated records would have an automatic title made up of components of the first record in the batch. (I should probably report this as an issue and even try to fix it, but I needed to find a more immediate solution.) Instead I used the Rules module (which, like Automatic Nodetitles, depends on the Token module) to update the title of each node after is created.

rule to update titles

Table Wizard makes any database table available to Drupal Views. It looks for tables in the default Drupal database (or another database) so I dumped the contents of the CSV file into its own table in the database. The Table Wizard administration page admin/content/tw lists tables managed by Table Wizard and other tables in the database that can be added to Table Wizard. Each exposed table has an analysis link which provides information about each field.

table analysis

If you only want to view data in an external table, Table Wizard will suffice. The Migrate module is used to map the structure of the external table to data structures within Drupal and import the data into Drupal so that it can be searched, viewed and modified like any other Drupal node. The Migrate Extras module is needed to migrate to fields created in CCK. Under ‘Add a content set’ on the Migrate dashboard admin/content/migrate, I selected the index record type as the destination and the Table Wizard table as the source. Clicking on this content set allows me to map the source to destination fields and change other migration settings.

content set

There are two ways to execute the migration: from the Migrate dashboard, or using drush, the Drupal Shell. From the dashboard I can import samples of data or clear all imported data; this is useful for testing the import settings.

migrate dashboard

By default, new nodes imported by Migrate are not published. After testing the migration process on small samples, I cleared the imported nodes, went back to edit the content set and set the default value for Node: Published to 1 so that imported nodes are published.

The index data is now being migrated at a rate of about 12 records per minute. It runs out of memory after (usually) 136 records and attempts to start a new batch, but terminates instead. (These issues require more investigation on my part. It seems to be related to drush permissions.) I am running drush migrate from a cron job so that the migration process can continue unattended. At this rate the index might all be online in a week.

17 February 2010 08:00

Lana Brindley

Barbie's Next Career: Blogger Barbie?

The geek feminist establishment has spent so much time hating Barbie, that now it's a little hard to know what to think about the new Computer Engineer Barbie. I predict it's going to be yet another polarising factor, actually. There'll be those who think that Barbie is just mocking what we have tried so hard to achieve. And then there'll be those who'll think that this might actually help prove

by noreply@blogger.com (Loquacity) at 17 February 2010 06:39

Martin Krafft

Privacy discussion mailing list

Dear lazyweb: I am in search of a mailing list for discussion on matters related to digital identity and privacy in the information age. Unfortunately, my (limited) searching has not unveiled results, mostly because many mailing lists have “privacy agreements” or somesuch, polluting the results with pointers to those.

If you know such a list, or you don’t but you are interested in the topic, don’t hesitate to drop me a line. I will then either let you know when my search was successful, or subscribe you when I have created a list to fill the void.

NP: Sola Rosa: Solarized

17 February 2010 01:04

Dave Hall

Making My Nokia SMSes Stop

This is a public service announcement.

Tracy Postill, Corporate Communications Manager at Nokia Australia sent me this response when I enquired as to why it had taken more then 6 months for me to be unsubscribed from the My Nokia service.

There are a number of very simple processes to unsubscribe:

- sending "stop" to +61416906978

- through My Nokia application in phone

- online at www.nokia.com.au/mynokia

- request "unsubscribe" through Australia.mynokia@nokia.com

- Nokia Customer Care (Carline or email support)

This information is presented to consumers in multiple ways:

- after signing in via phone, customer receives a welcome message and information on how to opt-out (SMS)

- ~20% of scheduled SMS contain opt-out information (SMS)

- in every sales pack, there are the T&Cs for MyNokia including all the details of how to opt-out

- My Nokia FAQ on https://my.nokia.com/appmanager/AustraliaEnglishMY_NOKIA_AUSTRALIA/Login?SAMLart=AAQAAYU6%2FZbJFfjRP3cckEAJmxKhSmx8sqF8q2CNtVwZBvZUL6lb%2FBg%2Fmio%3D&RelayState=qh8DL4DVL1Qp9q612ncWTwWvRp6QQKYB52xh1226HJJ1RP14NvQr!-432133733!1266205653496#faq14

My signup text message and terms and conditions were returned to Optus along with everything else that came with my N97. None of the txts I have recieved from My Nokia has contained any opt out information and the FAQ requires a My Nokia account to be able to access it.

I explained to Tracy that I think Nokia has major issues with their processes for unsubscribing from My Nokia, she has "sent this email to our head of care and asked him to follow up on this". I will post a follow up if I receive a response from "head of care". I hope this saves others the hassle of trying to unsubscribe from the service.

by Dave at 17 February 2010 00:56

16 February 2010

Robert O'Callahan

High-Performance Browser Developers

Yesterday, as a belated celebration of the Firefox 3.6 release, the Auckland Mozilla office went go-karting at the Formula E track in Manukau. These are electric go-karts; I personally don't have enough experience to compare these ones to petrol karts, but our more experienced drivers liked them and we all had a great time. They have interesting features like remotely controlled speed-limiting, so when someone spins out, everyone is immediately slowed down to the same speed without everyone bunching up behind the leader. The operators have some interesting software, so they can give you graphs showing your times for each lap; you can see the times improving as you learn. As an almost complete n00b, I started very slowly and improved quite quickly, which made me look good in the handicap races. I was, however, a nervous wreck by the time we were done --- three ten-minute intervals on the track. If this browser stuff doesn't work out, motor racing is probably not my best bet.

I wonder if anyone's combined go-karts with augmented reality. Put a head-up display in the helmet visor, project power-ups onto the track, pick them up to lift the speed limit in the electric motor. Etc.

Seven Mozilla developers at Formula E racetrack

16 February 2010 01:27

15 February 2010

Dustin Kirkland

2010 Austin Marathon - I'm Running Ubuntu!

So yesterday was Valentine's Day, of course. Let's hope you treated your sweetheart extra sweet. Kim bought me a bottle of 14 year old Oban single malt Scotch whisky. Mmm, peaty.

But February 14, 2010 has been marked on my calendar for the last 6 months as the date of the the Austin Marathon! A couple of brilliant billboards advertised the race in Austin over the last few weeks. One said Love Austin, Run Austin. Another one said Love Hurts. :-)

I've trained with Steve Sisson's Rogue Training Systems (and Runtex University) in the past. These guys have excellent programs for new runners. They can absolutely get anyone who can run/walk 3 miles to completing a marathon with about 6 months of hard work.

My brother-in-law Josh and I trained for and ran the 2006 Freescale Austin Marathon with Rogue. We decided back in September to do the 2010 Austin Marathon, training ourselves and our friends with the techniques we learned in the past. Here's our team, at 6am morning of the race, looking sleepy, but fresh...

My personal best marathon time was 4:08 in the 2006 Austin Marathon. I was hoping to beat that time, but simply enjoying the race was the real goal.

For the first time, I actually ran the race with my camera/phone (Palm Pre). This was pretty cool, as I was able to communicate with my wife, and help coordinate the places where she'd meet us along the way. I was also able to snap some pictures along the way.

The race started at 7am, with a temperature of about 40F (4C), a bit chilly for Austin, but still pleasant running conditions. Clear, clear, clear, without a cloud anywhere to be seen.



Some people ran in costume, such as Batman...



Of course, I ran in my I'm Running Ubuntu t-shirt. Let me just say that Ubuntu is live in strong in Austin! I must have gotten 30+ Ubuntu catcalls over the course of the run!

Josh and I first saw our support crew (Kim and Gerri) having run uphill for about 2 miles, but still feeling great!


After another mile or so uphill, we hooked around, and headed back downhill toward downtown Austin.
We were supposed to see Kim again around mile 7-8, but with the roads blocked, she couldn't make it. About an hour into the race, the temperature had increased a bit, and it was time to peel off a layer. Miles 1-3 were uphill, but 4-8 were nice and downhill.

Miles 8-13 were the toughest of the race from a topography perspective, with lots of rolling hills, up and down. It was getting a bit warmer, and the first hints of exhaustion started setting in, usually on the uphills ;-)

Moreover, the density of runners split in half between miles 10 and 11, as the Half Marathoners motored on toward the finish line, leaving us Marathoners to a few more hours of fun.

Up until the 13 mile mark, three of us (Josh, Steph, and myself) ran together, chatting it up. Unfortunately, that wasn't to be the rest of the race. Josh had some severe leg cramps, dropping behind right around the 13 mile mark. Steph and I picked up the pace a bit (per our race plan) for the next 3 miles or so, but I could tell that I wouldn't be able to hold that for the rest of the race, unfortunately. So I wished her luck, and we each slipped into our own pace, just trying to make the finish line.

Just after mile 16, I had to smile when I saw a gal with an Easy button :-)


I think miles 16 and 17 were the hardest two of the race for me. These were along Great Northern Drive, a 2 mile, perfectly straight, perfectly flat, perfectly boring stretch that any technical runner in Austin probably knows. It eats your psyche.

Thankfully, Kim and Gerri were cheering me on at mile 17, and boy did I need it!
I was already a bit off my goal time, so I decided to just enjoy the race. I stopped for a good 60 seconds or so to wish my wife a happy Valentines Day, thank her for being there, and find out how my friends ahead of me were doing.

It was nice to get a bit of a recharge, and I was able to ride that for a mile or two. But around mile 20, I started to feel fatigued. For each of my previous 3 marathons, I ran at least one 22 mile long run before the race. I missed my team's 22 miler (while I was trekking through New Zealand).

Fortunately, I made a random friend. It's a great thing to do during a race. Find someone else to chat with. I met a guy named Ed. This was Ed's 53rd marathon, and 3rd in the last two months! Holy smokes. Ed was also a class of '82 Aggie (myself being a class of '01 Aggie). We Howdy'd and Gig'Em'd and Whooped our way through the next few miles. And I tried to learn as much as I could from a guy who had run 52 previous marathons.

I lost Ed during one water stop, and started struggling a bit, until I made it to mile 24, where Kim, Gerri, Steph, Josh who had to drop out of the race due to leg cramps :-( and my newest nephew Jackson!

Again, I was well out of contention for breaking my best time, so I stopped running, and spent a minute thanking everyone for their support. They encouraged me to hit the road, which I did for the best miles 25 and 26 of any marathon I've ever run.

The last two miles were downhill, through the University of Texas. Here, there was a radar speed sign, which correctly identified me as running 6 miles per hour ;-)


A few blocks later, then past National Museum of Texas, the Texas History Museum (great exhibits, if you're ever in Austin looking for something interesting to do)!


And just past the Texas History museum stands the enormous Texas State Capitol in its gleaming pink granite. The finish is near!


After a half lap around the capitol building, the finish line stood two blocks down, at Congress and 10th Avenue. A huge crowd awaited on the south side of the capitol, cheering all the way to the finish. Four hours and thirty minutes later, I had covered twenty six point two miles on foot. I had just completed my fourth marathon. Not my fastest time, but not my slowest time either. But I was proud, happy, and healthy.



And finally, back to Josh's house where we started oh so long ago that morning for the post race banquet and beers!



What's next? New Orleans in two weeks, maybe ;-)

:-Dustin


by Dustin Kirkland (noreply@blogger.com) at 15 February 2010 21:01

Brett Morgan

Odd

I've just realised I'd rather post things to buzz than to lj. Mainly because buzz's editing system isn't stuck in mid '04.

So, uhm, I guess this is it then, yeah?

15 February 2010 13:29

14 February 2010

Robert O'Callahan

Post Foo Camp

This weekend's Foo Camp (NZ) was, once again, fantastic.

One of the most fun parts for me was a long conversation with Nigel Parker (Microsoft) and Glen Murphy (Chrome). During that conversation I realized that this is the first time ever that the consumer software industry has had three powerful, yet similarly matched, competitors --- Google, Microsoft, and Apple --- fighting over some important platform turf (mobile, online content, browsers). That's really wonderful. Although it'd probably be more fun to watch if we, Mozilla, weren't in the ring with them.

There was a lot of talk about evangelizing the merits of open source, building communities around open source, and stuff like that. It seemed mostly framed around the idea of open source as the upstart, radical, misunderstood challenger, which I guess it still is for many domains or projects, but I don't relate to that as well as I used to because Mozilla has clearly passed that stage --- and even our competitors are often open source with their own communities.

I wonder if we're all doing enough to leverage Firefox's success to add credibility to other free software efforts. I hope that at least other projects benefit from being able to point to Firefox and say "look, free software with a real volunteer development community, and you're using it".

We're not supposed to talk too much about what was discussed, but I will say that the sessions on food, psychopaths, and climate change blogging were very interesting!

14 February 2010 10:13

13 February 2010

Stewart Smith

Linux Australia Voting History (incl 2010)

The voting count for the election in 2010 is well and truly in. Here’s the number of voters over the years:

Linux Australia Voting History

Linux Australia Voting History

by Stewart Smith at 13 February 2010 05:46

Martin Krafft

ACTA: less knowledge means less resistance

Right now, your government is probably engaged in the discussion of the Anti-Counterfeiting Trade Agreement (ACTA). You are likely not aware of that because your government has been actively keeping these negotiations and details surrounding them secret.

Your government does not want you to know about a treaty that has far-reaching negative effects on your freedom, as well as your basic human rights. If you did know, you might speak up and make it difficult for the drivers of ACTA to smoothly push their interests past you.

The red light should light up in your head right now!

The goals of the “trade agreement” that is being negotiated are multifarious, but essentially seem to centre around challenges related to intellectual property, and copyright in the digital age, even though it is sometimes claimed that the agreement serves primarily to contain trade of fake Prada bags and Rolex watches.

In reality, ACTA is about content producers like movie studios, who try everything to prevent you from copying their work without paying for it — even if you cannot actually purchase the work, because of e.g. technical measures designed to prevent certain people from legally obtaining content, or simply because the media companies are greedy and consider it PR-savvy to delay the release of a given work in certain countries until after people have had a chance to pay a lot of money to the cinemas.

In theory, a creative work goes out of copyright 50 or 75 years after its author died, depending on whether the creativity can be attributed to a person or a corporation, respectively. Therefore, 50 or 75 years after creation, it gets increasingly hard to monetise a work that has not been reinvented in that period of time.

Sounds plausible to you and me, but this sort of stuff frightens companies like Disney, who seem powerful enough to simply have the law changed. That is not how things should work.

The media producers are failing to control the Internet, and hence they want to turn it into something more like cable TV, which they do know how to control.

ACTA aims to make copyright infringement a criminal offence.

ACTA wants to make it possible for a government to cut you off the Internet because someone thinks you did something bad — they don’t actually have to prove it though, accusation is enough. Similar efforts have already failed all over the world, e.g. in France and New Zealand. That’s a sign, not a reason to try again.

ACTA wants to set in stone that you have absolutely no rights when you cross borders. This is largely already the case — border officials can pretty much do with you whatever they want — now it’s supposed to be made official, and legally binding.

ACTA will create a culture of surveillance and suspicion.

ACTA is designed to break the Internet, among other things.

But worst of all: I am just speculating because we are not supposed to know the details.

The best current source of information on ACTA seems to be Canadian law professor Dr. Michael Geist, who has been collecting content and linking to articles consistently since the ACTA negotiations commenced 2–3 years ago. The Electronic Frontier Foundation also has comprehensive resources available.

It’s even more important today than before to put an end to this secrecy. Don’t let your government enter secret agreements that affect you and your life, refusing to talk to you about it beforehand, and probably refusing all responsibility afterwards. Talk to your politicians and ask questions that cannot be answered with stock replies.

If you have specific contact addresses for politicians, please let me know so I can add them.

Colin Jackson helped me with this article at Kiwi Foo Camp. He also takes an issue with the secrecy around ACTA.

13 February 2010 00:02

12 February 2010

Paul McKenney

Parallel Programming: Selective Struggling

An Eminent Reader privately indicated some distaste for the non-technical nature of recent parallel programming posts. Given that many of the obstacles to successful development of parallel software are non-technical, there will be future non-technical posts, but there is no reason not to take a technical break from these issues. And so, just for you, Eminent Reader, I present this parallel programming puzzle.

This puzzle stems from some researchers’ very selective struggles with parallel algorithms. Of course, it should be no surprise that many people, researchers and developers included, will struggle quite happily with their “baby”, but will even more happily bad-mouth competing approaches, even when (or perhaps especially when) those approaches requiring much less struggling. And yes, some might accuse me of favoring RCU in just this manner, but this is my answer to the likes of them.

Such selective struggling seems to have given rise to an interesting urban legend within the concurrency research community, namely that allowing concurrent access to both ends of a double-ended queue is difficult when using locking.

Can you come up with a lock-based solution that permits the two ends of a double-ended queue to be manipulated concurrently?

12 February 2010 23:33

Tabitha Roder

Foo camp arrival

So I arrived at Foo camp last night, excited about what the weekend will bring.

We had a yummy dinner and had our first session giving us a taste of what will come over the weekend. 

I went to a talk by Peter Hall from Summerland Primary school where we discussed honesty and transparency. Peter talked about creating a safe environment in his classroom that allowed it to be okay to be honest about where each students ability truly was so they didn't have to pretend they were better than they were. We talked about how teachers and schools need a culture shift that makes it safe for them to report where they honestly are and not try to pretend they are better than they are.

We slept in the library (that was pretty cool actually) and I got enough sleep to make it through day 2. 

12 February 2010 22:47

Silvia Pfeiffer

Audio Track Accessibility for HTML5

I have talked a lot about synchronising multiple tracks of audio and video content recently. The reason was mainly that I foresee a need for more than two parallel audio and video tracks, such as audio descriptions for the vision-impaired or dub tracks for internationalisation, as well as sign language tracks for the hard-of-hearing.

It is almost impossible to introduce a good scheme to deliver the right video composition to a target audience. Common people will prefer bare a/v, vision-impaired would probably prefer only audio plus audio descriptions (but will probably take the video), and the hard-of-hearing will prefer video plus captions and possibly a sign language track . While it is possible to dynamically create files that contain such tracks on a server and then deliver the right composition, implementation of such a server method has not been very successful in the last years and it would likely take many years to roll out such new infrastructure.

So, the only other option we have is to synchronise completely separate media resource together as they are selected by the audience.

It is this need that this HTML5 accessibility demo is about: Check out the demo of multiple media resource synchronisation.

I created a Ogg video with only a video track (10m53s750). Then I created an audio track that is the original English audio track (10m53s696). Then I used a Spanish dub track that I found through BlenderNation as an alternative audio track (10m58s337). Lastly, I created an audio description track in the original language (10m53s706). This creates a video track with three optional audio tracks.

I took away all native controls from these elements when using the HTML5 audio and video tag and ran my own stop/play and seeking approaches, which handled all media elements in one go.

I was mostly interested in the quality of this experience. Would the different media files stay mostly in sync? They are normally decoded in different threads, so how big would the drift be?

The resulting page is the basis for such experiments with synchronisation.

The page prints the current playback position in all of the media files at a constant interval of 500ms. Note that when you pause and then play again, I am re-synching the audio tracks with the video track, but not when you just let the files play through.

I have let the files play through on my rather busy Macbook and have achieved the following interesting drift over the course of about 9 minutes:

Drift between multiple parallel played media elements

You will see that the video was the slowest, only doing roughly 540s, while the Spanish dub did 560s in the same time.

To fix such drifts, you can always include regular re-synchronisation points into the video playback. For example, you could set a timeout on the playback to re-sync every 500ms. Within such a short time, it is almost impossible to notice a drift. Don’t re-load the video, because it will lead to visual artifacts. But do use the video’s currentTime to re-set the others. (UPDATE: Actually, it depends on your situation, which track is the best choice as the main timeline. See also comments below.)

It is a workable way of associating random numbers of media tracks with videos, in particular in situations where the creation of merged files cannot easily be included in a workflow.

by silvia at 12 February 2010 10:44

Brett Morgan

Got to be thankful for backups...

I backup my macs to an apple time machine. I haven't much used it, but it has always been a "just in case" item.

And today, I am restoring from back-up files given to me by an ex. I've released the anger, swallowed the guilt, and come to peace with myself about the areas where I wasn't enough for her. So now I'm going to finally go have a bo-peek at The Wire, and see what she was raving about.

So yeah, back up your files. Save your future you from your current stupidity. =)

12 February 2010 08:34

11 February 2010

Dave Hall

Nokia and TXT Spam

Last year I bought my 4th Nokia phone in a row, a N97 on contract from Optus. What a mistake that was. The phone would drop every second call and the user experience was less than I expected from Nokia. Telstra allow customers in the bush to test drive a handset for a few days or so to make sure it works where you need it, Optus on the other hand will sell you the handset but offer a "Coverage Satisfaction Guarantee". After about 2 weeks, I bailed out of the contract with Optus through the CSG, returning the handset to Optus and eventually not having to make any repayments on the handset.

When I first turned on the phone it gave me the option of activating My Nokia tips and special offers or something like that, I thought I would turn it on and see what tips and offers I could get. It turned out the tips weren't very useful and there were no offers, let alone anything I would call special. When I returned the phone I completely forgot about the My Nokia txts. I was to discover Nokia hadn't forgotten about me. About twice a month I continue to receive messages from My Nokia.

Back in September I got fed up with receiving the text messages, which contained no option for opting out, so I filed a complaint with ACMA. 6 weeks later I was advised by ACMA that they had contacted Nokia on my behalf and asked them to unsubscribe me. I assumed this would be the end of the matter. The messages continued, so I contacted ACMA again. Two weeks later I was told again that Nokia had been told by ACMA to unsubscribe me. The following day another text arrives. In early January I received the following response from ACMA.

Thank-you for your email, I have tried to unsubscribe you from receiving messages from My Nokia.

I received the following from a Nokia Email Support Executive on the 16 December 2009.

Thank you for contacting Nokia Careline. I have searched our records using the phone numbers that you have provided and I find that all of them are not present in our system which means that they have not contacted us even once. We will not be able to unsubscribe an account without the direct consent from the owner of the account. If the customer is having difficulty to unsubscribe from the service, they should contact us first so that we can assist them. There are several ways to unsubscribe from the My Nokia service.

These are as follows:

1. Using a PC, Login to My Nokia and click on Edit my Details

2. Using the phone, open the My Nokia icon and select "Unsubscribe"

3. Click the link at the bottom of the email message sent from My Nokia

Should you have any questions regarding our product or if we can be of any assistance, please feel free to contact one of our friendly Technical Support Executives on 1-300 366 733 between the hours of 8am and 8pm, AEST, seven days a week. For online assistance, please visit ‘ASK Nokia’ at our website

Have you attempted the above to unsubscribe from this service?

As I explained to ACMA, I have never installed any Nokia software on my PC, so option 1 is out. As I no longer have the handset, option 2 is out, it is txt not an email so option 3 wouldn't work, so I decided to call Nokia.

I called Nokia on the number listed above. After 15 minutes or so on hold, I got to speak to someone in a call centre on the sub continent. The line was appalling, to make matters worse the guy I was dealing with seemed to be the work experience kid on his first day. I would talk to him for a minute or 2, then be put on hold for 5 minutes or more while he put me "on hold for a minute while I check something". I don't think that there was a sentence I didn't have to repeat. In the end he terminated the call when I lost it after being asked to spell "Nokia" to him for a 3rd time. Almost an hour of my time wasted.

I called Nokia back. This time I was kept on hold again for around 20 minutes. As soon as the call was answered I demanded to speak to a supervisor. After further time on hold I got to speak to a supervisor. First he tried to tell me it was coming from Optus not Nokia and that I needed to contact them. Next I was told to use the My Nokia menu option, which I explained I didn't have. Finally he suggested that he could login to the My Nokia website and unsubscribe me - finally I was getting somewhere! Then I was asked for my password, I explained I didn't have one, "that's OK sir, you can go to the website and sign up for one". It was clear after almost another hour lost this was going no where, so I cut my loses.

After getting off the phone I looked at how much information Nokia wanted so I could sign up for My Nokia. There was no way I was going to give any company that much information just to stop them spamming me - they have the identity theft jackpot questions all there.

On Wednesday I phoned the person at ACMA who was handling my complaint. They claim ACMA is complying with the letter of the law as these are not unsolicited commercial messages, but rather factual services messages from a company I have a relationship with. Apparently you can spam people in Australia if the messages are factual. As these are factual messages, Nokia isn't even required to have an opt out option. Although such actions may be legal, I don't think they are a good way to build customer loyalty and confidence in a brand.

I'm not happy with this situation. Based on some quick math, I have spent 4 to 5 hours chasing this, which is time I wasn't billing clients. This means I am pretty much down the cost of a new phone outright. As things stand now, I am not feeling like recommending Nokia to family, friends or clients, instead I am more likely tell this story and discuss the lack of customer service. I am now also very unlikely to buy the N900 I have been admiring on amazon, let alone attend Forum Nokia Developer Conference 2010. Instead I am likely to import a Nexus One or some other open phone.

I hope someone reading this works for Nokia or has a contact there who can resolve this. If anything happens I will post an update.

Below are some of pearls of wisdom I've received from Nokia:

Tip: Automatically adding location information to your pictures means you'll never forget a place. In camera mode, select Options > Settings > Show GPS info

Tip: Find out if a surface is flat by using your device as a spirit level. Download the free Level Touch app by visiting http://nokia.mobi/os/leveltouch

Tip: Share your favourite places with Nokia Maps. When viewing a map, select a saved place, press Send, and then choose your preferred sending method.

Tip: Use the self-timer to make you don't get left out of the next family portrait. In camera mode select the Capture settings icon and select Self Timer.

Tip: Listen to music in stereo sound and manage your calls with the Nokia Stereo Headset WH-500. Visit [...]

Update 15-Feb-2010 @ 13:00AEDT I emailed Tracy Postill, Corporate Communications Manager at Nokia Australia, a link to my post. She raised the issue with Nokia Care who called me on Freiday evening and told me that they had tried some things, but it would take 2 weeks or so before they knew if it worked or not. I sent a follow up email to Tracy asking why was it so difficult to unsubscribe from My Nokia. I am still waiting on a response from Tracy.

by Dave at 11 February 2010 11:23

Brett Morgan

Yeah, i'm going slightly mad.

I now have two google events that I cat herd for. I am still running the Google Wave user group (http://gwsug.eventbrite.com/ for those so inclined) and now I am also running the sydney Google Tech User Group. Somehow we managed to get Unix legend Rob Pike to speak about his new baby, the concurrency oriented Go programming language, along with Daniel Nadasi of the Maps team to talk about Closure. Last I looked we are running at about 85 rsvp's on the gtug event, which means we should have about 50 odd on the night.

In short, my brain is a little frazzled. Running after all the peeps and stuff is kinda tiring. On the upside, I may well have a job. I think. I hope so, anyways. I like earning money. Makes buying food easier. =)

11 February 2010 08:33

Dave Hall

Packaging Doctrine for Debian and Ubuntu

I have been indoctrinated into to the everything on production machines should be packaged school of thought. Rather than bang on about that, I intend to keep this post relatively short and announce that I have created Debian (and Ubuntu) packages for Doctrine, the ORM for PHP.

The packaging is rather basic, it gets installed just like any other Debianised PEAR package, that being the files go in /usr/share/php, the package.xml and any documentation goes into /usr/share/doc/<package>, and the tests are stored as examples in /usr/share/doc/<package>/examples. The generated package will be called php-doctrine_1.2.1-1_all.deb (or similar), to comply with the Debian convention of naming all PEAR packages php-<pear-package-name>_<version>_<architecture>.deb. I have only packaged 1.2.1, but the files can easily be adapted for other versions, some of the packaging is designed to be version agnostic anyway.

To create your own Doctrine deb, follow these steps:

  • Create a directory, such as ~/packaging/php-doctrine-1.2.1
  • Change into the new directory
  • Download my debian/ tarball and extract it in your php-doctrine-1.2.1 directory
  • Download the PEAR package tarball from the project website and extract it in your php-doctrine-1.2.1 directory
  • If you don't already have a standard Debian build environment setup, set one up by running sudo apt-get install build-essential
  • To build the package run dpkg-buildpackage -k<your-gpg-key-id> -rfakeroot . If you don't have a gpg key drop the "-k<your-gpg-key-id>" from the command

Now you should have a shiny new Doctrine deb. I think the best way to deploy it is using apt and private package repository.

Update: @micahg on identi.ca pointed me to a Doctrine ITP for Debian. Hopefully Federico's work will mean I no longer need to maintain my own packaging of Doctrine.

by Dave at 11 February 2010 02:42

10 February 2010

Don Christie

Enemy action?

Auric Goldfinger said:

Once is happenstance. Twice is coincidence. The third time it’s enemy action.

There appears to be a move afoot to re-position Microsoft as an “open source” company. Once was at the City of Edmonton; twice is the British Library. Is there a third time?

This is why Open Source misses the point of Free Software. In other words, Free as in Free Market — a competitive landscape offering real choice of systems and suppliers, not locked into a single vendor’s proprietary software stack.

If somebody finds a third example, add a link in the comments, so readers can draw their own conclusions from the evidence.

by John Rankin at 10 February 2010 23:59

Jonathan Lange

From the Strategist

If I don't dump a bunch of stuff that's on my mind, I'll never blog again. Here goes:
  • Launchpad users within Canonical seem to appreciate the Roadmap. Still receive some complaints about not communicating our plans enough, but not sure what to do.
  • Team lead meeting in London went well. Good to see the gang again.
  • The Wellington sprint was amazing. Rarely seen a sprint that's more productive.
  • My favourite result: a fixed, pre-planned annual schedule of sprints, including two annual whole-team sprints. I get to meet with my colleagues and have a life and Canonical saves money all at once.
  • The team leads like the Ready-to-Code and Launchpad Enhancement Proposal process things.
  • Daily builds work is going well. There's a lot of UI bits to consider, and we're trying to get the UI correct before building it. Grates my JFDI nerves, but maybe it's the right approach.
  • Challenged the Launchpad team leads to blog once every two weeks about anything, as long as it's vaguely related to Launchpad. The name of the challenge? Blog like it's 2006.
  • Community Help Rotation sucks and basically no-one really knows what to do about it.
  • I'm cautiously excited about using kanban to track our work-in-progress.
  • Launchpad needs graphs in the Launchpad application. I think all we need is someone to just add one. I don't have the time to do it as part of my day job, and I've got a backlog of other hacking tasks. Could I help you do it instead?
  • I'm going to PyCon.

by noreply@blogger.com (jml) at 10 February 2010 14:00

Brett Morgan

The Muppets: Beaker's Ballad


Something so right about Muppets + ROFLcopter.

10 February 2010 11:03

Tim Connors

An explanation for the existence of climate change skepticism

There is an explanation for the existence of climate change skeptics for those of us who can't fathom why you'd have thought processes that would lead to the denial of most scientific evidence.


AGW [Anthropogenic Global Warming] truly is an inconvenience. If it were true, not only would we have to consume less, but more importantly it can shake our very core beliefs. The sorts of beliefs that AGW would trouble include political/economic and religious beliefs. I won't judge these core beliefs that people have, but they are key to understanding why AGW is doubted. Just as a religious world view could cause someone to not accept evolution, it too can make them less likely to accept AGW. One of these religious views holds that nature exists for humanity's benefit, and therefore, is at our whim and cannot pose danger to us.

AGW poses a direct threat to some forms libertarianism and right-wing capitalism. I think that this may have played a strong role in my personal AGW skepticism, and perhaps in other libertarians. As I discussed in a previous blog post, values can determine whether someone considers themselves a libertarian, liberal, conservative, etc. One important value of libertarianism is the desire for smaller government. This rubs up against the problem of AGW. If the problem of AGW is real, and if we have any hope of solving it, we would most likely require development of gross regulations from governments. This is exactly what is going on right now in Copenhagen. Those who find regulations unpalatable, when faced with AGW, will have strong psychological pressure to find themselves in what I call the AGW skeptic spectrum: deny the existence of rising global temperatures, doubt the fact that it is man made, skeptical that cutting back emissions can help, and finally, question the idea that cutting emissions can help or is economically feasible. It is for this reason that I think that the AGW has unfortunately been split down the house between the political left-wing and right-wing. Once a topic has become left-wing vs right-wing, the argument is no longer scientific, it is political.


Personally, I'm a bit surprised that prominent skeptics ever doubted AGW. I would have thought skeptics would be more doubting of the spin coming from big media and big corporations than knowledge produced by rational science. Ozone hole vs CFC manufacturers; lung cancer vs big Tobacco; lung cancer vs James Hardy; global warming vs big oil.

But now I understand the deniers' shrill calls that AGW must be a giant World Government[TM] conspiracy. I had forgotten that some of them will be from the right wing libertarian quarter.

10 February 2010 06:23

09 February 2010

Martin Krafft

Baffling Exchange

I found out yesterday that my university’s Microsoft Exchange Server account stopped forwarding my mail on 8 December 2009. As a result, mail accumulated there and remained unseen.

Dear examiners, paper authors, supervisors, sponsors, participants, and peers who responded to my calls and cries related to my PhD thesis. I am terribly sorry that you were subjected to this. You replied usually within a few days, but I still sent you reminder after reminder in the weeks to follow. You must have thought that I was a real dork. Please forgive me. I really appreciate your patience!

I filed a ticket with my university’s IT service provider, which got closed the next day with “it should now work again”. That wasn’t going to cut it for me, so I reopened the ticket, asking for an explanation. Next, I received an apology with a bit of speculation.

After a bit of research, it seems that the reason was to be found in the “inconsistency” of being an external staff member (i.e. an e-mail address outside of the Active Directory domain), but still having an account on the server.

On 8 December 2009, the server was upgraded with a service pack. This caused Exchange to go a little manic on the housekeeping. After all, why would anyone ever want to forward their e-mail elsewhere, and still have an account?

Well, I certainly don’t want an account, and yet I have to have one: Microsoft has bought their ways into the university and spread their germs all across, I need credentials to be able to access shared files, print, browse the library, or search the phone book.

However, considering that UL’s Outlook Web Access instance does not let users of decent browsers search their mailboxes (a “premium feature” reserved for users of Internet Exploder), one cannot manipulate more than a page-full of e-mails at a time, bounce messages, or do many of the other operations that make dealing with large amounts of e-mail possible, and because Exchange mail — if it doesn’t get lost in the first place — sucks in so many other ways, I certainly prefer my mail to be handled by a real mail server with a proper mail filter (writeup in progress).

Maybe the Exchange service pack was simply designed to get rid of outcasts like me who don’t buy into the low-Microsoft-quality vendor lock-in? We’ll never know, thanks to the proprietarity of their software (and the fact that the university service provider apparently does not keep logs of changes).

NP: AC/DC: Back in Black

09 February 2010 21:10

Paul McKenney

Parallel Programming: Questionable Quality Assurance

An earlier post noted that parallel programming suffers more potential failures in planning than does sequential programming due to the usual suspects: deadlocks, memory misordering, race conditions, and performance/scalability issues. This should lead us to suspect that parallel programs might need better quality assurance (Q/A) than do sequential programs. Q/A activities include validation, verification, inspection, review, and of course testing.

Traditionally, Q/A groups serve many roles:


  1. Run tests and find bugs.
  2. Break in new hires, who, strangely enough, are sometimes reluctant to irritate developers.
  3. Distract developers who are already behind schedule with pesky bugs.
  4. Act as scapegoat for schedule slips.
  5. Act as a target of complaints from developers who are tired of debugging either their new features or any bugs located by the Q/A group.

Although there are many highly effective Q/A groups in many software development organizations, it is not hard to find Q/A groups that find bugs, but that either cannot or will not get developers to pay attention to them. It is also not hard to find Q/A groups that are overridden whenever they point out problems that might cause a schedule slip. One way to avoid these problems is via enlightened management based on (for example) bug trends over time, and another way is for the Q/A organization to report high up into the organization. Of course, with this latter approach, one wonders just how often the Q/A organization can get away with yanking on the silver chain connecting to their executive sponsor.

Of course, FOSS communities have their own Q/A challenges, but the fact that the maintainers are usually responsible for the quality of their code adds a breath of fresh air to the process. Not least, their gatekeeper role enables them to vigorously enforce any design and coding guidelines that their FOSS community might have.

But what are the technical effects of parallel software on Q/A?

09 February 2010 19:44

Dustin Kirkland

Byobu Icon Contest!


You might have noticed that I took a crack at designing an icon for Byobu a few months back.

While I consider myself a decent hacker, and a reasonable photographer, I'm pretty bad at vector graphics, sadly.

So I'm reaching out for your help! Have you always wanted to contribute to an open source project? Are you pretty good at vector graphics? Here's your chance ;-)

So here are the rules...
  1. Submissions must be in SVG (scalable vector graphics) format. You might want to use the Inkscape package to do your drawing.
  2. Images must be square in overall dimension.
  3. Images must scale well, being recognizable as a 16x16 pixel icon, while also looking sharp at 1200x1200.
  4. Submissions must be made via bzr and Launchpad. You should branch lp:byobu, add your SVG file, commit, and push to Launchpad. These commands might help.
    bzr branch lp:byobu
    cd byobu/icons
    cp /path/to/your/foo.svg .

    bzr add foo.svg
    bzr commit
    bzr push lp:~yourname/byobu/byobu-icon-contest
  5. Submissions must also be contributed under the GPLv3 (same license as Byobu). You can find the GPLv3 on your Ubuntu system in /usr/share/common-licenses/GPL-3.
  6. I really like the idea behind the icon that I did (a three-panel folding screen), it's just kind of ugly ;-) You are welcome to start with that .SVG and simply improve it. Or start from scratch with a design of your own!
  7. When you're satisfied with your submission, please use Launchpad's "Merge Proposal" feature.
You're also welcome to link to your submissions in the comments below for feedback from other readers!

Assuming we get some good submissions, I'd like to select a few finalists around Feb 25, and then a winner by March 1st. What does the winner receive? Well, besides bragging rights of having designed Byobu's logo, I'm going to print a few Byobu t-shirts with the new logo to show off my favorite free software project, and the winner will receive two of these shirts in whatever sizes he or she wants.

Good luck!

:-Dustin


by Dustin Kirkland (noreply@blogger.com) at 09 February 2010 15:37

Tabitha Roder

Moodlemoot conference: April 2010 Christchurch NZ

Moodlemoot is a conference for "Moodlers". It allows people who work in elearning to meet and share experiences, allows teachers an excellent professional development opportunity, and welcomes new Moodlers to the wider Moodle community.

Moodlemoot aims to include 'something for everyone', so choose workshops and presentations that suit you.

This year there are again inspiring presenters. A taster for you on just a few:
  • Martin Dougiamas (founder and lead developer of Moodle)
  • Martin Knott (CEO of Moodlerooms in the USA
  • Moodle enthusiast and guru Tom Murdock (from North Carolina, USA)
  • Shane Elliott (a Kiwi living and working in Perth at Moodle HQ)
There will also be some very talented New Zealand practitioners too. Teachers and Moodle enthusiasts who are happy, willing and able to share their experiences and knowledge with others.  Numerous workshops, presentations and discussions are being facilitated by local experts - and we should thank them for this hugely valuable contribution to the programme.

I am fortunate enough to have experienced Moodlemoots all around the world and the New Zealand Moodlemoot is definitely one of the best, as it is fun, relaxed, and full of friendly people to network with. I always learn loads from the conversations as well as the presentations and workshops. It is great to spend time with the people I follow on twitter!

Poster

09 February 2010 05:12

Martin Krafft

Sign me up to social networking!

I do not like it when people tell Web 2.0 sites to send me invitation e-mail. I won’t enumerate the reasons here. But there is one reason for why I don’t like you passing on my address to those sites, which is subject of this article:

Unlike popular belief, the Web 2.0 is not a money-printing machine. It’s a long road until you can actually generate real money with user content. Therefore, some shadey sites are probably selling contact details to advertisers to make ends meet while hoping for the big cashflow.

I don’t have any data to back this up, and I want to change that:

Please tell all your Web 2.0 sites to send me an invitation! Please use an address in the signmeup.madduck.net domain for that, and make sure to include the domain name of the service to which you sign me up before the @ symbol. Also append a hyphen/dash and a random, short string. More on that in just a sec.

For instance, if you are one of those people that believes that letting people know where you are (and have been) at any point in time, tell Foursquare to send an invitation to:

foursquare.com-ponies@signmeup.madduck.net

The reason for the random, short string (“ponies”) is simply so that I can later cross-check that a message receiving spam actually went through a social networking site — I intend to catalog the invitation messages.

Thank you for your time. Keep in mind: the more, the merrier. I’ll make sure to report back on the outcome of this little experiment right here, so watch this space.

NP: Billy Joel: Cold Spring Harbor

09 February 2010 01:45

08 February 2010

Dave Airlie

whats in drm-radeon-testing?

I'll try and post these regularly when I make major additions/removals.

drm-radeon-testing is the cutting edge KMS radeon branch, it is going to be rebased and things will be added/removed as they are worked on by developers. So you can base patches on it but you should talk to the developer who owns the area first.

git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-radeon-testing

I've just pushed a rebased tree now with the following:

latest i2c algo + hw i2c engine code + all fixes squashed: This adds support for hw i2c engines found on radeons and
exposes them + sw i2c buses to userspace so i2c tools can use them. (agd5f).

pll algorithm reworking + quirks: cleans up the code to allow for the selection of the old pll algorithm on some hardware. (agd5f)

pm support so far: Adds all the current PM patches - just does engine reclocking so far using the power tables from the BIOS. (Zajec/agd5f)

Evergreen (Radeon HD 5xxx) support: basic KMS support for the evergreen range of devices - no irqs or accel yet. (agd5f)

radeon unlocked ioctl support (airlied)

bad CS recording (glisse)

misc cleanups/fixes - Dell/Sun server support ported from userspace hopefully.

The tree did contain Jerome's r600 CS checker but I've dropped it for now at his request as he has newer patches
in testing.

08 February 2010 23:58

Brett Morgan

We love dah interwebs



Where else can you expect to see Neil Gaiman, Wil Wheaton, Cory Doctorow, Lawrence Lessig, Bruce Schneier, Jason Kottke, and a cast of thousands singing together? From Olga Nunes.

08 February 2010 20:47

Selena Deckelmann

Unlocking the clubhouse: cultural resistance and learning communities

I finished reading “Unlocking the clubhouse” on Saturday, finally. The book is only about 150 pages long, but it’s full of useful information about increasing participation of women in computer science.

The chapter that most stuck with me was chapter 6, “Persistence and Resistance: Staying in Computer Science.” I have said more than once, in a tongue-in-cheek way, that Code-n-Splode’s mantra for men who think that we should not have the “dude token” policy should be: “It’s just not about you.”

My feeling is that establishing a culture where female voices dominate, rather than are assimilated in, creates a social environment that’s fundamentally different. And that that difference is *good*. I wouldn’t say that the book totally supports that notion, but it points out situations where women found peer groups that did not conform to a male hacker stereotype, and that foundation of social support helped them stay in their course of study.

The students referred to in the paragraph are undergraduates at Carnegie Mellon University:

Women who accept the prevailing culture as the norm and who continuously compare themselves to this norm and find themselves coming up short are the ones who suffer the most.

The majority of women struggle to find a place where they can feel comfortable in the prevailing culture…

Ironically, it is in this area of relationship to culture that international women may have an edge. The international women do not as readily use the U.S. male hacker as their reference group. Since they are not fully part of this culture, their reference group is elsewhere. Many international students have alternative success norms and social bonds that protect them. Other priorities are dominant, and with these come other scales for self-evaluation.

So, rather than bringing their cultural norms to the hacker culture and modifying it, the international women have their own social structures which exist outside of the dominant culture. “Cultural resistance” was the title for this section, and it’s a great way of characterizing the lack of assimilation.

I have more than a few times heard women-specific groups discouraged because of they emphasize differences that the dominant culture feels should be unimportant. I’m interested in further research that discusses the effects of splinter groups, particularly when they are created for women.

The second interesting topic in this chapter concerned learning communities.

Former University of California calculus professor Uri Treisman (1992) believes that a supportive learning community is critically important for the success of minority students in math and science.

The story went on to describe Professor Treisman’s observation that Asian students tended to socialize *and* study in supportive groups, which tended to help students stick with the courses and get better grades. He established similar groups for Hispanic and African American students, and found across several universities and colleges that these groups helped retention. Our observations and the resulting user group for women mirrors that Professor’s experience.

There’s a special connection created when you live and engage with material in a supportive learning community. They take time to create, and are a bit harder to maintain outside of an academic context (where life, work and diverging interests can be a bit more challenging to coordinate).

Code-n-splode has been fairly quiet about its successes, but I think now is the time for us to start talking a bit more about how well the group has succeeded.

Photo courtesy of DrPantzo under a Creative Commons License.

Related posts:

  1. Women in Open Source: a focus group in March
  2. Women Who Code – where are they?
  3. What’s changed? Portland as an example of increasing women’s participation.

by selena at 08 February 2010 15:57

Clinton Roy

clintonroy


Ignite talks are five minute lightning talks hosted by popular technology publishers O’Reilly. Brisbane’s first Ignite night is coming up in March and I’m giving a talk on Open Source.

I see this as an excellent opportunity to advertise all the different open source groups in Brisbane, as well as our premier upcoming event, Linux.Conf.Au 2011.

My talk is based on the all the reasons everyone should know and like the open source ideals. It’ll be based on the keynotes at this years lca. I’ve got time for twenty slides, I’m thinking one slide with the logos of all the different open source groups in Brisbane, and one slide for lca.

If you’ve got ideas for one of the slides, or an open source group based in Brisbane, please mail me the details.

Filed under: oss

by clintonroy at 08 February 2010 03:55

Tabitha Roder

Unitec Marae

This morning I had the extreme pleasure of being part of a powhiri at the Unitec marae to launch the elearning strategy and welcome special guests to Unitec. A very special experience for all involved, we were treated to an insight into the whare building process and the stories contained in the carvings.

There is information about the marae project here.  I would post a picture but I am not sure of permissions, so I suggest you look at the webpage and visit if you can. This is a very unique marae and the master carver (Lyonel Grant) was recognised for this building with a NZ culture award.

08 February 2010 02:33

07 February 2010

LCA2010 News

LCA2010 raises over $33,000 in support of Life Flight Trust!

WELLINGTON, New Zealand – Monday 8 February 2010 – linux.conf.au 2010 is over, but the generosity of its delegates will leave a lasting impression on the Life Flight Trust.

During the conference closing dinner at the Wellington Town Hall, attendees bid to win a unique opportunity to join an action-packed Westpac Rescue Helicopter winch training mission. All bids were donations to Life Flight.

Delegates could donate online with their laptops and results were displayed in real-time on an open source application created by Andrew Caudwell of Catalyst IT.

At the end of the evening a $12,750 donation from Linux Australia brought the total funds raised to more than $33,000.

Life Flight CEO David Irving said, “Free open source software is founded on generosity and these supporters have certainly taken that value to heart.

“The funds raised will enable 13 people to receive emergency flights, which is a great outcome for the community.”

linux.conf.au bring together the global community of Linux enthusiasts who contribute to the operating system and the vast array of free and open source software that is transforming information technology around the world.

Life Flight Trust provides a national air ambulance service and the Wellington Westpac Rescue Helicopter. Life Flight Trust is a registered charity that relies on community donations to keep flying. For further information or to help save lives visit http://www.lifeflight.org.nz.

To donate to Life Flight Trust, please visit: http://www.fundraiseonline.co.nz/LCA2010/.

About linux.conf.au

linux.conf.au is one of the world's best conferences for free and open source software! The coming linux.conf.au, LCA2010, will be held at the Wellington Convention Centre in Wellington, New Zealand from Monday 18 January to Saturday 23 January 2010. LCA2010 is fun, informal and seriously technical, bringing together Free and Open Source developers, users and community champions from around the world. LCA2010 is the second time linux.conf.au has been held in New Zealand, with the first being Dunedin in 2006.

For more information see: http://www.lca2010.org.nz/

About Linux Australia

Linux Australia is the peak body for Linux User Groups (LUGs) around Australia, and as such represents approximately 5000 Australian Linux users and developers. Linux Australia facilitates the organisation of this international Free Software conference in a different Australasian city each year.

For more information see: http://www.linux.org.au/

Emperor Penguin Sponsors

LCA2010 is proud to acknowledge the support of our Emperor Penguin Sponsors, InternetNZ, Google, HP and IBM.

For more information about InternetNZ, see: http://www.internetnz.org.nz/

For more information about Google, see: http://www.google.com/

For more information about HP, see: http://www.hp.com/

For more information about IBM, see: http://www.ibm.com/

07 February 2010 23:41

Lana Brindley

LinuxCon - Boston - August 10-12 2010

I've just put in my application to speak at LinuxCon in Boston in August. Their speaker lineup is pretty impressive, so it would be an incredible honour to be selected. For posterity, here is the abstract I've submitted: This talk is a look into why documentation is so important to open source projects. It explains how to create documentation that will empower your users, guide them through

by noreply@blogger.com (Loquacity) at 07 February 2010 23:37

Brett Morgan

domesticmouse @ 2010-02-08T09:27:00

Discovery News: This Car Runs on Code

An estimate that premium-class automobile's contain close to 100 million lines of software code, running on up to 100 embedded controllers. And they guesstimate that this will grow to 300 million LOC.

This is insane.

07 February 2010 22:27

Martin Krafft

Optimise Google

I had previously sought alternative, innovative search engines, but none of the proposed options made me particularly happy. About a year ago, I came across DuckDuckGo, and today, I’ve been using DDG as my primary search provider for exactly 10 months.

The reasons why I switched included

  • my dislike of the Google information monopoly and the potential that a single, corporate entity with financial interests, gets to censor the information I see. I am sceptical of their “Do-no-evil” promise because there’s nothing binding about it, and if it gets in the way of money-making, I am sure it’ll be discarded at a whim — if it even still exists.

  • the awareness that my usage augments their database (although I am probably too far away from mainstream to provide useful data), which translates into more funds available to them to further strengthen their market position.

  • my belief that the days of index-based searches are over, given how 95% (or more) of user-generated content is bogus. Google undoubtedly optimises the results with obscure, secret algorithms, but that’s just not enough for me.

  • Of course the name — DuckDuckGo — was perhaps the strongest reason to switch. :)

I am aware that DuckDuckGo is index-based itself, using the Yahoo API, which, in turns means that DuckDuckGo may already be using Bing data. Sounds a bit like out of the frying pan into the fire, unfortunately.

I am still investigating better search solutions, sticking with DuckDuckGo meanwhile.

Unfortunately, DuckDuckGo doesn’t quite cut the mustard at all times, forcing me to go to Google instead. For this reason I am glad to find that the CustomizeGoogle Firefox extension has not been discontinued, but simply renamed to OptimizeGoogle.

This extension allows me to anonymise my identity towards Google, remove click tracking (which Google doesn’t want you to know about and hence hide with JavaScript), hide ads, and customise a slew of other aspects of the giant’s search engine. It alleviates some of the aforementioned concerns, but not all.

Maybe it’s time to rethink the way I use the web and lower my search needs.

If you are using Firefox, try it out! If you’re still using Internet Exploder, you should not, and instead upgrade to Firefox. Users of other browsers might find similar functionality for their application, or might want to switch as well.

NP: Tunng: Comments from the Inner Chorus

07 February 2010 21:51

Robert O'Callahan

Reality Wins

On Friday night our family stayed with my parents on a boat up at Mahurangi, in Lagoon Bay. Easterlies had been blowing steadily for a few weeks and probably pushed a lot of plankton inshore, which helps explain what we saw that night.

About 10pm, after most of the crew had gone to bed and it was very dark, I noticed unusual flashes of light in the water. It was obviously bioluminescence caused by plankton, but far more intense than I've ever seen before. Even in still water, there were tiny points of light winking like flickering stars. Anywhere water was disturbed, it glowed brightly. Fish jumped, and the ripples formed bright, expanding halos. You could see moving, oscillating, sinuous lights underwater that I presume were fish swimming. I hopped in the dinghy with my wife and rowed around. The splashes of the oars created amazing flashes and patterns of light, and the dingy left a glowing wake. My wife dipped her hand in the water and it came out luminous.

It was an utterly remarkable experience --- like the bioluminescent forests of Avatar, but with the considerable advantage of being real. (Sorry, no photo --- the lights were only bright relative to the darkness of the night, and I lacked the technology and skill to capture them.)

07 February 2010 20:25

06 February 2010

Travis Reitter

LCA 2010 - Day 3

Day 1 | Day 2

Andrew Tridgell - FOSS and Patents

This informative talk went into a bit of detail on the current situation with (software) patents and some best practices for open source projects who want to avoid litigation. First, if you do get contacted by a company who claims your project violates one of their patents, contact public defenders, such as the Software Freedom Law Center or Electronic Frontier Foundation. In general, it's useful to know how to read patents, such as reading the abstract (but not stopping there, since they can often be misleading), then skipping ahead to the individual claims (which are the core of the patent), and then referring back to the diagrams, definitions, etc. as necessary.

And important point is that the "prior art" defense that so many people like to cite is actually very hard to win. This requires that the prior art covers every single claim in the patent. Instead, a "non-infringement" defense only requires that your work not (exactly) match every independent claim in the patent. There tend to be far more dependent claims than independent claims, so this defense tends to be easier to win.

An interesting point Andrew brought up was that he doesn't think it's to our advantage to avoid reading patents. His point is that even single damages (in the case that you unknowingly infringe a patent) is enough to end an open source project, so if you are forced to pay triple damages (in case you are aware of the patent), that doesn't change the end result. I unfortunately didn't have time to ask him this: wouldn't it matter to the author themselves whether they have to pay $LARGE_SUM_OF_MONEY or 3*$LARGE_SUM_OF_MONEY out of their own pocket? In either case, it's an ugly situation that you can be punished for being more knowledgeable.

Finally, Andrew suggested this strategy for open source projects to make themselves worse targets for patent suits (which is really all that matters): find and widely publicize work-arounds to patents. Closed-source companies are unlikely to do so, since a work-around could be a business advantage over another competitor who might otherwise be forced to license the patent. That way, we'll appear (and effectively be) a lot more work for patent owners to troll. That way, we can build up a reputation for not being worth the hassle. A great thing to aspire to.

20100123_007.jpg

Paul Mackerras -- Perf Events (in the kernel)

A replacement for perf counters, perf events provide kernel probes and simple API to perform fine-grained performance benchmarking on a Linux system. Whenever possible, perf events use hardware to get the most-precise data possible. There's a reasonable software-only fallback based on the high-resolution system clock (which most systems support at this point).

The API is essentially just one system call (which returns a file descriptor) and specific content behavior from that virtual file. Everything else is read(), close(), etc.

Events can be per task, per CPU, and, recently added, per-task-per-CPU. Per-task tracking can be recursive (forked processes get a copy of the parent counter struct and its final values are added to the parent upon exiting or explicitly synchronizing).

Perf events can trace cache (including TLB) activity, page faults, context switches, CPU migrations, and data alignment and instruction emulation traps.

Useful benchmarking always starts with good tools, and it sounds like we're finally getting a great tool with perf events!

Rusty Russell -- FOSS Fun with a Wiimote

Rusty detailed his geeky plans for making sure his daughter grows up to be a geek. These mainly involve writing some software to (ideally) translate her hand movements to actions on their TV. The idea was to help her establish causality at an early age, I think.

Anyway, I can't really do it justice in writing. You'll have to wait until the video is posted to see for yourself.

20100118_107.jpg

Carl Worth -- Making the GPU do its job

After giving a brief history of computer graphics an GPU development, Carl explained how hardware graphics support has sort of oscillated between discrete and integrated (into the CPU) hardware. (I wasn't aware that we'd already made the integrated → discrete → integrated cycle once before our current (in some contexts) migration back to integrated graphics).

The main problem with graphics in Linux right now is that we often have bad performance (which also means bad power consumption) and we need two drivers per video card (family, at least) -- one for 2D and one for 3D.

In order to figure out our bottlenecks, Carl created cairo-trace to measure the actual performance. This nifty program records the timing of cairo API calls for any program running under it. These traces can be played back through cairo at any time (at maximum speed), to continually improve performance for real-world uses of Cairo. I'm not sure if it's already in place, but these could easily be added to the (from what I hear, very good) automated cairo test suite, to avoid releasing regressions. If only more open source projects took testing and performance this seriously!

As it turns out, the current performance in most cases was actually better in pure software than in cairo-xlib (the latest stable backend for cairo).

An experimental GPU-accelerated backend (cairo-drm), in which Cairo bypasses X and uses GEM to render directly in the kernel, improves performance dramatically (10x speedup for Firefox). But the caveat is that it requires yet another driver per video card (bringing us to 3 total, for those of you keeping track at home).

Another approach, cairo-gl, which has Cairo bypass X to render to MESA, requires only 2 drivers total and should eventually have performance closer to that of cairo-drm. But for the moment, its performance is much worse than cairo-xlib.

Robert O'Callahan -- Open video on the web

Video on the web right now has two major players: Flash and Silverlight. (Maybe I just took ambiguous notes, but it's obvious that Silverlight is nowhere near Flash in terms of marketshare).

Beyond the obvious problem of software freedom, Flash is notoriously unstable (apparently a huge percentage of crashes of OS X are directly Flash's fault). Mozilla has decided that it's time to do something to push open media formats, to ensure this important (and growing) chunk of the Web retains the openness that has made the rest of it so popular and useful.

Some questions about the open formats:
  • Should we ignore patents?
  • This is only feasible while open formats are irrelevant, which isn't a great strategy.
  • Wait for the patents to expire?
  • They'll just be replaced with the next closed format.
  • Just pay the licensing fees?
  • Using a codec means you need to license it for your market size and per viewing (according to MPEGLA's fee structure), which is impossible for most websites serving content and for Mozilla to pay for distributing Firefox.

Another issue: video is not just about YouTube (passive watching). Flash adds interactivity (related videos, captioning, relevant ads, etc.), so we'll need an open counterpart to this as well.

Mozilla's solution for open video is Ogg Theora, which has had nice advances lately. GStreamer developer David Schleef got decent performance on OMAP3's DSP (in the N900 and other embedded devices) for Theora. The Ogg Index project adds indexing to the Ogg (container format?) to fix stream seeking over the web (which is frequently unusable without an index).

Mozilla has been shipping Theora support in Firefox 3.5+, since it doesn't want to pay, can't pay, and shouldn't pay for licensing codecs. If suddenly software patents were invalid, it'd be fine to just standardize on h.264, but that probably won't happen.

A big part of the chicken-and-egg push for open formats requires working with content providers and distribution networks. So Mozilla has gotten Dailymotion, the Internet Archive, and other websites to support Ogg Vorbis and Theora.

The other half is getting the browser to support the formats. Firefox 3.5+ can handle a Theora <video> tag; Chrome ships Theora (and H.264) support; Opera will ship Theora only. In FireFox 3.6, we'll get fullscreen Theora. Also in the pipeline is GPU-accelerated playback and Mobile/Maemo optimizations.

Partial successes in this push to open video include Vimeo and YouTube planning to support HTML 5's <video> tag on their sites (though they'll only be using the non-free H.264 codec).

So open media formats are slowly advancing on the web. We're basically at the point where most web standards are friendly to free software; if Gecko and (or) WebKit can't implement it, people don't propose it as a standard.

20100121_003.jpg

06 February 2010 21:15

Tim Connors

Warning: scenery above, next 4200km. Please to be looking only at the road

I sense this is going to be the year of the great long holiday. I doubt much more of it will be done under the pretense of going to a conference first. LCA2010 as usual was a great chance to catch up with all the cool people.

Last week, I was doing this kind of thing. There were more than one moment when I did what the rider was doing in this video, only to have an oh-shit moment as I came to the realisation that I was looking at the scenery and not at the rapidly approaching corner.

Ross Noble agrees with me in "Ross Noble's Australia Trip" that the best way to see a country is on a motorcycle, and it turns out that the best country to tour around is New Zealand, so seriously people, the best possible thing you can do at this point in time is to drop everything you are doing right now, get a motorcycle license and head right on over to the South Island.

I hired a small F650 single pot (ie, the real 650, not the 800 that has had its name downgraded; what marketing genius thought of that?) Beamer from Nelson for about $160NZ/day.

Marlborough Sounds Haast Highway

My very first day of riding was to set the scene. I rode up to the very end of the twisty passages of land in the Marlborough Sounds:

View Larger Map

Naturally, the roads are like this:
Marlborough Sounds Marlborough Sounds
and the clouds are like this:
Mountain in low cloud
In fact, I don't know how google maps does its thing in the Land of the Great White Cloud.

Save a mountain today! Stop local cooling!



Fox and Franz Josef glaciers are advancing rather than retreating, and they're busy tearing the mountains down. Except that plate techtonics are building the mountains up faster than they're being worn down.

The glaciers are incredibly fast moving because of the amount of rainfall (pretty much all of which missed me while I was riding around. How can it rain 17 metres a year, and miss me for 10 days?). So the crevasses and tunnels come and go every day. This is what three of them looked like when we walked/crawled through them:

Fox Glacier Fox Glacier

Fox Glacier

Some of the moulins were big enough to fall down:

Fox Glacier

The water flowing through these plumbing systems turned out to be absolutely delicious. There are no impurities at all. I've never had water that tastes so much of nothing.

At Milford Sound, I didn't bother with the cruise. The ride was (presumably) more thrilling, and besides, you can't get stuck in the tourist trap all day.
Milford Sound Milford Sound
(I like how I managed to frame both of those identically, making one look like the tide has come flooding in with giant waves)

It was easy to pull over when the sights got too much:
Miriad cascades
(Not all times I ended up in the gutter were because a bloody Australian tourist in a 4WD behemoth towing a boat came flying around a blind bend entirely on the wrong side of the road)

Mt Cook was highly pleasant.
Aoraki/Mount Cook national park
It's fairly unusual to have glaciers descend down into subtropical rainforest.

But I'm glad I had someone looking out for me (I got this feeling many times on the bike. Almost made me want to turn religious, and start worshiping the myriad of sheep around). I got back to the bike after many hours of walking, and discovered I didn't have my keys. My worst fear was that they had dropped out of my pocket when I was trying to retrieve my camera, while I was on a suspension bridge over a raging torrent. So I headed back to retrace all of my steps, fearing this would also take hours. But some kind person had left them at the registration book, which I found 2 minutes after I started walking.

Along the plateau heading back east from Mt Cook, I was almost blown off the bike several times. Turns out they measured 250km/h wind gusts near there once. After 100km of this, I have to admit I was getting rather tired of, and more than a little scared of being blown off the road/into oncoming campervans.

Anyway, as usual, the best photos are up here, and a lower cut are making their way towards my webserver at home.

Incidentally, when I was coming back, waiting for a replacement plane, I picked up Ian Plimer's book, "Heaven+Earth". I turned to a random page and read a random paragraph. He stated words to the effect that the temperature change has been 0.7+/-1.3 degC over a certain period, where the 1.3degC error is composed of several different errors of 0.5+/-0.4+/-0.3+/-0.1degC. As all of those with some basic statistics buried in their brains know, you don't add errors linearly like that. I get an error of +/-0.7 when I add the subcomponents in quadrature. I do hope the rest of the good Professor's science is less incompetant than that. I'd hate for his whole premise to be undermined.

06 February 2010 18:12

Dustin Kirkland

KSM Now Enabled in Ubuntu Lucid

I just uploaded a qemu-kvm package that enables KSM by default on Ubuntu Lucid.

KSM is a bacronym, for Kernel SamePage Merging. Previously KSM stood for Kernel Shared Memory. KSM is a new feature of KVM, which can provide more efficient memory utilization on virtualization hosts. Basically, the host kernel tracks identical pages in memory, and stores only one copy when possible. If you're running several basically identical virtual machines, then you will likely have some identical pages in memory.

Ubuntu inherited these features from upstream with the merge of the Linux 2.6.32 kernel and the qemu-kvm 0.12.2 package. Fedora 12 shipped with the KSM kernel pieces backported to their kernel.

You can disable KSM, if you like, by editing /etc/default/qemu-kvm and then restarting qemu-kvm with sudo restart qemu-kvm.

I did a bit of very rough testing of KSM in a test deployment of Ubuntu Enterprise Cloud. I had 1 Eucalyptus Node, a simple laptop, with a dual-core 2.4GHz and 4GB of memory. I registered a single Ubuntu 9.10 64-bit server image, and started instances with 256MB of memory apiece.

With KSM disabled:
  • Running 0 VMs, the Node's memory utilization was steady around 12%
  • Running 1 VM, the Node's memory utilization was steady around 18%
  • Running 14VMs, the Node's memory utilization spiked and stabilized at 88%
With KSM enabled:
  • Running 0 VMs, the Node's memory utilization was steady around 12%
  • Running 1 VM, the Node's memory utilization was steady around 18%
  • Running 14VMs, the Node's memory utilization was steady at 60%
    • with 18,000 - 20,000 pages shared
It looks to me that KSM "saved" me about 28% of my host's memory, which is a little over a gigabyte.

If you want to try out KSM on your Lucid host:
  1. Upgrade to the latest qemu-kvm package
  2. Make sure that /sys/kernel/mm/ksm/run is set to 1 (the qemu-kvm upstart job will do this for you now)
  3. Launch two Ubuntu LiveCD ISOs
    • testdrive -u ./lucid-desktop-amd64.iso
    • testdrive -u ./lucid-desktop-amd64.iso
  4. Once they're running, you can see how many pages are shared with
    • watch cat /sys/kernel/mm/ksm/pages_shared
Enjoy!
:-Dustin


by Dustin Kirkland (noreply@blogger.com) at 06 February 2010 11:39

Martin Krafft

Of waterfalls and communication culture

I got involved with open-source software before I learnt about software development in a university course. Naturally, when my profs tried to teach the waterfall model to me, I couldn’t take them too seriously back then. After all, requirements specification → design → implementation → verification → maintenance is not really in line with the principle to release early, release often. Furthermore, since water cannot flow uphill, the waterfall model fails to represent development cycles, as they naturally appear, even in behemoth, ancient software nightmares.

And yet, when embarking on a new project, I do tend to find myself first thinking about the big picture, instead of churning out the code. I am certainly not the best coder out there, and it might well be that I could benefit from learning to break down problems to get an earlier start on the implementation of components.

However, I maintain that avoiding the waterfalls and engaging directly in extreme programming, agile software development, or pair-based approaches right away is not the answer.

Rather, the best approach should probably involve a certain level of conceptualisation before code is produced. I am a big fan of test-driven development, and I like the scrum method for the very reason that it involves talking and challenging ideas (although I wouldn’t follow the method down to the book).

I like to think about trickles in the mountains where water droplets joyfully jump around.

* * *

When Glyn Moody spoke in his LCA2010 keynote about challenges we (as in society) face, and how open-source seems to have many answers, he dropped the following gem, which spoke right to my heart:

Twitter is the “release early, release often” principle applied to thinking.

By this simile, journal articles are produced according to the waterfall model. This may well be why they are usually outdated at the time of publication. Microblogging (like Twitter), on the other hand, is primarily used to publish stuff before it’s ready, and which would never be published otherwise.

With journals on one end, and microblogging on the other, I think the epiphany is found in between — as with software development: web logs — web applications that allow for easy publishing by anyone (which is a different problem not to be discussed here).

Since articles on those platforms usually have at least a title and a body, they require just a little bit more thought than 140 characters of contracted brain farts, spilled into the world faster than it takes one to stand up, stretch, and sit down again.

* * *

Microblogging seems to be in line with where we’re heading: more information, more self-promotion, more access to more people, and all that with lower barriers of entry. It’s hard to argue against a trend, but I think we’ve taken a wrong turn somewhere.

The one specific instance of content is no longer relevant, and there is no more time in the day to read elaborate treatments of subject matters. Instead, what seems to prevail is a constant flow. This flow threatens to replace actual thinking and discourse, both of which require reflection and time — a scarce resource used up by ever new, fast-flowing media.

It seems to me that those who immersed in this flow are unable to get out, as if sucked in by a maelstrom. I’ve seen people enter serious withdrawal within hours of not knowing what’s going on in the world. One could miss out on something.

If you’re “following” people on one of those microblogging platforms, I challenge you to spend the weekend offline and when the urge hits, ask yourself what you are actually missing. I mean what you are really missing, and by that I mean anything other than the cozy buzz and hum of entertainment washed upon you, preventing you from having to think about what you could be (actively) doing instead.

I hope it’s not a lot. For else, I fear that this means that future generations will be stuck with this communication culture, just like water droplets can’t ever play in the mountain trickle again.

NP: Sola Rosa: Get It Together

06 February 2010 06:53

Tabitha Roder

iMoot and Elluminate

Today I attended the iMoot conference. The conference website is a Moodle site and the conference is completely online.

I attended a session facilitated by Tomaz Lasic using Elluminate Live. (Elluminate were a sponsor - this software does require a license).

Tomaz ran a session: Using Forum - the Heart of Moodle

It was a well led session where he shared some slides, then used Elluminate indicator tool to see where participants were from, then voting buttons to see how familiar the participants of the session were with forums. He walked us around the his website and showed us some forum examples, then used the white board to get people to write answers to questions posed during the session. He is going to share everyones input after the sessions (he is repeating the session later in the conference). 

06 February 2010 05:33

05 February 2010

Pia Waugh

Dave Hall

Howto Setup a Private Package Repository with reprepro and nginx

As the number of servers I am responsible for grows, I have been trying to eliminate all non packaged software in production. Although ubuntu and Debian have massive software repositories, there are some things which just aren't available yet or are internal meta packages. Once the packages are built they need to be deployed to servers. The simplest way to do this is to run a private apt repository. There are a few options for building an apt repository, but the most popular and simplest seems to be reprepro. I used Sander Marechal and Lionel Porcheron's reprepro howtos as a basis for getting my repository up and running.

nginx is a lightweight http server (and reverse proxy). It performs very well serving static files, which is perfect for a package repository. I also wanted to minimise the memory footprint of the server, which made nginx appealing.

To install the packages we need, run the following command:

$ sudo apt-get install reprepro nginx 

Then it is time to configure reprepro. First we create our directory structure:

$ sudo mkdir -p /srv/reprepro/ubuntu/{conf,dists,incoming,indices,logs,pool,project,tmp}
$ cd /srv/reprepro/ubuntu/
$ sudo chown -R `whoami` . # changes the repository owner to the current user

Now we need to create some configuration files.

/srv/reprepro/ubuntu/conf/distributions

Origin: Your Name
Label: Your repository name
Codename: karmic
Architectures: i386 amd64 source
Components: main
Description: Description of repository you are creating
SignWith: YOUR-KEY-ID

/srv/reprepro/ubuntu/conf/options

ask-passphrase
basedir . 

If you have a package ready to load, add it using the following command:

$ reprepro includedeb karmic /path/to/my-package_0.1-1.deb \
# change /path/to/my-package_0.1-1.deb to the path to your package

Once reprepro is setup and you have some packages loaded, you need to make it so you can serve the files over http. I run an internal dns zone called "internal" and so the package server will be configured to respond to packages.internal. You may need to change the server_name value to match your own environment. Create a file called

/etc/nginx/sites-available/vhost-packages.conf

with the following content:

server {
  listen 80;
  server_name packages.internal;

  access_log /var/log/nginx/packages-error.log;
  error_log /var/log/nginx/packages-error.log;

  location / {
    root /srv/reprepro;
    index index.html;
  }

  location ~ /(.*)/conf {
    deny all;
  }

  location ~ /(.*)/db {
    deny all;
  }
}

Next we need to increase the server_names_hash_bucket_size. Create a file called

/etc/nginx/conf.d/server_names_hash_bucket_size.conf

which should just contain the following line:

server_names_hash_bucket_size 64;

Note: Many sites advocate sticking this value in the http section of the

/etc/nginx/nginx.conf config

file, but in Debian and Ubuntu

/etc/nginx/conf.d/*.conf

is included in the http section. I think my method is cleaner for upgrading and clearly delineates the stock and custom configuration.

To enable and activate the new virtual host run the following commands:

$ cd /etc/nginx/sites-enabled
$ sudo ln -s ../sites-available/packages.internal.conf .
$ sudo service nginx reload

You should get some output that looks like this

Reloading nginx configuration: the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
nginx.

Now you can add the new repository to your machines. I recommend creating a file called

/etc/apt/sources.list.d/packages.internal.list

and put the following line in the file:

deb http://packages.internal/ubuntu/ karmic main

To make the machine aware of the new repository and associated packages, simply run:

$ sudo apt-get update

That's it. Now you have a lightweight package repository with a lightweight webserver - perfect for running in a virtual machine. Depending on your setup you could probably get away with using 256Mb of RAM and a few gig of disk.

by Dave at 05 February 2010 21:53

Giuseppe Maxia

MySQL Developers Room at FOSDEM 2010


I'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting

I am in Brussels, waiting to attend FOSDEM 2010, one of the biggest open source gatherings in Europe, taking place this weekend in Brussels.
On Sunday, there is a Developers Room for MySQL and Friends, with 14 talks from open source professionals coming from Europe and North America.

The novelty of this round of talks is that thy will be 20 minutes long, rather than 1 hour. This will force all presenters to be more cautious about their timing, and to concentrate their talks on the essential. Even the experienced ones, who have given the same talk several times, will have to make an effort to come to the point in less time. The idea cam from reading Scott Berkun's book, Confessions of a public speaker, where he argues successfully on the usefulness of short lectures. It's going to be interesting!
The hosts of the Developers Room are Ronald Bradford and myself, but nothing of this could have happened without the excellent preparatory work done by Lenz Grimmer, who can't be here to enjoy the results of his organization, because he must stay home, waiting for his second child to come any moment. Thanks, Lenz, and good luck!
In addition to the DevRoom, I will have a lightning talk on an unusual (for my public speaking record) topic: Blaming the unknown: a positive approach to technology. If you happen to be around, come see it. It's fun, I promise you, and also informative, or so I hope.

by datacharmer (noreply@blogger.com) at 05 February 2010 15:54

04 February 2010

Vik Olliver

Webcam Monocle

Suz got me a wonderful Logitech webcam for Christmas. It plays nicely with Linux but it did not have adjustable focus and so was difficult to use in a benchtop setting. I attached the webcam to my swivel lamp so that it can be positioned anywhere on the bench and illuminated simultaneously if desired.



The focus was a problem for closeups, so I cut a pair of dollar-store +3 reading glasses in half and wrapped the earpiece around the back of the webcam. With a little encouragement it clips the lens over the flat part of the webcam's orb where the lens peeks out. Perfect.




As you can see from the photo, the focus fades out before my workshop does, but I can get in much closer to the masterpieces in progress on the bench.

Vik :v)

by noreply@blogger.com (Vik Olliver) at 04 February 2010 10:05

Stewart Smith

Anti-anti-features: region coding

DVD anti-features are rather well documented. The purpose of “region coding” was to make sure that everybody who ever visited a foreign country and picked up some DVDs while there would get home to find out that they wouldn’t work.

Luckily, those of us who pay good money for DVDs have free software solutions to let us used our payed for product and not force us to download “pirated” copies just so we can view what we payed for.

The region coding in DVDs was designed with the idea that DVD players would always be expensive. You could “change” which region your DVD player was in a set number of times before you could no longer change it.

DVD players can now be bought for $30 (or less). This is what you could pay for a DVD movie. So with economies of scale driving prices down, even if CSS wasn’t completely broken, you can brute force the region coding by just buying 6 DVD players ($180) – less than many of us payed for our first, second or third DVD player.

The same thing will happen with BluRay. You can now get BluRay players for a couple of hundred dollars. One for each of the regions (A, B and C) will cost you less than original BluRay players cost.

So the antifeature of limiting who can watch a DVD/BluRay release is easily broken as player costs come down.

by Stewart Smith at 04 February 2010 06:41

Dave Airlie

video of GPU switching

Here's a really badly shot video of GPU switching in action ;-0 - whiteouts are mostly be logging out and in ;-)

04 February 2010 02:16

Jelmer Vernooij

Linux.Conf.Au 2010 - Day 3 - Wednesday

I went to Jonathan Corbet's yearly update of the status of the Linux kernel. He talked about the various big changes that went into the kernel over the last year as well as the development processes. The Linux kernel is probably one of the largest open source projects, and very healthy - there are a lot of individuals and companies contributing to it. With this size
comes a few interesting challenges coping with the flow of changes into Linus' tree. Their current processes seem to deal with this quite well, and don't seem to need a lot of major changes at the moment.

His talk also included the obligatory list of features that landed in the last year. The only one that really matters to me is the Nouveau driver, which I'm looking forward to trying out.

The second talk I went to in the morning was Selena Deckelmann's overview of the Open Source database landscape. She mentioned there's new projects started daily, but it was still a bit disappointing not to see TDB up there.

After lunch Rob gave a talk about Subunit, introducing to the ideas behind the Subunit protocol as well as presenting an overview of the tools that are available for it and the projects that have Subunitized as of yet. It's exciting to see the Subunit universe slowly growing, I wasn't aware of some of the projects that are using it. The recently announced
testrepository also looks interesting, even though it is still very rudimentary at the moment.

In the evening Tridge, Rusty, Andrew, Jeremy,AJ and I participated in the hackoff as the "Samba Team".

The hackoff was a lot of fun, and consisted of 6 problems, each of which involved somehow decoding the data file for the problem and extracting a short token from it in one way or another, which was required to retrieve the next problem. We managed to solve 4 problems in the hour that the organizers had allocated, and ended first because we were a bit quicker in solving the 4th problem than the runner-ups. No doubt the fact that we were the largest team had something to do with this.

I hung out with some of the awesome Git and Github developers in the Malthouse in the evening, and talked about Dulwich, Bazaar and Launchpad ("No *really*, I am not aware of any plans to add Git support to Launchpad.").

by nospam@example.com (Jelmer Vernooij) at 04 February 2010 00:06

Dustin Kirkland

A Techie's Trek Across New Zealand


I had the opportunity to attend LCA2010 in Wellington, New Zealand in January of 2010. It was an amazing conference, in an awesome city. You can read all about it here.

But as soon as the conference was over, I struck out for the southern island to really get to know New Zealand.

My goal -- the Routeburn Trek -- one of the Five Great Walks of New Zealand, a 33km hike between the Mount Aspiring and Fiordland National Parks.

Readers who follow my blog know how much I like a good long walk, having written before about my treks through Scotland, Yosemite, and numerous other hikes I haven't yet written about (Grand Canyon, Big Bend, Interlaken, Cinque Terre, etc).

Leaving Wellington

I left Wellington late on Friday evening, flying Air New Zealand to Christchurch. I must say, my experience on 6 flights in 2 weeks on Air New Zealand was very impressive. These guys run an excellent operation. All of my flights were on time, no bags damaged or lost, and I was able to trivially bump my flights to earlier ones on 3 occasions, flying stand-by for no charges or extra fees (errm, Continental -- take some lessons). And their in flight safety video is genius!

I couldn't catch the direct Wellington -> Queenstown without missing some of the conference, so I had to stop over for a night in Christchurch. I didn't see any of Christchurch except the Sudima Hotel, but my even was not entirely uneventful. My bus driver noticed my Ubuntu baseball cap and proudly told me that he and his son run Kubuntu. And after checking in at the Sudima, I noticed that their internet Kiosks in the lobby were running Hardy ;-) So I watched an episode of Dexter and called it a night.



I took the first flight from Christchurch to Queenstown on Saturday morning, on a noisy little propeller aircraft. The flight was beautiful though, cruising just a bit over gorgeously carved mounts and fiords.

The landing was interesting, as we sort of spiraled down to the little Queenstown runway.

I took the bus to Queenstown's center, where I needed to checkin in person with New Zealand's Department of Conservation (DOC) office and retrieve my hiking and camping permits.

With that done, I needed to pick up a few groceries and provisions. I was traveling pretty minimally, without pots or pans, so I avoided foods I had to cook. Two containers of hummus, some tortillas, salami, granola bars, chex mix, and a small bottle of New Zealand single malt whiskey (10 year old Milford Sound). Unfortunately, the hypersensitive New Zealand biosecurity terror prevention force seized my Texas Jalapeno beef jerky when I passed through customs. Damn.


So then I hooked up with my transportation to the start of the Routeburn Trek, some 70km away from Queenstown. The drive was absolutely picturesque, driving along Lake Wakatipu for several hours.


I met a fun Canadian couple (Matt and Stephanie) on the bus, who had taken a 6 month sabbatical from work, spending the whole time hiking around New Zealand. Sounds like fun! We stopped in the tiny hamlet of Glenorchy for a few minutes, to pick up a few more hikers. The visitor center had a couple more kiosks running the same Ubuntu Hardy systems ;-)

And another half hour later, I was at the start of the Routeburn Trek for a bit of relaxation in the form of hiking twenty-something miles.


Now the end of the trek is a good 250km from Queenstown. Yeah, strange. But that's how it goes in the mountains.

The Plan
  • Day 1, Saturday, January 23, 2010
    • Start the hike at Routeburn Shelter around 2pm
    • Hike about 10km uphill past Routeburn Flats Hut
    • Spend the night at the Routeburn Falls Hut
  • Day 2, Sunday, January 24, 2010
    • Big day of hiking
    • Climb to the summit of Harris Saddle and Conical Hill
    • Traverse downhill past the Lake Mackenzie Hut
    • Spend the night at Lake Howden hike
    • Cover a goodly 20km+ of distance
  • Day 3, Monday, January 25, 2010
    • Finish the hike at the Divide Shelter
    • Catch my bus back to Queenstown at an early 10:15am
    • Done!
Hiking Day 1

Day 1 was almost entirely uphill. I prefer to start hikes like this (as oppose to hiking into canyons), as it's nice to do the uphill work on fresh legs, feet, and back. The weather was gorgeous on Saturday, sunny and clear. As the Kiwis say, the weather was 'fine'. I crossed several swing bridges (always brings me back to a playground as a kid, somehow).

Most of these span swift-moving streams.

Waterfalls appear near the trailing about every 15 or 20 minutes of walking, it seems.

About an hour into the walk, I started getting my first sweeping views of the mountainous landscape.

And another couple of hours later, I had arrived at Routeburn Flats.


Here, there's a shelter at the bottom of a "burn", specifically, Routeburn, the namesake of the trail.


I stopped for a bit, having a late lunch, brewing a tea in a borrowed pot, and filling (and treating) my water bottle from the stream. I also visited a bit and said my goodbyes to Matt and Stephanie, my mates from the bus ride from Queenstown.


Having rested my feet a bit, I started the much steeper climb up to Routeburn Falls Hut. I was in no rush, having plenty of daylight and time to reach the hut.


So I hiked comfortably, stopping to take lots of pictures, rewarded by some outstanding views of the burn below and the peaks above.


I arrived at Routeburn Falls Hut a few hours before sunset, and managed to watch the mountains glow in a clear twilight.


The views of the valley below, from the hut, were simply spectacular.


The evening's ranger talk was fun and interesting, hearing a bit about the history of the trail and the wildlife. Our ranger left us with a challenge for the evening, which I found quite interesting! There was a huge canvas on one of the walls with "Welcome to Routeburn Falls, Merry Christmas) written in 30 languages. He offered a huge bar of chocolate to the first person or team to identify 25 of those languages correctly!

Well, I had dinner with a young couple named Gary and Kylie, and Gary's mom -- all locals from New Zealand's southern island. And managed to team up with another couple (Nico from Italy and Rochel from Australia) for the language challenge. What a fun way to spend the evening! We managed to get 22 answers correct. Unfortunately, we mixed up Chinese/Japanese, and Norwegian/Swedish. We did manage to get a ton of them right, though. I recall having identified at least French, German, Dutch, Celtic, Spanish, Catylan, Italian, Romanian, Russian, Maori, Danish, Hebrew, Arabic, Korean. I know that we missed at least Slovenian, Ukranian, Punjabi. In any case, we didn't win the chocolate. But I did learn to play a card game called 500 (similar to Euchre, 42, Hearts, or Spades). Eventually, I called it a night, and turned in to my bunk.

Hiking Day 2

I didn't get a particularly good night of sleep, as it rained quite a bit. I had every intention of starting my hike by 7am, but it was raining pretty hard. I pulled my sleeping bag over my head and tried to get a few more ZZZs. By 8am, I realized that the rain wasn't necessarily going to pass, and I had a solid 20km to cover. Time to don the rain gear. But first, coffee!


So I started out a bit after 8:15am on Sunday morning. The hut was absolutely packed the previous night, with a huge group of 27 hikers in a commercial outfit. Unfortunately, the trail was rather packed with some 35+ hikers trying to cover the next few miles uphill at basically the same time. There was a lot of passing and being passed, on very narrow, very steep trails. Oh, and it was raining. Only occasionally a driving rain. But more regularly a misty, soaking rain. It was an uphill climb, gaining over 2000 feet of altitude, basically hiking into a wet cloud!



Wet, crowded, cold, uphill hiking -- not exactly ideal conditions. But all that changed once I passed over 4000 feet, and stood above the rain clouds.


The skies were clear, and the views of Lake Harris were simply spectacular.


I took a few hundred pictures in the next hour, of Lake Harris and the dozens of snow covered peaks in every direction. The rain ceased, and I was able to peel off my rain gear and start drying off, now that I was basically above the clouds.


Near the top of the saddle is another hut. Members of the big group were trickling into the hut where their organizers were boiling water for tea and hot chocolate.


At the Harris Saddle Shelter, I decided to drop my pack for a bit...

And spent the next 1-2 hours hiking to the summit of Conical Hill, where last night's ranger promised breathtaking views.



About half way up, the views of Lake Harris were even more incredible.


But once I got to the top, it was totally enshrouded in cloud. I literally couldn't see anything.

I hung around for a good 15-30 minutes, waiting for the clouds to break, and they finally did, partially, and only for a few seconds. I could see a vast mountain range of gorgeous, snow capped peaks in the distance!


I could watch as clouds climbed over mountains and a seemingly accelerated pace. It was very beautiful. I have some nice video clips, too.


Eventually, I made my way back down Conical Hill, grabbed my pack, and started a long traverse around the back side of the mountain. I took a few pictures, but unfortunately most of them were in a thick fog, an don't look very good.

Eventually, I completed the traverse, rounding the side of the mountain, and was rewarded with views of Lake Mackenzie far, far below.


I could actually see the Lake Mackenzie Hut (my next stop) here, several miles away. But I was deceptively far away! It took nearly two hours to negotiate the steep, seemingly endless series of switchbacks down the hillside to the shores of the lake and the hut. My last 4 hours of hiking had been spent above the tree line, but now I was just making it back down below.


It's worth mentioning that New Zealand is the home to some 70+ species of fern, and the dense, lush rain forests are absolutely covered in them.



So the Lake MacKenzie Hut was a sight for sore legs. It was quite sunny and warm, and I was really happy to stop for a good hour or so.


I took a dip in icy (8C, 46F) Lake Mackenzie, and then hung around for a bit on the beach, drying off in the warm sun.


And after my nice respite, I set off for the end of my long day's hike. By this point, the skies had totally cleared, and the beautiful mountains of Fiordland National Park were in perfect view.


Mountain daisies covered both sides of the trail.


And I got totally sun burnt!


About half way to Lake Howden, I passed through the 174m (570 foot) Earland Falls.


And while it was certainly amazing from a distance, it looked like a scene from The Blue Lagoon up close.

And about an hour later (and 20km after I started my journey earlier that morning), I finally arrived at Lake Howden Hut.


Finally, I could get some rest, and reflect on how far I had hiked that day!

This hut was far less crowded than the previous nights' accommodation. There were only a few people, really. There was a really nice kid named Jonathan from Sydney (who, coincidentally had studied abroad at UT in Austin), traveling with his father who was an ultra-marathoner. But I really got a kick out of Carl, his sister Megan, and his girlfriend Sam, who were a lot of fun to chat with as the evening slipped away.

So I munched on my dinner, finished my whisky, and got an excellent night's sleep.

Hiking Day 3

I woke early the next morning, as I had to finish my hike and board a bus by a whopping 10:15am!

The fog rolled slowly over Lake Howden that morning.

The beginning of the morning's hike was actually quite steep! But once I made it to the crest, I could see all of the valley below, all the way down the burn, to mountains many, many miles in the distance.

After a few more waterfalls, and a nice traipse down a fern-filled trail, I had completed the Routeburn Trek!


I hung around the Divide Shelter for the next hour or so, awaiting my bus.

Near the shelter, I found some really interesting purple flowers...

With some strange patterns inside. They look like something from Avatar :-) Can anyone help me identify this plant?


And alas, my bus arrived, perfectly on time. I dozed off for a bit of the 5 hour drive back to Queenstown, but I can guarantee that the scenery was spectacular. I was just exhausted!

Queenstown

To close the trip, I had one relaxing day and night in Queenstown, where I stayed at the rather fancy Nomads Hostel. This place is in a totally different league from the hostels I stayed at nearly 10 years ago backpacking around Europe in 2001. The town is right on Lake Wakatipu, with a nice, clean beach.

I actually watched the end of the NFL playoff game where Drew Brees and the New Orleans Saints beat Brett Favre and the Minnesota Vikings in overtime in a rocking Superdome. Who dat!

After I finished my fish-n-chips and a Guinness, I took a very cold dip in the lake, brrr!

I wandered around Queenstown for a bit, buying a few souvenirs, enjoying an ice cream, and passed back by the beach around sunset.

I finished my trip with a blind pub crawl organized by the Nomads Hostel, which was surprisingly fun! And that's about it. What a trip! I hope you enjoyed my narrative and pictures. I certainly enjoyed recapping it.

Kia ora,
:-Dustin


by Dustin Kirkland (noreply@blogger.com) at 04 February 2010 00:54