Older blog entries for broonie (starting at number 81)

Let’s hope people can make this work

The new PS3 firmware has an iPlayer client with fullscreen support. It’s not quite broadcast SD quality, never mind HD, but that’s a fairly straightforward problem to resolve and sitting using it last night I couldn’t help but think that this is exactly how TV should work. Full TV screen, on demand and a good UI.

It’d be nice if it were free software (but again, not the most complex problem). More of an issue are the political and licensing issues that mean it’s BBC only for the forseeable future.

Syndicated 2009-09-06 20:16:41 from Technicalities

Chasing patches into Linux

One thing that often seems to cause problems for people who work over many different areas of the Linux kernel is the process of making sure that patches actually get reviewed and applied. Where the relevant subsystem is actively maintained it’s not a problem but that’s not always the case. Sometimes maintainers are busy or on holiday and miss things, sometimes there are other problems. In these cases the onus is on the patch submitter to spot the problem and make sure that something is done to ensure that the patch doesn’t get forgotten.

There’s a few  workflows for dealing with this. My preferred one is to track the appearance of my patches in Stephen Rothwell’s linux-next tree, which tracks individual development trees destined for merge into Linus’ tree. I create a git branch based on the current state of this tree then apply the patches I’m submitting on top of that. This lets me spot any potential merge conflicts that they’ll create but the main function is to allow me to come back to the branch later and track which of the patches has shown up in one of the trees that Stephen tracks. To do this I rebase the branch onto the current state of linux-next:

git rebase --onto next/master old-master

where ‘old-master’ is the last linux-next commit in the branch. This will flag up any merge issues that have come up due to changes in other trees and will also handle patches that are already present in one of the trees in -next by dropping my local version. The end result is a branch based on the new linux-next with all the patches that were not yet applied in it. I can see what still needs to be looked at by examining the log

git shortlog next/master..

and take any appropriate action, such as following up with the relevant maintainer or trying to find out what’s going on with the subsytem if it looks like the subsystem maintainers are inactive.

One possible problem with this approach is that a patch may be applied and then subsequently dropped – this is rare but it can happen. I deal with that by also keeping a normal unrebased development branch whch has the changes in Linus’ tree merged  into it periodically and incremental patches for any review updates that occur during the submission process. By looking at the diff between that and other trees I can see any changes that have got lost along the way.

Syndicated 2009-09-05 17:58:11 from Technicalities

In-kernel audio mixing

Ever since PulseAudio started to be deployed by distributions the most common complaint I’ve seen about ALSA is that unlike current versions of OSS it doesn’t provide mixing of audio from multiple applications inside the kernel. Of course what it really comes down to is that people want the system to transparently allow multiple applications to play audio simultaneously.

The reason ALSA does things the way it does is that the ALSA APIs that applications interact with are actually implemented by a library. This library provides a plugin based way of defining sound cards, one of the options for which is that the audio can be routed to or from some hardware, but sound can also be routed to other places like networked speakers. This architecture also allows plugins to provide signal processing – mixing is the example most people notice but things like soft volume controls (not all sound hardware provides volume control) or EQ are also possible.

This could all be implemented in kernel space but there’s some serious drawbacks in doing so. There are some substantial restrictions on what kernel space code is allowed to do, one of the most relevant being the fact that floating point instructions can’t be used. It’s harder to develop kernel code, if for no other reason than the fact that kernel code can crash the system. The main benefit that people expect from pushing things into the kernel is performance but with the facilities available in Linux there’s no real reason why performance would be better with a kernel mode implementation, kernel and user threads are both scheduled together and shared memory is available.

So why are people running into issues with PulseAudio? Obviously some of them are just bugs in PulseAudio – the much wider deployment that cones with being used as standard in distributions means much wider testing – but that’s not all of it, especially now PulseAudio has been in distributions for a while. The other major source of issues is that due to the need to adapt to the different needs of the applications that it is mixing together PulseAudio is a very demanding user of drivers. This means that switching to PulseAudio can expose bugs in the drivers, often bugs that have existed for years. There’s a natural tendency to blame PluseAudio when this happens but the fixes that are needed are in the drivers.

None of this is terribly helpful if you’ve been bitten by one of the bugs of course, but hopefully it goes some way towards explaining why this implementation has been chosen and why there have been problems.

Syndicated 2009-08-15 17:31:16 from Technicalities

Full quoting

There’s a long standing idea tha one should make an effort to trim out text from the original which is not germane to the new content in your reply. This is not just a bandwidth thing, it’s also about decreasing the effort required for the readers to parse the message – to locate the new text and refresh their memory of the relevant bits of the conversation. Unfortunately it seems that more and more people aren’t doing the cutting.

This causes issues for me mainly because I do a reasonable amount of my mail reading using my phone. It’s no fun wading through pages of diff on an undersized screen such as a mobile phone when the “content” you’re looking for is a one line comment somewhere in the middle. Even on a full size screen it’s often difficult to locate a small piece of new text, but there it needs a much bigger haystack to be an issue.

Please, if you’re one of the people who do this have pity on those of us Reading your messages on smaller devices!

Syndicated 2009-07-30 22:42:48 from Technicalities

The Corner

I recently finished David Simon and Ed Burns’ book The Corner, a piece of extended reporting about life around a Baltimore drug corner. There’s one thing about the way they write it which really gets me: every so often they’ll have a section explaining the absurdity of the situation they’ve been talking about, how futile it is. That’s all fairly run of the mill for this sort of investigative journalism. What lifts these sections in The Corner is that they then carry on drilling down, look at the alternatives, the other ways the people involved could act, and all too frequently conclude that crazy as the situation they’ve just described may be it’s one of the better possible outcomes. Letting children pass classes they clearly shouldn’t as a matter of routine may make a mockery of having exams but if there’s nothing to do other than advance them to the next year or keeping them back to disrupt the children the year below them then passing them is possibly the lesser evil.

Syndicated 2009-07-19 21:41:39 from Technicalities

EIFF 2009

The Edinburgh Film Festival finished a couple of weeks ago. As ever, I went along and saw a bunch of films and stage interviews. The programme had been a little disappointing, mostly due to feeling a little constricted – some things that are usually present were dropped (Mirrorball being the most obvious example) and the late night movies weren’t very late night, starting about 10:30 for the most part. That said, it was a lot of fun – I was more successful than normal in avoiding duds and there were several things that really stood out.

Two films I saw early on that really stood out were Moon and Exam, two low budget indie science fiction films. Moon has had an awful lot of publicity already so I won’t repeat what other people have said about it. Exam is a very tight, taut thriller – eight people in a room in the final test of a long interview process, one of whom will get the job. Both films looked great – a testament to how affordable good CGI has become. I’ll be interested to see what follows them now there’s some examples of low budget SF out there, and I’m not sure what to make of the fact that both of the films were British.

Pontypool was also excellent, a zombie movie about the dangers, or possibily salvation, of talk radio. If you see it (which you should) make sure you stay for the end of the credits.

Also good was Modern Love is Automatic. It’s a low budget indie flick which reminded me an awful lot of The Unbelievable Truth partly in terms of visual design but more in the way it decided to just jump off and handle things in a totally non-naturalistic fashion. It’s a really tricky thing to pull off without looking like you just don’t care about the audience (witness a lot of “experimental” films) but it’s very impressive when it works and it worked here.

On the down side Dario Argento’s Giallo had the audience laughing, and I’m fairly sure it was an at laugh rather than a with laugh. There came a point in the film where it felt like they’d just run out of enthusiasm for the whole thing and were just throwing anything on the screen to tie up the loose ends. Very disappointing at a film festival. That was the only real blip, though – overall it was good though there was cost cutting in evidence.

Syndicated 2009-07-11 19:47:01 from Technicalities

Chrome is getting a Linux installer

Looks like Chrome is going to get a Linux installer like people have been asking for. Might be overkill, though.

Syndicated 2009-07-08 09:20:24 from Technicalities

GMail UI issues

I read a lot of e-mail, mostly for Linux related purposes. Normally people use well behaved e-mail clients and everything is presented in a fairly standard fashion but there’s some that often stick out like a sore thumb.

The obvious one is Outlook, which has well known idiosyncracies but which some companies force their employees to use even for free software work. The  other is GMail. GMail has two problems. One is that the UI appears to encourage people to insert their text into the middle of messages without deleting any context. This makes it hard to notice the new content in big e-mail threads or when someone’s commenting on large patches – searching for the new text is like looking for a needle in a haystack. That said, this is at least partly a user issue – many people manage to use GMail without doing this, it’s just that the GMail UI seems to encourage it more than most other UIs.

The other thing is is that it’s recently decided to format the author information for quoted text in a very odd way:

On Sun, Jun 14, 2009 at 11:00 PM, Mark
Brown<broonie@opensource.wolfsonmicro.com> wrote:

What’s happened is that it’s decided to remove the space between the author name and the e-mail address. This causes a very odd word wrapping on the very first line of the message and is really noticable when you’re reading. I’m not sure what inspired that change, there doesn’t seem to be any motivation for it, but it doesn’t seem terribly helpful.

Syndicated 2009-06-21 10:48:37 from Technicalities

Stuck on hold

Being stuck listening to hold music for an extended period is annoying. What’s even more annoying for me is when the IVR system regularly interrupts the hold music with a voice announcement, often telling you something enormously useful like pointing out that you’re on hold. Music I find easy to zone out without paying too much attention to but whenever you get a voice announcement it demands a bit more attention - at least until you’ve worked out that it’s not actually a human yet.

Syndicated 2009-06-11 09:23:06 from Technicalities

ASoC changes in 2.6.30

Linux 2.6.30 was released today. This has been a fairly quiet release from the ASoC point of view with no substantial API changes for drivers but there’s a few new interfaces which people may find helpful. Highlights include:

  • A simple wrapper for the standard ALSA jack detection interface. This helps makes jacks a bit easier to use in a multi-component system, providing a framework for using multiple jack detection methods on a single jack (eg, for both headphone and microphone) and automatic integration with DAPM, allowing output paths to be powered up only when a jack is present. See sound/soc/soc-jack.c.
  • A new SND_SOC_DAPM_PIN_SWITCH helper for machines exposing control of DAPM pins to user applications.
  • More conversion of ASoC CODEC drivers to use the new device model integrated driver registration methods.
  • TI DaVinci support now works in mainline, no out of tree patches are required for the DMA code.

plus a selection of new drivers and enhancements to existing drivers..

Syndicated 2009-06-10 08:31:00 from Technicalities

72 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!