FFMpeg strikes (again)

General 15 Comments

Trying to build VXL so that I can test out OpenGazer – neither are packaged in Ubuntu – I get this error:

[ 89%] Building CXX object contrib/brl/bbas/vidl2/CMakeFiles/vidl2.dir/vidl2_ffmpeg_istream.o
In file included from /home/dneary/src/vxl-1.11.0/contrib/brl/bbas/vidl2/vidl2_ffmpeg_istream.cxx:24:
/home/dneary/src/vxl-1.11.0/contrib/brl/bbas/vidl2/vidl2_ffmpeg_istream_v2.txx:25:28: error: ffmpeg/swscale.h: No such file or directory
In file included from /home/dneary/src/vxl-1.11.0/contrib/brl/bbas/vidl2/vidl2_ffmpeg_istream.cxx:24:
/home/dneary/src/vxl-1.11.0/contrib/brl/bbas/vidl2/vidl2_ffmpeg_istream_v2.txx:68: error: ISO C++ forbids declaration of ‘SwsContext’ with no type
/home/dneary/src/vxl-1.11.0/contrib/brl/bbas/vidl2/vidl2_ffmpeg_istream_v2.txx:68: error: expected ‘;’ before ‘*’ token
/home/dneary/src/vxl-1.11.0/contrib/brl/bbas/vidl2/vidl2_ffmpeg_istream_v2.txx: In constructor ‘vidl2_ffmpeg_istream::pimpl::pimpl()’:
/home/dneary/src/vxl-1.11.0/contrib/brl/bbas/vidl2/vidl2_ffmpeg_istream_v2.txx:38: error: class ‘vidl2_ffmpeg_istream::pimpl’ does not have any field named ‘sws_context_’
/home/dneary/src/vxl-1.11.0/contrib/brl/bbas/vidl2/vidl2_ffmpeg_istream_v2.txx: In member function ‘virtual vidl2_frame_sptr vidl2_ffmpeg_istream::current_frame()’:
/home/dneary/src/vxl-1.11.0/contrib/brl/bbas/vidl2/vidl2_ffmpeg_istream_v2.txx:348: error: ‘struct vidl2_ffmpeg_istream::pimpl’ has no member named ‘sws_context_’
/home/dneary/src/vxl-1.11.0/contrib/brl/bbas/vidl2/vidl2_ffmpeg_istream_v2.txx:349: error: ‘struct vidl2_ffmpeg_istream::pimpl’ has no member named ‘sws_context_’
/home/dneary/src/vxl-1.11.0/contrib/brl/bbas/vidl2/vidl2_ffmpeg_istream_v2.txx:352: error: ‘SWS_BILINEAR’ was not declared in this scope
/home/dneary/src/vxl-1.11.0/contrib/brl/bbas/vidl2/vidl2_ffmpeg_istream_v2.txx:353: error: ‘sws_getCachedContext’ was not declared in this scope
/home/dneary/src/vxl-1.11.0/contrib/brl/bbas/vidl2/vidl2_ffmpeg_istream_v2.txx:355: error: ‘struct vidl2_ffmpeg_istream::pimpl’ has no member named ‘sws_context_’
/home/dneary/src/vxl-1.11.0/contrib/brl/bbas/vidl2/vidl2_ffmpeg_istream_v2.txx:363: error: ‘struct vidl2_ffmpeg_istream::pimpl’ has no member named ‘sws_context_’
/home/dneary/src/vxl-1.11.0/contrib/brl/bbas/vidl2/vidl2_ffmpeg_istream_v2.txx:366: error: ‘sws_scale’ was not declared in this scope
make[2]: *** [contrib/brl/bbas/vidl2/CMakeFiles/vidl2.dir/vidl2_ffmpeg_istream.o] Error 1
make[1]: *** [contrib/brl/bbas/vidl2/CMakeFiles/vidl2.dir/all] Error 2
make: *** [all] Error 2

To anyone who has ever had to use ffmpeg as a build dependency, errors like this are commonplace – FFMpeg’s developers have adopted a position that copying individual SVN revisions into your product is the best way to use the library, and that releases and API stability are for wusses.

The end result for me is that I can’t build this library, and I have no idea how to go about fixing it. I do have ffmpeg, libavcodec-dev and the other ffmpeg libraries and headers installed (with the charmingly user-friendly and distribution-independent version number “3:0.svn20080206-12ubuntu3”) but they’re not the right version, I don’t know what is the right version, and even if I did, I wouldn’t know how to install the right version in a way that wouldn’t break a bunch of applications.

Is this stuff really that hard to get right?

Go in GNOME

gnome 5 Comments

Following on from my post earlier today, here’s the program I use to play Go in GNOME, usually: Quarry.

Quarry counting a game

Quarry counting a game

Quarry is a beautiful application which hooks in with a number of different game engines for Reversi/Othello, Go and a game I’ve never heard of called Amazons.

It has some very annoying tics (like asking you for every game you’ve played if you’d like to save it when you quit the application, not being able to undo a move against the computer if, for example, you play a stupid move by accident), it’s missing some pretty important features like integration with IGS or NNGS, and it doesn’t appear to be in active development, but it is the best native GTK+ go game that I’ve seen.

Ongoing game in Quarry

Ongoing game in Quarry

There are also some other Quarry quirks, including an opening window which is quite mystifying. That’s something the program shares with the other Go program I use, CGoban, another discontinued free software Go program (being rewritten in Java, if I’m not mistaken). The CGoban opening screen contains the enlightened button “Go Modem” which is, you might have guessed, the button you must press to start a game against a computer player.

Anyone have a lead on a really nice user-friendly Go game that can play on IGS and against GNU Go? Ideally, one that has been ported to a Nokia N810.

Busy December…

community, freesoftware, General, gnome, guadec, home, marketing, running 3 Comments

I’m going to have a busy busy month of December.

La Fête des Lumières

I’ve written about the Festival of Light in Lyon before, and it’s coming around again. I’m going to bring the boys into Lyon with over 1 million other people to walk around cold streets looking at light shows on some of Lyon’s best known landmarks. This year will be bigger than ever, with a €2 000 000 budget, and I have had a sneak preview of some of the installations from training runs on the riverbanks of the Rhône and in Parc de la Tête d’Or. The light shows are always interesting, sometimes a little arty, often spectacular. This year, I would like to bring everyone up to the top of Fourvière to have a view of the entire city.

MAPOS 08

First up, next week I’ll be in London to give a presentation at MAPOS (nothing to do with cartography), the Mobile Application Platforms in Open Source conference. My presentation is titled “Increasing Ecosystem Cooperation”, and will be at 15:30 on Tuesday afternoon.

I will talk about the need for companies building on free software to make mobile application platforms to work actively to develop that platform. I hope to get the message across that building on free software is not a client-supplier relationship, but is more like a research grant or R&D function.

Companies in this space are used to surveying the market, choosing the best solution, and then paying for it, so that some third party will keep improving it. The integrator model which many distributions use, of modifying the basic building blocks according to your needs, and sending changes up-stream after they have been developed, is an intermediate model, which has both positive and negative sides. But what we really need is an active co-development, with companies building on our platform investing R&D dollars into targeted co-operation across multiple companies, to address coherently a problem space (such as the needs of mobile platforms).

GNOME Foundation members are entitled to a 15% discount on registration, for those thinking of going.

Bibliothèque Municipal de Lyon

On the evening of the 12th, I will be participating with a panel including some people from Handicap International’s Centre icom which I visited a few weeks ago. I will be presenting GNOME’s accessibility capabilities to a seminar on Information Technology and Handicap both to show its power and also to advertise its freedom (philosophical and financial) compared to proprietary programs like Jaws.

Christmas run

On the 14th, I’ll be in Aix les Bains, running in the Corrida des Lumières with a bunch of my club-mates from the AAAL – since running 39’10 last month in a 10k, I’ve been hyped about running another competition. I’ve been training well, and Christmas runs are always fun with mulled wine & dinner afterwards.

GUADEC co-ordination

Along with Vincent Untz, I’ll be flying out to Las Palmas on the 15th (oh how life is hard) to meet with Alberto Ruiz (for GNOME), the Gran Canaria Cabildo (the local government), and the KDE eV board members co-ordinating the conference from their end. We’ll be testing out the cheaper hotel accommodation option for the conference (I hope there will also be a “very low budget” option like a youth hostel or a campsite), meeting with local volunteers, and resolving the major issues we need to work out before we ramp up the next phase of the organisation – gathering and scheduling conference content.

Judo

Thomas started Judo this year, and he loves it. I have stayed around after bringing him a couple of times, and the warm-up they do is certainly fun, but challenging. On the 17th of December, Thomas will be having his end-of-year competition, the first time he’ll be in a Judo competition. It’s a bit of fun, really – and yet I hope that introducing an aspect of competition into the activity doesn’t in some way ruin it for him.

Christmas skiing

As usual, Christmas will be on the 25th of December this year. Last year we were in Ireland, but this year we’re going to celebrate with just the family, and the kids will get to wake up in their own beds.  On the 27th, Anne, the kids and myself are going to go into the Alps to meet up with the rest of her family for a week. We’re hopefully going to get in some skiing, go walking in the woods, eat too much, drink too much, and be very merry indeed. It’ll be my second time celebrating the new year in the mountains, and with the cold & the snow it feels like Christmas in the films. I love it.

Go

When Lefty wrote about trying to get a particular type of brush in Japan,the intricacy of the detail of the story made me think of Go. Go is an ancient game with a small number of simple rules, which result in a game of deep complexity and beauty, and a handicap system which allows unevenly matched players to play competitive games.

It is a game steeped in the kind of tradition that Lefty talks about – professional Go tournaments are played on goban cut from a particular type of rare wood, with white stones made from the carved and polished shells of a specific type of clam, gathered on a single beach in Japan, and the black stones being made from slate mined in a single mine. The Go board is elongated, just enough to make it appear square when you are sitting in front of it, and the size of the black and white stones are slightly different, to compensate the visual impression of white stones appearing larger.

I’m back playing regularly (mostly, unfortunately, with GNU Go, who is more than a match for me on bigger boards) and have taught Thomas the basics. He’s caught on surprisingly rapidly – he’s up to the stage where he can beat me in a 9×9 game with 4 stones. Go is a very intuitive, rather than analytical, game, and some of the key concepts like influence, “good shape”, life and death are quite abstract, making it a game that children can “get” quicker than adults.

I’ve also found parallels between the ebb and flow of a Go game and free market economics. The core principle that the goal is not to kill your enemy, but simply to reduce his territory while protecting yours through strategically placing your stones to create influence and strength, matches closely my ideas of how markets work.

Phew! That’s a lot of “stuff”.

Internet Tablet Talk to become talk.maemo.org

community, maemo 3 Comments

Reggie Supildo announced today something that we’ve been talking about for a while now – ITt will be coming under the maemo.org umbrella. Internet Tablet Talk, for those who don’t know, is a community-run forum where members have always been unfettered in their praise and criticism of Maemo, and of Nokia’s running of the project. And they will continue to be unfettered – as part of maemo.org.

This is very exciting – the ITt forums have always been a kind of world apart, and to be honest it’s been hard to follow what’s been going on there. There are hundreds of contributors, and dozens of new posts every day, on all matters related to Maemo and Nokia’s internet tablets.

We’ve been getting progressively closer for the past few months – ITt news items are syndicated in the Maemo news feed, and we have a recently added Karma plug-in for ITt posts. This is a logical next step. Of course, ITt will continue to be run by Reggie and Roger, and aside from retheming the site to match maemo.org, users will hopefully notice little in the operation of the site. But my hope is that ITt users will feel a little more like part of the Maemo community, once the forum is on maemo.org. This is one more piece in Maemo’s journey from a Nokia-run project to a Nokia-sponsored, community-run project.

Handicap International Centre icom’

community, freesoftware, gnome 1 Comment

Friday afternoon I went along to Handicap International’s Centre icom’ here in Lyon, to see what they do first hand, to talk to the people there, and to figure out if there was any way that GNOME could be working better with people like them.

Handicap International, like all of the other groups I have talked to involved in bringing IT to people with disabilities – or indeed to anyone who doesn’t know computing very well – have a natural affinity with Free Software. First, for its price – equivalent proprietary software is expensive. But also for the philosophy of Universal Access that is so important to the GNOME project – that everyone should be able to access IT, regardless of their culture, or their physical or technical ability.

Handicap International Centre icom'

Handicap International Centre icom

We had a great afternoon, including role-playing. I played a deaf person who could lip-read, it was eye-opening to see how long it took for people to realise what my handicap was, when a few extra minutes taken at the start of the session would have helped a lot.  We got to try lots of AT, including a golf-cap with a metal tip for controlling the mouse with head movements, and a software face-tracker that worked with an ordinary webcam, both of which brought home just how hard using a computer is if you can’t use a mouse (we used both with dwell-clicking enabled).

It was surprising to see how little specific AT hardware there was – all the PCs were normal, and 90% of what the Centre does is set up preferences, and where necessary use specialised software.

One other thing was surprising – in spite of being aware of Dasher, there is no-one in the center that uses it – they prefer the on-screen keyboard. I wonder if there isn’t room for a dialogue there – and I would definitely like to hear from people using Dasher for actual data entry, to see in what situations it’s adopted.

Things to learn for GNOME?

gnome, marketing 7 Comments

Having made a donation previously to Medecins Sans Frontieres, I occasionally receive mail from them solliciting donations. After one year when I didn’t give anything, I received a letter asking if I was unhappy with MSF and the work they were doing, with a detailed presentation of their major actions, and today, just in time for the end of the year, I received another mailing asking if I wanted to give again this year.

The entire mailing fascinated me, especially their donation form.

Medecins sans Frontieres

Medecins sans Frontieres

There was a bunch of stuff I found interesting about this. The letter emphasised that MSF gets very little public funding, and that 99.6% of its funding comes from private benefactors. I got a small glossy newsletter highlighting some of the most important work the organisation has done over the year, and on the donation form itself, there is a suggested amount of €200, which I thought was a bit high. But beside it, they talk about what they can do with that, and how much the donation will really cost you if you pay taxes (and most people do) – in short, if you give €100 to MSF, you’re actually giving them €25 of your own money, and €75 which you would otherwise be paying in taxes.

In other words, they simultaneously speak to your heart and your pocket. Nice work. In addition, they include a postage-paid envelope for you to return your donation. It’s as easy as write a cheque, put it in an envelope, post, done. Having to address the envelope and search for a stamp are barriers to donations, so they take them away.

They also include a brochure for their line of Christmas cards – another money-maker which is also free viral marketing for them. Every occasion is good for raising money for a good cause.

While the GNOME Foundation and MSF are very different organisations, I think there are lessons to learn for the foundation across the board here. We need to keep track of former donors and remind them why they gave, what we’re doing, and ask them to give again. We need to make it as easy as possible, within our means, for them to give. And we need to elaborate the value proposition: what do we do with the money, what good work are you supporting?

These are all things which we’ve been doing, or have done partially, in the past, but seeing all of the steps put together in a simple, nice package really brought home to me how much we need to leverage our donors – they’re people who believe so much in us that they’ve given money, and they can be our best ambassadors.

France’s right is left

General 10 Comments

Warning: political opinion

On a day of yet another national strike in France, with 60% of teachers on strike (according to the unions) in protest against a recent law on minimum service in schools and other education related issues, I have been thinking about how politics in France is so different to what I knew in Ireland, and what I’ve read about during the recent US presidential campaign.

In France, as in many countries, there is a long-standing tradition of talking about politics in terms of the left and the right. And unlike in the US, it’s considered OK to be a socialist – or even a communist – and we have parties that score between 2 and 5 percent in national elections with names like “The Worker’s Struggle” or “The League of Revolutionary Communists”.

While I think of my political leaning not as one-dimensional, but as multi-dimensional. Your political identity is defined by your relative position on a whole range of subjects. Questions that are interesting to me: what is the place of the state in education, social security, job creation? What should we consider a public service, and what is in the realm of private enterprise? What are the responsibilities of the individual to the state, how much freedom does the individual have, and how much right does the state have to define and limit that freedom? What should the spending priorities of the state be?

When you phrase things in this way, it’s clear to me that the “right wing” of French politics is actually quite left-wing:

  • France has a very high rate of social insurance – over 45% taken off every paycheck to pay for pensions, unemployment benefit, healthcare, which is supported by both the right and left wings.
  • On top of this, France has a progressive income tax system, which pays for things like the education system, public transport, the army, the environment – all the usual government expenditures
  • Universal healthcare of a uniform standard is a fundamental principle in France, which is supported by both the right and the left. You don’t get better healthcare if you pay more here
  • Free education, right up to third level education, is considered a fundamental right in France, and the public primary & secondary school system is of a very high quality

On all these issues, both the right and the left in France are in agreement – the role of government is to provide a minimum level of infrastructure, education, healthcare and social security to all of its citizens, in particular those who are living in precarious conditions.

And so I have come to the conclusion that the French right wing majority party (the UMP) is really a fiscally center-left wing party with a slight authoritarian leaning.

I had written a lot more on the areas where the government is trying to cut costs – suffice it to say that I think most of them are reasonable and necessary, and I think that most of the unions in France are, on the contrary, being unreasonable in expecting things to stay the same. It’s funny, but it is the left wing in France today which is more conservative (“leave things the way they are”) and the UMP which is being more progressive.

To be honest, I with that the center-left party (PS) would tackle some of those social questions I asked earlier head on, clearly elaborate their values, and identify their priorities based on those values. I think that their message would be well received.

Boeuf Bourguignon

General 6 Comments

I don’t cook often, so when I do, it’s an occasion worth marking.

Boeuf Bourguignon

Boeuf Bourguignon

Boeuf Bourguignon (for 6 people)

Ingredients:

  • 1.5kg decent beef, cut into nice sized chunks
  • 6 big onions
  • 6 carrots
  • About 250g of mushrooms
  • 100g chopped rashers (lardons, for the frenchies out there)
  • About 50g of butter
  • 3 soup spoons of plain flour
  • A few leaves of bay leaves (thanks J5 for the translation of laurier) and a few twigs of thyme, 12 whole cloves, 12 whole peppercorns, salt to taste
  • 1 bottle of drinkable red wine (I used a cheapish bottle of Côte du Rhône)

Preparation:

Cut the onions up into big chunks, and lightly fry them with the rashers in the butter. Remove them, and then brown the meat in the same pan (fairly high heat, just for a minute or two). Sprinkle the flour on and keep going until it’s turned kind of golden. The flour & butter will do the same job as a roux and thicken the sauce.

Move everything (beef, bacon, onion) to a big pot, add the red wine, peppercorns, salt, cloves, and herbs. Leave it cooking on a really low heat (the wine must not boil, or your beef will be leather) for about 2 hours.

Peel & cut the carrots into biggish chunks, wash & chop the mushrooms (again, I like chunky), and when the sauce is nicely reduced, add them to the pot. Leave the lot cooking (still on low heat) for another hour at least.

Serve hot, with boiled or steamed potatoes (you can add them to the pot for a few minutes after boiling and before serving if you like that kind of thing) and a nice Burgundy red.

Best thing about this? You can prepare it in about 20 to 30 minutes at lunchtime, and leave it cooking all afternoon, when it’s done, take it off the heat, and reheat it when your guests arrive. This works best if you work at home.

Motorola and Google join the GNOME Foundation advisory board

freesoftware, gnome 5 Comments

Big news yesterday! Motorola and Google joined the GNOME Foundation advisory board.

Just let that sink in a little…

Google and Motorola are two huge companies, showing support for, and confidence in, the GNOME project. While it might be possible to dismiss Google’s participation as just helping us out, it’s interesting to see what Christy Wyatt has to say about GNOME and Motorola’s strategy: “For mobile Linux, Motorola believes in open standards and open source technologies”.

What this implies to me is that while Motorola may be trending towards Android for their next generation of smart phones, they’re going to be keeping the MotoMagx option open, even as they turn away from LiMo. Perhaps a small strategic skunkworks project, pottering away and keeping an eye on how things develop?

In any case, I welcome Motorola to the foundation, and I hope that we have a long and fruitful collaboration.

Jerry Maguire on the future of the free software industry

community, freesoftware, marketing, work Comments Off on Jerry Maguire on the future of the free software industry

[Reposted from my professional site]

Suddenly, it was all clear. The answer was fewer clients. Less money. Caring for them and caring for ourselves.

Jerry Maguire

“Fewer clients. Less money.” Sacrilege in a world where the goal is to grow the first billion dollar “open source vendor”. But that chimera that Matt Asay holds a torch for may never come. Free software has a lot of selling points – and the main one is that if your vendor is charging you too much money, you can find a different, smaller one who will charge you less.

That doesn’t mean that the originator of the software can’t make money – knowing the software better than anyone else, and being able to customise the software, is a pretty powerful selling point and a clear path to building a profitable small business.

As many commentators have said (and I agree), support is not a scalable business model. Other smaller, more agile, companies can start businesses around your product, gain expertise, become contributors to your project, and syphon off some of that yummy support and maintenance cash you’re hunting for.

But so what? Free software doesn’t get developed like proprietary software, why should the free software industry look like the proprietary software industry?

Here’s my vision of the future: Smaller businesses. Each with fewer, happier clients. Less money. Lots of them, all over the world.

« Previous Entries Next Entries »