Planet WUGLUG

July 23, 2008

Lamby

Caption competition

Answers on a postcard blog comment.

Bonus points for anything involving “Debian Cat”, or “Om nom Novell nom”, etc.

by Lamby at July 23, 2008 04:46 PM

Bucko

DDoS attacks - why do they work?

So, 4chan is under a massive DDoS attack right now, causing it to be completely inaccessible. This doesn't exactly bother me as I rarely use it. But it does bring me to wonder: How can such an attack persist?

DDoS attacks are a result of many small internetted machines sending large amounts of data to the target until it crumbles. This data presumably gets routed through a number of routers: The breached computer's ISP, their upstream, large hubs, the victim's upstream, the victim's ISP and finally the victim.

Obviously when this sort of thing happens there's a block at the recieving end, presumably as far up as they can go to save the costs of recieving all the spam. My question is why can't the blocks happen at the sending end?

DDoS attacks must be readily recognisable with minimal inspection. It seems most routers nowadays use connection tracking and it's pretty unlikely anything can make a connection to the target under all this abuse, so one is led to suspect that all this data is sent via SYN or maybe RST packets over TCP, UDP spam or ICMP spam. The thing is, all of these things should be expected to be of a fairly low volume. UDP is used for DNS and gaming, which shouldn't be too high bandwidth, ICMP is used for basically nothing so can almost certainly be safely limited, and it's pretty rare for a machine to need to make more than 10 connections per second, so a burst of 100 and an average of 15 ought to sort that out.

Not only is it useful to stop the spammage, but it must also be useful to be able to mail customers with "we suspect you've been rooted" when traffic consistently breaches these limits, with cutoffs threatened after a week or so without adequate explanation.

So, like I say, why doesn't this happen? Is it just too hard to track the data? Am I wrong about connection tracking being common?

July 23, 2008 04:08 PM

Re: Prisoners' Dilemma

So still no solutions.

It occurred to me that I don't have a proof that the following is optimal (though I'm pretty sure it is, as it stores useful data of length n into blocks of length n, in the sense that it allows every prisoner to infer the previous box by looking at any box). It's optimal for small numbers, anyway.

Before being called in, the prisoners number themselves arbitrarily without the warden knowing (in order to beat any tactics the warden may have). Prisoner i1 enters the hall and opens box i from the left. He transforms the name in that box to the number i2 of the prisoner with that name, and then opens box i2. Repeat until name is found.

To compute the chance of success for this strategy, we need to appreciate that what we're doing is picking a random 1 to 1 map from {1, ..., n} to {1, ..., n}. In other words, a permutation. Permutations split into cycles of repeated application, for example {1 -> 2, 2 -> 3, 3 -> 1} is more normally written (1, 2, 3). Find the input number and output the number to its right to apply the map.

The prisoners must succeed if all cycles in the permutation are of length less than n/2. We just need to apply a counting argument. There's n prisoners, so n! permutations (number of ways of picking n objects from a stack of n, without repetition and with ordering). On a set of i objects, there's (i-1)! i-cycles.

To count the number of permutations with an i-cycle (i≥n), we need to pick i elements (n choose i, or n!/(i!(n-i)!)), then find the number of ways they can form an i-cycle ((i-1)!), and the number of permutations on the remainder ((n-i)!). Multiply them together and you get n!/i, so the probability of a permutation containing an i-cycle is 1/i. Since we're only talking about cycles larger than half the length, if such a cycle exists, it's also the largest, so the probability of the largest cycle being of length greater than n/2 is (for even n) the sum, from i=n/2 to n of 1/i.

The integration rule tells us that this is less than the integral from n/2 to n of 1/i, which basic integration tells us is ln(n) - ln(n/2) = ln 2, which is about 0.7. In other words, using this strategy, our prisoners can win just under a third of times they normally would, and by the arbitrary rules, survive.


It turns out that this is too much of a hassle for the warden, especially since his apparently mathematically minded victims aren't dying, so he's now picked a new problem (for which answers can be found online, as this also is not an original problem). He groups the prisoners into tables of 3, and places black or white hats on their heads. They have long peaks, so prisoners can't see their own hat colour. The challenge is that the prisoners around the table must either guess their hat colour or pass.

If they any prisoner guesses incorrectly, the warden will not feed any of them. If at least one guesses correctly and the rest guess correctly or pass, they get fed. If they all pass, the hats are re-picked randomly and they can have another go. Servings are reduced, so the prisoners will die if they don't eat strictly more than half of all mealtimes. Can they survive? If so, does the warden have a tactic to defeat this survival by picking hats in a nasty way?

July 23, 2008 03:56 PM

July 18, 2008

Mulletron

Ode to Depression

Hearing consistently bad economic news at the moment, I thought I’d share some of Noel Coward’s words.

They’re out of sorts in Sunderland
And terribly cross in Kent,
They’re dull in Hull
And the Isle of Mull
Is seething with discontent,
They’re nervous in Northumberland
And Devon is down the drain,
They’re filled with wrath
On the firth of Forth
And sullen on Salisbury Plain,
In Dublin they’re depressed, lads,
Maybe because they’re Celts
For Drake is going West, lads,
And so is everyone else.
Hurray-hurray-hurray!
Misery’s here to stay.

There are bad times just around the corner,
There are dark clouds hurtling through the sky
And it’s no good whining
About a silver lining
For we know from experience that they won’t roll by,
With a scowl and a frown
We’ll keep our peckers down
And prepare for depression and doom and dread,
We’re going to unpack our troubles from our old kit bag
And wait until we drop down dead.

by Richard Warburton at July 18, 2008 02:34 PM

July 17, 2008

Lamby

BTS bot improvements

A little while ago I completely rewrote the #debian-devel-changes IRC bot so it was actually maintainable. At the same time I added some commands suitable for developers, but I didn’t really advertise them anywhere. Here goes.

!bug <bug-number>
Print a one-line synopsis of the specified bug. The parser is fuzzy and will find the bug number embedded in URLs, etc.

!madison <source-package>
Print a colourful rmadison output for the specified package.

!qa <source-package>
!overview <source-package>
Prints the URL of the Debian PTS entry for the specified package.

!changelog <source-package>
Prints a URL containing the most recent debian/changelog file for the specified package.

!copyright <source-package>
Prints a URL containing the most recent debian/copyright file for the specified package.

!bug_graph <source-package>
!buggraph <source-package>
Prints the URL of the bug graph for the specified package.

!buildd <source-package>
Prints the URL of the non-experimental buildd status of the specified package.

!popcon <source-package>
Prints the URL which contains the popularity-contest data for the specified package.

!dehs <source-package>
Prints the URL which contains the Debian External Health Status of the specified package.

Some notes:

  • Using these commands is easy: “/msg BTS <command>” on irc.debian.org or simply “<command>” on a channel that the bot is lurking on.
  • Please don’t spam channels with data from the bot – use a private message. This particularly applies to #debian-devel-changes.
  • If you are communicating with the bot in a private message, the leading exclamation mark is optional.
  • If you would like the bot to lurk on other channels, please ping me on IRC after gaining a consensus on the channel in question.

As always, patches and suggestions welcome. (Source).

by Lamby at July 17, 2008 01:14 AM

July 16, 2008

Lamby

Nouveau nVidia drivers now available in Debian experimental

You can now try the “Nouveau” free software nVidia video drivers from Debian experimental.

If you would like to try them:

  • Ensure you are using Debian sid.
  • Add experimental sources to your /etc/apt/sources.list.
  • Run:
    • sudo apt-get update
    • sudo m-a update
    • sudo m-a a-i drm
    • sudo apt-get install xserver-xorg-video-nouveau
  • Edit your /etc/X11/xorg.conf and specify the nouveau driver in the Device section.
  • Restart X. You will need to remove the binary nvidia kernel module.

Editing your xorg.conf may be as simple as the replacing nvidia or nv with nouveau; nouveau won’t be chosen automatically over nv yet. If your xorg.conf has collected a lot of cruft over the years, see this wiki page for some pointers on what you can remove.

For the status of the drivers with your particular card, please see upstream’s compatibility matrix. My experience has been positive; I have been using them for about two months on my dual-head 8600GT (NV50) setup with only a few small issues and a generally superior Gnometris experience.

Some notes:

  • If you find bugs (unrelated to the packaging), please report the problem upstream and not in the Debian bug tracker.
  • At request of upstream, we are not providing 3D support. Please do not ask for it, as a wontfix tag often offends.
  • Bonus points are awarded for removing the non-free nVidia driver; although installation of xserver-xorg-video-nouveau will remove nvidia-glx, purging nvidia-kernel-common and nvidia-kernel-source should remove all the module-assistant generated kernel modules. rms would be proud.

Many thanks to:

  • Matthew Johnson (mjj29) for uploading.
  • Julien Cristau (jcristau) for advice.
  • Christopher Halse Rogers (ROAF) for his Ubuntu packages.
  • The rest of the XStrikeForce, who do rather a lot of work you don’t really notice.

by Lamby at July 16, 2008 12:12 PM

Morlark

Blizzard wins lawsuit against WoWGlider.

So, it's only been 5 months since my last blog post? That's actually less than I thought it was, and yet scarily a rather long time. Still, nothing like WoW to get things going again, right?

As anyone who actually plays WoW will no doubt know, Blizzard recently won their case against MDY, the makers of the WoWGlider botting software. I was particularly intrigued by a post made by Donnelly (the guy who originally wrote the software) in which is refers to William Patry (author of this here blog post) as "Google's Senior Copyright Counsel and pretty much accepted to be The Man when it comes to copyright". If Patry is "The Man", why do his arguments make no sense?

Although Patry's post is an interesting read, there are a few points that I really do have to wonder about. The first thing that started to ring alarm bells was his assertion that "WoWGilder did not contributorily or vicariously lead to violating any rights granted under the Copyright Act". While he's certainly entitled to that opinion, one feels compelled to point out that, given that the court just ruled that the exact opposite is true, he probably shouldn't so forcefully state it as a fact, especially when he makes no attempt to address the specific points of law on which the ruling was based.

He then continues: "To get to its result, the court had to first find that WoW, even though sold over the counter, was licensed not sold." As much as I might disagree with it, it has been so long established that software is licensed that by now it's almost beyond questioning. Thankfully, this time he does provide a basis for his argument, the recent Vernor v. Autodesk case. (I'll confess that I was only peripherally aware of the Vernor ruling until now, but I made a point of reading up on it.) Regardless of the specifics, I found it somewhat baffling that Patry would express surprise at the court's decision to follow a well-established (tried and tested on numerous occasions) Ninth Circuit precedent instead of an apparently contradictory ruling from a lower court. Even if we were to consider the specific nuances of the Vernor precedent, that case dealt specifically with distribution, whereas this case (bizzarely, considering the claim of copyright infringement) deals solely with usage, so it's entirely possible that the decision would have been the same.

Lastly, I was all about ready to disagree with his assertion that "there was in fact no provision in the license that barred use of WoWGlider", except that I discovered, to my surprise, that it's true. The provisions barring the use of automation software lie solely within the ToU agreement (arguably where they belong), and not in the EULA. Given that the ruling so unexpectedly relies on such software being a breach of the EULA, one can't help but wonder if a future update will correct this oversight. And yes, I actually read the sodding EULA.

by Sean Connolly at July 16, 2008 12:01 PM

July 15, 2008

Blood God

Half Life 2 Linux Server Builds

So, recently I was playing around with building a server for a Half Life 2 modification using Valve’s instructions on their wiki. The instructions all seem quite simple, you take the VC++ project file, a makefile that you customise slightly with some locations of things certain libraries (like the xerces ones) and then some libraries from the official Linux dedicated server.

All sensible enough so far, until you find out that the only way to get the libraries that it needs from the server is to download the whole server and install that using their application for this (which takes two passes at the same command to do that for some reason). This pulls about 780MB of stuff down onto the machine, including all of the HL2MP maps, textures, models and sounds (apparently it needs some of these in case you want to run a pure server without people having their own custom sounds and whatnot). All in all the libraries that I wanted were no more than 35MB of this, so it was a little bit frustrating.

You then get to the build process, which first compiles a util (vcpm) to read the vc++ project file and use that to make a makefile for the mod itself. This is all well and good and all done in one fell swoop with a simple ‘make’. Unfortunately if, for some reason, you want to do a clean build of the mod - ‘make clean’ won’t help you. That just cleans up vcpm, leaving the server objects there waiting for you to do it manually.

The whole compile process was also very slow, although that could be my machine (it is 4-5 years old now) and produces one hell of a binary. I’m pretty sure that this is down to it linking statically with a lot of libraries, including some of the c/c++ ones, although I have yet to verify this or follow the guide on the wiki that suggests you can cut 5MB off the binary with some magic. Perhaps in future builds I’ll look at getting that done, but for now I’m just happy that it compiled.

Having done this with gcc-4.1 (4.2 just plain doesn’t work, but then isn’t claimed to on the wiki) I found that crashes occured for other people, hardly good. So I dug out gcc-3.4 and had a bash with that, only to find that errors were soon the scourge of my life again, some of them seemingly in the Valve code - great. Fortunately a bit of digging around in the documentation turns out that it’s a known thing where gcc-3.4 won’t inline functions unless you give it a -O option. This fixed it was clean sailing and I had a nice compiled version.

Unfortunately this version also segfaulted, so it was off to the debug build and to see what was going on with it. This proved rather useless, as the engine produces a stack trace without any symbols (even after the mod is compiled with them) so I’ll need to have a rummage around what’s going on at some stage, probably something to do with my system configuration compared to that of the server. Nothing is ever simple eh?

by Chris Hawley at July 15, 2008 05:00 PM

July 14, 2008

Bucko

Re: Prisoners Dilemma

OK, since no-one even replied to that prisoner's dilemma, I guess it's time to produce some clues. We'll name the prisoners P1 through Pn and boxes B1 through Bn. We'll also, to avoid complications, assume the warden is going to arrange the boxes purely at random (so we don't need to cope with the warden just putting P1 in B2 and P2 in B1 for the 2 prisoner case, for example).1

How do two prisoners play our game? If they both pick randomly, their joint chance of success is 1/4. However, if P1 picks B1 and P2 picks B2, they're either both correct or both incorrect, each with a 1/2 chance. This must be optimal or there'd be some one-prisoner strategy which is better than just picking one box.

What does this tell us?

  1. The prisoners each need to pick different strategies.
  2. The prisoners could do with knowing each other's strategies.


What follows is a description of the 3 prisoner optimal strategy and big clues on optimal strategies, so stop reading if you don't want to know more.

OK, so let's try that knowledge on 3 prisoners. The 'obvious' strategy for prisoner Pi is to pick box Bi, then B(i+1 mod 3). If he gets any wrong the prisoners fail no matter what they pick, so they may as well assume he was right and the remaining arrangements are:

  • (1, 2, 3)
  • (1, 3, 2)
  • (2, 1, 3)
  • (3, 1, 2)


Referring to "prisoner i succeeding" as Si, this tells us that P(S1) = 2/3 and P(S2|S1) = 3/4. (3 of the 4 possibilities have a 2 in B2 or B3). However, we're left with the following:

  • (1, 2, 3)
  • (1, 3, 2)
  • (3, 1, 2)


In other words, P3 has no more information than P1 did, so P(S3|S2,S1) = 2/3 and the overall success probability is P(S1,S2,S3) = P(S1) * P(S2|S1) * P(S3|S1,S2) = 1/3. Can we do better?


The first box P1 picks doesn't matter (you can just re-number the boxes so that it's always B1), but for his second box, he's able to give information about the contents of his first box. How? By picking a different box depending on its contents. Let's say P1 picks B1, then if B1 = P1, stops, if B1 = P2, picks B2 and if B1 = P3, picks B3. There are once again 4 'sucess' arrangements:

  • (1, 2, 3)
  • (1, 3, 2)
  • (2, 1, 3)
  • (3, 2, 1)


Taking into account that P1 played this way, can we improve P2's strategy? We can see B2 is clearly a good box to start with as 2/4 of the remaining arrangements boxes have P2 in them. Also, if B2 = 3 then B3 = 2 and if B2 = 1 then B1 = 2. This means following the obvious strategy, P(S2|S1) = 1. P3 can follow a similar strategy so that P(S3|S1,S2) = P(S3|S1) = 1 and P(S1,S2,S3) = 2/3.

So, what do we know now?

  1. Each prisoner's second (and presumably subsequent) box picks had better depend in some way on the contents of what he already picked.
  2. Slightly deeper, looking at the results above, if one prisoner gets it wrong lots of prisoners should.


1 You can get around any strategy the warden produces by simply numbering the prisoners randomly after the box order is chosen, so that the warden doesn't know the prisoners' chosen ordering. (It doesn't have to be the same numbering as the warden used to call them in.)

July 14, 2008 12:04 PM

July 13, 2008

Tim

GNU Hackers' Meeting 2008

On Thursday and Friday, I took time off work to visit Bristol for the GNU Hackers' Meeting 2008. Around 20 people attended - obviously these were all people contributing to GNU, but (surprisingly) I didn't feel too much like I was surrounded by giants. Instead, it was all quite relaxed; most people there seemed rather like me - with a mild caffeine addiction, permanently short of spare time, and just trying to improve their small projects as best they could.

The impression I have of the GNU project after this meeting is one of a disparate organization with many small contributors; it is clear we have massive communication problems, both internally and externally. From the outside, I suppose GNU looks like a monolithic, perhaps US-centric project, with the strong leadership at the top controlling the direction of all these sub-projects. In reality, these sub-projects are more or less autonomous. There may be some checking at the centre that no two GNU programs are directly competing to solve the same problem, but the maintainers are largely on their own, struggling to build up whatever community of contributors they can. The feeling of isolation is much greater than in Debian, for instance - there, although package maintainers generally have some sort of authority over "their" packages, you will get bug reports filed if you are not following Debian policy, and you are expected to observe common freeze periods around releases. There are no real equivalents in GNU.

So naturally, considering the amount we had in common, this meeting was always going to be a success. It was very well run by Brian Gough, and there was just the right amount of structure versus "corridor time" (although everything took place in a single room, except for lunch/pub). There were a few talks from people about the projects they were working on - for instance, a nice game called GNU FreeDink, although I need to fix a segmentation fault to progress any further in level 2, and a very impressive sound generation program called Psycosynth.

It was suggested that a UK-only GNU hackers' meeting could be organised sometime, which I think would also work very well. Simply meeting up like this every once in a while was quite inspiring; I much prefer developer-oriented meetings over user-oriented meetings, and this was one of the best.

July 13, 2008 07:48 PM

OpenJDK in Debian main

After much anticipation, the free-as-in-freedom version of Sun's Java JDK has arrived in Debian's `main' section. There are still a few bugs in the packaging, but these will be ironed out before the lenny release. Various other useful packages still need to adapt to its presence, but many will be able to move from the `contrib' section into `main' as well.

Going forward, this makes Sun's Java platform quite attractive for developing future free software applications. There is a reasonably performant implementation now available in most distributions, that will receive security updates, has a good team of developers behind it, and already has a large community of people with skills in the language. If static versus dynamic typing becomes an issue, Jython might offer a nice competing implementation of Python. We might one day get to see what this `Groovy' thing is all about. In terms of GUI applications, Andrew Cowie's new java-gnome 4.x bindings will allow truly native integration with the rest of GNOME - or stick with plain Swing for cross-platform portability.

This also brings the Java/.NET competition to free software. Mono has been playing catch-up with both Microsoft's implementation of .NET and with Java - it has enjoyed some success with Gtk#, which has provided much more compelling rapid development than the old java-gnome bindings and gcj. MonoDevelop is trying to compete with Eclipse and NetBeans, and probably has a better-integrated GNOME UI editor. Still, if the potential for rapid application development is as great as is claimed, it can't be very long before the various successful Gtk# applications (banshee, f-spot, tomboy) have Java counterparts (unless people are happy with the C equivalents). The most difficult part of the process is finishing off any required library bindings (such as to gstreamer and libgphoto2).

It will be interesting to see whether Java free software developers bring with them the same bad habits that have been seen with many Windows-based C# free software developers. When you want to use a library, bundling a binary-only copy of an unstable version is not really the right thing to do. At least many Java .jar archives also contain source code, and there are quite a few home-grown Java hackers who might understand about how to play nicely with distributions using proper dependency-management systems.

One thing that strikes me is that, while Mono has been around for quite a few years now, I can't think of any big non-graphical applications that are built on it. (Beagle is perhaps the exception - it does make use of a Gtk# GUI, but the main program is the indexer.) Java might benefit from a network effect, as projects such as Apache Tomcat are also widely used. (Let's not mention Choob at this point.) There are a few non-GNOME graphical apps waiting in the wings (like freecol and robocode). The scaremongering over possible patent infringement in Mono (or the Windows.Forms libraries), while probably unfounded, cannot help its cause.

But of course, ruling out something catastrophic like a patent infringement suit, free software projects very rarely die - they just fade away into obscurity. Both platforms are likely to be around for some time yet.

July 13, 2008 07:46 PM

July 12, 2008

Mulletron

Election Update 2

Follow-up to Election Update from True Contradictions

Mississippi

The elections here are somewhat complicated by the resignation of former senate, Trent Lott, which results in two elections happening simultaneously.

The normal election will be fought between Republican incumbent Thad Cochran and Erik Fleming. Both of these men have made mild position switches. Fleming used to support Lyndon LaRouche, but has since rejected such notions. Cochran originally states of McCain, “The thought of his being president sends a cold chill down my spine. He is erratic. He is hotheaded. He loses his temper and he worries me.” He now supports McCain. Fleming is currently a Mississippi House of representatives member, and has previously unsuccessfully run for the Senate seat of Trent Lott. Polls have Cochran ahead 60:35.

The other election is being fought as a result of the resignation of Senator Trent Lott last year. The republican governor, Haley Barbour, appointed former house of representatives member Roger Wicker as his temporary replacement. His Democratic opponent, Ronnie Musgrove, was the former lieutenant Governor and Governor of Mississippi, during whose time in office he banned Gay and Lesbian adoption, the pay of Mississippi teachers fell to 49th lowest level of all the states and claimed that there was, “no freedom from religion”. The polls have these two politicians in a tie.

North Carolina

Elizabeth Dole has been sitting senator since a 2002 special election. A former member of the Johnson, Nixon, Reagan and Bush Sr. administrations, challenger for the Republican nomination in 2000 and wife of former Senator and republican candidate Bob Dole, she has excellent connections, name recognition and fundraising potential. Her opponent – Kay Hagan is a Lawyer and member of the State Senate. Dole is currently enjoying a 10 point lead in the polls.

Nebraska

Centrist Republican incumbent and opponent of the Iraq war, Chuck Hagel, has decided not to seek reelection. In a fascinating piece of trivia, courtesy of wikipedia, “Hagel has a tradition of wearing costumes to work on Halloween, usually masquerading as colleagues or other notable political figures. He has arrived at work dressed as Joe Biden, John McCain, Colin Powell, and Pat Roberts in past years.” This leaves the field open between the two candidates both running for the position.

Mike Johanns is the republican candidate – a former governor who stepped down to act as US secretary of agriculture. He is highly popular in the state, having won the gubernatorial election in a landslide. Scott Kleeb (tagline: “Nebraska’s brand of change”) is a rancher and ironically professor of history and provides the democratic contender. Johanns, as one might expect, is polling 15-20 points ahead.

New Hampshire

Currently New Hampshire is represented by the father-sun duo of John H. Sununu and John E. Sununu. It is the father, a former 3 term governor and White House chief of Staff, who is up for re-election. His opponent is Jeanne Shaheen, also a former governor. This is a re-run of the 2002 election, in which Sununu narrowly won, however, the political momentum has swung away from the republicans and towards the democrats in subsequent years. Consequently Shaheen leads in the polling by 10-15%.

New Jersey

Dick Zimmer is a former US House of Representatives member, and former member of the New Jersey legislature. He had unsuccessfully run for the Senate in 1996, and was drafted for the current race after Anne Estabrook withdrew, having suffered a mini-stroke. Frank Lautenberg currently holds the seat up for election, and has held 4 non-consecutive terms of office. He is one of the most liberal members of the Senate. Age is an important issue in this election, with Lautenberg having passed his 84th birthday, but its a double edged blade for the republicans, due to their presidential candidate and the relatively high proportion of electorate who are over 65 in New Jersey.

New Mexico

Another republican incumbent retiring leaves the door open for more democratic gains in New Mexico. With the support of popular Governor Bill Richardson and a rising democratic tide the party is confident of making gains here. Their candidate is Tom Udall, a former member of the House of Representatives for the state and cousin of Mark Udall mentioned earlier. The taking of this seat is another test of the Western strategy pushed by Howard Dean. His opponent, Steve Pearce, has a similar background in the House, but is sitting 15-20% behind in polling.

Oklahoma

Incumbent Jim Inhofe is skeptical on global warming, cites the Bible as backing for his position on everything and has claimed that 9/11 was devine retribution for the US failing to defend Israel. He is also one of only 12 senators who opposed cutting interest rates on student loans. His opponent Andrew Rice is a member of the state Senate and largely behind in the polls, albeit with a large percentage yet to make up their minds.

Oregon

Republican Senator Gordon Smith is up for re-election, his moderate view may continue to hold their appeal in these hard times for the republican party. The democratic challenge comes in the form of Jeff Merkley, the second cousin of the Udall cousins. Gordon Smith is currently the only elected Republican official in the state, and is currently holding onto a narrow lead in the race – which is considered highly competitive.

South Dakota

Tim Johnson is the Democratically aligned sitting senator from South Dakota, who holds quite a conservative voting record, such as repealing the ban on semiautomatic weapons and welfare reform. The 2002 election saw him claim a very narrow victory in a republican leaning year, and is a pretty strong candidate for re-election. His opponent, Joel Dykstra, is currently sitting in SD House of Representatives, and not a big name candidate. Trivia: Johnson was the only member of the senate to have a son in the military at the time of the Iraq invasion.

Texas

Single term republican incumbent John Cornyn has been ranked as the 4th most conservative US Senator. His democratic challenger is Veteran Rick Noriega, a member of the Texan House of Representatives. The low approval ratings of Cornyn make this a potentially interesting election, despite him being ahead of Noriega, that has potentially a large number of undecided voters. Obama is also looking at campaigning with the Texas senate and house challengers who are competitive.

Virginia

Incumbent republican John Warner is retiring, leaving an open race between two former Governors: Jim Gilmore and Mark Warner (no relation). This is generally considered the Senate seat most likely to change hands from Republican to Democrat. Polling puts Warner 25% ahead of Gilmore, and with a widening gap as polls become more recent. As well as national momentum – the state is slowly swinging democrat, they have won the last two gubernatorial elections in 2001 and 2005, and Jim Webb took George Allen’s senate seat in 2006.

by Richard Warburton at July 12, 2008 03:35 PM

Political Observations

A few things have come to mind this week, all to do with Inconsistency.

  1. All the people/newspapers who a few years ago were outraged at the imprisonment of Tony Martin are now backing imprisoning everyone who carries a knife. So apparently you shouldn’t go to jail if you shoot someone with a gun, but if you just carry a knife you should.
  2. On last week’s Question Time the audience appeared to clap everything people said. This meant that they would clap a point by one of the commentators, and then applaud an exactly opposing argument by another panelist. This suggests both that the panelists were making strong arguments, and that the audience was full of idiots.
  3. It was commonly noted that during the G8 meeting politicians undertook an 8 course meal, whilst simultaneously talking about Global food shortages, and in Gordon Brown’s case telling people not to waste food. The latter isn’t hypocritical, assuming Mr. Brown finished his meal.

by Richard Warburton at July 12, 2008 09:33 AM

July 10, 2008

Mulletron

Election Update

I haven’t blogged in a while, and haven’t blogged about US politics in ages, so here we go.

Presidential Election

Obama finally put Clinton to bed. This has been inevitably basically since super Tuesday when Clinton blew her load and didn’t really get much of a win. Whats interesting has been the national polling of Obama against McCain. During the latter phases of the primaries Obama was heavily campaigned against by Clinton and also was undergoing Wrightgate, and consequently fell behind McCain in the national polling. This was up to 5% and over 100 EC votes at some stages.

During June, the month following Obama’s primary victory, he made a considerable comeback. Polling showed him gaining against McCain nationally, taking tracking polls averaged from key pollsters late last month had him over 150 EC to the good. Since then coverage has been more negative towards Obama, commenting on his movement towards the centre, and polls have fallen back.

Senate Elections

Since primary season is over, a lot of senate races have become clear, so here’s a brief summary of a few of them.

Alabama
Two term senator Jeff Sessions seems to be strongly leading (65-35) his democratic opponent, Vivian Figures, in nearly all polls. Despite democratic strength in the current electoral cycle, some places are still out of reach for them.

Alaska
Ted Stevens (whose claim to fame is being the oldest republican in the senate and stating that, “The internet is like a series of tubes”) is having a hard time, despite his position as a longrunning incumbent, against Begrich. In some polls he’s still ahead, others behind. Steven’s senility is probably a campaigning drawback, hopefully he’ll be out of office come November.

Colorado
Mark Udall is looking to take this seat for the democrats, and is polling about 10% ahead against Republican opponent Schaffer. This fits in well with Howard Dean’s strategy of hitting hard in the western states, traditionally a republican stronghold. There might be some synergy between this campaign and Obama’s national effort in Colorado.

Iowa
Tom Harkin will retain his senate seat, continuing Iowa’s swing to the democrats over the current election cycle.

Kansas
Two term incumbent Pat Roberts has a 10% or so margin above his democratic opponent, Jim Slattery. I don’t really know much about the candidates or polling issues here.

Kentucky
Mitch Mcconnell, current senate minority leader, holds a narrow lead over his democratic challenger, proving that even high ranking republicans aren’t impossible targets. He’s a stalwart conservative on nearly all issues. Interesting the libertarian party candidate is Sonny Landham who is a former porno actor who also starred in Predator. Despite his high profile, I doubt that he will really impact Mcconnell’s re-election bid too much, and Mcconnell is apparently fundraising well, so will probably be re-elected.

Louisiana
Incumbent Mary Landrieu is being challenged by a defectee to the republican cause, current State Treasurer John Kennedy. Landrieu is currently maintaining a razor-thing lead. I imagine the result of this will go down to the wire.

Massachusetts
Early on in the election season it looked like John Kerry was going to be strongly challenged, but the polls have slowly slipped his way, as one would expect of a leading democrat in a democratically leaning state in a democratically leaning year. He’s currently miles ahead of his republican opponent Jeff Beatty and his re-election looks like a sure thing. Part of Beatty’s problem is that few locals even know who he is, polling data suggests that 44% of them have no opinion of him.

Michigan
Jack Hoogendyk, Michigan house of reps member, is running against 6 term incumbent Carl Levin. He’s behind in the polling, and was the only republican running for the position. In 1996 Levin was opposed by Ronna Romney, who is Mitt Romney’s sister in law.

Maine
Susan Collins, centrist republican incumbent, is leading democratic challenger Tom Allen in polls, but by a narrowing margin. Joe Lieberman has stated that he might campaign for her.

Minnesota
If you thought the pornstar running in Kentucky was interesting, this is a minefield. The incumbent is Norm Coleman, a strong Bush supporter was one of the people who accussed Galloway of abusing his relationship with Saddam Hussein. Al Franken, well know comedian, SNL alumni, author, etc. is running against him, with a strongly leftwing agenda, note the title of one his books, “Lies and the Lying Liars Who Tell Them: A Fair and Balanced Look at the Right”. Currently Al Franken is behind in polls, though I’m sure his campaign is entertaining. On 9th July Jesse Ventura, former professional wrestler and governor, announced that he may run for office. Now Ventura bear Coleman in his 1996 election campaign, his entrance into the the campaign makes what the wrestling community might call a ‘3-way dance’. On his previous election effort Ventura won on the back of the Reform party ticket, its unknown who would back him this time. Ventura claims organised religion is a shame, has made numerous comments about drunken Irishmen, heavily invested in mass transit during his period as governor, is now massively bald, supports gay and abortion rights. He is generally fiscally conservative and socially liberal. Its already amusing, and if Ventura runs it will become hilarious.

I’ll leave it at that for now. Perhaps I might get round to finishing off the rest of the alphabet at some point in time.

by Richard Warburton at July 10, 2008 10:42 PM

Fred

My first days at a (not yet open source) company

As of Monday, I'm now working for Mendeley (with Mike Arthur), a startup in London with a C++/Qt4 client app. Unfortunately, it's not open source yet, but it's due to be once the code has been cleaned up.

The work is mostly fun (well, as much as working on someone else's code can be :p ), and the atmosphere is great (they're also still recruiting).

At the moment, I'm staying with Antz and Acehole in Hammersmith, and travel to the office is only around 35 minutes each way - and:

I'm going to Akademy!

Additionally, thanks to Antz's nagging^Wpursasion, I now have a Jabber/"GoogleTalk" account: jabber@fredemmott.co.uk.

by Frederick Emmott at July 10, 2008 08:44 PM

July 09, 2008

Bucko

Samba, UTF-8 and UNIX extensions

So, many people know that rather than using RAID on my fileserver (primarily because speed is of little importance, and data I care about is replicated), I just have a /mnt/media directory with 10 mounted drives in it. I then have a nightly "union" script which creates a softlink-based directory structure for all items in these discs, assuming each has a common structure and no overlaps.

I then share this as a read-only share "media". This causes one important issue with Samba - it defaults to enabling "UNIX extensions", which share softlinks as-is, hence enabling me to access no files. Therefore, I have to turn them off.

Of course, in doing so Samba was bound to break. In this case, I found that it was unable to share files with UTF-8 in their filename on cifs mounts correctly (they would give "file not found" even though they were listed or just not list at all). More annoyingly, smbclient would be able to access the files fine.

The solution I finally found was to set under global in smb.conf:

dos charset = UTF-8

And for the client, pass the iocharset=utf8 to the cifs mount command. All now seems happy.

July 09, 2008 10:57 AM

July 07, 2008

Bucko

Prisoners' Dilemma

OK, so I keep seeing other people post intriguing puzzles, and there's at least one I have that I guess most people who'll read this haven't seen. I know there is a solution.

So, there's a bunch of prisoners (a few hundred), each with a unique name1. They have a sadistic warden who is in charge of feeding them. The warden is somewhat lazy and wishes to cut costs, so he challenges the prisoners to a puzzle before they can be fed.

For each of the 3 alotted mealtimes, he will put each prisoner's name into a box, then shuffle the boxes, placing them at random along the back wall of the mess hall. The prisoners will then individually and randomly be called into the hall and allowed to nominate a box for the warden to open and read the contents. Each prisoner may continue to nominate boxes until either the warden reads his name or he has nominated half or more of the boxes. He will then be led out into the yard, with no contact with the yet-to-enter prisoners. The warden closes all of the boxes and calls in the next prisoner - every prisoner is presented with the exact same box arrangement.

Clearly if the prisoner touches the boxes in any way, leaves any notes behind, or attempts any form of communication whatsoever with his yet-to-enter comrades after he's entered the hall, the warden will have them shot.

Only if every prisoner finds his or her name will any of them be given meal tickets. If any one prisoner fails to find their own name, no prisoner will get a ticket. On the plus side, the warden is offering to give two tickets each if they do succeed. The prisoners are a hardy bunch and only need to eat once every few days on average to survive. Meal tickets can be hoarded and redeemed at any time, and the prisoners generally have a few spares lying around as they're used for trade.

The prisoners' job is to either come up with a strategy (the warden promises not to listen to their plans, but of course can try to predict them) which can keep them alive, or demonstrate to the prison authorities that the warden is a sadistic bastard - in which case they'll be able to get a new warden (who'll probably give them another sadistic game next week).

Obviously if you know the answer offhand, don't post it immediately. Some people may want to think about it. :)

1 Also, they can't change their names. Thankyou, Sticky.

Misunderstandings that've resulted in edits: Prisoners need to win as a group, not just individually. Meal tickets are completely transferrable and the prisoners need only ensure that the tickets stay afloat on average. Boxes are not removed from the mess hall even if a prisoner finds his name.

July 07, 2008 11:54 PM

July 04, 2008

Tim

gnu-standards in Debian

An update to Debian's gnu-standards package is now in incoming. This package contains the GNU Coding Standards and the Information for GNU Maintainers document. It is now in the `main' section rather than `non-free', so is officially part of the Debian system.

This has taken several months; at the end of December I asked whether the maintainers' document could be relicensed. RMS evidently approved, because the licence was changed in January.

Then there was the small matter of updating the Debian package; I prepared an update, but wasn't quite clear on whether I was preparing an NMU or a normal upload, so stalled for a while. Last month the package became orphaned, so I quickly grabbed an ITA, and started working again. KiBi was very helpful with pointing out all the remaining cruft in the package, and he generously sponsored the final result. Then we just had to wait for it to get through the NEW queue.

Hopefully it will migrate to testing before the freeze.

July 04, 2008 07:09 PM

July 02, 2008

Fred

Slamd64 12.1

Slamd64 Logo

Slamd64 12.1 has now been released (and was uploaded late last week), with many improvements and a new logo (thanks to Marc Carson). For full details, see the release announcement.

by Frederick Emmott at July 02, 2008 03:20 PM

July 01, 2008

Blood God

Tied to the Office

As part of my job I’m required to get outage alerts when something breaks, in case I can be of use in helping fix it. These are sent out via SMS, and I recently had the option of either getting them to my normal mobile phone or ordering a company Blackberry. Given the intrusive nature of them, I opted for the Blackberry so as to keep them separate from my personal life, despite the obvious attachment to the office at all times.

Of course, with the Blackberry comes more than just another device to receive text messages on, as I can now use it to keep up on my work e-mails when not in the office/at my PC. This I’ve found to be a bit of a double edged sword. On one hand I can read the important messages on my way into the office on the train in the morning, allowing me to hit the ground running when I do actually get to my desk. On the other hand, however, is the bit where the Blackberry gets its “Crackberry” nickname - it’s addictive; the little blinking light telling me that there’s another message for me to read.

Still, I’ve had it for just under two weeks now, and it’s proven useful with keeping on top of work stuff and also having other useful features. As I’ve got the 8800 it has GPS, and combined with Google Maps this can be quite useful for finding places and getting directions when you’re not too sure where you’re going. I’m not going to bother going into the features of the phone, as I’m sure this has been done to death elsewhere on the internet; Google Maps is just one thing that I find myself using occaisionally.

All in all though, as far as devices go it’s pretty good. I’m just having to be careful to stop it slowly taking over most of my life as it starts to weld itself permanently to my hip.

by Chris Hawley at July 01, 2008 05:00 PM

June 30, 2008

Tim

The things I do for Debian

It weighs 13kg, apparently, and my arms still ache. Thanks to Anton and Dan for letting me stay at their place on Saturday night, and use their fast net connection to download Debian packages.

June 30, 2008 08:24 PM

June 27, 2008

Tim

Licence club

  1. The first rule of licence club is, you do not talk about licence club.
  2. The second rule of licence club is, you DO NOT talk about licence club.
  3. If a copyright holder says stop, gets confused, is bought out, the licence is over.
  4. Only two parties to a licence.
  5. One exclusive licence at a time.
  6. No CDDL, no Jörg Schilling.
  7. Licences will go on as long as the copyright is enforcable.
  8. If this is your first night at licence club, you have to hire a lawyer.

June 27, 2008 12:13 AM

June 24, 2008

Benji

openSUSE 11.0 KDE4 inclusion

There seems to be a lot of misconceptions regarding the inclusion of KDE4 in openSUSE 11.0 that are leading to a great deal of anger on the mailing list.

KDE4.0 is the default in openSUSE 11.0. It is being forced upon users.

Not true. Both KDE3.5 and KDE4.0 (and GNOME) are offered when installing from the DVD or netinstall. There is no default. The KDE4.0 description is

KDE 4.0 is the most recent evolution of KDE. It comes with many new KDE technologies, but is less mature than the other desktops.

While KDE3 is described as

KDE 3.5 is the previous generation of the K Desktop Environment. It is mature and stable.

which I personally think is a fairly good description. This is only shown on new installs, if a user is upgrading an existing installation then he or she will remain with his or her existing desktop. Users are not forced or even suggested to change from KDE3 to KDE4.

Novell forced the inclusion of KDE4.0 was forced upon the openSUSE community for [insert conspiracy reason here]

There have been dozens of “Novell did not listen to the users” comments which are wrong for several reasons.

The topic was discussed at length in various media which are all open to everyone.

The result of these discussions is what we have in openSUSE 11.0. They were not ignored, in fact they led to the inclusion of the KDE3 option clearly in the installer.

The second problem with these statements is they assume that everything that happens in openSUSE is a direct result of Novell policy. The openSUSE community is made up of many people including many who work for Novell. The decision to include KDE4.0 was made by the community and particularly the KDE team. There is no evidence that there was a Novell policy that KDE4.0 must be included in openSUSE 11.0. In fact, the descision was delayed until as late as possible when it could be made on technical merit.

KDE4 should not be included until it is ready.

How do you define ready? KDE4.0 is already ready for some users. Whether it is ready for you depends upon what featureset you use. I will not be switching myself until certain features are implemented.

There are good reasons to begin the move to KDE4.0 early.

  • People can move over when KDE4 is ready for them.
  • openSUSE specific tools and integrations can be ported to KDE4 gradually.

So far this process is something like this.

  • openSUSE 10.3 : KDE3 the only prominent option in the installer. KDE4 was available for testing. The openSUSE tools are KDE3 based.
  • openSUSE 11.0 : KDE3 and KDE4 are both prominent options in the installer, with a warning that 4.0 is not mature. Updater applet has been ported to KDE4. YaST has a Qt4 UI.
  • Future : KDE3 may be dropped when KDE4 is good enough to replace KDE3 for the vast majority of users.

The current state of KDE4 migration is available on the wiki

There is no point filing bug reports against KDE4 because the developers know what is wrong with it.

  • Few people will have exactly the same configuration as you, or use the same featureset, so will not run into the same bugs/missing features.
  • Both upstream bug tracker, and the openSUSE bug tracker allow you to search for duplicate bug/enhancement reports before you file. You can find out for yourself whether anyone else has reported your issue.

This argument just seems to be “I’m too lazy to report issues, but quite willing to rant about them instead.”

Including KDE4.0 will lead to bad reviews.

This might happen. However, so far reviewer’s quibbles have been with entirely different issues. In fact there have been several positive reviews of the openSUSE shipped KDE 4.0.

There should be a KDE3.5 installable livecd.

This was not produced as there were insufficient resources to produce and test three installable livecds. Someone can always step up and help produce one.

Summary

  • openSUSE is not forcing people to switch to KDE4. Users can switch to KDE4 when they wish. Both are included on openSUSE 11.0.
  • If you find bugs in or are missing functionality in KDE4 please file bug reports so it can be fixed.
  • If you have an opinion regarding when the timescale for moving to KDE4 you are free to get involved and influence the decisions. You do not have to resort to insulting developers on the mailing lists to be heard, in fact insulting developers so is a good way to ensure that people disregard your opinion.

by Benjamin Weber at June 24, 2008 05:43 PM

Upgrading openSUSE 10.3 -> 11.0 in a running system.

Upgrading openSUSE between releases while the system is running is not a currently supported method of upgrading. The supported method is to boot from an install medium and select the upgrade option. Nevertheless, it is possible to upgrade a running system. This is more difficult than normal with openSUSE 10.3 -> openSUSE 11.0 due to the change in RPM payload format from bz2 -> lzma which makes the RPM in 10.3 unable to install RPMs from 11.0.

Method

  1. Upgrade RPM to the version in 11.0
  2. Install the full package management stack from 11.0
  3. Upgrade all packages.

Stages

The specific steps required to upgrade using the above method may vary from system to system, these are just those that I needed.

  • Disable all the repositories I was using on 10.3.
    mv /etc/zypp/repos.d /etc/zypp/repos.d.old    
  • Delete the repository cache.
    rm /var/cache/zypp/zypp.db        
  • Add the main openSUSE 11.0 repository.
    zypper ar http://download.opensuse.org/distribution/11.0/repo/oss openSUSE110    
  • Install the new RPM from openSUSE 11.0.

On 64bit:

rpm -Uhv 'http://download.opensuse.org/distribution/11.0/repo/oss/suse/x86_64/rpm-4.4.2-199.1.x86_64.rpm'

Or if you are on 32 bit:

rpm -Uhv 'http://download.opensuse.org/distribution/11.0/repo/oss/suse/i586/rpm-4.4.2-199.1.i586.rpm'
  • Install the 11.0 package management stack.
    zypper in zypper    
  • Add the 11.0 version of the nonoss and packman repositories, as I have several packages installed from these.
    zypper ar http://download.opensuse.org/distribution/11.0/repo/non-oss openSUSE110_NonFree
    zypper ar http://packman.iu-bremen.de/suse/11.0/ packman    
  • Upgrade all packages. At this point I had to confirm several package vendor changes and removal of a few obsolete packages.
    zypper ref
    zypper dup    
  • Reboot

Problems

I had only two significant problems after upgrading. Both turned out to be down to my having edited configuration files, so they were not automatically overwritten with the updated configuration files.

  • Networkmanager would immediately disconnect after connecting. This turned out to be down to a stale dhclient configuration file. I solved this with:
    mv ./dhclient.conf.rpmnew ./dhclient.conf    
  • openSUSE updater could not find any backends. This turned out to be down to a stale zypp configuration file. I solved this with:
    mv /etc/zypp/zypp.conf.rpmnew /etc/zypp/zypp.conf    

Since lack of a new configuration files can cause breakage in unexpected places it would be nice to offer users the chance of replacing or merging their configuration file changes, rather than requiring users to know about these files and merge them manually.

by Benjamin Weber at June 24, 2008 12:49 PM

June 23, 2008

Lamby

Strange loops

$ eval $(printf "echo Is this a strange loop\?"; for X in $(seq 13); do printf " | cowsay -%s -n" $(echo bdgpstwy | cut -b$(expr $(dd if=/dev/urandom bs=1k count=1 2>/dev/null | cksum | cut -d' ' -f1) % 7 + 1)); done; echo)

Thanks to Silver and zx64.

by Lamby at June 23, 2008 11:16 PM

June 21, 2008

Lamby

Devon

This weekend I finally picked up my German bow from Devon after it got damaged earlier this year (picture hidden behind this link to protect the squeamish). The repair was done to an amazingly high standard, with the join literally invisible modulo the brass pins on the top.

I stayed with my grandparents, which was delightful as well as educational - I think I’ve located the source of my affection for cats.

Curiously, I think I saw Ian Jackson on the train opposite me on the way back, but I don’t think he recognised me. I should probably wear more Debian t-shirts.

by Lamby at June 21, 2008 04:34 PM

Tim

Recent fixes

Some small victories:

  • You can now install devscripts-el without needing to install elserv, an http server written in emacs lisp and Ruby. (The devscripts-el package provides various useful emacs commands to help with Debian packaging.) This is good, because I don't need Ruby for anything else.
  • It is now possible to use irssi's default theme on terminals with a white background, at least in Debian. I found that in bright sunlight, black-on-white terminals were actually more visible on my laptop screen - but when using IRC, I couldn't see who was using /me any more. Apparently upstream are yet to be convinced of the wisdom of not hardcoding white into their themes.

June 21, 2008 11:38 AM

June 17, 2008

Tim

Library

This evening I visited Rugby Library. Apparently I had not used my Warwickshire library card for 991 days - that was from when I lived in Leamington Spa. It is probably quite a while longer since I last borrowed books from Rugby.

To be honest, I was quite fond of the old Victorian library building. Unfortunately, that one closed in 1997 and was demolished. And I suppose the £5.5m new one looks nicer.

June 17, 2008 06:08 PM

June 13, 2008

Laurence

IPhone, Mobile Safari and JavaScript

I, personally, find it really irritating when a device (like, say, an IPhone) uses a browser (like, say, MobileSafari) which behaves in a contradictory manner (like, say, displaying the contents of <noscript></noscript> tags and running the scripts embedded in the page perfectly). Grrr.
</venting>

by Laurence at June 13, 2008 05:35 PM

Mulletron

David Davis

David Davis’ resignation appears to have caused shockwaves throughout British Politics. He could have stayed in the safe and comfortable position of Shadow Home Secretary, and pushed for his issues when the Conservatives get elected in two years time. Instead he has chosen to gamble.

Their Opinion

People’s reaction to David Davis’ actions seem to be strongly split among those who agree or disagree with his argument.

Jackie Smith, Home Secretary, and Hazel Blears, Communities secretary, when interviewed ignored the issues and just talked about Conservative ‘disarray’, and David Blunkett called it ‘political theatre’. Conservatives who made their opinion know publically seemed to back his decision, this includes David Cameron and Dominic Grieve, the new shadow home secretary.

Civil Liberties campaigning groups, such as NO2ID and Liberty have backed his stand. Newspapers position is consistent with their editorial stand on the issues, for example The Independant is describing him as a ‘Freedom Fighter’, whilst the Sun claims he has “gone stark raving mad”, is “a quitter” and describes it as “Treachery”.

A real Motive?

A lot of people have claimed that this isn’t the real motive for his resignation, but its quite clear that Cameron & Co are backing his move, albeit cautiously. His replacement, Dominic Grieve, takes the same stance as he does on the issues so there will be no change of Conservative Policy, which means there’s no rejection of his views in central office. Whilst I’m sure many Conservatives are pissed off that he taken an action that won’t improve their electoral prospects, I doubt he was being muffled by party policy.

Another assertion, made by both The Sun and The Daily Express, is that this is a politically motived act of treachery towards David Cameron. Its certainly not Cameron’s style of politics. Its hard to see what this gets David Davis politically. He has lost his position as Shadow Home Secretary, and may loose his seat as an MP. The level of risk to his seat is, I believe, quite low – he has a strong majority and liberal democrats won’t be opposing him, but certainly the move from his current position to a back bencher is a long step down. The Sun reconcile the lack of motivation with their cynical claims by asserting that he has gone mad, an unsound argument if ever I heard one.

Opposition

The liberal democrats won’t be standing against him, because they agree with him on the issues. If I were they, I would campaign for him, the only way you can get political advantage out of this is to show that you have a non-partisan principled stand on the issue.

The Labour party haven’t made their decision clear. I would be very surprised if they put a candidate forward, their narrative of these events is one that tries to undermine David Davis at every turn (‘disarray’, ‘theatre’) the most sensible way to continue this approach is to not stand a candidate against him. Furthermore, they are unlikely to win, (at the last general election their candidate placed 3rd with 6,000 votes to David Davis’ 22,000). It would also cost the party campaigning funds that it can ill-afford.

The BNP won’t be running a candidate against him, since they agree with his position, and UKIP don’t know what they are doing. Unsurprising for a party who published its manifesto for the 2005 General Election with a typo in the headline of its first page. Even worse than one of my blog entries!

Kelvin Mackenzie, former editor of the Sun, has said he will stand. This is the first time that Rupert Murdoch has directly pushed his own candidate, instead of backing existing parties. Quote of the week: “The Sun has always been very up for 42 days and perhaps even 420 days.” Since he will have financial support from Mr. Murdoch its highly likely that he will have a funding advantage. This entirely suits Mr. Davis, since it will result in a debate, it also suits the Labour party since they have someone to fight their battles. I doubt Mr. Mackenzie will win, since I find it impossible to believe that anyone could like an editor of a tabloid newspaper.

Observations

Don’t believe the ‘cost to the tax payer’ argument: the total cost of a by-election according to the BBC is £2000. The cost to political parties is far greater.

Whilst there are clear negative effects on the Conservative party, people are completely ignoring the positive effects: no news about nannygate! This is a far more interesting story than the alleged corruption of the Conservative Party Chairman, whilst the corruption story is potentially more damaging. The real concern people have here is the risk factor.

For years people have called on politicians to take actions that are nonpartisan, based on principle, and creative. This is certainly creative, due to its unprecedented nature, as already established this is based on principle and its clearly not a partisan act – the man is operating off his own bat. If there is a rejection of this action by the British public I can only conclude one thing: that they are more hypocritical and two faced than the politicians.

by Richard Warburton at June 13, 2008 09:31 AM

June 12, 2008

Alp

WebKit Meta: A new standard for in-game web content

Over the last few months, our browser team at Nuanti Ltd. has been developing Meta, a brand new WebKit port suited to embedding in OpenGL and 3D applications. The work is being driven by Linden Lab, who are eagerly investigating WebKit for use in Second Life.

While producing Meta we’ve paid great attention to resolving the technical and practical limitations encountered with other web content engines.


uBrowser running with the WebKit Meta engine

High performance, low resource usage

Meta is built around WebKit, the same engine used in web browsers like Safari and Epiphany, and features some of the fastest content rendering around as well as nippy JavaScript execution with the state of the art SquirrelFish VM. The JavaScript SDK is available independently of the web renderer for sandboxed client-side game scripting and automation.

It’s also highly scalable. Some applications may need only a single browser context but virtual worlds often need to support hundreds of web views or more, each with active content. To optimize for this use case, we’ve cut down resource usage to an absolute minimum and tuned performance across the board.

Stable, easy to use cross-platform SDK

Meta features a single, rock-solid API that works identically on all supported platforms including Windows, OS X and Linux. The SDK is tailored specifically to embedding and allows tight integration (shared main loop or operation in a separate rendering thread, for example) and hooks to permit seamless visual integration and extension. There is no global setup or initialization and the number of views can be adjusted dynamically to meet resource constraints.

Minimal dependencies

Meta doesn’t need to use a conventional UI toolkit and doesn’t need any access to the underlying windowing system or the user’s filesystem to do its job, so we’ve done away with these concepts almost entirely. It adds only a few megabytes to the overall redistributable application’s installed footprint and won’t interfere with any pre-installed web browsers on the user’s machine.

Open Source, no licensing fees

In the short term, we’ll be maintaining Meta in a public branch and putting out SDK builds, demo applications and developer documentation. Nuanti will be offering commercial and community support and is anticipating involvement from the gaming industry and homebrew programmers.

In the mid term, we’ll submit Meta as an official component of the WebKit Open Source project, where our developers are already actively involved in maintaining various subsystems.

Find out more

Today we’re launching meta.nuanti.com and two mailing lists to get developers talking. We’re looking to make this site a focal point for embedders, choc-full of technical details, code samples and other resources.

by alp at June 12, 2008 09:35 AM

June 11, 2008

Blood God

Retailer Customer Service

Having read Lamby’s blog posting about his troubles with Aria I was reminded of my own similar trouble with eBuyer. This got me thinking about how everyone seems to have had trouble with at least one online retailer’s customer service, and every online retailer that I can think of has someone who’s had trouble with them. Obviously some are worse experiences than others (ranging from Lamby’s case to “they took an hour to answer the phone”) but there’s something in common for all of these cases; they screwed up in the first place.

As a result I’m wondering if it’s worthwhile putting the customer service issue on the back burner to the chances of them screwing up. Afterall, if they don’t screw up you won’t have to deal with the (quite likely) atrocious customer service department…

Taking this further it’s also worth noting that, if the error was with packing or something (as mine was), that the same people who made that error will inevitably end up in the chain for the solution. Hardly ideal, as the chances are possible that they’ll screw up again. Of course, this alone isn’t the best yard stick, but it might just be worthwhile taking it into account.

by Chris Hawley at June 11, 2008 06:37 PM

Lamby

Do not purchase goods or services from Aria Technology Ltd.

After six months of sending approximately one email a week to this company, I finally received my replacement item today.

The vast majority of my queries went unanswered, and the responses I did receive were either blatant copy pasta, or requested details I had purposefully laid out in my exposition. Such gross incompetence clearly wasn’t the £5 I saved, so at least I learnt something.

Avoid.

by Lamby at June 11, 2008 05:26 PM

June 10, 2008

Mulletron

Benchmarks

I was playing around with scimark 2 this evening, and its vaguely interesting.  Over the last few years I've noticed some terrible benchmarks lying around online, but scimark seems to have gotten some things right.  Its identified what its laying performance claims about (sequential scientific computing) and implemented common algorithms to benchmark.  Unfortunately their code seems a little too amenable to optimisation.  There's no crazy control flow, or methods that are hard to inline, etc.  I suppose this is more the preserve of things like Spec Java business stuff, but still.

I decided to benchmark the scimark stuff in various forms, the numbers reform to claimed performance in MFlops.


sun-java6 -server sun-java6 -client GCC GCC -O3 Mono
Compsite 607.575 385.856 232.89 553.56 209.29
FFT 379.183 301.043 146.82 467.62 75.15
SOR 788.766 596.027 497.92 602.17 589.72
Monte Carlo 206.568 73.7055 49.9 79.89 6.96
Spare Matrix 444.312 386.757 204.16 639.38 200.97
LU 1219.05 571.748 265.63 978.73 173.65

GCC is version 4.3, Java is 1.6.0_06 and Mono is 1.9.1, all are using the packages from debian unstable.

I wouldn't draw too many conclusions from these benchmarks, since they probably aren't representative of anything many people are doing, just vaguely interesting to see how they panned out.  Its probably worth having a look at which jvm options hit performance here, or comparing the assembly output by hotspot with that of GCC at some point in time.  The implementation for c# that I found seemed to be a direct translation of the Java source, I have no idea if that is a sensible approach from a performance point of view.

by Richard Warburton at June 10, 2008 10:28 PM

Tim

It's all very technical, you know...

Increasingly I am asked how things are going at work. Unfortunately, I struggle to give a meaningful answer in conversations with "normal" people - I don't know how to begin to explain that this afternoon I set up a pbuilder environment that lets me build Debian packages for our customised etch-with-backports i386 distribution using my amd64 machine running Debian sid. Or that this morning I ran into some interesting problems with dpkg-shlibdeps and symbol versioning in lenny when trying to downgrade some dependencies to 'Suggests'. "Er, yeah, it's going fine."

One recent big project has been a real bonus in this regard, because I can explain it even to the hairdresser - it's "like a mobile phone that you can put in your computer". Fantastic. "And we do the software that runs it." Everyone can understand that. "We make it talk to the internet." No way! You're so cool, Tim, tell me more.

What else do I do? "Well, sometimes I filter people's email and web traffic for spam and viruses. And sometimes I make databases run faster. And sometimes we set up systems that monitor other systems." But phone calls are the best.

June 10, 2008 09:02 PM

June 09, 2008

Mulletron

Talks

Last week I gave a talk on Virtual Machines (their architecture, intermediate representation and JIT Compiler techniques) at the language club. I’ve finally got round to updating my talks/publications list on my website as a result, which now includes that talk, and past talks at the GNU/Linux user group as well as research related work.

by Richard Warburton at June 09, 2008 11:36 AM

June 08, 2008

Fred

End of exams

Due to having finished my exams, I now have temporary freedom - so far this has led to:

  • Slamd64 12.1 is pretty much ready - there's a few bugs left on the bugtracker, but they should be fixed before release, and there's nothing major there
  • Watching all the Star Trek movies
  • Started on the original series
  • Fixed a few small issues with YANIHP on OSX, so, now, YANIHP works on all 3 major platforms:
YANIHP on Vista, OSX, and Linux

To restate: YANIHP is a Qt 4.4-based media player (which also depends on taglib), with no kdelibs dependency, and now is truly cross-platform. The latest code is available via gitweb and git.

by Frederick Emmott at June 08, 2008 03:55 PM

June 06, 2008

Laurence

/usr/bin/env

The first thing I do whenever I start a script is to add the #! line. When writing Python I have always written ‘#!/usr/bin/env python’ and when writing Perl ‘#!/use/bin/perl’. I suspect this stems from using systems where it was commonplace to have multiple versions of Python installed (at the time, 2.3 and 2.4) but only a single version of Perl (5.8.8).

This has always worked fine for me because 90% of the time there is only one version of Perl, and it(or a link to it) is at /usr/bin/perl. I discovered today, however, a situation where there are multiple versions of Perl and the one I want is not at /usr/bin/perl.

I recently purchased a 12" PowerBook running OSX 10.5. I needed some development libraries installed and MacPorts seemed to offer the quickest, easiest and most maintainable route to install them. So I installed the libraries I needed and one of them pulled in the MacPorts version of Perl. I then spent the next 30 minutes, or so, trying to figure out why my script would not run but manually invoking the parts causing it to fail with ‘perl -e’ worked fine. It turned out (as you have probably guessed by now) that my script had a #! line using /usr/bin/perl (the OS provided version) whilst `perl` was using /opt/local/bin/perl (the MacPorts version) due to path precedence. Changing the #! line to ‘#!/usr/bin/env perl’ made the script run properly.

Powered by Bleezer

by Laurence at June 06, 2008 02:06 PM

June 04, 2008

Tim

Free software, fix it

Another potential response to online complaints about free software is "FSFI", meaning "It's free software, fix it". This is the next level up from asking someone to link to their bug report - it places the sole responsibility for fixing the bug onto the shoulders of those who complain. Sometimes this can be reasonable - but expecting every user to be able to fix every problem themselves is not.

There was a link today on LWN to an article claiming that it is strictly the software which is free, not the users - the users must abide by the restrictions of the licence, so cannot distribute proprietary derivatives, for instance. I would have claimed exactly the opposite; software does not have a will that can be frustrated. It is the users of proprietary software who are not free to study, to improve, to share. The term "free software" misleads in this respect; the ethics are all about what the users can or cannot do. On the other hand, we might reasonably talk about a "free society", and would understand that its citizens were free as well.

The "copyleft" terms in some licences are therefore a matter of some debate - they limit what the user can legally do with the software. In this ethical framework, the right of one user to restrict the ability of other users to use, modify and share software is comparable to their right to shout "Fire!" in a crowded theatre. This philosophical question goes back to Mill's On Liberty and probably before - according to the "harm principle", the only justifiable use of the law is in preventing someone from causing harm to others. We do not generally think of societies which outlaw murder, say, to be less free.

Often people think of the LGPL as not being a "copyleft" licence, but this is not the case. In all cases the distributor has to provide the source to their modified or unmodified version of the software. There are in fact restrictions on the licences that you can link against - the end user must be free to make local modifications, and have the right to debug those modifications. It would be best described as a "weak copyleft" - a combined work can be distributed under different terms, but the rights of the user with respect to the LGPL-licensed work are protected.

With both societies and software, you are free to fix your own problems. Sometimes this is more of a burden than a blessing - but usually you do not have to do it alone.

June 04, 2008 06:59 PM

June 03, 2008

Lamby

Free concert Thursday

If anyone is interested and on campus on Thursday there is a gratis short concert in the Ensemble Room.

Yours truly playing will be performing Mozart’s Piano Trio in G K. 564 (1788) and Debussy’s Piano Trio in G minor (1880) with Melvyn and Cindy.

Although timetabled to start at 1:10pm, seats fill up rather quickly. Directions.

by Lamby at June 03, 2008 11:07 PM

Tim

June 01, 2008

Tim

aMSN sound with PulseAudio

Following my awesome coding on Pidgin yesterday, my brother has switched to aMSN.

I had let slip at some point that his laptop's webcam would probably work with aMSN. The drivers themselves are included with the Ubuntu kernels, so that has never been a problem; however, because of some abstraction problems with Pidgin, there is still no webcam support with the MSN protocol. It almost worked with aMSN out of the box, but I had to open a port in the firewall to let people connect to him. (This is probably going to stop working when he's not in Derby, then.) Next, aMSN appears to only have OSS sound support, so I had to modify the Ubuntu menu entries to use the PulseAudio 'padsp' wrapper. This lets you record and play sounds, but the aMSN developers have not implemented continuous voice streaming yet, I think.

For the record, I don't like aMSN's UI either.

June 01, 2008 01:52 PM

May 31, 2008

Lamby

Debconf8

Due to a number of personal reasons, I won’t be attended Debconf8 in Argentina.

I have removed myself from my (rather undeserved) high place in the sponsorship queue.

by Lamby at May 31, 2008 02:42 PM

Tim

Pidgin 'Open Mail' bug

At the request of my brother, looked at Pidgin's mail notification dialog this evening. The Ubuntu package takes ages to build, unfortunately. The reported bug was that the 'Open Mail' button didn't work - looking at it, it's possible to select the mail you want to open on some services now, but by default nothing is selected. There's some code to desensitize the button in that case, but the initial state isn't set. My preferred patch would be to use GTK_SELECTION_BROWSE and some code to ensure that an email is always selected... I hacked together something that works for MSN, at least. It's short enough that it might not have too many serious bugs.

I'm still not a big fan of Pidgin's UI design choices, I suppose. Perhaps one day IM will be built into the desktop and I won't have to worry.

May 31, 2008 01:31 AM

May 23, 2008

Blood God

Indiana Jones…

… and the Sequel Too Many.

Well, maybe not - that title probably got ditched in the early phases of planning. Either way, yesterday I went to see the fourth Indiana Jones film (Kingdom of the Crystal Skull) and to be honest it wasn’t great.

It’s 19 years since Indy and his whip last got an outing, and Harrison Ford hasn’t aged too well in the mean time. He really looks old now, and as a result has been given a teenage sidekick for this film… not fantastic in my opinion

Now I’m not going to go into this too much, as I’m aware people will still want to see it, but there were moments of the film that made me go “wha… why?”. Sure, there were also moments that made me smile, and some that were exactly what I was expecting from an Indy film. Unfortunately there was also an over-abundance of CGI and where the previous films might have had some silly moments, this one took the entire pack of biscuits.

All in all it’s not great, and I’m hoping that they don’t make another one. Please. Stop screwing with my childhood film watching; you’ve already got to the Blues Brothers before this… and don’t even think about Back to the Future.

by Chris Hawley at May 23, 2008 05:00 PM

Mulletron

Oil!

Recently Oil prices reached a high of $135/barrel, this appears to have caused consternation amongst many. Gordon Brown has noted this as a problem when reflecting on his loss in Crewe and Nantwich, whilst it cropped up in this week’s Question Time. , that also contained the ever-annoying Hazel Blears.

There are many proposed solutions here – hybrid cars, more fuel efficient cars, better public transport. These all reduce the amount of fuel consumed by the economy. The ever-annoying Hazel Blears argued that we should seek to increase supply – newer fuel reserves. Whilst it is obvious that rising fuel prices, will make utilizing more expensive fields profitable, and thus actioned, as a government strategy this isn’t viable.

Firstly because fossil fuels are an inherently finite resource – they will run out, so this strategy is only ever going to work in the short term. On a more practical note, many scientists seem skeptical about the viability of further north sea exploration. Apparently we gave most of the oil to the Norwegians when drawing the borders.

Unfortunately many ignorant talking heads appear to have taken it upon themselves to propose a tax decrease. This, again, is a short term solution – tax decreases, so the cost of fuel decreases, demand increases, so the price increases. This would encourage exploration – due to the long term price rise, but either way it encourages increased consumption – so the fuel reserves run out sooner. After the immediate gain, we loose out in the long run.

There is another alternative for improvement. It involves a fantastic piece of technology. Its very cheap. By consuming less fuel it also reduces environmental problems. Additionally its healthy for you (though not as much as people think). My suggestion is …

BUY A BIKE

Overwhelming people’s transport options can be fulfilled by cycling – very few people in the UK travel long distance as part of their daily journeys, many of those who do can get their fuel costs subsidized by their business (e.g. sales Reps, road haulage), most of our journeys consist of urban driving. These needs can nearly always be fulfilled by bicycling.

I don’t know how to ride a bike (I never learnt whilst a child) and I’m almost sorry that this isn’t more of a stigma. Does this make me a hypocrit? Of course not … I walk to work.

by Richard Warburton at May 23, 2008 10:49 AM

May 20, 2008

Blood God

Post Training Holiday

So, the training I’ve been doing at work has now finished and I’m at the start of my week off. This is the first time I’ve had off work since Christmas, and having been working the silly hours I was working on the project it’s somewhat strange.

Don’t get me wrong, I’m quite glad for the opportunity to relax and do next to nothing - it’s just somewhat of a shock to the system. I’m used to getting up early (and my body still hasn’t adjusted to the fact that I don’t have to) and then having to go to work, not getting up and pottering around the flat for however long I feel like. I guess part of me still wants to be in work, as I still have a strange urge to check my mail there.

Still, in a week I start with my new team in European Trading Renovation and I’m quite looking forward to it. In the meantime, I suppose I may as well put my feet up and relax.

by Chris Hawley at May 20, 2008 05:00 PM

May 17, 2008

Tim

IDE

Who needs eclipse?

Emacs

May 17, 2008 06:55 PM

May 14, 2008

Covbob

O hai, I posted

Zomg, 9 months since my last post.

We're getting ready to move out of this house now. In a few weeks we will be moving into what is currently HoDA in Stivichall. The ex-occupants are moving on in their various ways, finally scattering the members of Hogfather to the four winds.

I'm now the proud owner of an 88" Series 3 Land Rover, diesel, 1979. Once I've ironed out a few problems she'll be fine. She's a lot of fun to drive and certainly turns heads wherever I go.

Pendragon is now working for BGL Group Ltd as an admin assistant in their bike insurance place. I'm unemployed following being laid off by ITS and a disatrous stint at a small-time support firm.

It's funny how life repeats itself. Reading the first entries in my blog, I used to spend all night awake, all day asleep. I used a Linux box for most things and IRC was my life. The other night I resurrected Albert after a year asleep, and use him as an IRC/surfing/pad box. It's just like old times.

I've just been for a run. Hopefully I should get tired soon and sleep a bit. Tomorrow I shall blog about jobs and perhaps moofle about other randomness.

May 14, 2008 12:43 AM

May 10, 2008

Mulletron

Clinton Out!

After Obama destroyed Clinton’s last chances of taking the popular vote or pledged delegates in Indiana and North Carolina – the knives were out in the American press. It had gone beyond any sort of reasonable analysis and had entered the realm of pop-culture references. For example Politico described her campaign strategy as the Death Star, whilst Huff Post went the more personal “EVERYONE BUT HILLARY KNOWS IT”, and CBS implies her campaign should be euthenized.

Clearly She can see the light at the end of the tunnel – but doesn’t know its the train thats coming to run her over. Anyhow, rumour mill suggests that Obama is going to claim victory on May 20th – so it’ll be interested to see if she intend to push it beyond then, or call it quits.

by Richard Warburton at May 10, 2008 02:11 AM

May 07, 2008

Blood God

Working From Home

As mentioned previously I spent a lot of this last weekend working, some of it from home. This is the first time that I’ve really spent time working when not in the office, and I’m sure it won’t be the last.

Working from home is an interesting experience for a number of reasons. The most obvious is the difference in surroundings, which brings about a whole different mindset. I found that it was a lot more relaxed working at home, and despite the distractions (such as the xbox and my DVD collection) remarkably productive. Perhaps this was because of the lack of other distractions (workmates asking me questions), or perhaps it’s just because I knew I needed to get stuff done.

Due to my desktop being hooked up to my TV, I actually decided to use my EeePC as the thinclient through which I would remote desktop into my machine in the office. This works remarkably well, especially once an external monitor and keyboard are connected, as I’ve just plugged in the Eee, removed the battery, and have a near-silent machine to use for work.

Unfortunately remote desktop, especially over Citrix, isn’t the best thing in the world; especially not for programming. A number of issues seem to be prevalent, especially with modifier keys such as shift. This doesn’t make things particularly easy, although I am getting used to using caps-lock again for writing things where capital letters are required. The latency on the connection isn’t always great either, with a noticeable lag between hitting a key and it appearing on the screen.

Of course being in the office has the advantage that you can more easily communicate with the people you are working with. Sure, I may have listed the lack of distraction from them as an advantage above, but there’s a bigger one in being able to quickly chat with someone and draw a diagram on a bit of paper - as opposed to either trying to describe it over the phone, or find some software to sketch it out on the PC with.

All in all, being able to work from home is a fantastic tool - especially in IT where things can go wrong at any time of night, and getting into the office might not be so easy. Of course, I’m hoping that that I won’t have to do that any time soon, but it’s always a useful ability to have. Admittedly living twenty minutes from the office