Subscriptions

Planet Grep is open to all people who either have the Belgian nationality or live in Belgium, and who actively work with or contribute to Open Source/Free software.

About Planet Grep...

Other planets can be found at the Planet Index.

A complete feed is available in a number of syndication formats: RSS 1.0, RSS 2.0, FOAF, and OPML.

The layout of this site was done by Gregory

March 19, 2010

Dag Wieers

Removing all 32bit RPM packages

If you happen to come across a pure 64bit system that was installed the default way and includes lots of 32bit stuff. And you know for a fact all the 32bit functionality is not needed, just proceed to:

[root@system ~]# rpm -qa --qf '%{name}.%{arch}\n' | grep 'i[36]86$' | xargs rpm -e

Clean and simple...

by dag at March 19, 2010 10:58 PM

Filip Van Raemdonck

Indeed it is



Here's to another company with a sense of humour.

Granted, this is actually a former Sun webspace, so it wasn't Oracle that put the PostgreSQL “most advanced” badge on there.
But Sun did own the MySQL brand, before.

by Filip Van Raemdonck at March 19, 2010 08:33 PM

Frank Goossens

ORI vouwfiets geplooid en gewogen

ori MI8 (of is het M9?)Eergisteren plat gereden met m’n Vero in Brussel, de nochtans bijzonder stevige maar vooral nieuwe buitenband bleek grondig naar de knoppen. Ik heb m’n fietsje dus binnengebracht bij Mobibikes en daar kreeg ik als vriendelijke maar ongetwijfeld ook commercieel verantwoorde geste ter vervanging een Ori MI8 in de handen gestopt. Als Christophe hoopt op een vermelding op m’n blog, heeft hij geluk, want dit lijkt wel heel sterk op een blogpost over Ori vouwfietsen, niet?

De Ori (ook verkocht als Mezzo) is even Brits als oer-vouwer Brompton en werd ontworpen door ex-Benetton F1 ingenieur Jon Whyte (die eerder ook al “full rear suspension” MTB’s voor Marin tekende). De MI8 lijkt overigens op een modernere versie van z’n befaamde stalen landgenoot (kijk maar op deze foto), met een scharnierloos monocoque aluminium frame met zelfsluitende koppelingen aan  achter- en voorwiel, Shimano Nexus 8-speedpotversnellingen” en een heel strak design dat mooi assorteert met m’n zwarte fietsmuts.

Enkele korte ritjes maken geen uitgebreide test, maar ik kan wel zeggen dat de overstap van m’n Vero (Dahon) naar de Ori MI8 niet zonder slag of stoot ging. Ge had me moeten horen vloeken toen ik dat klereding op de trein niet proper opgeplooid kreeg. En de goeie raad van de conducteur, heel de weg tussen Lokeren en Dendermonde, hielp ook voor geen meter. Het kan nochtans best snel, kijk maar:

En inderdaad, ik ben over de middag nog even gaan oefenen en dat ging al heel wat vlotter. Voor de rest is de afstand tussen het zadel het stuur de stuurpen betrekkelijk klein, maar al bij al is de Ori MI8 is een knappe, lichte en snelle vouwfiets. Een ideaal opstapje naar een Birdy, misschien?

Possibly related twitterless twaddle:

by frank at March 19, 2010 02:05 PM

Thomas Vander Stichele

Twisted training

Today is an exciting day at the office!

Jean-Paul Calderone (exarkun from Twisted arrived in our office this morning to give our development team an in-depth training on Twisted.

For now, the schedule is two days of Twisted training, one day of code sprinting on Twisted, and two days of consulting on our platform and various issues and projects we have.

For us it’s exciting to get a training from one of the top hackers in Twisted, and I hope it is exciting for him to see a commercially successful use of the project he worked on.

But mainly I’m looking forward to a bunch of days of high-level technology talk.

Time to get started!

by Thomas at March 19, 2010 10:58 AM

March 18, 2010

Dries Buytaert

Enterprise social communities and Drupal

Jay just posted a blog post, called Building enterprise social communities with Drupal, sharing a white paper that we have written at Acquia. In this white paper, we answer questions like: what kind of social features Drupal supplies, why Drupal is the best choice for building a social site, what Drupal modules are useful when building a social site, and some examples of successful enterprise Drupal communities.

The reason we wrote this white paper is simple: many of the enterprise organizations that we talk to ask us these questions over and over again. Building social business sites is a very hot topic in the enterprise. The work environment in these organizations is evolving, and increasingly more, people want to connect, create, share and find people and information relevant to their work. Needless to say, not all social business sites are equal -- some are team collaboration sites, some are community sites, and others might be networking sites. They can exist behind the firewall for internal teams, or they can be external facing sites to engage with partners and customers.

We wrote this white paper because we wanted to demonstrate that Drupal provides a great platform to build these kind of social sites for the enterprise. If you are interested in building a social site for your enterprise and don't know where to start, have a look at our white paper. Also, if you've built, or have a Drupal site around which you have built a successful community, we'd love to learn about it, and learn from it.

by Dries at March 18, 2010 10:16 PM

Philip Paeps

Temples, Zen gardening and manga

19:15 JST

Last weekend was AsiaBSDCon. Great stuff as usual. It's always good to see friends from the BSD community again. Again, I focussed more on the hallway track than on the actual conference, but I did catch some good talks. Ana's talk about secure neighbour discovery in particular caught my attention, as did Peter's talk about DNSSEC. Unfortunately, I fear my brain may be too small to understand DNSSEC.

During the conference, Max helped me set up SIP so I can theoretically experience less expensive phone calls when I'm somewhere in the world with wifi. I don't want to think about roaming costs.

Over the weekend, "Neville-Neil Travel Translation Services" helped Brooks, Kristof and me get contiguous seat reservations on a Shinkansen to Kyoto (and beyond). Tasty food in a box on the train, but I snoozed most of the way. Conferences are exhausting.

Sadly, the weather in Kyoto is not cooperating this time round. Rain, rain, rain. Good for culinary tourism, rather less so for sight-seeing. Zen dry gardens are best experienced--well, dry.

Dinner last night followed my usual "get lost first, then hop into the nearest place that smells nice" and was immensely tasty. A combination of teppanyaki and okonomiyaki. I think we confused the staff by getting their "special" as a starter and then continuing with smaller dishes until full. Also sampled a very tasty "unfiltered" sake (bit like sparkling water, lemony) and an entirely (to me) new kind of meat: "hoso". From the sign-language discussion with the waitress, I learned that it's some internal structure of a mammal, but not much more than that. Quite tasty, if somewhat fatty and tendonny.

Sadly, part of the meal was spoiled a bit by a group of annoying tourists complaining about not liking one of the things they ordered and refusing to pay for it. I wanted to switch off my comprehension of English at that point. Or quite possibly hit them with a cluebat. If there's something you don't like, and it's not obviously rotten or "bad", just deal with it and be careful not to order it again next time. I have a (very) short list of things I steer clear from too and I'm practically omnivorous.

This afternoon, we fled back to the city when it started pouring down on our way to a temple. On a whim, we decided that the international manga museum would be an interesting thing to do (it would be dry). Unfortunately, as a museum, the place seems mostly to focus on the building it's in rather than the subject it treats. Also, most of the contents are encrypted in Japanese, which makes me wonder a bit about the "international" part in the name.

There were some interesting English (translations) manga in one room though, and I read Gyo by Junji Ito. If you think H.P. Lovecraft is weird, you haven't seen anything yet. "Weird" doesn't begin to describe it.

If only it would stop raining.

Out for tasty tempura dinner now, I think.

March 18, 2010 10:15 AM

Pieter Colpaert

Wat aan te vangen met de Auvibel heffing

Mensen die mij kennen als een aanhanger van vrije cultuur zullen er beslist over eens zijn: ik uit graag kritiek op actuele feiten om het debat aan te wakkeren of om reacties uit te lokken. Aangezien zo’n discussies vaak op niets uitdraaien en zeker de wereld niet veranderden,  heb ik me voorgenomen altijd rekening te [...]

by pietercolpaert at March 18, 2010 03:09 AM

March 17, 2010

Philip Van Hoof

True or false?

Let’s discuss this abstract quote about mailing lists:


At the end of the day, there are some people who deserve to be unpopular and we have no way to do that.

– Luis Villa March 17 2010, on his blog

by pvanhoof at March 17, 2010 10:10 PM

Working hard at the Tracker project

Today we improved journal replaying from 1050s for my test of 25249 resources to 58s.

Journal replaying happens when your cache database gets corrupted. Also when you restore a backup: restore uses the same code the journal replaying uses, backup just makes a copy of your journal.

During the performance improvements we of course found other areas related to data entry. It looks like we’re entering a period of focus on performance, as we have a few interesting ideas for next week already. The ideas for next week will focus on performance of some SPARQL functions like regex.

Meanwhile are Michele Tameni and Roberto Guido working on a RSS miner for Tracker and has Adrien Bustany been working on other web miners like for Flickr, GData, Twitter and Facebook.

I think the first pieces of the RSS- and the other web miners will start becoming available in this week’s unstable 0.7 release. Martyn is still reviewing the branches of the guys, but we’re very lucky with such good software developers as contributors. Very nice work Michele, Roberto and Adrien!

by pvanhoof at March 17, 2010 05:41 PM

Amedee Van Gasse

Pakje...

Yay!!!

Dankuwel @rrradiogirrrl!

E-Tracker
De Post - La Poste : Logo

E-Tracker

NL FR DE EN
Klantendienst | Hulp
div.location { display: none; }
Een overzicht van de zending : Taxipost Secur
 xxxxxxxxxxxxxxxxxx
   15-03-2010
   
 Pakket uitgereikt Handtekening  
 17-03-2010  17:28
 
Overzicht van de status
 
Datum TijdstipStatusPlaats
17/03/201017:28Pakket uitgereiktPPUNT ALMA ST-NIKLAAS
17/03/201009:43Plaats waar uw pakket zich bevindtPPUNT ALMA ST-NIKLAAS
16/03/201014:25Pakket aangeboden - bestemmeling afwezig - bericht gelatenST-NIKLAAS MAIL
16/03/201007:38Pakket onderweg voor uitreikingST-NIKLAAS MAIL
15/03/201018:06Uw pakket werd gesorteerd Antwerpen X Parcel Sorter
15/03/201018:06Het gewicht van uw pakket is gecontroleerdAntwerpen X Parcel Sorter
15/03/201011:11Pakketinformatie manueel geregistreerdST-AMANDSBERG HOGEWEG
 
 
| 1/1 >> >|
 
CSV

Copyright © 2008 De Post - La Poste | Disclaimer | Algemene Voorwaarden

by Amedee at March 17, 2010 05:28 PM

Bert Deferme

status dot net!

I installed my own status.net service!

People who are using their own status.net service, or identica can still follow me remotely by going to: http://status.paradize.be/bdeferme and clicking on subscribe.

In the subscribe box you have to fill in your account, e.g. myusername@identi.ca or myusername@mystatusnetinstall.tld

/dev/out

by bdeferme at March 17, 2010 04:15 PM

Wouter Verhelst

Baobab

So, we recorded the performance. As I mentioned in my previous blog post, the sound for sunday was not recorded properly, so while the image looks far better, having a video with no sound is hardly interesting.

But as a 'sneak preview' for the people involved, I uploaded one fragment of the Saturday recording to youtube:

There's a lot of grain in this image, courtesy of the fact that two of our three cameras just weren't very good. But beyond that, it looks quite good, I'd say...

by w@uter.be at March 17, 2010 11:01 AM

Frank Goossens

x-frame-options coming to a Firefox near you

Microsoft IE8 introduced it, Apple Safari4 has it, Google Chrome4 does it and now somewhere in the not too distant future, Firefox will ship it too; support for X-FRAME-OPTIONS.

X-cuse-me? Well, X-FRAME-OPTIONS is the HTTP response header that broke Google Talk chat badge a few months ago, remember? It allows you to specify whether your site or page can be (i)framed or not, by setting it to “DENY” (not allowed to be framed) or “SAMEORIGIN” (allowed if the framing site is on the exact same domain). The most important reason for this functionality is as a prevention-mechanism for “clickjacking” (a.k.a. UI redressing), a type of web attack that tries to trick victims into clicking a framed site by hiding it behind another innocent element.

So now that feature is finally coming to Firefox as well; Mozilla’s Brendan Sterne, one of the driving forces behind Mozilla’s much broader content security policy, grabbed the bug by the balls and came up with a first patch. If all goes well, this would be an ideal candidate to get pushed out with a minor version update as per the new release process, no?

Possibly related twitterless twaddle:

by frank at March 17, 2010 03:51 AM

March 16, 2010

Wouter Verhelst

Stuff

I'm running again.

No, not running in a bubulle style; I'm running for DPL. It started as a fairly last-minute decision because I would hate to see an election with only one candidate, but then two other people submitted their candidacy right after me.

As I stated in my candidacy email, I had "a concert" this weekend. Actually, there were three two-hour performances; two on saturday, one on sunday. Early on, I also suggested videotaping the performance (using the excellent dvswitch, for which I added a patch to support crossfading transitions) to the organising group within the choir, and they liked that. Apart from dvswitch, we used the theatre's own audio mixing setup (so I wouldn't have to worry about that too much) and the theatre's intercom system. I'd made some tally lights, but in the end we were not entirely able to use them, because there were some issues to be dealt with that meant I couldn't quite get them working properly.

So on saturday, I was in the theatre pretty early to get everything set up, did some explanations to the volunteers who would do the actual recording, drove my dad (who'd done the direction for the video parts) home, went home, and found my bed at around midnight.

On sunday, I got up fairly early, booted my laptop to update the live images with some fixes for some issues we'd encountered on saturday, left for the theatre fairly early again, set up the extra camera position, found out that one of the laptops was actually running at 100Mbit rather than a gigabit and that therefore the extra camera wasn't going to work, learned that one of the volunteers for sunday had done some other camera work for another performance right before that, for which he'd rented some high-end DV-capable cameras. So we broke down the two low-end set-ups, set up the high-end cameras, connected them to the laptops, recalibrated the whitebalance and the diaphragm setting, and restarted the streams. Then one laptop started failing. Since we had had to remove one camera anyway, I just replaced it. By that time, I had about 15 minutes left before sunday's performance would start, so I went to prepare for that.

After the performance had finished, I found out that something had gone wrong with the sound of sunday's performance; rather than music, we only heard crackling all the time. Luckily, the sound had also been separately recorded to a different medium, and that recording is fine, so we only need to resync the audio to the video, which should not be a problem.

All in all, I had an extremely busy weekend. The alert reader will note that I didn't mention 'food' anywhere in the above paragraphs, mostly because I hardly ever found the time to eat. But it was also extremely satisfying. We still have some postprocessing to do, but I expect I'll put some videos online once we've done that. They're truly stunning, at times.

And then yesterday I still had to spend some time writing my DPL platform, and doing some campaigning work. All in all, I didn't find my bed until approximately 4 AM... oh well.

I look forward to the election time, and hope that I will do well. I don't need to win, but I'd hope my result will be at least as good as the last time...

Update: we used the theatre's audio setup, not video setup -- oops :-)

by w@uter.be at March 16, 2010 04:20 PM

Bert Desmet

deadline cfp load is changed

hi sys admins!

We changed the deadline for the call for papers. You have now one week extra to think about a talk you want to give during LOAD . We want to see your papers before march 23.

hope to see you there!

by biertie at March 16, 2010 08:52 AM

Philip Van Hoof

RE: Food: a reminder

Nat Friedman wrote about food. The problem with content of what the presenter in the video shows is that although he’s getting applause (which by itself is easy), it’s not as fashionable as the ‘idea of the nineties’: the idea that you can do whatever you want.

We have to work on creating a new idea that also is fashionable. For this generation. Only that will reduce problems like obesity, I think.

by pvanhoof at March 16, 2010 12:21 AM

March 15, 2010

Kristof Willen

Unkillable processes

OpenSolaris

An issue I lately encountered was that a collegue complained about several processes which kept hanging on a Solaris 10 machine. After investigation, processes like format, powermt and even a for diagnostics invoked dtrace kept hanging, and could not even be killed :

# pkill -9 format
# ps -ef |grep -c format
2

In such cases, a good old truss session mostly explains what's going on; but in this case, truss came back with a quite peculiar message :

# truss -p 26632
truss: unanticipated system error: 26632
#
# pstack 26632
pstack: cannot examine 26632: unanticipated system error
#
# pfiles 26632
pfiles: unanticipated system error: 26632

In those cases, the only option you have is to rely on the kernel debugger to determine the cause :

# mdb -k
Loading modules: [ unix genunix specfs dtrace ufs sd pcisch md ip hook neti sctp arp usba fcp fctl ssd nca lofs zfs cpc fcip random crypto logindmux ptm nfs ipc ]
> ::pgrep format
S    PID   PPID   PGID    SID    UID      FLAGS             ADDR NAME
R   1241      1    942    686      0 0x4a004900 000006001414c060 format
> 000006001414c060::thread
            ADDR    STATE  FLG PFLG SFLG   PRI  EPRI PIL             INTR
000006001414c060 inval/2000 1424 de50    0     0     0   0              n/a
> 000006001414c060::walk thread | ::findstack
stack pointer for thread 300012b7700: 2a10055cb01
[ 000002a10055cb01 cv_wait+0x38() ]
  000002a10055cbb1 PowerSleep+0x14()
  000002a10055cc71 PowerGetSema+0xe8()
  000002a10055cd31 power_open+0x364()
  000002a10055cea1 spec_open+0x4f8()
  000002a10055cf61 fop_open+0x78()
  000002a10055d011 vn_openat+0x500()
  000002a10055d1d1 copen+0x260()
  000002a10055d2e1 syscall_trap32+0xcc()

In this case, it was the PowerPath MPIO which was blocked on a semaphore. Further investigation revealed that the drivers for PowerPath were removed from the /etc/system file. Restoring the correct version of that file and a reboot solved the problem.

by kristof at March 15, 2010 01:49 PM

Visualisations

Science

Michael Paukner is a graphic designer from Vienna and publishes on his Flickr photo stream several nice visualizations ranging from the list of oldest trees on earth to ancient Hebrew cosmology. Very informative and beautifully visualized.

by kristof at March 15, 2010 11:27 AM

March 14, 2010

Nicolas Trangez

Book review: Python Testing – Beginner’s Guide

As mentioned before, some days ago I received a copy of a recent book from Packt Publishing titled “Python Testing – Beginner’s Guide” by Daniel Arbuckle. I read the whole book (it’s not huge, around 220 pages), and wrote a review, as requested by Packt.

The book targets people who know Python (it doesn’t contain a language introduction chapter or something alike, which would be rather pointless anyway), and want to start testing the code they write. Even though the author starts by explaining basic tools like doctests and the unittest framework contained in the Python standard library, it could be a useful read even if you used these tools before, e.g. when the Mock library is explained, or in the chapter on web application testing using Twill.

The text is easy to read, and contains both hands-on code examples, explanations as well as tasks for the reader and quiz questions. I did not audit all code for correctness (although in my opinion some more time should have been invested here before the book was publishing: some code samples contain errors, even invalid syntax (p45: “self.integrated_error +q= err * delta“), which is not what I expect in a book about code testing), nor all quizes. These could’ve used some more care as well, e.g. on p94 one can read

What is the unittest equivalent of this doctest?

>>> try:
...     int('123')
... except ValueError:
...     pass
... else:
...     print 'Expected exception was not raised'

I was puzzled by this, since as far as I could remember, int(‘123′) works just fine, and I didn’t have a computer at hand to check. Checked now, and it works as I expected, so maybe I’m missing something here? The solution found in the back of the book is a literal unittest-port of the above doctest, and should fail, if I’m not mistaken:

>>> def test_exceptions(TestCase):
...     def test_ValueError(self):
...         self.assertRaises(ValueError, int, '123')

This example also shows one more negative point of the book, IMHO: the code samples don’t follow PEP-8 (or similar) capitalization, which makes code rather hard to read sometimes.

The solutions for the last quiz questions are missing as well, and accidently I did want to read those.

Don’t be mistaken though: these issues don’t reduce the overall value of the book, it’s certainly worth your time, as long as you keep in mind not to be too confused by the mistakes as shown above.

Topic overview

The book starts with a short overview of types of testing, including unit, integration and system testing, and why testing is worth the effort. This is a very short overview of 3 pages.

Starting from chapter 2, the doctest system is introduced. I think it’s an interesting approach to start with doctest instead of using unittest, which is modeled after the more ’standard’ xUnit packages. Doctests are useful during specification writing as well, which is in most project the first stage, before any unittestable code is written. The chapter also introduces an overview of the doctest directives, which was useful to read.

In chapter 3 gives an example of the development of a small project, and all stages involved, including how doctests fit in every stage.

Maybe a sample of Sphinx and its doctest integration would have been a nice addition to one of the previous chapters, since the book introduced doctest as part of stand-alone text files, not as part of code docstrings (although it does talk about those as well). When writing documentation in plain text files, Sphinx is certainly the way to go, and its doctest plugin is a useful extra.

Starting in chapter 4, the Python ‘mocking‘ library is introduced. The chapter itself is a rather good introduction to mock-based testing, but I don’t think mocks should be used in doctests, which should be rather small, examplish snippets. Mock definitions don’t belong there, IMO. This chapter also shows some lack of pre-publishing reviews in a copy-paste error, in the block explaining how to install mocker on page 62, telling from now on Nose is ready to be used.

Chapter 5, which you can read here introduces the unittest framework, its assertion methods, fixtures and mocking integration.

In chapter 6 ‘nose‘ is introduced, a tool to find and run tests in a project. I use nose myself in almost every project, and it’s certainly a good choice. The chapter gives a pretty good overview of the useful features nose provides. It does contain a strange example of module-level setup and teardown methods, whilst IMHO subclassing TestCase would be more suited (and more portable).

Chapter 7 implements a complete project from specification to implementation and maintenance. Useful to read, but I think the chapter contains too much code, and it’s repeated too often.

Chapter 8 introduces web application testing using Twill, which I never used before (nor did I ever test a web application before). Useful to read, but Twill might be a strange choice, since there have been no releases since end 2007… Selenium might have been a better choice?

A large part of the chapter is dedicated to list all possible Twill commands as well, which I think is a waste of space, this can be easily found in the Twill language reference.

Chapter 9 introduces integration and system testing. Interesting to read, the diagram-drawing method used is certainly useful, but it also contains too much code listings.

Finally, chapter 10 gives a short overview of some other testing tools. First coverage.py is explained, which is certainly useful. Then integration of test execution with version control systems is explained. I think this is certainly useful, but not at this level of detail. Setting up a Subversion repository is not exactly what I expect here, especially not when non-anonymous, password-based authentication over svn:// is used (which is a method which should be avoided, AFAIK).
Finally, continuous integration using Buildbot is tackled. No comments here, although I tend to use Hudson myself ;-)

Final words

Is this book worth your time and money? If you’re into Python and you don’t have lots of experience with testing Python code, it certainly is. Even if you wrote tests using unittest or doctests before, you’ll most likely learn some new things, like using mocks.

I’m glad Packt gave me the opportunity to read and review the book. I’d advise them to put some more effort in pre-publishing reviews for future titles, but the overall quality of the non-code content was certainly OK, and I hope lots of readers will enjoy and learn from this book.

by Nicolas at March 14, 2010 08:49 PM

March 13, 2010

Elise Huard

Cancan: after a closer look

Well, we’re into our first weeks of using cancan, and my earlier enthousiasm has been tempered somewhat.
It turns out that Cancan, although being well-written, is an Opinionated plugin. It may have been intended only for very simple applications.

Let me explain. Authorization happens mostly at controller level. Cancan offers sweetened before_filter for this purpose.
One being:

load_and_authorize_resource

which will do some standard loading action for you (nesting is possible). It is implied that the model has the same name as your controller, let’s say a CommentsController will load and authorize based on the model Comment.

It’s made flexible to a certain extent, because you can specify another model, like

load_and_authorize_resource :class => Post

Besides that, you can decide to use your own before_filter to do your own custom loading of the model.
If you don’t want to load, you can use

authorize_resource

(without the load)

But for me we’re already in muddy waters, First off, I want authorization only, it’s unnecessary to load the instance variables for me, that’s not what I expect from this plugin. So I’ll stick with authorize_resource.

Secondly, we’re wanting to authorize a resource, not a model A resource, as in REST, should be disconnected from the model, that’s implied in the MVC pattern. The resource is what we expose to the outside world, whether as URL or in a more general API. Models are the developer’s business and nobody else’s. Linking both is awfully restrictive: usually, you’ll also have controllers that use several models, controllers that use a cache or set off background tasks etc.

This is possible with Cancan in a rather roundabout way, by using symbols when defining an authorization rule and making a before_filter.

This is why I decided to fork and add the required behaviour to the plugin. To quote what I added to the README:

If the resource is not linked to a model, you can use the authorize_resource filter with the :resource option. When the resource name is the controller name, use

authorize_resource :resource => :controller

(for instance CalendarsController will authorize on :calendar)
When another name is required, a symbol can be used.

 authorize_resource :resource => :coffee

This may be enough for us to be able to work with it … we’ll see.


by elisehuard at March 13, 2010 05:47 PM

Geert Vanderkelen

A reason for these weird product or website names..

You've see them, those product/website names meaning nothing but making millions. Names which seem to come from stupid teenagers writing short messages on their phones.. Today I figured out a possible reason why we have such names.

I'm brainstorming a new project and came up with a good name to brand it. The problem? Assholes have parked any combination of the name for most top domains out there.

There you go: a good idea down the drain.. Or I'll just come up with a weird name and hope people will forgive me. Buying the domain? LOL.

by Geert JM Vanderkelen (noreply@blogger.com) at March 13, 2010 02:31 PM

Chitlesh GOORAH

Nedit’s Ctrl-y for emacs

Nedit has a very cool feature and I’ve even seen people using gvim have something similar. However emacs for some reason doesn’t. Is it because they don’t have users of their same field of application? Well who knows. The feature in question that with Ctrl-y on Nedit one can open a file whose filename and path [...]

by Chitlesh at March 13, 2010 10:26 AM

March 12, 2010

Ruben Vermeersch

Mono @ FOSDEM 2010: Slides + Videos

A couple of weeks ago we had a great day of talks during the first Mono @ FOSDEM Developer Room. What's even more awesome is the fact that Andrius Bentkus took the effort to record all talks. Here they are, together with the slides (the ones I have). Enjoy!

09:15 - 10:00      MonoDevelop
Lluis Sanchez Gual | MP4 | YouTube | Slides

10:00 - 11:00      The Ruby and .NET love child
Ivan Porto Carrero | MP4 | YouTube | Slides

11:00 - 12:00      Mono Edge
Miguel De Icaza | MP4 | YouTube

12:45 - 13:15      The evolution of MonoTorrent
Alan McGovern | MP4 | YouTube | Slides

13:15 - 13:45      Image processing with Mono.Simd
Stéphane Delcroix | MP4 | YouTube

13:45 - 14:15      ParallelFx, bringing Mono applications in the multicore era
Jérémie Laval | MP4 | YouTube | Slides

14:30 - 15:30      Building The Virtual Babel: Mono In Second Life
Jim Purbrick | MP4 | YouTube | Slides

15:30 - 16:00      Moonlight and you
Andreia Gaita | MP4 | YouTube

16:00 - 16:30      OSCTool - learning C# and Mono by doing
Jo Shields | MP4 | YouTube | Slides

16:30 - 16:45      Smuxi - IRC in a modern environment
Mirco Bauer | MP4 | YouTube | Slides

Buy Andrius a drink if you happen to run into him. He deserves it.

Update: All videos are now on YouTube too. The MP4 ones are of much higher quality though.

by ruben@savanne.be (Ruben Vermeersch) at March 12, 2010 10:43 PM

Rudy Gevaert

Gezocht: architect

Voor een renovatie in het Gentse.

by webworm at March 12, 2010 07:29 PM

Paul Cobbaut

We zijn in 2010!

Wil iemand eens tegen De Standaard zeggen dat we in 2010 zijn ? De laatste dagen doen ze regelmatig een foto reportage... met fotos die kleiner zijn dan hun reklamebanners...



Deze reeks bevat fotos van 280x180 en 280x140 pixels. Een resolutie van 1024x768 of zeker 800x600 lijkt me een minimum om in 2010 van een foto te spreken.

by Paul Cobbaut (paul.cobbaut@gmail.com) at March 12, 2010 01:00 PM

Dries Buytaert

Druplipet, a Drupal chia pet

And the answer to yesterday's "Eye grow Drupal" question is: Druplipets. Hundreds of cute little Druplipets, your friendly Druplicon chia pet. Druplipet is the newest member of the Acquia and Drupal Gardens family and will be making appearances at industry events this year. It is making its first appearance at SXSW along with a fun contest. Needless to say, Drupal chia pets are fun and powerful stuff!

Druplipet

by Dries at March 12, 2010 11:56 AM

March 11, 2010

Frank Goossens

Speed up your (WordPress-)site!

Google likes fast! Visitors like fast! So why don’t you go make your site really fast?

Suppose you just bought yourself hosting and you just installed WordPress for blogging or lightweight-CMS-purposes, how can you improve your site’s performance in that case? Easy!

  1. speed up PHP: use a caching optimizer (I use APC) to significantly speed up PHP performance (don’t bother  signing up for shared hosting with a company that doesn’t offer PHP with acceleration).
  2. cache dynamic output: install the “WP Super Cache” WordPress plugin. Configure and then forget about it; if you create/edit a blogpost, impacted pages are automatically removed from cache.
  3. optimize CSS and JS: install the “CSS JS booster” WordPress plugin, which (amongst other things) grabs all CSS and JS from WordPress and Plugins and outputs it in one CSS- and one JS-file (some plugins, e.g. Sociable and WordPress Mobile Pack, might need tweaking of the css media-attribute though)
  4. avoid calling 3rd party javascript: tracking (e.g. Google Analytics, which I removed), widgets (e.g. Twitter badges) or other 3rd party gadgets (e.g. AddToAny, which I removed) can slow down your site’s performance significantly
  5. optimize images: fire up your favorite photo editor and make that image just a bit smaller, use an acceptable level of compression (I end up between 70 and 80% for JPEG’s, depending on the image) and upload to smushit.com to squeeze out the last optimization-drop (example; I used a 20KB picture from Flickr, resized it to 80%, saved it with 77% compression and smushed it to end up with a mere 6KB).

The impact of a number of these steps can be measured easily; below are the response times of my blog’s homepage (the  html including css, js and images) as measured by Pingdom Tool’s Full Page Test.

  1. default Wordpress (on a Linux VPS with 320Mb RAM memory): 6.5 seconds
  2. (1)  with PHP APC activated: 4.1 seconds
  3. (2) with WP Super Cache: 3.1 seconds
  4. (3) with CSS JS Booster: 1.3 seconds

So there you have it, from 6.5 to 1.3 seconds in only 5 easy steps! WordPress specific, but easily applicable to other platforms as well. Now go and make your site fast! And then go and make it even faster!

Possibly related twitterless twaddle:

by frank at March 11, 2010 08:58 PM

Leo Eraly

Resizing/Adding VMware disk + Linux guest

You have Linux guest running on top of a (recent) VMware esx and you want to extend one of the disks (Not the root fs) ? You can do it without a reboot/downtime

- Resize the disk on VMware (e.g via virtual center)
- Go to the Linux guest os and run:

echo "1" > /sys/class/scsi_device/your_device/device/rescan

Check with dmesg is the kernel sees the new size. Should show something like this:

SCSI device sda: 209715200 512-byte hdwr sectors (107374 MB)
sda: test WP failed, assume Write Enabled
sda: cache data unavailable
sda: assuming drive cache: write through
sda: detected capacity change from 85899345920 to 107374182400

Now you can use parted or some other tools to resize the partition+filesystem.

Suppose you added a disk to a running VMware instance. No problem

- From within the Linux guest OS run:

echo "- - -" > /sys/class/scsi_host/host0/scan

Check with dmesg if the system sees the new disks


Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
0:0:1:0: mptscsih: ioc0: qdepth=32, tagged=1, simple=1, ordered=0, scsi_level=3, cmd_que=1
target0:0:1: Beginning Domain Validation
target0:0:1: Domain Validation skipping write tests
target0:0:1: Ending Domain Validation
target0:0:1: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 127)
SCSI device sdb: 1048576000 512-byte hdwr sectors (536871 MB)
sdb: test WP failed, assume Write Enabled
sdb: cache data unavailable
sdb: assuming drive cache: write through
SCSI device sdb: 1048576000 512-byte hdwr sectors (536871 MB)
sdb: test WP failed, assume Write Enabled
sdb: cache data unavailable
sdb: assuming drive cache: write through
sdb: unknown partition table
sd 0:0:1:0: Attached scsi disk sdb
sd 0:0:1:0: Attached scsi generic sg1 type 0

Another interesting (related) read: http://www.vmware.com/pdf/esx3_partition_align.pdf

by leo at March 11, 2010 02:22 PM

Dries Buytaert

Eye grow Drupal

Eye grow drupal
Eye grow drupal
Guess what is in these boxes?

by Dries at March 11, 2010 01:47 PM

Frederic Descamps

openERP spec files

As requested by Pieter, here are the spec files I used to create the openERP rpms for fedora and centos.

As some packages have different names or different user management commands, I need two different spec files for same pakages in each distro.

(only the client can be the same)

I wait for your feedback

AttachmentSize
openerp-server_centos.spec3.48 KB
openerp-web_centos.spec1.74 KB
openerp-client_centos.spec2.21 KB
openerp-server_fedora.spec3.63 KB
openerp-web_fedora.spec2 KB
openerp-client_fedora.spec2.25 KB

by lefred at March 11, 2010 07:42 AM

March 10, 2010

Dries Buytaert

City of Athens using Drupal

The City of Athens has launched a new Drupal site to serve as its official website, along with a Drupal-based site at http://www.breathtakingathens.com/ that provides visitor and tourism information.

Athens is a large city (3.5 million residents and 6 million tourists each year), with a large tourism base due in part to its role in the 2004 Olympic Games. To support the city's needs, the site includes a large calendar of city events, a comprehensive map-based index of city services and interactive tools that allow citizens to access city resources. The site builds on Drupal's multilingual capabilities to provide information in both Greek and English.

City of athens
Breathtaking athens

by Dries at March 10, 2010 11:20 AM

March 09, 2010

Kris Buytaert

DevOPS, SecOPS, DBAOps, NetOps

This post is long overdue, as the idea struck me when dicussing with Lefred while preparing his Fosdem talk on Maintaining too big tables

I got triggered finishing this post by Mr BuidlDoctor

Fred has been struggling with a typical DevOps problem resulting in the most unmanageable database setup possible, there's little room for him to move but he managed is way out .. because he is good at his job

It set the mark for me that because in different organisations even the Opsteam is fragmented `in different groups that there also we need to get the Devops idea going.

Typical setups here are the Network guys vs the Platform guys , specially with the growth of virtualization where the network stack doesn't stop at the physcial switchport anymore but the vlan trunks go deep in to the VM's a lot of discussion happens. There where traditionally the story for the network engineer stopped at the switch they now want control much deeper in the infrastructure.

But an even bigger group that needs integration are the security folks, it's no secret that in some organisations the security guys job is to be the bad guy, their default reply to something is NO. Specially to people wanting to drill holes in their architecture .

Patrick wonders if its the specialist vs generalist dillemma, I think it's the Web vs Enterprise IT way of thinking ..
DevOps first gained ground in Web environments , the battle has only started ..

We still have a long way to go before in say a banking environment the Devs and SecOffs' and the DBA's and the Ops are on the same line ... they all need to break the walls of confusion, they all need to come out of their silos. And when you are a generalist in charge of a bunch of these things you have to make sure your tuesday afernoon security persona talks with his other persona's from time to time ... otherwise you are really gonna need those meds :)

Technorati Tags:Technorati Tags:

Trackback URL for this post:

http://www.krisbuytaert.be/blog/trackback/992

by Kris Buytaert at March 09, 2010 09:39 PM

Frank Goossens

Fix iframe-positioning problem with frameMagic.js

A short followup on my previous post about iframes; as I happen to like simple drop-in solutions, I updated the javascript that handles the ‘blank 2nd page in an iframe bug’ to automagically work upon inclusion in the html.

So if you happen to have problems with the positioning of 2nd (or later) pages in iframes (due to the top part of the iframe not being visible in the ‘viewport’), just upload frameMagic.js to your webserver and add the following to the head of your html to ease your iframe-blues;

<script type="text/javascript" src="path/to/frameMagic.js"></script>

Optionally you can specify which iframes are to be treated this way (excluding the other ones) by doing

<script type="text/javascript">
var fM_conf="iFrame1,iFrame3";
</script>

You can find more information and examples on http://futtta.be/frameMagic.

Possibly related twitterless twaddle:

by frank at March 09, 2010 03:20 PM

Philip Paeps

Why I gladly suffer jetlag

23:56 JST

The weather today was disgusting. Rain, rain rain. Horizontal sheets of water. Really unpleasant.

This morning, we went to see the giant panda at Ueno Zoo, but it turned out that Ling Ling died of a heart attack a couple of years ago. Perhaps I need to rethink my fondness of Japanese cuisine a bit. Happily though, there were many other animals to cover for the disappointment. Particularly interesting was the aye-aye forest. Most of them asleep, but the one or two who were awake were highly entertaining. There was also a hyperactive Galapagos Tortoise, but of course it can't compete with an astro-chelonian.

Pity about the Panda. There's one in the Berlin Zoo I've consistently failed to visit for the past couple of years though. Maybe next year we should visit Berlin a couple of days early and see about the Panda.

Dinner this evening reminded me of why I don't mind sitting in a small metal tube pointed at this island for all too many hours. We spotted the restaurant by the (very!) cute waitress letting out the previous party. It was a tiny place. Three tables only. The kind of place I gravitate to.

Our starter was sashimi, including a bowl of small living fish. I'm actually not sure which fish they were. It was not ikizukuri, which I've had in Kyoto two years ago, but a bowl of small eelish creatures. I understand other people's sensitivities towards things like that, but really - carrots weren't uprooted by choice either, get over it. Just bite once and the vital problem isn't so vital anymore. Also on the plate were uni and some other tasty things. It was realy, really tasty

This was followed by a fried fish and udon and then cold soba. Yum yum!

All this was of course accompanied by some tasty sake.

The cute waitress disappeared at some point, but the food made up for her absence. We have the address of the place, we'll be sure to visit it again.

I asked Sato-san to ask Them to turn off the rain. It seems They have misunderstood though, and it now started snowing. This is suboptimal. I'll have to spend more time in restaurants. I'll end like the Panda, mark my words!

March 09, 2010 02:56 PM

Geert Vanderkelen

There are only bad habits

Vacation, and the mind is free. Then I scribble something, unleash it upon Earth where only a handful might read it:

Stop for a moment
And watch around
Hush for a second
And hear the sound

Think of your past step
And watch the road ahead
Pick up a fight
And try to flight

Break your habits
Stop living by one's wits
Take another curve
And make some surf

by Geert JM Vanderkelen (noreply@blogger.com) at March 09, 2010 11:23 AM

Thomas Vander Stichele

ski

As we are deluding ourselves here into thinking it’s snowing in Barcelona, I thought it appropriate to post some videos from the past few snowboarding trips.

Coincidentally, this is my first foray into the HTML5 video world – more on that later.

Let’s start with my favorite, the one where I show off how years of gymnastics in my youth help me keep my body in one piece:

Could not use HTML 5 or Flash for playback. You can download the file as MPEG4/H.264 or Ogg Theora file.

(Also notice the cool new orange snowboard pants that I settled on. Snowboard fashion was really boring this year, mostly grey and black only, with some ugly flashy colours as exceptions. I leave it to you to judge whether orange is one of them).

We spent eight full days in Tignes, France, with only about three days of sunny weather, and the rest filled with clouds and snow.

My goal this year was to learn how to do a 180. With the help of an instructor, that’s exactly what I did! Here’s an admittedly simple one – all the good ones are not caught on video.

Could not use HTML 5 or Flash for playback. You can download the file as MPEG4/H.264 or Ogg Theora file.

Here’s a more aggressive one with a bad ending:

Could not use HTML 5 or Flash for playback. You can download the file as MPEG4/H.264 or Ogg Theora file.

A few weeks before our snowboard trip, we also had a business planning weekend which included one day of skiing. Xavier risked life and limb following me around with his iPhone to record this. It’s not the most exciting descent in the world, and he ended up missing my one fall in it, but I was surprised to see how short the whole descent really is if you don’t take any time to stop!

Could not use HTML 5 or Flash for playback. You can download the file as MPEG4/H.264 or Ogg Theora file.

And here are Xavi and me relaxing over cheese fondue and raclette the day before the skiing:

Some notes about the HTML5 video part:

The embedded video should work fine in Firefox/Safari/Chrome/iPhone/Opera (except in Aitor’s “I plug mplayer into Opera” case), and work fine in Explorer too where it falls back to Flash.

I couldn’t get this to work in Android. 2.0 is rumoured to support the video tag, but so far no dice, and I couldn’t find a single HTML5 video page online that the Android phones over here can play. If you can see these videos embedded in Android, or know what I should to fix them, please do let me know!

by Thomas at March 09, 2010 12:42 AM

March 08, 2010

Philip Van Hoof

The future of the European community, a European Monetary Fund.

I’m worried about the EURO’s M3 if a European version of the IMF (a EMF) is to be installed.

Nonetheless, I think the European community should do it just to strengthen Europe’s economy. I’m not satisfied by Europe’s economic strength: I want it to be undefeatable.

We must not let the IMF solve our problems. Europe might be a political dwarf, but we Europeans should show that we will solve our own problems. We’re an adult composition of cultures with vast amounts of experience. We know how to solve any imaginable problem. And let’s not, in our defeatism, pretend we don’t.

A EMF is a commitment to future member states: Europe often asks them fundamental changes; economic strength is what Europe offers in return. This needs to come at a highest price: Greece will have to fix their deficit problem. Even if their entire population goes on strike. Greece will be an example for countries like my own: Belgium has to fix a serious deficit problem, too.

An EMF comes at an equally high price, and that frightens me a bit: I don’t want the ECB to go as ballistic on money creation as the FED has been last two years. I want the EURO to be the strongest relevant currency mankind has ever created. No matter how insane the rest of the world thinks that ambition is: I believe that keeping the EURO’s M3 in check is a key to creating a wealthy society in Europe.

Politically I want European nations to negotiate more and more often. The European Union is a political dwarf only because finding agreement is hard. But in the long run will our solution be the most negotiated, most tested on this planet.

Together we can deal with anything. That doesn’t mean it’ll be easy; it has never been easy: just seventy years ago we were still killing each other. We’re all guilty of that one way or another. And before that it wasn’t any better. Today, not that many people still care: “it wasn’t me”, right? So stop being a bitch about it, then.

It’s time to let it be. It’s time to start a new European century that will be better. With respect for all European cultures, languages, nations, nationalities, values, borders and interests.

But also a European century with economic responsibilities for each member. It’s our strength: we figured out how to keep our population wealthy: let’s continue doing so in the future.

by pvanhoof at March 08, 2010 09:51 PM

Dries Buytaert

The history of MySQL AB

MySQL, the open source database product that puts the "M" in LAMP, was created by MySQL AB, a company founded in 1995 in Sweden. In 2008, MySQL AB announced that it had agreed to be acquired by Sun Microsystems for approximately $1 billion.

The story of MySQL AB is pretty amazing, so I unleashed my "inner academic", did some research and compiled a timeline of MySQL AB's history. This timeline is assembled based on different resources online, such as MySQL press releases (example 1) and interviews with MySQL AB executives (example 2, example 3), etc.

Things to add? Let me know in the comments and I'll update the post.

1995

2000

2001

2002

2003

2004

2005

2006

2007

2008

2009

by Dries at March 08, 2010 12:00 PM

Frederic Descamps

openERP 5.0.7 for Centos and Fedora

I created rpms for CentOS and Fedora of openERP 5.0.7

I didn't test them yet but you can try them and send me your feedback to improve them.

AttachmentSize
openerp-server-5.0.7-1.noarch.rpm14.56 MB
openerp-client-5.0.7-1.noarch.rpm847.93 KB
openerp-web-5.0.7-1.noarch.rpm1.52 MB
openerp-server-5.0.7-1.fc12.noarch.rpm14.32 MB
openerp-client-5.0.7-1.fc12.noarch.rpm833.84 KB
openerp-web-5.0.7-1.fc12.noarch.rpm1.48 MB

by lefred at March 08, 2010 10:24 AM

Geert Vanderkelen

How do you name the device found in your pocket?

Since a few decades, humanity got more and more cursed and/or blessed with a little device now fitting perfectly in a trousers' pocket or womon's purse. But how do you call it these days? Here are some possibilities which crossed my mind:

I just read my first book using Amazon Kindle on my iPhone. Although odd at first, it was surprisingly pleasant. Old books mind you, like ‘Adventures of Sherlock Holmes’. I still prefer the normal, papered books, but reading using one's phone is sometimes handy (pun intended). Suddenly, my phone turned into a .. a book.

by Geert JM Vanderkelen (noreply@blogger.com) at March 08, 2010 09:56 AM

Raf Nijskens

OSD2010: Day 2

Day 2 at the conference was much more interesting then day 1, cause it the talks way more technical.

Only on the lego talk I had some comments: java on embedded devices --> WTF.

Sejo had some issues with his server while doing his presentation on djagios, but nevertheless it was like the best talk I saw.

For both lunch and dinner we ended up in Haiku sushi which was VERY good. For dinner we took a bunch of people with us, cause the lunch was so good. So if you're in Copenhagen and like sushi, that's the place to be!

by DenRaf at March 08, 2010 08:09 AM

Philip Paeps

Back in Japan

16:49 JST

Hard to believe another year went by. I got back to Tokyo last Friday via Copenhagen. I tried to burn some expiring miles to upgrade Kristof who is travelling with me to business class too, but it turns out they gave him the upgrade without deducting my miles. Very nice. Conversation made the flight over much less boring than usual.

So far, the food is working out very well. Last night, Sato-san recommended us a yakiniku-style establishment in the vicinity of Shinjuku station. The one with 200 exits and millions of people using them all at once. Despite the daunting location, we found it very easily. And the food was scrumptious, as expected.

Earlier today, we met up with the Italian invasion and went to check if Meiji Shrine was still where it was last year. While taking my annual picture of the enormous wooden structure leading to the shrine, a Dutch voice over my shoulder wanted to know if we were sure we could take pictures. Turned out to be Paul and Cor. Bumping into familiar people by accident in a city the size of Tokyo is a bit unexpected. On the other hand ... can't avoid the Dutch, right? ;-)

Food tonight promises to be interesting again. Watch this space!

March 08, 2010 07:49 AM

Amedee Van Gasse

I Love Lucy

Is het alweer een maand geleden dat ik nog een blogpost gedaan heb? Hmmm, rap mezelf eens een schop onder m'n kont geven. Wink Nose

Ubuntu Lucid Lynx komt er aan, en ik heb het risico genomen om nu al een upgrade te doen van 9.10 naar 10.04. Hey baby, take a walk on the wild side!

Eventjes dit intokkelen:

sudo do-release-upgrade -d

en een dik half uur later was de upgrade afgelopen.

In de known issues staat wel het volgende:
The fglrx binary driver for ATI video chipsets does not yet support the X server in Lucid. As a workaround, users should use the open source -ati driver instead. (506656)

Inderdaad, na reboot kreeg ik een waarschuwing van Xorg en werd mij een failsafe scherm voorgeschoteld. Nu heb ik 2 schermen, met verschillende afmetingen, en met een failsafe configuratie tonen ze alletwee hetzelfde beeld. Dat is dus niet de bedoeling.

Mijn oorspronkelijke xorg.conf was aangemaakt met de Catalyst Control Center voor ATI Radeon, fglrx-amdcccle, met vrij veel details (zie bijlage). Ik heb die radicaal verwijderd zodat Xorg automatisch zijn configuratie vaststelt. Beide schermen heb ik met behulp van lxrandr op hun maximale resolutie gezet: 1920x1080 en 1280x1024.
Het was mijn bedoeling om daarna de onderlinge positie van de verschillende schermen in te stellen met grandr, maar daar kreeg ik deze vriendelijke foutmelding:

User set screen size larger than max screen size

Oeps. De wijziging kan niet opgeslagen worden.

Geen probleem, Google is mijn beste vriend en zo kwam ik terecht op http://www.thinkwiki.org/wiki/Xorg_RandR_1.2. Met behulp van xrandr kan je op de console hetzelfde doen als met de gui-tool grandr.
Eerst vraag ik de informatie van mijn beeldschermen op:

amedee@fangorn:~$ xrandr -q
Screen 0: minimum 320 x 200, current 3200 x 1080, maximum 3200 x 2048
VGA-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 375mm x 301mm
   1280x1024      60.0*+   75.0  
   1024x768       75.0     70.1     60.0  
   800x600        72.2     75.0     60.3  
   640x480        75.0     72.8     59.9  
   720x400        70.1  
HDMI-0 disconnected (normal left inverted right x axis y axis)
DVI-0 connected 1920x1080+1280+0 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080      60.0*+   60.0  
   1440x900       59.9  
   1280x800       59.9  
   1152x864       75.0  
   1024x768       70.1     60.0  
   800x600        60.3     56.2  
   640x480        66.7     59.9  
   720x400        70.1

Daarna probeerde ik de schermen in te stellen:

amedee@fangorn:~$ xrandr --output VGA-0 --auto --left-of DVI-0
xrandr: screen cannot be larger than 2048x2048 (desired size 3200x1024)

Hetzelfde probleem dus als met grandr, maar deze keer met wat meer details.

De oplossing was het aanmaken van een eenvoudige /etc/X11/xorg.conf met uitsluitend dit:

   Section "Screen"
       Identifier	"Default Screen"
       DefaultDepth	24
 
       SubSection "Display"
           Depth		24
           # ADD A VIRTUAL LINE TO PROVIDE FOR THE LARGEST SCREENS YOU WILL HOTPLUG 
           Virtual              3200 2048 
       EndSubSection
   EndSection

Na herstarten van X hadden grandr en xrandr geen probleem meer met de nieuwe ultrabrede desktop. Zie ook de screenshot in bijlage.

Voor de rest werkt Lucy perfect! Nose Smile

BijlageGrootte
2010-03-08--1268011498_3200x1080_scrot.png1.36 MB
xorg.conf-backup-100307180651.txt2.74 KiB
xorg.conf_.txt295 bytes

by Amedee at March 08, 2010 01:28 AM

March 07, 2010

Philip Van Hoof

Emotional (and social) intelligence

It was the dawn of the 1970s, at the height of worldwide student protests against the Vietnam War, and a librarian stationed at a U.S. Information Agency post abroad had received bad news: A student group was threatening to burn down her library.

But the librarian had friends among the group of student activists who made the threat. Her response on first glance might seem either naïve or foolhardy — or both: She invited the group to use the library facilities for some of their meetings.

But she also brought Americans living in the country there to listen to them — and so engineered a dialogue instead of a confrontation.

In doing so, she was capitalizing on her personal relationship with the handful of student leaders she knew well enough to trust — and for them to trust her. The tactic opened new channels of mutual understanding, and it strengthened her friendship with the student leaders. The library was never touched.

(More available at the flash preview widget’s page 21)

– Daniel Goleman, Working With Emotional Intelligence, Competencies of the stars. 1998

In Working with Emotional Intelligence, Daniel Goleman explains several practical methods to improve the social skills of people. Before I bought this book a year or two ago, I read Daniel’s first book Emotional Intelligence. This weekend I finally started reading Working With.

I recommend the section Some Misconceptions. Regretfully ain’t this section available for display in the flash preview widget. Instead of violating copyright laws by typing it down here, I’m recommending to just buy the book.

You can find audiobooks online. The section about misconceptions is at track three. Track five talks about two computer programmers, which is very illustrative for many of my blog’s readers (and possibly myself). I hope you wont illegally download using torrents. Instead, buy the material.

Also very interesting is this lecture by Daniel:

Part 1, Part 2, Part 3

Here you can also find a Authors@Google talk by Daniel Goleman:


What distinguishes Daniel Goleman from old line proponents of positive thinking, however, is his grounding in psychology and neuroscience. Armed with a Ph.D in psychology from Harvard and a first-grade journalism background at the New York Times, Dr. Goleman has authored half a dozen books that explore the physical and chemical workings on the brain and their relationship with what we experience as everyday life.

– Peter Allen, director of Google university, introduction to Daniel Goleman. August 3, 2007

I hope readers of my blog will shun away from pseudo science when it comes to emotional and social intelligence, but instead read and learn from authors like Daniel Goleman. I also (still) recommend the books available at The Moral Brain by for example Dr. Jan Verplaetse.

by pvanhoof at March 07, 2010 12:17 PM

Dieter Plaetinck

Uzbl, monitoring, AIF talks

I recently did two talks, for which the videos are now online.

If all goes well, I'll be at ArchCon this summer, where I'll be doing these talks:

We're not sure yet if those talks will get videotaped.

by Dieter_be at March 07, 2010 11:06 AM

March 06, 2010

Kris Buytaert

Better days Arrive when Dev Meet Ops

A couple of weeks a go Brian Profitt pinged me for a chat about Devops , the result of that chat , his article can now be found on the Zenoss blog, it's titled Datacenter Barometer: Better days arrive when dev meets ops

It's a very nice read with some pointers to places regular readers of my blog should already know ;)
So with lots of leading Open Source infrastructure companies on different levels, such as config management (OpsCode and Reductive Labs) , monitoring (Zenoss) , deployment (openQRM, RPath, and obviously Consultancy companies , the upcoming Devops conferences around the planet promise to be a lot of fun ! ;)

Oh, and apparently there is some more on the story on /.

Trackback URL for this post:

http://www.krisbuytaert.be/blog/trackback/991

by Kris Buytaert at March 06, 2010 01:03 PM

Ruben Vermeersch

GSoC Infosession at K.U.Leuven next week

Short heads-up to Belgian students interested in participating in Google Summer of Code 2010. Next week, March 9, there will be an info session at the K.U.Leuven computer science department (200A, room 00.225), from 12:00 to 13:00.

Summer of Code 2010
Google Summer of Code 2010


Bram Luyten (mentor at DSpace) and Vincent Verhoeven (2 year as student) will do most of the talking, but as I happen to work there, I (2 times student and now GSoC admin for GNOME) will be present too and talk about doing a GSoC with GNOME. Obviously there will be plenty of time for questions as well.

If you want to be the next GNOME rockstar, this is your chance, come over and have a chat!

More info

by ruben@savanne.be (Ruben Vermeersch) at March 06, 2010 12:18 PM

Raf Nijskens

OSD2010: Day 1

I have to say we didn't see that much talks at day 1. First of all day 1 is the commercial day and second we had some things to do.

As we, Sejo and I, are now members of the exherbo infra team, we had to introduce us to all exherbo people here and start our contribution to it.
So we ended up in the cafeteria ( best place for wifi access ) setting up some virtual machines for the infrastructure we want to setup and debugging some issues with bind for delegated subdomains.

The only talk we did see, was the nokia talk about QT. After that one we left with a bunch of guys to eat something downtown. We called it a day after some more drinks in the hotel with a few people of the dinner.

by DenRaf at March 06, 2010 08:42 AM

Bert de Bruijn

HZ divider effect on timer interrupt overhead

Red Hat and related distro's (like CentOS) use 1000 timer interrupts per second, per CPU core or thread (this is called the "HZ value" inside the kernel). Because this causes a lot of extra work in case of virtualization, and caused (past tense since RHEL 5.4!) problems with timekeeping, the "divider" kernel parameter has been introduced. For example, by booting with "divider=10", the kernel uses 100 timer interrupts instead of 1000, and "divider=25" means 40 timer interrupts per second.
I did a little test today to see what difference that makes when running CentOS5.4 on vSphere. Tests were done with the current 2.6.18-164.11.1.el5 x86_64 kernel in a single vCPU VM. These are the results from my test environment:
Note that 40 is the maximum divider setting. Using 41 will show "tick_divider: 41 is out of range" in dmesg, and the parameter will be ignored.
On your own machines, you can easily check:
Gaining 20-40 MHz of CPU power on your virtualization host might not seem important, but this is a per-guest win ! Do this on all your VMs, and you could be freeing several hundreds of MHz per host, and get more VMs, better consolidation ratio's, better performance, or lower power usage.

Summary: before RHEL 5.4, divider=10 was recommended for timer accuracy. This is no longer true, but as I've shown, it still helps lowering the timer interrupt overhead. Don't forget that the ideal divider setting depends on your application: thread wake-up delays can occur in high divider scenario's, and responsiveness could potentially suffer because of that.

by bert (noreply@blogger.com) at March 06, 2010 12:12 AM

March 05, 2010

Philip Van Hoof

Tinymail 1.0!

Tinymail’s co-maintainer Sergio Villar just released Tinymail’s first release.

psst. I have inside information that I might not be allowed to share that 1.2 is being prepared already, and will have bodystructure and envelope summary fetch. And it’ll fetch E-mail body content per requested MIME part, instead of always entire E-mails. Whoohoo!

by pvanhoof at March 05, 2010 05:35 PM

Wouter Verhelst

Netgear WNDR3700 and OpenWRT

I wanted a machine on which I could easily run OpenWRT. So I'd went to the #openwrt channel on freenode a while back, and just asked for suggestions; people suggested to me that the Netgear WNDR3700 was a good choice, so I ordered that.

I assumed that it would be easy enough to install OpenWRT on this device, but hadn't actually looked into it, planning to wait with that until the device had arrived. Little did I know that the machine actually comes with OpenWRT preinstalled. Now there's an interesting twist.

Now you do need to run some "telnetenable" thingy to be able to get a shell, after which "telnet <device>" gets you a root shell (with no username or password by default). Supposedly you should update that by using "passwd", but they managed to break that in the firmware that comes with the device.

I am missing a few things, though.

root@WNDR3700:/bin# dmesg
/bin/ash: dmesg: not found
root@WNDR3700:~# uname -a
/bin/ash: uname: not found
root@WNDR3700:~# hexdump /bin/config |more
/bin/ash: less: not found

Unh?

root@WNDR3700:~# alias
more='less'
vim='vi'
root@WNDR3700:~# 

Aahh.

And for those who were wondering: no, it does not have any 'vi' installed, either.

Oh well.

The fun thing is, this device has a USB connector, too; so it should be possible to connect a USB storage device, install Debian, and use it as a very potent home server/router/switch/whatever. That'd require me to understand how hostap works, though, which I haven't played with yet. I'm sure I'll figure that bit out -- at some point.

by w@uter.be at March 05, 2010 01:17 PM

Raf Nijskens

OSD2010: Pre notes

Because of the injury of my colleague Sejo I had to go with him to OpenSourceDays. One of the Exhebo developers, Ingmar, joined us.

As Sejo doesn't like to take a plane, we drove all the way up here. After some detour and two border controls we arrived at Copenhagen after a 13 hour drive. ( Me likes! ) Was a very nice roadtrip!

We did meetup with some people of the organisation and after checking it at the very fine hotel ( A big thanks to the OpenSourceDays organisation ) we went out to dinner. ( First food of the day ). After that we called it a day.

by DenRaf at March 05, 2010 11:01 AM

Frank Goossens

electro-jazz-folk: Bibio hartje Pentangle

Ge zou het misschien niet geloven, maar ik luister niet alleen naar Gilles Peterson. Akkoord, de man draait mooie plaatjes en toen ik in de aflevering van afgelopen zondag Ali Farka Touré hoorde, was ik weer totaal overtuigd van het genie van Mr. Brownswood. Maar ik mag niet zo overdrijven, mensen hebben dat niet graag, zo van die blinde idolatrie.

Dus nee, deze blogpost gaat echt niet over Gilles Peterson. Als ik niet in een eindeloze loop naar GP’s Worldwide luister, stem ik dikwijls af op KCRW, een radiostation uit California, USA. En wat ik daar hoorde heeft me blij gemaakt;

Bovenstaand YouTubeken is “Ambivalence Avenue” van Bibio (zie ook z’n myspace pagina), artiestennaam van de Brit Stephen Wilkinson, die iets geloofwaardig met electro en folk doet. Ge moet maar eens rondsnuisteren op YouTube, hij heeft zo nog leuke melodietjes.

Het zal wel iets met het grondwater of met Stonehenge te maken hebben, maar Bibio’s vernieuwingsdrang is niet nieuw. Eind jaren ‘60 begin jaren ‘70 bijvoorbeeld, deden Terry Cox, Bert Jansch, Jacqui McShee, John Renbourn en Danny Thompson samen prachtige dingen met jazz, folk en blues. En nu ik zo geheel toevalligerwijze aan Pentangle (want zo heette hun groep) heb, ben ik ervan overtuigd; Bibio is ook een fan en onderstaande “Light Flight” heeft hem diep geraakt;

Possibly related twitterless twaddle:

by frank at March 05, 2010 06:33 AM

March 04, 2010

Fabian Arrotin

Extending (live) a SR (storage repository) on XenServer 5.5

For my new job I have to learn how to deal with Citrix XenServer (yeah, because of a mixed workload of CentOS domU’s and Windows TSE servers, for which XenServer has been optimized). I liked the fact that I’m directly feeling “like home” , as Citrix XenServer dom0 is based on CentOS (still 5.3 at this time though). One of the things i had to do was to extend a Storage Repository served from an IBM DS3200 through dual HBAs, and using mpp/rdac (the default on XenServer 5.5 when it sees a rdac disk storage backend). Great, I’ve never had problem doing this on plain RHEL or CentOS machines, so after having extended the LUN on the IBM DS3200, I was back on the XenServer side. I always like to read the official documention before doing something (and it’s even faster when you know what you’re searching for) and I found this on the Citrix XenServer documentation : “How to resize a Storage repository after changing the size of an LVM-base storage” . Hmmm, WTF ? Their recipe is : “live migrate the guests, restart the host and proceed for each host”! . No, it has to work without a reboot, we’re not Windows admins, right ? Here is what i did : (that was tested on a test machine !)

We have first to list the current status/size :

[root@xen1 ~]# xe sr-list
uuid ( RO)                : c945d1bb-2432-36ac-2766-ebd2bc7f2e81
name-label ( RW): Hardware HBA virtual disk storage
name-description ( RW): Hardware HBA SR [IBM - /dev/sdb]
host ( RO): xen1
type ( RO): lvmohba
content-type ( RO):
[root@xen1 ~]# xe sr-param-list uuid=c945d1bb-2432-36ac-2766-ebd2bc7f2e81|grep physical-size
physical-size ( RO): 85886763008
[root@xen1 ~]# pvscan|grep c945d1bb-2432-36ac-2766-ebd2bc7f2e81
PV /dev/sdb    VG VG_XenStorage-c945d1bb-2432-36ac-2766-ebd2bc7f2e81   lvm2 [79.99 GB / 16.12 GB free]

Now we’ll extend with the IBM DS StorageManager script editor : “set logicalDrive ["XenPool1"] addcapacity=139 GB;”

Back on the xen host we have to rescan for the new size (using a MPP device presented as /dev/sdb on the xen host) and confirm with dmesg|tail

[root@xen1 device]# echo 1 >/sys/block/sdb/device/rescan ; dmesg|tail

sdb: detected capacity change from 85899345920 to 235149459456

[root@xen1 device]# pvresize /dev/sdb
Physical volume “/dev/sdb” changed
1 physical volume(s) resized / 0 physical volume(s) not resized
[root@sicxen1 device]# pvscan
PV /dev/sdb    VG VG_XenStorage-c945d1bb-2432-36ac-2766-ebd2bc7f2e81   lvm2 [218.99 GB / 155.12 GB free]
PV /dev/sda3   VG VG_XenStorage-9c1e7a2a-2fc0-83eb-3e32-7cea2c9e9d93   lvm2 [60.59 GB / 60.59 GB free]
Total: 2 [279.58 GB] / in use: 2 [279.58 GB] / in no VG: 0 [0   ]

Rescan now that SR :

[root@xen1 device]# xe sr-scan uuid=c945d1bb-2432-36ac-2766-ebd2bc7f2e81
[root@xen1 device]# xe sr-param-list uuid=c945d1bb-2432-36ac-2766-ebd2bc7f2e81|grep physical-size
physical-size ( RO): 235136876544

Done ! and i confirm that the CentOS domU’s were still running after that … ;-)

PS : while talking about Citrix XenServer, I have to add that I used only ssh/xe to manage it, as their XenCenter gui app is a Windows only GUI (relying on .Net). But I found several days ago an interesting GPL project: OpenXenCenter, something to keep an eye on as it’s still alpha but quickly involving …

by fabian.arrotin at March 04, 2010 09:54 PM

Guy Van Sanden

Microsoft proves it has a sense of humor

You really have to hand it to Microsoft, apart from bad software and a lousy OS, they also produce their fair share of comical material like the Get The Facts campaigns.

But the guys in Redmond are rarely satisfied with any great piece of work, so their humor department produced this very funny article in  Computer world.

Their Senior Chief Clown is suggesting to put a general tax on internet-connected computers to pay for the cleanup of botnet/virus/malware infected windows PC.

Very funny and probably not so unrealistic since it would be hugely cheaper to pay for the cleanup costs of botnets than fix an OS that is broken from the ground up, I'll give them that.

So, thanks again to MS for starting out my day on a comical note and pointing out to people once again why they should be running GNU/Linux or FreeBSD or even OS X.  Though if everyone did that, Microsoft would probably run out of funds to keep their humor department...  That's the one product of theirs actually worth any money.

by gvansanden at March 04, 2010 06:43 AM

March 03, 2010

Kris Buytaert

Apparently Devops is not a JobTitle

Devops, Devops, Devops, everybody talks about it but we're still defining it ...

There's so many different interpretations possible for the term Devops , It's automated infrastructure, it's agile infrastucture, it's getting devs and ops closer to eachother, it's briding the gap between devs and ops , it's agile system administration, it's the movement , it's the mindset , it's the spirit.

Lots of people, lots of opinions .. Indeed some people have been doing this kind of work for ages, some claim the cloud is what makes devops become visible (but we've been doing cloud since before the cloud marketeers called it cloud)

Some define the devop as a European based , open source backgrounded , thirtysomething senior sysadmin , or should I say infrastructure architect , originated concept . Others claim it's developers gone sysadmin gone partly developer again ..

But it seems like lots of people claim that Devops is more about the team, not about the unique individual doing a job.

You'll have to agree however that our jobs are significantly different from the system adminstration type jobs you'll find at the average IT department. With that in mind: How shall we call this breed of people cooking up chef stuff, playing the puppeteer or cranking up the CFEngines ?

And no I don't like Devministrator :)

Technorati Tags:Technorati Tags:

Trackback URL for this post:

http://www.krisbuytaert.be/blog/trackback/990

by Kris Buytaert at March 03, 2010 08:55 PM

Dries Buytaert

Mollom CAPTCHAs are "intelligent"

Every other week or so, someone asks me the following question: How are Mollom CAPTCHAs better than those created by CAPTCHA module?. This is an important question, and understanding it is central to understanding our philosophy with Mollom.

First, when using Mollom in "text analysis" mode, a CAPTCHA is only displayed when Mollom is uncertain about whether a message could be spam. Mollom analyzes the text of comments and combines that analysis with what it knows about the internal reputation of the posters, to determine whether a message is "spammy". Non-spam submissions are accepted without a CAPTCHA, and posts that are certainly spam are rejected automatically. By only presenting a CAPTCHA when necessary, we avoid penalizing normal (non-spamming) users with CAPTCHA challenges. The CAPTCHA module is different in that it does not perform text analysis and therefore must always display a CAPTCHA challenge.

Second, the Mollom module for Drupal has a "CAPTCHA only" mode, which is useful when clients would prefer not to use text analysis, or for when the forms have almost no text to analyze (like Drupal's user registration form). In "CAPTCHA only" mode, the user experience of the Mollom module is very similar to that of the CAPTCHA module -- the user is always prompted to complete a CAPTCHA in order to perform a certain operation. The similarity ends here, however. While the user experience is the same, the actual CAPTCHA generation is not. Mollom CAPTCHAs are "intelligent", in the sense that Mollom tracks the behavior and reputation of IP addresses from all sites using Mollom. A known spammer, operating from a known IP with a poor reputation, won't be able to complete a Mollom CAPTCHA no matter how hard he tries. And, as more users install Mollom, its performance increases as it learns from the additional data. A stand-alone module like CAPTCHA doesn't learn from user behavior, as it simply generates CAPTCHAs without regard to their context and delivery.

This second difference between the Mollom and other CAPTCHA modules is, in fact, huge. When we analyze our server logs, we see that 20% of all correctly completed CAPTCHAs are submitted by known spammers. Spammers don't seem to solve CAPTCHAs algorithmically; instead, they persuade humans to solve CAPTCHAs for them by using botnet infected machines. Two blog posts that detail this process are How to defeat Koobface and Breaking Koobface's CAPTCHA solving process. As spammers evolve and their arsenal of tools become increasingly powerful, CAPTCHA solutions must keep up to remain effective. We believe Mollom's "intelligent CAPTCHA" processing represents a significant benefit from traditional CAPTCHA generation and is one way we'll continue to stay a step ahead in our goal to eliminate posting spam.

Mollom drupal protection modes

Different protection modes in the Drupal module for Mollom.

by Dries at March 03, 2010 04:30 PM

Frank Goossens

5 tips to tackle the problem with iframes

Iframes have always been frowned upon by web-purists (confession: myself included). But things are never black and white and sometimes iframes can be the best solution for a problem (you could substitute “‘iframes” with “Flash” in the previous 2 sentences, but that’s another discussion). So here are 5 quick tips which might lessen some of the SEO- and usability-problems associated with the use of iframes;

1. Google loves doesn’t hate iframes done right!

Although Google is rather vague about the subject, iframes and SEO do not have to be mutually exclusive. But you will have to make sure it’s your main page that shines in search results, not the iframe-content. The main page (where the iframes are defined) has to be more then a mere placeholder for one or more iframes. Migrate as much information (titles, description and other text) from the iframe-content to your main page, which should describe what goes on in the iframe(s). Use the iframe title-property and insert alternative content between opening and closing iframe-tags. A quick example:

<h2>Calculate your mortgage rate</h2>
<p>Calculating your mortgage rate was never easier; just enter the loan-amount and the duration below!</p>
<iframe src=”http://page.url/iframe-container-page1″ …  title=”Calculate your mortgage rate here”>Your browser does not seem to handle frames properly, but you can calculate your mortgage rate <a href=”http://page.url/iframe-container-page1″>here</a></iframe>

2. Own the stage

Avoid visitors viewing the iframe-content out of the context of the main page (e.g. because they followed a link in search-results). Add javascript to the iframe-content to check if it is accessed stand-alone and redirect to the main page (or explain and provide link to the main page) if that is the case.

if(self.location==top.location) top.location.replace('http://contain.er/page-url/here');

3. Don’t draw blanks

When a visitor clicks a link at the bottom of a long page inside an iframe and the target is a shorter page inside the same iframe, then he/she will see a blank page which is … well not very usable, no? The (hackety-hack) solution; tell the browser to scroll to the top of the iframe each time a new page in it is loaded, by calling the function below (with the iframe id as parameter) when the iframe’s onLoad event fires:

<script>
var firstrun = new Object();
function frameMagic(el) {
if (typeof firstrun[el] === ‘undefined’) { firstrun[el]=true; }
else { document.getElementById(el).scrollIntoView(); }
}
</script>
<iframe id=”iframe” onLoad=”frameMagic(‘iframe’);”>

4. Your users really do need scrolling=”auto”!

Help your visitors access all iframe content no matter what configuration they’re using: don’t disable the iframe scrollbars! Disabling them will render the iframe partially inaccessible for some of your users, because the size your iframe-content needs depends on things outside your control such as operating system & versions (e.g. font & screen resolution), browser (e.g. css-implementation) and browser configuration (e.g. non-default font-size). Instead define a reasonable iframe-width and height, make the iframe-content width flexible (fluid) and let the browser decide if a vertical scrollbar is needed.

5. Smart sizing without scrollbars

If you really really really don’t want scrollbars, if you want your iframe to adapt to the size needed by the iframe-content automatically and if you’re not afraid to experiment; there are some nifty javascript-solutions that allow the iframe-content to communicate the required height to the main page. Check out Framemanager (stand-alone, has some issues though) and the JQuery-postmessage iframe-example (which does everything in javascript, which isn’t really ideal from an accessibility point of view).

Conclusion: iframes aren’t necessarily evil (either), but you’ll have to make a small effort to render them somewhat SEO- and user-friendly.

Possibly related twitterless twaddle:

by frank at March 03, 2010 02:53 PM

Wouter Verhelst

dpkg vs RPM

Thomas blogs about some issues he had with his N900's facebook plugin. This post isn't about that, as I don't use facebook.

But as part of his blog post, he mentions the following:

This reminded me of a pet peeve I have with those people who claim Debian’s packaging system to be far superior to rpm – apparently dpkg doesn’t have any equivalent of rpm -qv which allows you to verify that the files that should be installed by a package are indeed on disk

True, probably because the script would be so trivial:

for i in $(cat /var/lib/dpkg/info/nbd-client.list)
do
	[ -f "$i" -o -d "$i" ] || echo "$i missing"
done

There, that wasn't hard, was it?

Now I'm not sure whether rpm's -qv option actually checks the checksum of the files, too. If it does that, then the semantically similar way would be:

(cd / && md5sum -c var/lib/dpkg/info/nbd-client.md5sums)

... except that MD5 is totally and utterly useless these days, and that we should be changing to something else. And that md5sums is an optional feature, provided by some, but not all, packages. And it may also be that maemo packages don't have md5sums (which would make sense). But, anyway.

by w@uter.be at March 03, 2010 03:08 AM

March 02, 2010

Dries Buytaert

Open Source in the Enterprise and in the Cloud

In a couple of weeks, I'll participate in a panel discussion on The Future of Open Source in Business. In preparation for that discussion, I figured I'd write down my current thoughts and solicit some feedback. I'll talk about two important trends relevant for the future of Open Source, but there are certainly more.

First, Open Source adoption in the enterprise is trending at an incredible rate -- Drupal adoption has grown a lot in 2009 but we saw by far the biggest relative growth in the enterprise. Fueling this movement is the notion that Open Source options present an innovative, economically friendly and more secure alternative to their costly proprietary counterparts. Second, Cloud Computing is a transformational movement in that it enables continual innovation and updating - not to mention a highly expandable infrastructure that will reduce the burden on your IT team.

Two years ago, when starting Acquia, we predicted this would happen so it is no surprise that Acquia's strategy is closely aligned with those two trends: Drupal Gardens, Acquia Hosting and Acquia Search are all built on Open Source tools and delivered as Software as a Service in the cloud. Combining Open Source tools and Cloud Computing makes for the perfect storm for success. It provides real value to end-users and it enables companies to monetize Open Source. It creates a win-win situation.

At the same time, I think we have an opportunity to go beyond that, and to redefine the Software as a Service model based on Open Source values, almost exactly like we started doing 10+ years ago with off-the-shelf software. Almost all Software as a Service providers employ a proprietary model -- they might allow you to export your data, but they usually don't allow you to export their underlying code. While a lot of these services might be built on Open Source components, they have a lot more in common with proprietary software vendors than Open Source projects or companies.

There is room for Open Source companies to disrupt this model, and it is probably not something that can be done without the help of Open Source companies. Drupal Gardens provides a good example of this model.

For example, users of Drupal Gardens can help improve Drupal Gardens, simply by contributing to Drupal. By staying close to the Open Source project, everyone can help shape the service. Along the same lines, we want people to be able to export their Drupal Gardens site -- the code, the theme and data -- and move of the platform to any Drupal hosting environment. By doing so, we provide people an easy on-ramp but we allow them to grow beyond the capabilities of Drupal Gardens without locking them in.

It is Software as a Service done right -- it will offer enterprises a much more secure and low-cost alternative to proprietary counterparts and provides many Open Source projects the opportunity to have a much bigger reach. It creates a triple win scenario -- for the customer, for the Open Source project and the Open Source company -- in a way that wasn't really apparent five years ago. At least not to me.

Have you taken the 2010 Future of Open Source Survey yet? If not, please take a few moments to share your thoughts on where you think Open Source is headed.

by Dries at March 02, 2010 08:59 PM