Monday, September 07, 2009

setting up an Ubuntu chroot for development testing using schroot and debootstrap

If you have, for instance, an Ubuntu machine running Jaunty and you want to test a bug that only occurs under Karmic, you can use a chroot jail. This is cheaper and faster than setting up a whole vm, assuming you're not interested in kernel-level differences and you can tolerate a bit less isolation.

1- sudo apt-get install debootstrap schroot

2- Use debootstrap to make a minimal install of karmic into a directory:

sudo mkdir /home/chroot

sudo debootstrap karmic /home/chroot/karmic http://mirror.internode.on.net/pub/ubuntu/ubuntu/

Supply the name of your nearest Ubuntu mirror as the last parameter.

3- Put something like this at the end of /etc/schroot/schroot.conf:


[karmic]
description=Ubuntu 9.10 Karmic Koala
users=mbp
root-users=mbp
location=/home/chroot/karmic
type=directory
run-setup-scripts=true
run-exec-scripts=true


4- Voila:

schroot -c karmic

should give you a shell, running as yourself, in the karmic environment. schroot with these settings automatically arranges for your home directory to be shared, so you can get at the same source code from both places. (See /etc/schroot/mount-defaults.)

You won't, by default, have sudo access in that chroot, so you can either edit /home/chroot/karmic/etc/sudoers to allow it, or you can run commands like this from outside of the jail:

schroot -c karmic -u root apt-get install zlib1g-dev

To avoid confusion I like to show the OS version in my zsh prompt, with a line like this in my ~/.zshrc:


RPS1='%B%~ ('"`lsb_release -cs`"')%b'

Thursday, July 23, 2009

Launchpad community patches

Publishing Launchpad's code = great.

Substantial community patches sent and reviewed within the first week = awesome.

Way to go wgrant!

The fact that the first one was for a bug that affects me is particularly nice.

Tuesday, July 21, 2009

Impressions of the HTC Magic Android phone

I got an Android-based HTC Magic phone from Vodafone Australia. It's very good, and a great achievement that this is all possible with free software.

It's a very nice platform for Linux-based users: it appears as a USB storage device, so you can copy photos, music and videos to and from the phone without needing any special software - in fact, it doesn't even come with any proprietary Windows software, as most other phones do. Assuming you're happy to already use GMail and other apps, it will transparently sync across the network, and this should be reasonably cheap if you have a wifi network.

The UI is all you'd want: fast and responsive (notably more so than some recent Nokia phones), attractive and innovative in for example the way notifications are displayed. There's a distinct feeling of what apps should be and act like.

The on-screen keyboard is quite usable, because it has quite smart suggestion and correction. I think it's roughly as easy as a hardware phone keyboard. (Though I've owned a Blackberry, and they may be better.)

I have seen some application crashes, but only rarely. The whole phone has not yet crashed on me, and I've seen no sign that it degrades with use.

The voice quality is very good. I have hit some situations where the quietest phone volume is too loud to hold to my ear, or the loudest available music volume is quieter than the phone volume. (Possibly because the track was recorded at low volume, but it would still be nice if it could scale it up.)

The camera is not great, but what do you expect from something smaller than a pea. The photos are reasonably crisp. (That one was tweaked a bit in gimp.)

There are a few useful UI shortcuts, not mentioned in the manual: pressing and holding Home brings up a quick-switcher of the most recent six applications, and pressing and holding Menu brings up the on-screen keyboard, even if there's no text field visible. You can use this in the Contacts app to do an incremental search through the contact lists.

Monday, May 18, 2009

soap-opera bugs

Elliot wrote something interesting about dealing with contentious bugs: in this case, whether the new Canonical service UbuntuOne is a unfair and/or confusing use of the "Ubuntu" name. (The particular issue is being thrashed extensively so I'd rather talk about the meta-issue of bug trackers.)

Ubuntu and other free software projects are going to get some things that look like bugs but that are much emotionally hotter than regular bugs: typically though not always here the disagreement is higher up the stack towards a question of architecture, goals or politics than just how to fix the bug. Ubuntu Bug 1 is a similar case, though here the problems arise more from enthusiasm than disagreement. (In the case of bug 1 you can see that Launchpad currently allows for more failures than just many comments: two screens full of BugTasks asking for it to be fixed in random places.)

These things show patterns of: excessive numbers of comments, tug-of-war over the bug status, people piling on to show their support for the issue rather than to add new information, ... As Elliot says:

It's frustrating that as one of the project leaders I don't seem to be given the respect or right to close a bug on my own project. For example, I respect Bradley very much and am not remarking at all on the content of his comment (he certainly speaks from an informed perspective and it would be foolish to ignore his input), I don't think he should override my decision to close the bug. [...]

I understand that it's healthy and good for people to offer comments and criticism on the stated roadmap of the project, or disagree about whether we should take action on any bug, design decision, etc. [...]

But, I want to use the bug tracker to track ongoing/pending work in the Ubuntu One project, not as the place where debates happen over whether Canonical is doing the right thing. If people want to write commentary on big picture strategy, it would be much more appropriate in a blog, not in bug reports.

What can be done?

I think ultimately this is a social problem and technical solutions are limited. For example we could technically lock this bug, but that might just redirect people into opening new dupes.

Perhaps Elliot is doing the best that's possible in saying that he's willing to have the conversation, he just doesn't want to have it right here.

There is a bug (heh) 73122: need strategy for stopping pandemonium in individual bug reports saying perhaps there should be a way to lock down bugs. Perhaps this is good, but it has to be done in a way that redirects the user energy somewhere else, rather than trying to bring it to a dead stop. When Wikipedia locks a page, they suggest discussing the lock on the talk page or similar.

higher velocity in losing your luggage

I'm in Terrassa, Spain, for the Canonical allhands meeting before UDS Karmic.

I brought my motorcycle helmet with me as special-handling checked luggage, for a ride around here next weekend. I think it missed the connection in London, but it showed up today apparently unharmed so all is well.

But as it happens I read a great Malcolm Gladwell essay which mentions this topic in passing — a real example of how we can take stupid inefficient processes for granted when they've existed for a long time:
Ranadivé [founder of TIBCO] views this move from batch to real time as a sort of holy mission. The shift, to his mind, is one of kind, not just of degree. “We’ve been working with some airlines,” he said. “You know, when you get on a plane and your bag doesn’t, they actually know right away that it’s not there. But no one tells you, and a big part of that is that they don’t have all their information in one place. There are passenger systems that know where the passenger is. There are aircraft and maintenance systems that track where the plane is and what kind of shape it’s in. Then, there are baggage systems and ticketing systems—and they’re all separate. So you land, you wait at the baggage terminal, and it doesn’t show up.” Everything bad that happens in that scenario, Ranadivé maintains, happens because of the lag between the event (the luggage doesn’t make it onto the plane) and the response (the airline tells you that your luggage didn’t make the plane). The lag is why you’re angry. The lag is why you had to wait, fruitlessly, at baggage claim. The lag is why you vow never to fly that airline again. Put all the databases together, and there’s no lag. “What we can do is send you a text message the moment we know your bag didn’t make it,” Ranadivé said, “telling you we’ll ship it to your house.”

It would be nice if the steward could come up during the flight, tell me my bag hadn't made it, and then ask for my hotel details to deliver it. It would have saved most of an hour waiting at the airport. (And if you count all the passengers waiting in line with their travel companions, several person-days just for that one flight...)

Canonical somehands in Barcelona

I'm at the beautiful La Mola hotel outside of Barcelona for the Canonical SomeHands management meeting. After this we're having AllHands for the rest of this week, then UDS Karmic and the associated Bazaar sprint. (Not that far outside, only about 40km, but apparently far enough that almost everyone's taxi from the airport has got thoroughly lost.)

The place looks a lot like the campus of a software company: modern glass and concrete buildings in rolling grassy hills, and it's great to be here with these people.

So far, so good: a "view from 330,000 feet" from Mark, an interesting examination of why people join Canonical and then stop blogging from Elliot, and a promising but as-yet inconclusive discussion about cross-team collaboration in a distributed company.

Tuesday, May 05, 2009

Ross Gittins on the Carbon Pollution Reduction Scheme conundrum

Ross Gittins explains why the draft Carbon Pollution Reduction Scheme legislation seems stuck: Labor doesn't have the votes in the Senate without either the Greens (who won't compromise), or the Liberals (who don't know what they want) or the Nationals ("agrarian populism").

Rudd's initial proposal was purpose-built to be irresistible to the Coalition. It adopted the lowest possible go-it-alone emissions reduction target - 5 per cent - and a pathetically low 15 per cent reduction in the event of an international agreement in Copenhagen in December.

It accommodated the demands of business lobby groups to an extent Rudd's own expert, Professor Ross Garnaut, found repugnant. ... Rudd offered the Coalition a scheme little different to the one it took to the last election (both schemes having been designed by the same bureaucrats). What was Malcolm Turnbull's reaction? Nothing doing. He rejected it, contriving to claim it was simultaneously too weak and too tough.


Clive Hamilton in Crikey believes that Labor could force it through the Senate if they had the balls. I don't know. Maybe there is some brinksmanship here in the hope the Greens will at the last minute see high but realistic targets as a lesser evil, or that the power struggle in the Liberals will resolve.

The climate-skeptical position of the Nationals, though apparently firmly set, is bizarre to me, because their rural consistency may suffer more than anyone else from climate change. The few farmers I know personally are firmly convinced, because they have to adapt to changing temperatures and rainfall by destocking land or growing new crops.

Friday, May 01, 2009

Stephen Conroy's facile argument for the NBN

According to The Australian, Communications Minister Stephen Conroy says:

The national broadband network could significantly reduce Australia's carbon footprint and cut consumers' power bills. Consumers connected to "smart grids" via the $43 billion network will pay less for electricity through a more efficient use of power, also reducing the need for more power generators, he said.

What a silly statement, and sadly quite consistent with his slippery handling of the internet filtering fiasco.

Smart grids, where power consuming devices gain information about conditions through the network, have a useful role to play in improving energy efficiency. A plugin hybrid could preferentially recharge itself when power is coming from a wind source, and avoid recharging from peak-load gas turbines. (It's a shame about the multi-thousand-dollar tariffs on hybrid cars to protect foreign-owned Aussie V8 manufacturers, but never mind.)

However the connection to a new national broadband network is, as far as I can see, completely spurious. The end-user devices need to share only small amounts of data fairly infrequently, to basically tell them the current price of power. Prototype smart grids run as a sideband on the power line itself, and the data would be an unnoticeable addition to the common 1Mbps data connection. Upgrading to 20-100Mbps as proposed for the NBN is not going to help at all. Many things need to be done to deploy a smart grid but building a new broadband network is not one of them.

If Conroy's concerned about the environment he ought to consider the hefty power consumption of filtering all Australian internet traffic. He hasn't given a straight answer on just how much filtering he proposes to do, but the great-firewall-of-China style filtering he sometimes alludes to would mean hundreds or thousands of servers, therefore probably hundreds of kilowatts and tons of CO2.

Sunday, April 19, 2009

The Economic Consequences of the Peace

I read John Maynard Keynes's The Economic Consequences of the Peace on my flight to London. It was written in about 1920 and constitutes Keynes's criticism of the economic aspects of the Treaty of Versailles, which imposed demands for reparations from Germany so irrationally high that they would likely ruin not only Germany but all Europe.

I had learned of this issue of reparations in high school history, but had imagined the instability was caused by German resentment of the payments. In fact, the amounts were set so high that even after seizing much of Germany's shipping, railroads, and private citizen's assets there was still no prospect they could ever be paid off.

The book is very readable - clear, well argued on both moral and intellectual grounds, lively. It's quite tragic to contemplate how much suffering in the 20s, 30s, and 40s might have been avoided had his message been heard at the time. His essential point was that if Europe was to recover it must do so collectively, by imposing only moderate reparations and promoting trade and economic growth. He is scathing towards almost all the political leaders of the time.

On the other hand, von Mises wrote 'it is said that [the book] inaugurated the anti-French and pro-German tendencies of Great Britain's "appeasement" policy which virtually encouraged the rise of Nazism, permitted Hitler to defy the essential clauses of the Treaty of Versailles and finally resulted in the outbreak of the Second World War'. I don't know if this is fair, but I intend to read more. It does seem that Keynes forsaw that a treaty making physically impossible demands must fail one way or another.

On any day you can turn on the TV and see a Nazi documentary — in some places they seem to run continuously — but rarely much thoughtful explanation of how that situation arose.

What an extraordinary episode in the economic progress of man that age was which came to an end in August, 1914! The greater part of the population, it is true, worked hard and lived at a low standard of comfort, yet were, to all appearances, reasonably contented with this lot. But escape was possible, for any man of capacity or character at all exceeding the average, into the middle and upper classes, for whom life offered, at a low cost and with the least trouble, conveniences, comforts, and amenities beyond the compass of the richest and most powerful monarchs of other ages. The inhabitant of London could order by telephone, sipping his morning tea in bed, the various products of the whole earth, in such quantity as he might see fit, and reasonably expect their early delivery upon his doorstep; he could at the same moment and by the same means adventure his wealth in the natural resources and new enterprises of any quarter of the world, and share, without exertion or even trouble, in their prospective fruits and advantages; or be could decide to couple the security of his fortunes with the good faith of the townspeople of any substantial municipality in any continent that fancy or information might recommend. He could secure forthwith, if he wished it, cheap and comfortable means of transit to any country or climate without passport or other formality, could despatch his servant to the neighboring office of a bank for such supply of the precious metals as might seem convenient, and could then proceed abroad to foreign quarters, without knowledge of their religion, language, or customs, bearing coined wealth upon his person, and would consider himself greatly aggrieved and much surprised at the least interference. But, most important of all, he regarded this state of affairs as normal, certain, and permanent, except in the direction of further improvement, and any deviation from it as aberrant, scandalous, and avoidable. The projects and politics of militarism and imperialism, of racial and cultural rivalries, of monopolies, restrictions, and exclusion, which were to play the serpent to this paradise, were little more than the amusements of his daily newspaper, and appeared to exercise almost no influence at all on the ordinary course of social and economic life, the internationalization of which was nearly complete in practice.
....

Thus this remarkable system [before the War] depended for its growth on a double bluff or deception. On the one hand the laboring classes accepted from ignorance or powerlessness, or were compelled, persuaded, or cajoled by custom, convention, authority, and the well-established order of Society into accepting, a situation in which they could call their own very little of the cake that they and Nature and the capitalists were co-operating to produce. And on the other hand the capitalist classes were allowed to call the best part of the cake theirs and were theoretically free to consume it, on the tacit underlying condition that they consumed very little of it in practice. The duty of "saving" became nine-tenths of virtue and the growth of the cake the object of true religion. There grew round the non-consumption of the cake all those instincts of puritanism which in other ages has withdrawn itself from the world and has neglected the arts of production as well as those of enjoyment. And so the cake increased; but to what end was not clearly contemplated. Individuals would be exhorted not so much to abstain as to defer, and to cultivate the pleasures of security and anticipation. Saving was for old age or for your children; but this was only in theory,--the virtue of the cake was that it was never to be consumed, neither by you nor by your children after you.

Thursday, February 26, 2009

Project team blogs

I'm thinking about setting up a Bazaar group blog, separate from blog.sourcefrog.net. As of Friday the 27th, a site is up, in the sense that you can read it, but not yet announced (beyond this article). It's still a bit of an experiment.

Within one person's personal syndicated chronological publishing (ie "blogging", broadly), there are different strains. The tension towards those different strains may be one reason why people have tended to go quiet, or to feel a sudden agoraphobia at how widely their person thoughts are read or personal photos reproduced.

It's more subtle than a binary private/public switch, and a simple password or even openid is not enough. It's more than technical.

At the moment there's a proliferation of different web-based tools in use: twitter, identi.ca, facebook, flickr, personally-run blogs, dopplr, planets. It's not just that they're just technically imperfect that's causing the fragmentation (though repeatedly getting semi-spammed invites is tedious), but also that they provide genuinely different forums. There are some things that are not secret but personal and more appropriately shared with people you know; some that are personal opinions but that you're happy to share with anyone; some that are about projects like Bazaar that are personal but that are also bigger than just me.

A project team blog seems too to becoming one of the channels that people expect to have.

People tend to raise the question of whether this will just dilute the same amount of writing across multiple channels. It might, and there does seem to be a critical level of activity for a blog beyond which it's not alive. On the other hand, now that there's more syndication that level may be lower: infrequent posts will still pop up. But I also suspect that creating a place where a particular type of content feels really at home will create positive feedback.

For instance, Gary van der Merwe just made a nice improvement to the revision selector control in qbzr, using the layout originally invented by Scott for bzr-gtk. I like this, and I'd like to express that approbation in public but I don't want my sourcefrog blog mostly occupied by neat bzr features because I have other things to say.