Older blog entries for company (starting at number 120)

scripting GNOME

So, lots of talk about sripting engines on Planet GNOME. I was first planning this as an answer to Alex’s GScript introduction, but I thought others might be interested, so here it goes:

Here’s the three things I’d care about in a GNOME scripting environment a lot:

The most important thing is of course the bindability. You need to make it incredibly simple to bind stuff to or from GObject stuff. It looks like GScript already does an awesome job at this with natively marshalling everything and so on.

Another important thing is this: Does GScript ship programming tools and provide a way to do RAD? I’m thinking console, debugger, dnd script installation etc here. Not just for people writing scripts (where I’d want completion and built-in documentation), but also for me when making my application scriptable and having to debug refcounting issues because a script holds on to a GObject that my C code thinks is gone already.

But the most important thing for scripting I think is security. I want to be able to download scripts from untrusted sources (read: the Internet) without fear of them doing anything bad to my computer or its data. This is doubly complicated if exposing stuff is too easy. So if you expose “RemoveSong” in Rhythmbox, you already have a problem.
The reason you want to allow this, is twofold: 1) We are incredibly bad at maintaining a useful set of plugins (or art - same issue for themes). That’s not due to lack of capability, but because it’s booooring. 2) If you would set up a website where everyone can upload/download/vote on scripts and even integrated that site into your application, you would make the application self-improve and lower the barrier of entry for new people incredibly.
Here’s a use example

  1. I want to remove red eyes in the GIMP. So I open the plugin browser, enter “red eye” and get a list of plugins (note that none of these plugins are installed). I select the highest-rated (or most-installed one) and it launches, asking me to select the red eyes and afterwards removes it.
  2. I decide I’m smart and can write code that detects the red eyes automatically, so I select the script, click on “edit” and modify the script. After half an hour (read: 2 weeks) it does what I want. I’m happy.
  3. When looking through my scripts, I see the “upload” button next to my red-eye removal tool. So I click it and it’s available for everyone else.
  4. Go to 1, replace “I” with “you” and “selecting the area” with “speed”, “accuracy” or whatever other feature.

This gets you the whole bazaar style software evolution without human intervention, automatically and for free. The only people I know that are doing something like this are Userscripts for Greasemonkey, but even that doesn’t look very professional.

Syndicated 2008-09-09 11:37:39 from Swfblag

Why Python will never be fast

Yesterday, when reading the Tracemonkey stuff, I realized this. The question “My code runs slow, how to make it go fast?” has two answers: “Improve the compiler/runtime to make it go fast.” and “Rewrite it in another language that can go fast.” As long as the second option is possible, there’s just no need to spend a huge amount of brain on the other option.

Besides, I’m back from my holidays where I’ve played with Flash 9 scripting in Swfdec. While it won’t make it for Swfdec 0.8, I’m positive 0.10 will play ABC-scripted Flash.

Syndicated 2008-08-24 12:45:20 from Swfblag


Yay, I’ll be on holidays on Madeira for the next 3 weeks. So if I don’t answer to email, now you know why. (I didn’t break the GNOME build on pourpose, I swear!)

To not leave you without code to break, I did releases of Swfdec: 0.6.8 (stable) and 0.7.4 (unstable) with corresponding swfdec-mozilla and swfdec-gnome releases.

Last but not least, I also uploaded the slides for the talk I gave at LugRadio Live and GUADEC. Of course it’s a Flash file. Navigate using space, left and right arrow. Mouse click (un)fullscreens. Flash is a pretty great presentation creation framework, especially because everybody can just watch the presentation in the browser the same way I did it.

Syndicated 2008-07-30 20:38:58 from Swfblag

If we’d do power management like that…

It’s sad when all we have to offer to sexually frustrated people is hate and social exclusion. I’ve started to wonder if the bad reputation of Open Source communities is more related to their unsympathetic behavior than to their photos.

Syndicated 2008-07-15 08:04:05 from Swfblag

conference stuff

I’m looking for accomodation at LugRadio Live, for 3 nights: arriving on Friday leaving on Monday. So if that sounds interesting to you, and you’re not scared of sharing a room with people that know too much about Flash, get in contact.

Also, it seemed that noone had yet set up a page for arrival times for GUADEC, like last year. So I did it. Please add yourself here.

Syndicated 2008-06-30 15:48:19 from Swfblag


I finally made it! Swfdec 0.7.2 is out in the wild. And now I don’t know what to blog about, because I haven’t used the stable series for such a long time that I don’t even know what the coolest new features are. I had to read the git log for half an hour to remind myself of what we’ve done in the last 3 months.

The coolest thing for me about Swfdec development was when Youtube released their new player and it just worked. But it also works in the stable release, so for end users that’s boring. What I also found cool was the time we invested into our (de)compilation framework that gets used internally to make Flash files easier to debug. We spent a lot of time on it and now have a vivi-rewrite tool, that can do all sorts of interesting things to Flash files (like remove randomness). And again, it’s a feature that I think is very cool, but it’s absolutely uninteresting for end users.

But there are some user-visible features. Swfdec does fullscreen properly now. That’s good for 3 things. First, it’s awesome to watch videos in fullscreen. When hey are fast enough. That’s the second thing: It’s easy to figure out if your X driver setup has Xrender properly accelerated. Because if you have a stuttering video, it isn’t. And last but not least I hope that these weird guys want to watch videos in fullscreen and therefore accelerate render properly.

We’ve also been working together with Mozilla and Gtk Webkit. So Swfdec is the only plugin on Linux now that is translucent and obeys stacking order.

So now, you can all stop asking what’s happening with Swfdec. We’re well on our way to our next stable release in September.

Syndicated 2008-06-25 18:39:00 from Swfblag

monetary thinking

My conclusion in a nutshell: these things would not happen this way if the community at large would know about Nokia’s open source contributions.

Quim about Nokia’s PR desaster

I’ve long since thought that this line of thinking, that apparently quite a few companies believe in, is wrong: “Hey, we have contributed lots of money to your cause, now we must have something to say!” I’m sorry, but that is wrong. There’s a reason why it’s called the open source community, not the open source stock exchange.

How much you have to say depends entirely on how much respect you have with your peers. And of course, you can be respected differently depending on topic. There’s a reason why some people are role models when it comes to technical opinion, but not when it comes to licensing questions. And for others this is different again.

So to wrap it up: If Nokia comes along and tells that they have contributed lots of code, I might expect Nokia to have technical know-how. If it also tells me I need to accept closed source, I will not trust it with leadership. So Nokia, I’ll be very happy to work with your engineers.

Syndicated 2008-06-18 16:19:43 from Swfblag

questions of the day

Why do lots of OpenBSD developers treat you as an asshole if you have a different opinion then them?

Related to the above: Why does ALSA run even on Pulse Audio or Jack, but not on BSD?

Why does the absolute favorite WE end up last in the most prestigious league?

Why are all the decadent people only talk about what we need to do and not about what they will do themselves?

Related also to the above, but mostly to the party yesterday where I met lots of friends from school: Why do so many people seem to forget/bury their childhood dreams once they start a family?

When will I finally get a new unstable Swfdec release out?

Syndicated 2008-06-15 20:18:41 from Swfblag

+5, Insightful

When did open source become not about making great software, but about punishing yourself in order to achieve some greater level of software “purity”?

— +5 Insightful

Uh, it was about that already when it started?

Either Slashdot is overrun by clueless people these days or the Free Software world is very bad at communicating its goals. Likely both. And the second one worries me.

Syndicated 2008-06-01 10:45:17 from Swfblag


In the recent times I often wished Mozilla would just go away. This has been the case whenever I had to write code that interacts with Mozilla. You can witness the frustration in swfdec’s mozilla-sucks directory. It’s an experience I wish noone has to live through. And after talking to Vlad and Reed (You need a blog, where am I supposed to link to?), I now think I understand why interacting with Mozilla is such a bad experience.

The problem with Mozilla - note that I’m saying “Mozilla” when I mean “the community of people that make up the Mozilla project” - is that it’s focused on building a stand-alone project. A number of products (like Firefox) are built with the single goal of putting out an awesome complete product. For this goal, Mozilla takes responsibiltiy for all the software it uses and makes sure it is tuned to work perfectly with the product they ship. This is likely the best way and maybe even necessary if you are in a “hostile” environment like Windows or OS X, where the people building the operating system ignore you or are your biggest enemies for market share. However, it is somewhere between unfortunate and hostile if you behave like this in a cooperating environment like Linux.

The way I experience building Linux is that everybody works together to ship awesome software. Everybody has different goals, but there’s a constant exchange of this so people are aware of each other’s issues and ways to fix stuff are worked out. It also means that everyone customizes each other’s stuff all the time. Sometimes this works out well, sometimes not so well. But at all times it is encouraged to cooperate to achieve whatever you want.

The most obvious example of where Mozilla’s goals contradict with other Free software projects is the trademark issue, which is a licensing question. This leads to a problem between distributions and Mozilla about the question of how much customization they may do to Firefox to integrate it into the distribution. Then there’s the missing integration of Mozilla technologies into other projects. Mozilla does not only have a great web browser, it also has the fastest Javascript implementation or a complete network library that noone but them uses and everyone else has to redo. On the other hand they still insist on weird technologies that just don’t fit into my GNOME desktop.

I guess this absence of Mozilla from the Free software community and insistance on doing their own stuff is what causes frustration with Linux people and fuels the buzz about browser replacements. Mozilla seems to see the problem, but I don’t think their solution is right. We don’t need just a technical solution. We require a solution in people’s minds.

Syndicated 2008-05-25 13:05:54 from Swfblag

111 older entries...

New Advogato Features

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

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

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