February 09, 2010

Zeeshan AliFOSDEM fun

(Zeeshan Ali) Just like the last 2 years, I joined the FOSDEM fun. Just like every year there were lots of awesome beers, chocolates, waffles and of course conference full of awesome hackers from all over the world & their awesome talks. In short, the same old 'awesome' experience. Also I finally got to meet Jens George (phako) in person. Another thing that went it a totally unusual (and unexpected) direction was my home directory. Here is how it went:

Early Sunday morning (8:00) my alarm goes off to wake me up in time for my 10:15 am talk. I manage to get up after half an hour of snoozing the alarm, get ready (including getting a shower out of almost non-functional shower), back-up my slides on USB stick and manage to get to the conference room 10 minutes before the talk along with my room-mates, Marc-Andre and Juerg. Failed to get anything to eat or even a cup of coffee before that.

I open-up the lid of my laptop to find out that it won't be able to wake-up from suspend. No problems, happens all the time even since I moved to Ubuntu so I apply the usual solution: Forced reboot. When the system boots I get into another issues that I had been having ever since I moved to Ubuntu: Soon after I provide the password for my encrypted partition (home and swap), I am told that home partition could not be mounted. No problems, I again apply the usual solution: Hit escape key to get to a root shell, where I do this:


# cryptsetup remove home
# cryptsetup create home /dev/sda6
Enter passphrase:
# mount /home


Normally, at this point I just hit CTRL+d and normal boot sequence resumes and everyone on the laptop lives happily ever after. However, this time thats not what happens. `mount` says:


mount: wrong fs type, bad option, bad superblock on /dev/mapper/home,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so


This has also happened before but usually this means I mistyped the password and I just have to repeat the above procedure. However, after trying several times, I keep getting the same message. I give-up and lend Marc-Andre's laptop for the slides show. After the presentation, I tried everything and asked everyone I knew who might have any clues but no help came.

Since I get the same questions each time I tell this story to anyone, I thought I append this blog entry by an FAQ:

Q: Why on earth are you encrypting your partitions:
A: Nokia security policy.

Q: What makes you so sure that you haven't just forgotten the password.
A: Because I keep the exact same password for both the partitions and I am able to successfully decrypt one of them.

Q: Have you tried looking at `dmesg | tail`?
A: Yes, nothing in there.

Q: Have you tried fsck?
A: Yes, that can't make any sense out of the "unencrypted" block device either. Because of this, I suspect something is wrong on the actual (encrypted) device, which fsck can not help with.

February 09, 2010 12:10 PM

February 08, 2010

Aaron BockoverBanshee + GNOME 3.0

(Aaron Bockover)

The GNOME logo I spent a little time this weekend doing one of the things I've wanted to do for years - eradicate one of the oldest files in Banshee: banshee-dialogs.glade.

The vast majority of Banshee's UI is custom widgetry that is laid out dynamically at runtime. The main window and the preferences dialog hasn't been restricted by Glade for a couple of years, but all the other dialogs were defined in part in Glade:

  • Open Location
  • Seek To
  • Import Media
  • Smart Playlist Editor
  • Error list dialog (very unlikely anyone has ever seen this)
  • Last.FM Station Editor

These were all fairly simple dialogs in Glade -- mostly consisting of a table, some static labels, and placeholders to pack in custom widgets at runtime (e.g. the import source combo box in the Import Media dialog, or the actual query builder UI packed in the Smart Playlist Editor dialog).

Old Banshee Glade Dialogs
Old Banshee Glade Dialogs

These are now fully defined in code, allowing the dialogs to derive directly from BansheeDialog, which provides extra common functionality for dialogs on top of Gtk.Dialog.

The big take-away here is no longer depending on the deprecated libglade/glade-sharp libraries (well, almost -- later this week Gabriel will port Muinshee -- an alternative Banshee client in the image of Muine, but not a core component). Additionally, I removed our dependency on libgnome/gnome-sharp, which is also deprecated.

This means that Banshee 1.5.4 will be GNOME 3.0 ready. The last thing to do is implement a udev hardware backend. We already have partial DeviceKit support, and GIO support. However, we don't take a hard dependency on HAL. The removal of the last Glade file represents the eradication of any hard obsolete GNOME 2.0 dependencies. Exciting!

As a quick aside: what was really nice about the porting from Glade to C# was the use of C# 3.0 features - specifically type inference and object initializers. This permits interface construction using a more terse syntax than available in C# 2.0, yielding improved readability and organization. For instance:

    var table = new Table (2, 2, false) {
        RowSpacing = 12,
        ColumnSpacing = 6
    };

    table.Attach (new Label () {
            Text = Catalog.GetString ("Station _Type:"),
            UseUnderline = true,
            Xalign = 0.0f
        }, 0, 1, 0, 1, AttachOptions.Fill, AttachOptions.Shrink, 0, 0);

Bring it on, GNOME 3.0. We are ready!

by Aaron Bockover at February 08, 2010 07:32 PM

February 05, 2010

Felipe Contreraspecan


John Bailey from the Pidgin team decided to post some raw numbers of their bug tracker in which is clear their MSN component is lacking some love. He even goes further into excusing their neglect: “Our time is a precious resource, and in many cases we simply have better things to do”. His post ends up accepting that they need help; IOW MSN is currently under-maintained.

However I think the situation is even worst than that; not only MSN has more bugs open than other protocols; the ones that have been closed haven’t actually been fixed. I took some time to generate some hard numbers and the results are undeniable.

Pidgin

Here’s a graph showing the status of all the bugs:

MSN bugs in pidgin

Pidgin bugs

Notice the huge amount of bugs that have been automatically closed. This means it’s not clear what happened to the bug. One possibility is that the bugs are still present.

The only bugs that we actually know have been fixed are: ‘fixed’ and ‘out of date’. The ones we know are not fixed are: ‘cantfix’, ‘wontfix’, and ‘worksforme’. I will also include ‘autoclose’ because although we don’t know if the bug is still present, we know it wasn’t verified as fixed. ‘duplicate’ and ‘invalid’ should stay out of the picture because for all purposes they are not valid.

If we take this into consideration then 24% were fixed, and 25% not fixed, so there you go; there are more bugs closed as not fixed than fixed.

Why aren’t the Pidgin developers worried about this? Well, most probably they are not even aware of these numbers because their tracker doesn’t provide them. I had to manually download the web page of each one of the MSN bugs, and then parse the changes for resolution, and if the bug was automatically closed or not (automatically closed bugs are not marked in any way).

Add the bug tracker to another component of Pidgin that needs some work.

msn-pecan

Here’s the graph for msn-pecan:

msn-pecan bugs

msn-pecan bugs

update: I decided to add a new “Incomplete” state in order to differentiate the bugs closed due to lack of feedback

In this case 52% of the bugs have actually been fixed, 15% are still open, so regardless of how we consider the remaining 22% (disregarding duplicates), the vast majority of bugs are fixed.

Now, unlike Pidgin, we don’t automatically close bugs after 14 days. Depending on the priority it might make sense to keep reminding the reporter(s) that further information is needed. If it’s clear the bug is not going to go forward then it’s manually marked as Incomplete, but it’s clearly distinguishable for other invalid bugs.

Also, unlike Pidgin, our bug tracker is crystal clear about the status of the bugs, priority, popularity, and target milestone; just take a look.

Conclusion

You should ask yourself this question; Where do I have better chances of getting my bug fixed? I hope this post has made it clear: msn-pecan by a large margin.

If the Pidgin team has problems maintaining MSN, why don’t they help themselves and start using msn-pecan?

Note: Also, unlike John Bailey’s, my blog is happy to receive comments :)

by FelipeC at February 05, 2010 12:52 AM

February 04, 2010

Zeeshan AliGUPnP AV

(Zeeshan Ali) GUPnP AV 0.5.4 released

Changes since 0.5.2:

- Gracefully handle empty or no 'res' node.
- Function to get the list of descriptors from DIDL-Lite objects.
- More complete comparison for LPCM mime types.
- Fix incorrect type conversion of DLNA flags.
- DLNA flags should not default to a specific DLNA version.
- New APIs to deal with contributor-related properties in DIDL-Lite objects.
- Remove redundant construction methods.
- Add forgotten header to the meta-header file.
- Add and fix gobject-introspection annotations.
- Lots of documentation fixes.
- Many minor non-functional fixes/improvements.

Bug fixes in this release:

1935 - Incorrect conversion while parsing primary DLNA Flags
1934 - DLNA Flags should not default to a specific DLNA version.
1933 - Content type matching fails when additional parameters exist in LPCM
mime-type
1814 - Add "artists" property to GUPnPDIDLLiteObject

All contributors to this release:

Zeeshan Ali (Khattak)
Yakup Akbay
Zachary Goldberg

Download source tarballs from here

GUPnP Vala bindings 0.6.4 released!

Changes since 0.6.2:

- Require and adapt to gupnp-av 0.5.3.

All contributors:

Zeeshan Ali (Khattak)

Download source tarballs from here

February 04, 2010 03:07 PM

Gustavo Orrilloac

After a long pause, I’m back to the blog. This time, to mention a new package of the GLGraphics library, 0.9.3, that I uploaded to sourceforge just a few days ago. Download link here. This version includes: minor bugfixes and improvements to the GLModel and GLTexture classes. improved integration between openGL and Processing camera and projection matrices. OpenGL lights [...]

by ac at February 04, 2010 11:22 AM

February 02, 2010

Moovida NewsCreative Commonsense

One of our developers shared an article by Techdirt entitled The Future Of Music Business Models (And Those Who Are Already There) the other day. In a nutshell, it’s an interesting look at how professional musicians can embrace the creative commons model to promote their music, then cash in by offering exclusive products and services at elevated costs. Nothing new, but it demonstrates how it’s paid off well for both reputable acts such as kings of viral NIN, to lesser known acts such as Jill Sobule.

Instead of fighting the inevitable force that has become P2P sharing which usually ends up fueling frustration with fans and costly lawsuits, these musicians have taken tabs on the commercial open source business model. Test drive the shabby version for as long as you want, or pay up to get pimped out.

pimp_my_ride_beforepimp_my_ride_after

FLOSS                                                Flossin

FLOSS Flossin’
Besides the fact that the article has way too many examples making it suitable for starving artists looking for inspiration, it demonstrates the creativity certain musicians have for marketing themselves, all while embracing free sharing.
There is definitely a lesson to be learned from these musicians. Can B2C open source software be so successful in creating an innovative yet sustainable business model?
Looking forward to hearing your opinion on the subject…One of our developers shared an interesting article by Techdirt the other day entitled The Future Of Music Business Models (And Those Who Are Already There). In a nutshell, it’s a look at how professional musicians can embrace the creative commons model to promote their music, then cash in by offering exclusive products and services at elevated costs. Nothing new, but it demonstrates how it’s paid off for both reputable acts such as kings of viral NIN, to lesser known acts such as Jill Sobule.

Besides the fact that the article has way too many examples making it suitable for starving artists looking for inspiration, it demonstrates the creativity certain musicians have for marketing themselves all while embracing free sharing.

There is definitely a lesson to be learned from these musicians. Can B2C open source software be so successful in creating an innovative yet sustainable business model?

Looking forward to hearing your opinion on the subject…

by Vober at February 02, 2010 06:33 PM

Thomas Vander SticheleWe’ve come a long way, baby

(Thomas Vander Stichele)

Linux Magazine March 2010 is full of GStreamer goodness: one article reviewing 4 media players, all of them using GStreamer (Banshee, Rhythmbox, Amarok 2, Songbird), and a three page article on your favourite video editor, PiTiVi!

by Thomas at February 02, 2010 12:20 PM

Christian SchallerLondon and Scandinavian food

(Christian Schaller)

Went down to London yesterday for a meeting and I used the opportunity to visit the scandinavian deli and grocery store there. Turned out to be pretty nice, with a decent selection of food. I stocked up on Swedish liquorice, Norwegian lompe, Danish red hotdog sausages and a Norwegian brown cheese.

In other words I am well set for another week of scaring Abigail with Scandinavian food :)

by uraeus at February 02, 2010 11:06 AM

January 31, 2010

Andy Wingonukular

(Andy Wingo)

Good evening, internet. I've got a personal story to tell, then something of immediate relevance. I just can't stand these stories about the NIF, this test fusion facility at Lawrence Livermore. But the personal bits first.

nukular

Faced with the typical dilemma of "what to do with your life", as a 16-year-old high school student, I was sure I wasn't going to be a nuclear engineer. My dad worked for the power company at that time, and I had grown up in the figurative shadow of McGuire nuclear station. The nerdiness of the whole thing attracted me, but the nuclear profession seemed so dead, like so much office work.

So it was with some surprise that I found myself that summer at a camp run by the nuclear engineering department at North Carolina State University. To this day I'm not sure why I went. But go I did, and ended up being attracted by the promise of solving our world's energy problems via fusion power. Limitless energy! And I, your humble writer, could have a hand in it. Surely there would be a corner of the spotlight reserved for my modest contributions, and if not the spotlight, then some nook in engineer heaven.

Nothing about the education there had much to do with fusion, though. Most undergraduate programs are basically funded by the nuclear power industry. There is some medical work, a fair amount of plasma work, and a modicum of fundamental work, but the professors who do well (and transitively, their grad students) sell to the fission power industry. Thermal hydraulics simulation codes. Safety assessments. Sponsored chairs. Fuel rotation algorithms (my department chair got rich off that).

But it took me a couple years to realize that, because you know, it's the bait and switch thing. Even to the very end. In my last year there I was working for a professor on a monotonic X-ray source, for medical imaging applications. As it was sold to me, this was going to allow more accurate mammograms, without the need for painful compression. All the simulations were coming out good, the device looked quite powerful, and my advisor said, "This will make a great gun!"

A gun! Because I didn't mention the other funder: the military. This guy was a Naval Fellow This and a Thank You From The Army That, and here I was thinking I was earning my honorable discharge via working on a medical imaging device.

I did end up getting my BS there, and at the top of my class, which that year was a class of one. But that's another story.

fusion

Well, longer story shorter. When I went into nuclear engineering, in 1997, the main way of thinking about fusion energy was the tokamak, the donut-looking thing that tries to make a ring of plasma, then magnetically compress it into a density and temperature that will sustain fusion. Then somehow you extract the heat, boil water, turbines, generators, same old story.

It's an enormous complicated thing, into which billions and billions of dollars were sunk, both in the US (like at the Princeton facility) and internationally, through ITER. About the same time I went into NE, US funding for ITER was pulled.

So what was I to do, the erstwhile fusion power Nobel prizewinner? Well the US story was that they had another thing going, the so-called National Ignition Facility. Perhaps you've seen it in the news recently. Their PR agency is quite good; the message was mainly conveyed as "plucky and valiant scientists make step towards fusion energy".

But the NIF has little to do with energy. Here's the deal: due to popular protest, the US can't make test explosions of H-bombs any more. But how are they to know what would happen if they dropped a bomb on some unsuspecting adversary, if they can't test their weapons? Well they simulate those explosions with computer codes. (That's why LLNL and LANL have the some of the world's fastest supercomputers.)

But how will they know if their codes actually work? They need actual fusion explosions. So they concocted a plan to sell Congress a power plant driven by fusion bombs.

That plant is NIF.

Of course, the actual development of this story has more nuances, but the reason that the US is funding NIF is entirely due to its military applications.

energy

Peak oil, peak coal, peak gas. Blood for oil. Global warming. Poisonous gas wells. Vampire hydro dams. These things are well-known.

Peak uranium is also fairly well-known, but fission energy has other problems, of which I'll touch only one today. But first, the engineering issues with internal-confinement fusion power.

NIF claims to be a power plant. But actually getting useful power out of bombs is very unlikely. How are you going to harvest the resulting heat energy without destroying the enclosure? What about all those neutrons? What about the radioactive trash that the neutrons make?

But beyond that, how would you sustain ignition of fusion bombs? The idea is, one explosion goes off. Then you position the next pellet, fire on it, and so on at such a rate that the residual heat creates conditions for a sustained reaction: ignition. When I was studying these things, the estimated necessary rate for this process was 10 to 20 times a second.

This is an engineering nightmare. Fission is easy in comparison.

I don't think ICF will ever achieve ignition, but this is a prediction from someone who's been happily out of that industry for almost a decade.

An almost equally large problem is money. Finance, rather. Nuclear fission plants can deliver effective per-unit costs of electricity, of course ignoring externalized costs. That is, effective if you don't count in finance costs. Building a fission plant typically costs multiple billions of dollars. Fusion plants are probably just as costly. The NIF test facility is already brushing 5 billion, though I wouldn't be surprised if it ended up costing twice that.

This financing issue turns out to affect not just the bottom line. It ends up being large, centralized agencies that control such large investments. Centralized power is centralized control, and that goes for electrical power too.

powerdown

As someone who went in idealistic, with the hopes of solving the world's energy problems, I am still an optimist. The solution to the world's energy problems will be twofold: power-down, and energetic democracy. One way or the other, we will consume less energy in the future. That's power-down. The other side is people producing sustainable energy for themselves and their community: geothermal heat, solar power, wind power.

There's simply no other way. We can try other ways, but they will only hurt us in the end.

by Andy Wingo at January 31, 2010 09:35 PM

Thomas Vander SticheleMy 2009 in music

(Thomas Vander Stichele)

I feel no need to get cynical about the state of the music industry. My perception is that each year we’re getting more great new music, not less. Where do all these bands and people and records keep coming from ? I also still don’t believe in The Death Of The Album. How can I with what I’ve been listening to this year ?

Let’s jump into the albums, more or less in order of preference. Let’s start with the four I’ve listened more to than any other album, some of them for weeks straight.

Fanfarlo – Reservoir

This was a discovery made on T61, an excellent music discovery site (now sadly hampered by a hard-to-use redesign). There were a few weeks where I only listened to this site, and this band and record is the best thing I got out of it. I ordered their debut album online the day it came out, in the nice deluxe version that includes a bonus disc and a board game (!).

As for the music, think a happier Beirut, a less tense Arcade Fire, a hint of Talking Heads in the attitude, and well-crafted dynamic uplifting songs. Lovely trumpets, xylophones and other instruments are sprinkled throughout. Infectious is the word. I have a longer record review half-done that I should post, but for now this will have to do. ‘Finish Line’ is the track that hooked me, with those trumpets racing, and there’s not a single bad track on the whole album.

Saw them play live finally yesterday, a short and sweet set that left me longing for more.

Antlers – Hospice

No other album in 2009 hurt so sweetly as this one. The story of a man losing his loved one to cancer. Both deeply depressing and uplifting at times; but always interesting. The guitars drift between shoegaze and Buckley, and that voice etches into your soul. After much internal debate, my favourite track has to be ‘Kettering’ – when those drums crash in and the guitars start washing, my heart tears up. But it’s a close tie with the ethereal heavenly last minute of ‘Thirteen’ – after the guitar noise, a female voice rises up begging us to pull her out.

The whole album is a fever trip start to finish, and best listened to as an album entirely. Let it sit in a few times in a row; it takes a while to dip in but it’s worth the ride.

The XX – XX

Judging from the end of year lists, a very popular choice, but well-deserved in my opinion. Just like my favourite band ever, Afghan Whigs, they fuse rock with R&B, but come out on the completely opposite side of the spectrum. The album ends up being a spacious glacial volcano. Simple guitar licks, soft bassy drum beats, open air, and two very complementary voices. Favourite moment on the album is around 1:40 in ‘Heart skipped a beat’, when her voice falls over going up on ‘left me waiting’. I was bored out of my mind the first time I played it. I left it on regardless, listening to it passively, and it clicked forever since as soon as I signposted each track mentally.

Phoenix – Wolfgang Amadeus Phoenix

I don’t think this band will ever be able to do wrong by me after their previous third album – even if I started liking them by proxy because of the opinion of a friend of mine about them. She was right all along. And this album confirms it. While I’m still not sure about the middle parts ‘Love like a Sunset’, the album is full of strong tracks. The first time I heard ‘1901′ I was depressed about their change in style, but a few listens later it was clear I should have listened better. I was disturbed only by the wallpaper – but the beating heart of song underneath was still classic Phoenix. Phoenix is one of the few bands who manage to blend the modern day style with an 80’s nostalgy, ending up sounding both uplifting and melancholic at the same time.

For some reason, although it doesn’t have the strongest Phoenix lyrics ever, ‘Rome’ is the standout track for me. The song has so many good moments, from the sad high notes before the break, over the bouncy guitar notes, to the shimmery guitars that build up in the payoff, to the way every Rome sounds different when he strings along five or six in a row – everything fits, and makes you long for something you didn’t even know you were missing.

Not a flawless record for sure, but irresistible nonetheless.

Other excellent albums of the past year:

  • Gossip – Music for Men. Gossip makes the jump from punk rock with soul to soul rock with punk. Songs like Heavy Cross and Love Long Distance are pretty much perfect. The whole album is good too, but not enough surprise to make the above list.
  • Patrick Watson and the Wooden Arms. Worth the wait, excellent album. Some excellent concerts as well. ‘Big Bird in a small cage’ is probably the prettiest song of the year. I’m a sucker for beautiful voices and excellent harmonies. Opener ‘Fireweeds’ is pretty amazing too.
  • Yeah Yeah Yeah’s – It’s Blitz. Although a strong shift in musical direction, I had hoped for more boundary pushing. But there’s no arguing with the airy beauty of a track like ‘Skeletons’, especially when the sound of a bag pipe guitar brings in the hordes in the second half of the song. And Karen O still has the sexiest most animal female voice on the planet.
  • Plants And Animals – Parc Avenue. Discovered at Primavera sound, making an equal parts indie equal parts psychedelic sun-baked desert road rock, much like Delta Spirit or Walkmen. Especially excellent live.
  • The Veils – Sun Gangs. Third album, rock with a poetic twist, sound like the after-effects of getting snakebite. A review on Drowned In Sound completely slagged off my favourite track, ‘The house we lived in’. How anyone can hate those beautiful harmonies and swirling vocal lines is beyond me. Seeing them next week!
  • Florence and the Machine. Man, that woman can belt! Rabbit Heart, Kiss with a Fist, awesome songs. Not to mention that heavenly ‘You’ve got the love’ cover, both in its original cover form, and as a reworking combined with the XX. I just don’t know which of the two to choose.
  • Mew – No more stories today. This album may still prove to be too weird for me. How many albums do you have where a track can be played back in reverse to reveal another track ? If I have to pick one track, I’d go with ‘Introducing Palace Players’, with that weird bouncy unnatural bass line that still proves to be robotically danceable, before it morphs into a slowed-down disco stomper. These guys are quite simply crazily beautiful.
  • White Lies – To Lose My Life. Can an album be more by-the-book teenage angst? As my sister says, how many bands do we really need that sounds like Joy Division ? Well, the answer, for someone who has never been able to really get into Joy Division, is – as many as we can. White Lies may be cheesy, but they pull it off so well. I might throw up if I see the singer shake his fist to the sky one more time (every single goddamn song), but each song on that album just simply works. I doubt they can pull it off again.

Runners-up:

  • Fever Ray. I’m definitely not a huge electronica/trip hop/… fan, but some of the things The Knife has done are awesome, and while it’s not a record for every day, the Fever Ray album has some very strong moments.
  • Arctic Monkeys – Humbug. I’ll never be their biggest fan, but these guys are the real deal music-wise. They deserve all they’re getting. ‘My propeller’ is my stand-out.
  • Editors – in this light and on this evening. Was I mentioning Joy Division before ? Definitely a change in direction, and it works well, but ultimately doesn’t grip me as much. Happy to see they made ‘You don’t know love’ the new single – easily the best track; the tension release of that guitar lick at the end right after the pause is killer.
  • Drive like Maria – Elmwood. A Belgian/Dutch band. A certain Flemish expression roughly translates to ’swings like a tit’, and that’s what this album does. Nothing inventive here, in a style that’s not particularly my favourite, but just really well executed. Something between AC/DC and Queens of the Stone Age. Bonus points for having the best female guitarist in our area – it’s amazing to see how she transforms on stage, and enjoys every note and chord she’s wrestling out of that guitar.
  • Isbells. Another Belgian band. We don’t have the roots for country folk, but this album just works. Simple and beautiful. If you really need references, Bon Iver, Fleet Foxes and Iron and Wine seem to crop up a lot.
  • Customs – Enter the Characters. As long as we’re talking Joy Division… I was expecting them to be a one hit wonder, but I have to admit I quite like their whole album. It’s not always as strong, especially lyrically, and you can probably tell it’s not a native English band, but overall they pull it off really well. I guess I’m just a sucker for this kind of sound. Most of all I’m surprised to see it reach the lists of so many Belgian people I know as well.
  • Emiliana Torrini – Me and Armini. Jungle Drum was one of my favourite tracks of the year.

Not sure yet:

  • Low Anthem – Oh My God Charlie Darwin. I wasn’t particularly impressed when I first heard the album, but I was so impressed by last night’s show that I’m going to have to give it a few more spins.
  • Dirty Projectors – Bitte Orca. I saw them open once for Explosions in the Sky, and they were, uhm, “different”. I’m still not sure if I like this album, and I should give it a few more chances.
  • Bat For Lashes – Two Suns. One of the albums I looked forward to most, but doesn’t grip me in the end. But there’s no denying the world class of songs like Glass and Daniel.

One album I couldn’t get at all (and everything tells me I should have) – Animal Collective, Merriweather Post Pavillion.

Special mention to one late discovery – I’ve been addicted to ‘She Wants Revenge’ for the last two months. They had always been on my ‘to listen’ radar on the strength of one song, but I had no idea they already had two albums out. Did I mention Joy Division yet ? Even though they’re only a duo, they lay down quite a sound. Personally, I don’t really get why for all these bands (including Interpol) the Joy Division name keeps cropping up – I can tell them apart without any problem. They each bring something of their own to the mix, and She Wants Revenge – while at times a little juvenile, but endearingly so – is very physical and danceable. Perfect gloomy day music!

As for concerts, in no particular order:

  • Antlers, Bush Hall, London. There were at best 500 people there, and it felt very much like a last concert before the big discovery. I’ve never seen Jeff Buckley live, but what I felt that night must have come very close to it. Live the music was even more haunting and painful and searing. It’s amazing that that voice comes out of that small body. Looking forward to seeing them again in Belgium in a few months!
  • The XX, Razzmatazz, Barcelona. I didn’t have a ticket, and queued with 30 other people that all were trying to get in without a ticket. It was worth the wait, although watching a band with as much space in the music as this one in a country like Spain is not ideal. Sometimes I just want to yell at people to please shut the fuck up.
  • Patrick Watson, Depot, Leuven. There simply aren’t that many real through-and-through musicians. This guy is the real deal; he lives and breathes and whispers music. The shy giggle and laughs aren’t an act, and they work. But the way he changes his vocal lines to suit the mood of the evening… And the encores, going into the audience with five speaker horns strapped to his back, the whole band following and making the audience quiet down as they perform in the middle of the room…. just excellent.
  • Explosions in the Sky, Luchtbal, Antwerpen. These guys give it all. There is still something about the music coming from Texas… I’m not a fan of instrumental music, but explosions keep it interesting all the way through. Adding vocals would only ruin it.
  • Spiritualized performing Ladies and Gentlemen we are floating in space, Royal Festival Hall, London. Well, not much more I can say. One of the albums that defined my young adult life, still in my top 20, performed in its entirety with about 30 people, including horns, strings, and choir. It’s still a strange concept to know exactly what’s going to be played, but this was performed to perfection.

As mentioned before, the best musical site I discovered the past year is The Sixty One. Feel free to ask me to invite you or befriend me if you know me and you’re on that site.

And with the National releasing in May, I have a feeling this is going to be another awesome year for music.

by Thomas at January 31, 2010 05:53 PM

Thomas Vander SticheleA Google ad with the National in it ?

(Thomas Vander Stichele)

Weird. But good weird. Here it is.

Thanks to Ticketmaster I have 0 tickets for their show in London. But I’ll still be buying their new album come May.

by Thomas at January 31, 2010 02:04 PM

January 30, 2010

Felipe Contrerasfelipec


Finally I managed to workaround a bug in Maemo’s 1.1 SDK. So now msn-pecan has been promoted to extras-testing.

Please vote up so it can go into extras.

Now, there has been some confusion about the other MSN solutions. So I’m going to explain why msn-pecan is better.

telepathy-butterfly

telepathy-butterfly is pretty decent, as it uses papyon (the MSN implementation to be used in aMSN2), however it has one big disadvantage; it’s written in python.

For starters, this means you have to install python and all it’s dependencies; which account for 20M. If that was not enough, python being a scripting language will probably use a fair share of CPU, which is not good for battery life.

telepathy-haze

telepathy-haze is just a wrapper for libpurple protocol plugins, and in fact, telepathy-msn-pecan does use a hacked version of telepathy-haze to do it’s job. So the battle is actually libpurple’s stock msn plugin vs msn-pecan.

The stock plugin was actually written mostly by me a long time ago, and although some things have changed, I’m still probably the knows that has a better grasp on it. So when I say “it’s actually pretty bad”, believe me; I know what I’m talking about here :)

However, the real problem is the lack of support. As can be seen on Pidgin’s bugzilla; bugs go there to get lost. Most probably if you have problem on the N900 with it, nobody will be able to help you.

Moreover, you would have to install the rest of the plugins at the same time, in total, you would need 6.3MB. And my bet is that battery life won’t be as good as with msn-pecan.

telepathy-msn-pecan

It’s written in C, it’s fast, it’s efficient, 1.5M, but more importantly; it’s supported. If you find a problem on the N900 you can file a report in our issue tracker, and it will be dealt with. The only problem is that as of 0.1.0-rc3, it’s not as stable as I wound want (the new features seem to have introduced some regressions), but the remaining issues will be fixed soon. However, don’t be discouraged of trying it; most people don’t have any problems.

by FelipeC at January 30, 2010 12:30 AM

January 29, 2010

Felipe Contrerasfelipec


This release is almost completely concentrated on getting direct file transfers to work, and they do, pretty nicely. Not all the types of transfers are supported, but the important ones are, so most probably you wouldn’t have any problems.

Also featuring is a revamped Windows installer that looks much nicer, has uninstall option, and supports portable apps.

Other than that it’s mostly bugfixes.

This will most likely be the last release candidate before 0.1 as all the features are ready, and only two bugs remain (which are pending feedback). Therefore this is also a good time to start the string freeze.

I will wait a few weeks to see if there are any major bugs with -rc3, and if not, it’s release time :)

I want to thank all the bug reporters which have been an important part of this release, sending updated logs, trying out test branches, sending valgrind reports, and even bisecting. You rock!

Issues fixed

  • 35: File transfers using direct connection
  • 192: Crash after running a while: ab/pn_contactlist.c:456
  • 197: Contact list not synchronized with MSN server
  • 224: Not translated on Windows
  • 180: Contact authorization happens multiple times
  • 32: Cannot send/receive messages behind ISA proxy
  • 114: Make win32 installer ask for Pidgin installation if not found
  • 131: Uninstall option in Windows, etc.
  • 230: pidgin crashes as soon as loging in a WLM account: pn_oim.c:468
  • 234: No general API in libpurple to set your own server alias.

The diffstat

 Makefile                 |   50 ++++-
 ab/pn_contact.c          |   42 ++++-
 ab/pn_contact.h          |    4 +
 ab/pn_contactlist.c      |   13 +-
 ab/pn_contactlist_priv.h |    2 +-
 cvr/pn_direct_conn.c     |  531 +++++++++++++++-------------------------------
 cvr/pn_direct_conn.h     |   28 ++-
 cvr/pn_msnobj.c          |   13 ++
 cvr/pn_msnobj.h          |    3 +
 cvr/pn_peer_call.c       |    4 -
 cvr/pn_peer_link.c       |   42 +---
 cvr/pn_peer_msg.c        |  156 ++++++++-------
 io/pn_dc_conn.c          |  256 ++++++++++++++++++++++
 io/pn_dc_conn.h          |   39 ++++
 io/pn_http_server.c      |   16 ++-
 io/pn_node.c             |   22 +-
 io/pn_node_private.h     |    1 +
 io/pn_parser.c           |    4 +-
 io/pn_ssl_conn.c         |    2 +-
 msn.c                    |   38 +++-
 nexus.c                  |    6 +-
 notification.c           |   22 +--
 pn_dp_manager.c          |   22 +--
 pn_dp_manager.h          |    2 +-
 pn_oim.c                 |    2 +-
 session.c                |   27 +++
 switchboard.c            |    2 +-
 win32/installer.nsi      |  113 +++++++---
 win32/resource.rc        |    4 +-
 29 files changed, 867 insertions(+), 599 deletions(-)

Download from the usual place.

Shortlog

Felipe Contreras (78):
      oim: fix trivial warning
      peer-msg: fix typo
      ns: remove CVR0
      Trivial conn->session cleanups
      peer-call: remove unused stuff
      node: remove unused stuff
      directconn: generic cleanups
      Add initial dc_conn io object
      io/dc: add write_impl
      io/dc: add read_impl
      directconn: remove old implementation
      directconn: use new implementation
      directconn: fix for !GIO
      directconn: add new process_chunk()
      io/dc: add parse_impl
      peer-link: fix directconn reutilization
      contact: set contact's personal message correctly
      build: trivial reorganization for static extension
      build: fix static build
      plugin: follow set_alias() recommendation
      Reorganize contact dp update
      dp-manager: trivial cleanup
      contact: a bit more debug logging
      Reorganize set_object stuff
      msnobj: add new equal() function
      contact: avoid extra dp updates
      build: simplify pretty print
      nexus: trivial disconnect check
      Fix defered group move
      ns: fix defered group move
      contaclist: add a bit more debugging for group move
      contactlist: add todo item
      http: check for correct proxy type
      Trivial cleanups
      parser: properly mark end of string
      peer-link: remove unused code
      peer-msg: improve dc invite
      directconn: check for connection errors
      io/dc: trivial reorganization
      peer-link: reorganize a bit dc initial call
      peer-link: fix dc sending
      node: make channel setup overridable
      io/dc: override channel_setup
      io/dc: improve write_impl()
      directconn: add async_write() skeleton
      directconn: support delayed writes
      directconn: issue msg ack
      Cleanup dc initial call stuff
      directconn: keep nonce until got_nonce()
      directconn: avoid extra steps in send_msg()
      peer-msg: reorganize got_transresp()
      peer-msg: refactor got_transresp()
      peer-msg: reorganize 'listening' check
      peer-msg: separate address parsing
      peer-msg: parse also external addresses
      directconn: add new addrs queue
      directconn: new add_addr()
      directconn: new start()
      peer-msg: use new dc API
      directconn: keep trying all addrs
      session: check for pending swboards
      win32: cleanup installer
      win32: simplify dll name
      win32: add uninstaller
      win32: improve uninstaller
      win32: add to uninstall registry
      win32: remove pidgindir
      win32: reorganize to allow manual dir selection
      win32: use better icons
      win32: use newer mui
      build: generate locales separately
      win32: fix locale stuff
      build: improve install_locales target
      build: trivial locale cleanup
      build: add update_locales target
      build: add win32_install target
      win32: use files from win32 target
      win32: trivial improvements

by FelipeC at January 29, 2010 09:34 PM

Aaron BockoverBanshee 1.5.3 and the return of OS X support

(Aaron Bockover) The Banshee logo

The Banshee community is proud to announce the availability of Banshee 1.5.3! With a slew of new features and bug fixes, and a fully refreshed Mac OS X build, this is another solid release on the road to 1.6 (due out on March 31st).

Get It!

Gabriel highlights a number of new features and improvements on his release announcement blog:

  • A new sync device from playlist option
  • Audiobooks library extension
  • Library-folder watcher extension
  • eMusic importer/downloader extension
  • GIO file backend supporting non-local files

Additionally, 75 bugs were fixed since the last release. Read the 1.5.3 release notes to learn about additional new features and improvements.

Mac OS X Release

What's particularly exciting to me is the return of the OS X releases. I have completely overhauled our OS X build, and we no longer take a framework dependency on Mono or GTK - these dependencies are bundled as part of the binary distribution of Banshee on OS X.

If you have OS X 10.5 or newer (Intel only), you can simply download and run Banshee - nothing else needs to be installed.

Banshee 1.5.3 on Mac OS X 10.6

This gives us greater flexibility to refine and polish Banshee for OS X. For instance, I started working on a new GTK theme that uses the flexible Murrine engine. Currently the Mono framework installation uses Clearlooks.

There's still a lot to do on the OS X build, so if you're interested in hacking on the platform backend, it's now easier than ever to do so:

  • Install XCode
  • Clone Banshee from GNOME git
  • Run ./bootstrap-bundle at the top of the checkout

This process will magically build everything that Banshee requires, and from there hacking on Banshee is just like it is on Linux. I recommend using MonoDevelop of course to get real work done though.

Enjoy!

Update: There was a lame bug preventing startup of Banshee 1.5.3 on OS X. This has been fixed and the DMG image has been respun. If you had problems running the release, download the updated image. My bad ya'll!

by Aaron Bockover at January 29, 2010 04:38 PM

Phil NormandGuess what

(Phil Normand) http://base-art.net/static/fosdem-2010.png

Arriving friday morning and leaving monday evening! I will do a quick presentation about WebKitGTK+ and a talk with my friend Frank about Mirabeau and personal media networks in the XMPP room.

We will be a whole Igalia gang hanging out there at Fosdem, looking forward socializing around beers :) Oh and don't miss Joaquim and Victor's talks!

by Philippe Normand at January 29, 2010 12:59 PM

Mirco MüllerThe 61

(Mirco Müller)

The 61 is a nice site for discovering and listening to music. Sure I enjoy last.fm from time to time, but sofar I like the presentation and recommendations of 60 1 better. Fits my taste better.

If you like electronic music, be sure to check out these tracks:

by MacSlow at January 29, 2010 10:34 AM

January 28, 2010

Bastien NoceraShared-mime-info patches

(Bastien Nocera) Ooh, the strain.

If you filed a bug against shared-mime-info in the past and wonder why your requested mime-type still isn't in, it's just a lack of time, and the fact that most of the bug reports require too much work on my side to be integrated.

If your bug doesn't include a test case, I won't look at it.
If your bug is a copy/paste of a stand-alone mime definition file, I won't look at it.
If your bug doesn't contain any reference information, I won't look at it.
If your patch isn't git-formatted, I won't look at it.
If your patch breaks the test suite, I won't look at it.

Given the requirements to compiling shared-mime-info (git, a C compiler, and glib), I don't think I'm setting the barrier too high. Furthermore, all those requirements are spelled out in the HACKING file.

Let me know if you have any questions, or want clarification on some points, so I can update the HACKING file with that information.

by hadess (noreply@blogger.com) at January 28, 2010 05:34 PM

January 27, 2010

Moovida NewsJustin.tv now on Moovida

Justin.tv is now available on Moovida. So I joked in my last post about some of the random content uploaded by users, but in all seriousness, Justin.tv is a great plugin which streams content worldwide, that means NO GEO-BLOCKING, and there’s no one more happy about this than me. If you’re not in the U.S. or Canada and miss afternoon programming of classic reruns such as The OfficeFamily GuyThat 70’s ShowFriendsThe Simpsons, as for your daily Star Trek TNG Klingon fix, you’re in luck with the Justin.tv plugin, which streams these shows pretty much 24/7.

They have a loads of content from categories like Entertainment, Gaming, Science & Tech, Sports, Education, Animals, Social, etc. I also found interesting that they categorize 
High Stakes Poker as a Sport. Probably the only channel in which commentators can get away with describing a female player as having a pair of 10s.

Besides that, make sure to check out the following:

So do share your favourite Justin.tv channels on Moovida in the comments section. What’s your guilty pleasure?

by Vober at January 27, 2010 05:35 PM

Andy Wingoreadings

(Andy Wingo)

While I fail to sleep, some readings:

Is it time for a Fifth International?, by Michael Albert. I've always respected Albert's work on parecon. He's a very smart and principled fellow. It's also equally clear that someone else will have to be the one to implement his ideas.

Permaculture for renters, and emergent urbanism. Via the ever-inspiring Federico.

Last year I went on a Jane Austen kick. Sense and Sensibility, Mansfield Park, Northanger Abbey, Pride and Prejudice, all these, check. Only two more savory delights left! Oh, Mr. Darcy!

My current reading is the fascinating The Assassination of Julius Caesar: A People's History of Ancient Rome. It's a little hard to get a hold of, but I highly recommend it. Parenti is a great storyteller, and it's great to hear him rip a hole in Cicero. It's also eerie how the struggles of Roman times echo our own.

by Andy Wingo at January 27, 2010 12:52 AM

Andy Wingotwenty ten

(Andy Wingo)

Sup tubes,

I'm feeling dandy as a dandy here, having just finished implementing a dynamic foreign function interface for Guile. By that I mean that you can call C procedures without writing any C code.

To be fair, most Schemes have this capability already, so Guile is playing catch-up here. But still, this is some sweetness. I can call functions with any number and type of arguments, including by-value struct args and return values, and things just work. It's nice, and liberating.

intensification

Continuing a series of things I'm told happen in France, I'm told that when you don't know the words to a song, and just make some stuff up, in French you're singing yogurt. Yaourt, rather. As in, Teak me daou tou ze pair dais yaourt yoaurt yaourt. I've always thought that Danone should host an international yogurt competition.

Anyway. nontechnical readers, feel free to hum the yogurt national anthem for a few paragraphs here, 'cause I'm going to talk about Guile a bit.

Guile! Hark, the beloved hack-country! Yes. We just made a release, did you know? 1.9.7, dontcha know. I'm particularly pleased that if you enter an expression at the REPL and something goes wrong, and you don't catch it, you are dropped into the debugger instead of being presented with a backtrace printout.

The debugger is totally silly at this point. You can't do much more than just print a backtrace. But you can parameterize the printing of that trace, print local variables for each frame (bt full), inspect values, print with different widths...

That last bit is crucial. You typically don't want objects to print out in their entirety, because that could be quite long. So you truncate the output. But Murphy's law says that the part that gets truncated is always the part that you need! So actually, being able to specify the #:width is a big win.

Also you can profile expressions. Like this one, check it:

scheme@(guile-user)> ,profile (resolve-module '(gnome gtk)) #:hz 20
%     cumulative   self             
time   seconds     seconds      name
 13.16      0.12      0.12  variable-bound?
 10.53      0.10      0.10  #<procedure 9d2ad68 at ice-9/boot-9.scm:584:4 (obj)>
  7.89      2.80      0.07  vm-apply
  7.89      1.27      0.07  memq
  7.89      0.17      0.07  module-make-local-var!
[...]

In this case it reminded me that I had some bugs to fix, that things were taking about 10 times longer than they should have. But hey, that's what profilers are for, right?

One can trace, too:

scheme@(guile-user)> ,trace (fib 3)
(fib 3)
|(fib 2)
||(fib 1)
||1
||(fib 0)
||1
|2
|(fib 1)
|1
3

Sweet? [Y/N]

There are other lovelies in that release: the SSAX XML toolkit is now part of Guile, there's some unicode normalization improvements, some speedups, more compile warnings, and such. It was a lovely release. 1.9.8 will be even better!

digression

This stuff isn't always on my mind, you know. Most of the time, perhaps; but maybe in the same way that what you go to sleep thinking about is in your dreams, and in your mind vaguely in the morning. I gave my folks the (excellent) Settlers of Catan game this Christmas, with the Cities & Knights 5-6 player extension, and we all slept dreaming of sheep.

(Catan is a great game, for those few of you that haven't had the pleasure yet, and it appeals to most everyone. Call a game night, for great justice!)

Anyway. Probably what's most been on my mind in recent weeks is movement: to Paris and back (often), to the north of France for Christmas, to Bruges and Ghent for New Year's, to Lousiana just recently for a number of birthdays -- speaking of which: I am now 30. Trust my words no more!

Apart from that, time passes. A few months ago I planted the idea in my parents' mind that we were going to make or join a commune in a few years. At this point they're totally down. They've put off buying "old age insurance", or whatever you call it -- instead we younguns will take care of them. It's a retirement plan.

If you're reading this from anywhere that has roots, at any level, this won't surprise you at all. But the states is a different kettle of fish. At 13 they bussed me 30 miles away to secondary school; at 15 I went to (public) boarding school, 250 miles away; at 17 to university, at a similar distance. But the university bit was "close", family-wise. It's common to go 1000 miles away. Then when you graduate, it's common to go 1000 miles in a different direction, to find a job, and then likewise 5 years later when you change jobs. Myself, I left the states, and spent 8 years of the aughties abroad.

What I mean to say though is that you aren't expected to have roots in the states. I didn't live near my grandparents. Going home just now I didn't go to North Carolina, I went to Louisiana where my mom's family is.

These are many details, but it's all to say, the future is going to be like the past, but not like the recent past. It was really neat to hear my mom and dad and sisters and aunt all down with the idea of living together. Separate "houses", same place. I'm sure we can get some more too -- friends, partner's family, &c. Maybe we can even take over a town government. The times, they are a'rollin' round, round to a re-vision of what they were.

nerd resolutions

Readers: you really didn't want to know my personal resolutions, did you? Perhaps you did. Kind readers, you few.

Silent sufferers, the rest; but here is some nerd fodder, in the form of new year's resolutions:

  • Switch to Notmuch mail. Will require some kind of Gnus-like integration.

  • Get a version of elisp running under Guile that's faster than Emacs' implementation, but still strictly compatible.

  • Release Guile 2.0 in March, to wide acclaim.

  • Go to FOSDEM, the European Lisp Conference, GUADEC, and one other conference. (More if you invite me to speak.)

  • Work-related: start working in a G-Speak environment by default (with G-Speak as the window manager).

  • Start poking solutions to Free distributed web services. GNU has a huge role to play here, and I think Guile is the language/vm in which to implement the applications. More on this in the future.

  • See if I can corral the necessary elements to get a working Guile-in-Emacs branch in Emacs' repository. A stretch for this year, I think.

You can see that all of these are for the love. I really dig on the Guile work that we've done the last year, and 2010 is the year to strut our stuff.

non-nerd resoutions

I guess the only one I really want to get out there is to be more real. Garden more. Chat more. Organize more. More human, more vegetable, less machine. How this meshes with my profession, or even my hack-desires, I have no idea.

by Andy Wingo at January 27, 2010 12:00 AM

January 26, 2010

Moovida NewsMoovida Discards Blue Monday

Have you heard of Blue Monday? Not the song by New Order, but rather the “scientific” theory that the Monday of the last full week of January, which was yesterday, is the most depressing of the year. Hopefully this theory was proven wrong for you, but just in case it rang true, the Moovida Team has come up with a list of recommendations to start infusing post-Blue Monday with positive vibes.

5) Get comfy

There’s nothing worse than feeling uncomfortable. Whether it’s wearing clothes that don’t fit you, or being forced to watch Spanish tv broadcasting (expats are behind me on this), it bites to be in a situation that doesn’t feel quite right. The Moovida team recommends you get organized to avoid mediocre entertainment. How? First, get Media Center harware that includes Moovida, and browse our plugins for quality content. Moovida makes it easy for you by offering a 5% discount.

4) Never stop being entertained

Wifi has become our best friend, allowing us to stay connected 24/7. Instead of moping on your way to work this week, make sure to stream funny videos and good tunes on your mobile for the trip. The Moovida Team recommends a Nokia N900 Unlocked Phone/Mobile Computer. It’s ain’t cheap, but it’s currently the only mobile powerful enough for Moovida… we’d love to have Moovida packaged for it one day :) . It’s got the usual goods, Wifi, 5 px camera, GPS, Blue Tooth stereo music, so you can stay entertained while on the road.

3) Diversify your stimuli

Let’s face it, your local cable only allows you to watch a limited number of channels, 90% of which is mediocre at best. Watch what you want, when you want, on your own time thanks to Moovida’s plugins. Here’s a sample of some of the great content you can find:

  • Funny vids
  • If you’re thinking of other kind of stimuli, I’ll let you use your sense of initiative to find the appropriate links…

2) Read more

How about reading 52 books in a year? Or if you haven’t gotten started yet, 49… Kindle can help you make it happen by allowing you to download a book under 60 seconds. Reading just got a whole lot easier with this gadget, so no more excuses (or maybe one more excuse not to exercise).

1) Produce something

Let’s face it, most of us prefer sitting back, relaxing, and letting ourselves be entertained. To conquer this sense of passivity ruling our lives in winter, be creative and produce something! Consult Vimeo’s plugin on Moovida for some cool suggestions… or produce your own video to share with friends or the whole world via YouTube and Vimeo.

by Vober at January 26, 2010 05:25 PM

Christian SchallerNorwegian Fenalår

(Christian Schaller)

I always try to bring some Norwegian food back with me when I have visited Norway. This year I brought a leg of Fenalår which is a leg of cured mutton. So it is just like the cured ham people eat all over Europe, except from being made from sheep. Anyway I brought it to the Collabora office today to let people have a taste and Marco snapped this picture of me holding the leg.

Of course not all scandinavian food is equally appreciated by our southern neighbours.

by uraeus at January 26, 2010 11:31 AM

Thomas Vander SticheleBrain damage

(Thomas Vander Stichele)

Tim pointed me to a bug report about GStreamer. I couldn’t resist from commenting on a comment that questioned my mental capacity :)

(In reply to comment #4)
> I still wonder who invented such ugly naming scheme for gstreamer plugins?

I don’t think you wondered really hard because it’s not that hard to find who
did. It was me.

> Who
> is this completely braindamaged guy, who combines all plugins into several
> packs, which names says nothing about their actual content.

If memory serves, the same guy that you met in person some years ago.

> I still hope, that sometimes there will be a great developer, who will split
> these good/bad/ugly/etc packages into something more suitable for end-users.

And I still hope that some people will not assume everyone else is stupid just
because they’re talking on the internet.

Whether or not the GStreamer plugin-split and its naming was a good idea is obviously debatable. I still think that we did the right thing there, and he could have read the explanation.

But regardless, people, seem to think that because it’s the Internet, common courtesy isn’t necessary. Especially in our communities, people can get abrasive online where they wouldn’t be in real life because they have a real person in front of them.

Often, these people emulate people like Linus Torvalds, who is known to have a certain abrasiveness. Linus gets away with it because he’s made undeniable and genius contributions to the community. The problem are the disciples, taking him as an example, confusing correlation with causality, and copying his abrasive style thinking it will lead to genius.

I’m extrapolating this particular bug report here – I can’t or won’t comment on his contributions, which are many as well. I know about a lot of them, since he interviewed here for a job a year ago. I’m mentioning this to make sure you know that the Internet is not always as anonymous or isolated as you think it is. You can’t delete stuff from the net, and people will evaluate you by your online presence, for better or worse.

And if the person commenting is really interested in the plugin split, feel free to talk to me, but let’s keep the chatter out of the bug report.

Now excuse me, I’m late for my CAT scan. Better safe than sorry!

UPDATE: someone commented that I breached etiquette; so I removed some details like the bug report and a part of the comment. I should have thought it through, I had no idea what I did was considered as such. My excuses.

by Thomas at January 26, 2010 09:32 AM

January 24, 2010

Zeeshan AliRygel 0.4.10 (A Human Reaction)

(Zeeshan Ali) Rygel 0.4.10 (A Human Reaction) is out!

Another release in the stable 0.4.x series. Changes since 0.4.8:

- Restart application on SIGHUP.
- Fix cancellation of HTTP streams and in turn a critical leak.
- Correct condition for byte-seeking.
- Correctly handle boolean commandline options.
- Enable check for Vala if any stamp file is absent.
- Fix condition for partial content transfer.
- Correct linker argument order. This should fix the build issue on Gentoo.
- Work-around for an automake bug.
- Limit search slice to result size.
- Fix a spelling mistake in error message.
- Tell valac to put debugging symbols to generated code so gdb can refer to
lines in the Vala source code.

Bug fixes in this release:

601395 - restart on SIGHUP

All contributors to this release:

Zeeshan Ali (Khattak)
Jens Georg

Download source tarball here.

January 24, 2010 08:10 PM

January 23, 2010

Thomas Vander SticheleFlumotion streaming Slamdance’s Filmmaker Summit

(Thomas Vander Stichele)

As a collaboration between Mozilla, OpenVideoAlliance, and Flumotion, we’re streaming the Slamdance Filmmaker summit.

The stream is in Ogg/Vorbis/Theora, and I’m happy to see an event like this being streamed with an open codec, using our open source technology, on our platform.

Go read the full press release.

And I owe Javier from our support team some Champagne Truffles for setting up the stream between the cracks of our usual process – Javier, the box of chocolates is next to the big pinguin’s feet at work!

by Thomas at January 23, 2010 05:34 PM

January 22, 2010

Christian SchallerGetting Chromium onto the GStreamer lovetrain

(Christian Schaller)

Bastien Nocera is known for a lot of things. Most people in Gnome probably knows him as the maintainer of the Totem media player. In the Fedora community he is known as one who deals with a lot of the challenges around multimedia. Here in the UK he is also known as the only frenchman to ever get fully naturalized.

Anyway his latest effort is to try to try and kickstart some work in Google Chromium to get it to use everyone favorite media framework GStreamer. Bastiens explains a lot of his rationale in the Chromium bug report, but I am hoping to get others in the community to chime in too, and even if you don’t have anything new to add, just let Google know you care by starring up this bug report.

by uraeus at January 22, 2010 04:46 PM

Phil NormandGStreamer and on-disk videos buffering

(Phil Normand)

A really nice feature every video player using GStreamer and playbin2 should have is media on-disk buffering. Even though it is supported only for Quicktime and Flash videos currently it remains one good improvement of the user experience if you are an avid consumer of Apple trailers and flv :)

Under the hood the magic is in queue2 and uridecodebin but you mostly interface with playbin2. Here is the action plan:

  1. Add the "download" flag to the playbin2 flags property
  2. Upon reception of GST_MESSAGE_BUFFERING messages on the bus, add an idle source to the main loop (for instance)
  3. In that source create a gst_query_new_buffering() query with GST_PERCENT_FORMAT format perform the query to playbin2
  4. Use gst_query_parse_buffering_range() to get the stop value and compute the fill_status value
  5. Notify your UI of the fill level

Additionally you can allow the user to save the buffered media for later off-line consumption :) The media is buffered by queue2 in the tmp folder, the exact file location, temp-location queue2 property, can be retrieved by connecting to the "deep-notify::temp-location" signal of playbin2. You also need to make sure that the temporary file is removed when the user exits from your application, GStreamer doesn't automatically take care of that, as far as I could see.

This is what Totem does, as far as I could understand its code. This is also how I implemented (yet to merge) it in WebKitGTK+:

/static/iron2_buffering-thumb.png

And to provide a simple example I added this feature to the gst-python play.py example, available in a gist after the break!

by Philippe Normand at January 22, 2010 09:51 AM

January 19, 2010

Felipe Contrerasfelipec


Since I started to use email to send patches (thanks to ‘git format-patch’ and ‘git send-email’) I’ve never looked back. Using email to send, review, and merge patches is superior to anything else, including bugzilla, and here I’ll mention the most important reasons.

Contributing convenience

Who doesn’t find email convenient? Chances are you have an email account, and a SMTP server to send email with, then all you need to do is configure ‘git send-email’ (once), and you are ready to contribute patches to any project. A typical workflow is: ‘git clone’, commit some patches, ‘git format-patch’, find project’s email address, ‘git send-email’, done.

Proponents of bugzilla argue that submitting patches there is equally easy; all you need is ‘git bz’: an utility to automate common tasks, such as bug creation, and attaching new patches. This sounds good in theory, however, unlike what you might think, most proponents of ‘git gz’ don’t even use it, and therefore don’t notice the drawbacks of this approach, mainly: ‘git bz’ is not really mature.

If you manage to get ‘git bz’ working (took me quite a while), then you stumble with another problem: you need a bugzilla account for every project you want to contribute, and of course, you need to configure ‘git bz’ to use each bugzilla account. But wait, I’m not talking about tracker, product, and component, but also default field values, such as assigned-to, operating system, platform, version, priority, and even whether https is used or not. Unfortunately, ‘git bz’ doesn’t even allow to configure these fields, so you would need to patch it. And finally, you need to login to the respective bugzilla with your configured browser before using ‘git bz’.

So no, ‘git bz’ is nowhere nearly as convenient as ‘git send-mail’. In fact, anybody suggesting it without trying it is making a disservice, so please, don’t.

Distributed

If you know anything about git, you know that being distributed is a defining factor. It only makes sense that the patch flow is also distributed; for example, if Turk creates an internal repository for his company team, he should be able to receive patches from the team, and at certain point in time push the patches upstream. It would be ridiculous for Turk to setup a bugzilla server just to receive patches from the team. No, he doesn’t need to do anything, his teammates can use an already familiar channel (email) to send the patches.

As I mentioned, I had to patch ‘git bz’ just to make it work, it took me a whole day, and after that I was so happy with the result that I decided to contact the author and send him the patches, and I did; through email. Isn’t it ironic that the only way to contribute to ‘git bz’ is through email patches? After all, it’s just 2K lines of code, does it really deserve it’s own component in say, GNOME’s bugzilla?

My patches were ignored, and the last commit was 3 months ago. To this date I don’t know what’s the recommended way to contribute, so if you want to take a look at my repo here it is, but honestly, I don’t see much hope for this project.

In conclusion, patches in bugzilla is an awful way to work in a distributed manner, and also for small, or new projects.

Scalability

Teams that use bugzilla usually work on a centralized manner: there’s a team of “official” developers who have commit access to the central repository, and outsiders must submit patches through bugzilla. This is a very traditional way of working, however, has two big disadvantages.

First, being an outsider means each commit will be painful, therefore, even if you are perfectly comfortable with the code-base, your commit bandwidth will be very low. If the project is open enough, you will stay in the “outsider” realm for a short time, and when commit access is granted, the real work begins, but still that’s a waste of resources.

Second, “given enough eyeballs all bugs are shallow”, IOW; patch reviews are good. Now, a special mailing list for post commits (in typical CVS fashion) is not good enough, and here I’m going to make a guess; there’s psychological difference between commenting on a change that is proposed, as opposed to a change that is already done; that is, in the first case the other person has to make the change, and in the latter you have to make the change, at least if you want to be a good contributor and make sure the comment is not lost. Most of the time people avoid these “would be nice if…” comments because the change is already done, and think “nah… it’s not that bad”.

Moreover, it creates a messy commit history. For example, it’s not uncommon to see a considerable amount of tries for each patch series in linux (kernel), say 5 tries, before everyone is happy. Multiple commits fixing the previous ones look ugly, and confusing, on the other hand, one commit that’s small nice and clean makes everybody think: this is perfect!

Anyway, the true test of scalability is to let everyone contribute the same way. Would it be sensible for a project to force everyone to submit changes through bugzilla? No, that would be insane. How about email? That’s exactly how many projects work: linux, ffmpeg, qemu, etc.

Reviewing convenience

Suppose somebody goes through all the pain of creating a bug report and manually attaching a patch series, and adds you to CC (hopefully you have a bugzilla account), then, you would receive an email notification, which you most probably will wish you can just reply, but no, you have to click on a link, login to bugzilla, then, for each comment you would have to manually copy the context, add attribution lines, and then your comment.

With email, you receive an email, you reply, and add your comments inline. What’s more convenient than that? Moreover, each patch can be reviewed individually, and have it’s own separate thread, unlike in bugzilla, which comments follow a single continuous line.

Nowadays there’s splinter for bugzilla, which allows to comment directly on the patches, but it’s still nowhere near intuitive as email; the pain of logging in, finding the patch, etc. is all there, as well as the cumbersomeness of comments on top of comments.

Moreover what happens if you are offline? In email: no problem, bugzilla: you are screwed.

Statefulness

So we arrive to the only relatively valid argument in favor of bugzilla: bug entries don’t disappear, so it’s possible to ignore patches for one year, and work on them later on, IOW: “they will not be lost in my inbox”. The immediate counter-argument is: perhaps if the full patch arrived to your inbox it would be harder to ignore it, and easier to just comment on it. But let’s assume that statefulness is desirable for the sake of argument.

First, if the patch is important to the submitter, and it seems to be ignored, the solution is easy: resend. So, important patches will not be lost. Patches are also ignored in bugzilla, and in such cases people usually ping. Here is an example of a patch ignored in GNOME bugzilla for almost 3 years: 426326; chances are gnome-mount will become obsolete before that patch is applied. Aren’t you glad bugzilla is keeping track of it?!

Secondly, if you really want to keep track of all the patches so nothing gets dropped to the floor, then how hard would it be to have a script that parses incoming email? For example, there’s patchwork, which handles all incoming email of a mailing list, provides a web interface, and allows you to keep track of the status of all patches: accept, reject, under review, etc. For example, see the linux-omap patches list. This way you have all the advantages of email, plus the stateful nature of bugzilla.

So, no, this is not an excuse to use bugzilla.

Conclusion

Don’t get me wrong: bugzilla is an awesome bug tracker, but being awesome in one thing doesn’t mean the same will happen on a different area.

It seems people still don’t understand what distributed development means; it means development doesn’t depend on a centralized entity; it doesn’t depend on an “official” group of developers with commit access, and it doesn’t depend on a centralized patch tracker where “official” developers review and apply patches. So, please forget about this historic baggage; email is simple, natural, distributed, and doesn’t discriminate against one-weekend-contributors.

by FelipeC at January 19, 2010 03:38 PM

Christian SchallerWhy is it impossible to not hate Ryanair?

(Christian Schaller)

When I went to Norway this year for Christmas I had the most convenient travel route ever. I had a direct flight from Stanstead Airport to Rygge in Norway. Rygge is a tiny airport, but when you visit people on the southeast side of Oslo like I did, its perfect.

The ticket was also quite reasonably priced even though it was the Christmas holiday.

Yet, despite offering me this ideally set up trip between the two airports on both side which fits me the best, I struggle to dig up any kind of positive feelings for Ryanair.

Was discussing it a bit with Wim and Tim and I think a big part of the reason for this is the constant feeling you get when booking a trip with them that they are trying to make you think their fares are cheaper than they actually are or the feeling that they attempt to ’sneak’ in extra options.

For instance how they charge you for the use of your credit/debit card, a fee that got nothing to do with the actual cost to them and the fact that it is practically impossible to avoid it. As Tim mentioned when we discussed it, if they just included that 5£ fee in the price you wouldn’t think about it and just be happy you got a cheap ticket, instead you feel they are trying to pull a fast one on you and make their prices look even better than they are by pretending mandatory expenses aren’t mandatory.

Maybe Ryanair doesn’t care if I or anyone else actually likes them, I mean I still booked my flight to Norway with them because they where the only ones flying from Stanstead. Yet on the other side I always tend to fly with Easyjet instead of Ryanair if I can, both due to usually flying to better airports and a general feeling that if I search for a flight the price they list for that flight is the price I am actually paying.

Maybe the problem is simply that Ryanair doesn’t understand that even when you are travelling I don’t like the feeling of being taken for a ride :)

by uraeus at January 19, 2010 02:42 PM