Arxiu de la categoria: General

Updates from the plone testing and continuous integration team

If there’s one thing that sprints are for that is to bootstrap your motivation and engagement with the project.

So after a really discussion fruitful PLOG sprint in beautiful Sorrento (Italy) with amazing food and weather.

With all that energy, and being alone at home without wife nor kid, truth be told, I couldn’t stop myself and did some more than needed cleanup and enhancements on

Clean up

Is always a good idea to tidy up your desk before starting to work, right?

So one of the first tasks I set up to do was to update the vagrant configuration we have for testing jenkins locally, went over the documentation to double check that everything was correct and while at it iron out everything that on the docs did not make sense to something that hopefully makes a bit more sense.

On that front, the ansible roles used to build both jenkins master and its nodes have been greatly simplified and now, finally, others than myself would be able to update jenkins nodes and master without much hassle. If anyone wants to join the team and work on jenkins, please reach out and let’s work together!

Less is more

If you look at Jenkins now you will see that there are only 3 nodes, while some weeks ago there where 6.

Workers 1 to 4 where the old and slow ones running on Rackspace still on Ubuntu 14.04 and starting to crash randomly1.

So I created another node in the new server that the Plone Foundation generously is paying and removed all the old ones.

So while there are less nodes available, they are much faster than  before, so hopefully that makes it even.

Stay tuned though, as there is another node coming over if some technical details can be sorted out first.

Is that compatible?

For quite a while I had this idea floating on my head: it would be cool that add-on developers could check if their add-ons work, not only for the current released Plone version2, but actually with the current development version.

With that in mind these three new Jenkins jobs were born:

I just did some basic testing on them, so please, use them and report feedback.

Happy hacking!

  1. node 1 was down already for quite a while and 2 and 4 started failing this weekend as well
  2. that’s already doable and easy to set up
Publicat dins de General | Envia un comentari

Faster tests and python 3

2x faster

Thanks to the Plone Foundation that is sponsoring a new dedicated server for our jenkins nodes (the machines that run our test suite on every change),
the Plone community is starting to enjoy faster builds (twice as fast!).

If your pull request or jenkins job runs on Node 5 or Node 6 you will notice it :-)

Please report any misbehavior on github project if you happen to notice something not working as expected.

Happy testing!

Python 3

As the Zope community is getting closer and closer to make a Zope release Python 3 compatible, us, the Plone community have to step up and do the same.
For that, we are working on, guess what, a new Jenkins job that will only run the test suite of all packages that are known to work on Python 3 already.

The initial list isn’t that big, roughly 10 packages so far, but as more and more Zope packages are updated, the more Plone packages that can be made compatible as well.

The upcoming Alpine Sprint will be dedicated towards this: getting a Plone version compatible with the current Zope versions, which will eventually lead to this Zope on python 3 target (aimed to be released by the end of next year).

Happy hacking!

Publicat dins de General, jenkins, plone, python3 | Envia un comentari

Easily extract commits from a messed up branch

Once in a while you encounter branches that are have been over-used, i.e. multiple persons added commits there for unrelated issues.

How to get around/solve that? I’m glad you ask :-)

Today I was facing something similar at work, where the messed up branch in question had some commits already merged into master but there were some important other parts to be extracted from it.

So I used three tools:

  • git log --graph --decorate --pretty=oneline --abbrev-commit --all (with an alias git fulllog)
  • a git graphical visualizer (gitg for instance)
  • a simple plain text editor (gedit for instance)


Fire up git fulllog in a terminal and copy & paste as much information as you need into the text editor.

Fire up the git graphical visualizer and check each relevant commit what’s doing.

Once you know what it is about annotate each commit so you know which commits relate together, i.e. from

ae0ee04 My commit message


ae0ee04 11111 My commit message

This way once everything is annotated is really simple to just grab all the 11111 commits and git cherry-pick them in a new branch :-)

Pro tip: as you are editing a plain text file you can keep removing lines and adjusting the indentation, suddenly you realize how things keep fitting together!


Publicat dins de General, git, plone, tips | Envia un comentari

Plone testing team meeting

After a Plone Conference there’s always a lot of energy and willingness to move Plone one step forward.

The testing and CI team in Plone is no different, and for that I created a Doodle to see who is interested and what would be the best time to meet during next week.

If you are interested in the team, or know anyone who would be, please share that link and join the meeting!

Publicat dins de General, meeting, plone, plone conference, testing | Envia un comentari

Plone on python 3 status

2020 is approaching fast, one day at a time, and besides being a nice catchy year, it will be also the year where Python 2.7 will no longer get any security updates.

What that means for Plone? We should hurry up and get a python 3 porting of the whole stack, yes, including Zope, ZTK, ZODB and all the tooling around (zc.buildout, etc etc).

Fortunately quite some tooling and Zope/ZTK/ZODB is already updated and there’s ongoing effort on porting the remaining parts.

The big elephant on the room blocking any porting effort of Plone to python 3 was RestrictedPython, a python distribution that, quoting itself: provides a restricted execution environment for Python.

Note the past on the previous sentence.

Since RestrictedPython is being worked, now it’s high  time for the other python distributions from Plone to be also made compatible with Python 3. Stay tuned for the Plone Conference 2016 sprint report!

Copy&pasting&adapting a set of scripts to track the progress of the porting for the Zope foundation github organization, results here, I made the same but tracking what Plone 5.1 (including our testing environment) looks like on Python 3:

The code is on collective, so feel free to update the package list.

During the Plone Conference 2016  there is quite some work put on either reducing the amount of dependencies, or updating our stack to use newer (already python 3 compatible) part of the underlying stack.

The clock is ticking and Plonistas all over the world are working hard on it!

Publicat dins de General, plone, plone conference, python, python3 | Envia un comentari

python 3 support one (of the many) step closer

During the Barcelona sprint (report from Paul and Ramon) there was quite some work to bring dexterity related packages to work both in python 2.7 and python 3.5.

That work is mostly still pending to be merged, because we had a blocker: our current CI infrastructure (namely jenkins master and its nodes) run on a version of Ubuntu1 that does not provide python 3.5 by default.

So it would be a bit irresponsible to merge those changes without a way to ensure that the effort that was put during that sprint is not long forgotten and had to be done again from scratch some months later.

As reports about the newer Ubuntu version regarding python and plone are not that encouraging, and also due to other reasons, I decided to take the longest but long-term best approach: enters gforcada.compile-python!

An ansible role

So I decided to create an ansible role, given that our jenkins CI setup is already using some, and Plone community is also favoring it, to install all the system dependencies to compile Python 2.6, 2.7 and 3.5.

As extras I added:

  • install virtualenv on python 2.6 and 2.7 (on python 3.5 is already available)
  • install system dependencies for Pillow and lxml

See its README for all the details and more.

With that and vagrant I was able to test that a buildout.coredev (branch 5.1) runs all its tests without a problem :-)

I was tempted to add pypy as well, but I was too lazy/busy for that, if anyone feels like it, pull requests are always welcome!

I hope you find it useful and happy hacking!

  1. 14.04 for the curious
Publicat dins de General, ansible, jenkins, plone, python, python3, ubuntu, vagrant | Envia un comentari

Berlin 2016 sprint update

This week some Plonistas, unfortunately fewer than expected, meet at IN-Berlin to work towards a brighter future for Plone.

Some of us resumed our work already started in Innsbruck sprint early this year while some other topics grew out of discussions and trying things out.

I will never get to write as good as Paul reporting on Barcelona’s sprint, but hey, I will do my best:

In no special order:

Just by trying out the newly shiny website (congrats team!!), some bugs where discovered and reported, work done by Stephan Klinger.

The PLIP about assimilating collective.indexing to Plone core finally got all its tests green and is about to be ready for review, work done by Maik Derstappen and Gil Forcada.

Python 3 support was a hot topic during the sprint, so with that in mind Florian Pilz and Michael Howitz created a new tool, zodb.py3migrate, that allows you to convert existing ZODB databases to python 3! Best of all, its great documentation! Be aware that the migration is done in place!

Our Jens2 team was not quadratic this time around, but Jens Vagelpohl continued trying to tame Pluggable Authentication Service (aka PAS).

Did I say that Python 3 was a hot topic? Thomas Lotze with googling support from Gil Forcada took the problem head on and decided that, as Thomas had not that much time (unfortunately he was around only 3 days), work on cracking hard nuts: C extensions. And indeed he did! AccessControl and DocumentTemplate at least compile on python 3.5 (throwing quite some warnings, but hey, have you ever seen Archetypes being installed?). Best of all is that Python 2.6 and 2.7 already have quite some macros for forward compatibility, so the bits that are compatible were pull requested and they are already merged!

Unfortunately that work, C extensions, came to a halt as we hit with RestrictedPython. After long discussions between Thomas, Gil and Maik we decided to make a video conference with the Barcelona sprint, Eric Bréhault, as well as Alexander Loechel, who couldn’t join is in Berlin, but that he already had worked on the topic while in Insbruck early this year (read about his findings). The discussion went really well and Alexander offered himself to continue working on it, stay tuned!

Maik and Stephan meanwhile where not happy with the constellation of form packages that we currently have (z3c.form, plone.autoform, plone.supermodel, plone.z3cform,…) and made yet another package1… just kidding! No, instead they worked on improving the forms related documentation: getting rid of grok2 and making sure that the documentation is consistent3. For that Stephan created the linked above package and Maik was working on moving the remaining useful bits of plone.directives.form to plone.autoform. Stephan started a discussion on the topic on

Lastly, I put my jenkins/mr.roboto hat on and added some more functionality to mr.roboto: warn which pull request jenkins jobs need to ran to know if a pull request can be safely merged and auto update buildout.coredev’s checkouts.cfg whenever a pull request gets merged. The logic is fairly trivial, but gathering all the pieces together to drive the control is far from it, and testing is yet a complete other matter (thanks mock!!).

All in all we had fun, lots of things got done or discussed and, as with every sprint, everyone is looking for the next one!

Happy hacking!


  1. will be soon moved to collective
  2. and hidden grok dependencies lying in plone.directives.form and plone.directives.dexterity
  3. at the beginning there are some fields, and two pages later, magically, fields are different!
Publicat dins de General, berlín, in-berlin, mr.roboto, plone, sprint, zodb, zope | Envia un comentari

Robots are taking over

Since some time ago Jenkins, our continuous integration system, already reports back to pull requests the job build status, just like other popular CI systems, there’s some documentation on how to trigger jenkins builds on your pull requests.

On selected packages Jenkins is also reporting to GitHub if there are any code analysis errors, see the list of packages and how to run code analysis on your own.

mr.roboto is a pyramid app that works as a webservice providing integration between our plone/collective GitHub organization and Jenkins.

Some of you might have noticed that since last week is adding status updates on pull requests to check if the authors of the pull request have signed the Plone Contributors Agreement.

Since today it is also checking if pull requests are modifying the changelog entry file (namely CHANGES.rst), this way, no change will go unnoticed.

Next step is to warn about which pull requests jobs need to be run for a given pull request. With the current three major releases (4.3, 5.0 and 5.1) being tested is quite a challenge to know which major versions a pull request should be tested against.

As usual, please report any problem on issue tracker.

Happy hacking!

Publicat dins de General, continuous integration, github, jenkins, mr.roboto, plone, pull requests | Envia un comentari

Ready, set, sprint!

In less than a week Plonistas will be meeting in Berlin to sprint on Plone.

The topic this time is to continue the long endeavor to cleanup and slim down our stack, Zope included.

Thanks to IN-Berlin we will sprint at their offices. All information on how to get there is on the sprint page.

The main communication channels with the sprints will be the usual #sprint IRC channel (on freenode) and we will try to maintain a hangout channel open as well (we will provide the link later on).

On social networks you can try to keep an eye on #berlinsprint hashtag.

Happy hacking!

Publicat dins de General, berlín, in-berlin, plone, sprint | Envia un comentari

Berlin strategic sprint 2016 update

In nearly a month the Berlin strategic sprint 2016 will start, and finally we can announce where it will be hosted: IN-Berlin offices!

You can find all information in the link above.

There are still some spots left, the venue is big enough to accommodate around 15 to 20 persons, so if you want to join the sprint, now is the time to sign up and register. As it’s an strategic sprint the Plone Foundation could help with the travel costs if that’s an issue for you to attend, contact them!

And best of all: spring has already arrived in Berlin, so we can expect good weather1 and a full city to enjoy!

See you all in Berlin!

  1. hopefully not famous last words
Publicat dins de General, berlín, in-berlin, plone, sprint | Envia un comentari

How to test pull requests on

Although for me it looks clear and straightforward, for some it may not be the case, so I decided to add a brief document explaining it. It should show up in Read The Docs here:

If Read The Docs still hasn’t catch up the source in GitHub is easily readable as well:

Bonus point: I made my first screencast demoing it! Watch it in all its glory.

Publicat dins de General, github, jenkins, plone, pull requests, testing | Envia un comentari


0 to 1k

Yesterday marked the day that Jenkins Job “Pull Request 5.0” hit the 1000 job (right now running the 1016!).

It’s been a long journey to get it to its current status1 but IMHO since the introduction of it our three main Jenkins Jobs for both 4.3 and 5.0 have been far more stable.

Thanks to everyone that reported feedback and is using it!

100k to 0?

Jenkins is not only about tests, code analysis and all other kind of jobs are running on Two of the latest additions are:

  • per package code analysis jobs that report back to github: packages can opt-in2 and are checked with flake8 and other tools3
  • a global code analysis job: exactly the same as the per package jobs mentioned on the previous point, but running code analysis on ALL packages

The 100k is the flake8 error count for the global job, will we be able to bring that down to zero? :-)

Side note: Zope2 and CMFCore are the two (by far) with more code analysis errors, some other packages are probably going to be deprecated so there is no need to clean up them.

Best of both things?

Anyone (you!?) can grab a package clean it up, and run a pull request job to ensure nothing is broken after the clean up and happily merge it.

Happy hacking!

  1. be able to run 4.3 or 5.0 pull requests, allow multiple pull requests per job, report before and after to github just like Travis, allow external forks to be tested…
  2. fill an issue!
  3. more about it
Publicat dins de General, code analysis, github, jenkins, plone, plone.recipe.codeanalysis, pull requests | Envia un comentari

Make code analysis cleanups brainless

I wrote a small guide with a step by step instructions on how to cleanup a package code so that it follows our Plone style guide.

To add sugar on top, the packages that are already monitored for it, point you to that same guide, see it in action.


Publicat dins de General, code analysis, jenkins, plone, plone.recipe.codeanalysis | Envia un comentari

Towards more maintainable code

On my talk at the Plone Conference 2015 (slides, talk notes from Maurits) one of my points was that a written style guide is worth nothing if you can not check/enforce it.

Who cares what a style guide says regarding indentation, dependencies, string quoting, docstrings, handling i18n, etc etc if then one can freely commit changes that go against the said style guide?

Fortunately in Python we already have pep8 (the tool) and flake8 (with its great plugin ecosystem). To top it off,  on Plone we already have plone.recipie.codeanalysis. We have the tools.

Talk is cheap

I’ve been putting as much effort and free time as I could to make that happen.

plone.recipe.codeanalysis has been improved1, flake8 plugins have been written, and finally during this last Alpine City Strategic Sprint 2016 I could implement the missing piece: report back to the users (see an example)!

The script is fairly simple:

#!/usr/bin/env bash
wget -O
wget -O qa.cfg
wget -O .isort.cfg
python -c qa.cfg
bin/buildout -c qa.cfg

Run the above on any Plone distribution and see the output collected on parts/code-analysis/flake8.log

Currently only a few packages are checked, but cleanup tasks can start on any Plone package as of now. Be sure to ask for a job that will check that the package remains clean as soon as your cleanup changes are merged!

Keep on!

  1. and by no means only by me
Publicat dins de General, code analysis, flake8, jenkins, plone, plone.recipe.codeanalysis, sprint | Envia un comentari

Alpine City Strategic Sprint 2016 – personal report

This past five days I had the pleasure the be part on the last Plone sprint: Alpine City Strategic Sprint 2016, what a blast!

In the following days, the amazing never running out of steam, Jens will report back to the community. A partial/preview report already exists for the impatient ones (disclaimer: I made it, so there’s probably quite a few things missing).

Below I will make a summary of what I achieved thanks to being part of the sprint.

Work done


  • bring back node4 on Jenkins: meaning that we can run more jobs at the same time, really handy for a sprint or at release time/high activity!
  • quickly update (totally untested, so dragons ahead) ZODB, Zope, ZTK and CMF jenkins jobs, now they are bundled  together in a tab. Pointers on how to make them reliable/improve them highly appreciated, submit tickets for it so we can keep track of them
  • create jenkins jobs for PLIPs being worked on during the sprint. In retrospect they took me less than 5 minutes of work1 and they proved to be extremely helpful. Pro tip: whenever working on a new PLIP ask for a jenkins job!
  • create more jenkins jobs for checking, and reporting back, code analysis on distributions (more about it on a follow-up post)


Fortunately all the above took less than one or two hours, my main task during the sprint was, together with Maik, bring collective.indexing in Plone core without having to add yet another package2. Please read the PLIP description, linked above, to know the scope of it.

As of now we are down to one single test failure! We are highly appreciated on creative ways to solve that last one…

Not only work

A sprint is way more than just sitting in front of a laptop and coding!

Lots of interesting discussions where held, we had lots of fun, we did some sightseeing and enjoyed being together.

And after that I can only say that Plone’s future is brighter than ever has been!

As a personal pet peeve, we finally agreed (?) on how to sort imports! :-)

Last words go to Jens and Christine for taking so much care on preparing everything and being so open and helpful at any time, thanks!

  1. thanks to jenkins-job-builder
  2. which our release manager will probably welcome for a change
Publicat dins de General, collective.indexing, innsbruck, jenkins, plone, sprint | Envia un comentari

Looking for some easy, entry level tasks?

I’m glad you asked, because there’s plenty of them, for example these ones:

Move core packages’ translations to

There a step by step tutorial on the first message and plenty of packages to choose from.

World Plone Office Day is 3 weeks away only so, whether you are hosting one office day or you are thinking of to attend it, be sure to get a list of easy tasks to do for newcomers.

Happy hacking!

Publicat dins de General, WPOD, plone, translations | Envia un comentari

Testing multiple pull requests at once

It probably happened to you, dear reader, every now an then: the new feature you are working on has changes across more than one git repository, so how can this be tested to make sure nothing is broken before merging those nth separate pull requests?

That’s what #126 was about and finally, thanks to WPOD and the company I work for to allowing me take part of it, it’s finally fixed.

Let us know if it does not work as expected!

Publicat dins de General, git, jenkins, plone, pull requests | Envia un comentari

the long path of unittesting JS in Plone (in Jenkins of course)

One of the main goals of Mockup (the new JavaScript story for Plone) is to unittested.

Before Mockup there was no systematic way to unittest JavaScript, you could only do some really slow integration tests via Robot Framework (with its Plone integration

Now with Mockup he have the other side of the coin as well: we can not only check how the code  integrates within Plone but we can also check its logic with fast unittests.

There’s already Travis integration for Mockup and Mockup-core (a building block for Mockup), but as Plone is using Jenkins it makes a lot of sense to run them there as well.

So, how that’s done? I’m glad you ask, exactly like this:

  1. Add Nodejs on Jenkins nodes (plone.jenkins_node)
  2. Configure Jenkins so that tests will find where Nodejs is (plone.jenkins_server)
  3. Configure Grunt (a JavaScript test runner) for Jenkins (mockup-core)
  4. Add a make target for the new Grunt configuration (mockup)
  5. Create a Jenkins job that runs it (
  6. Profit!

All the code is there, the last three pull requests are pending to be merged.

Once that’s done will be able to run our JavaScript unittests!!

Happy hacking!

P.D: remember that tomorrow is WPOD!

Publicat dins de General, javascript, jenkins, mockup, plone, testing | Envia un comentari

WPOD is approaching, are you ready for it?

This Friday Mai 29th we are celebrating the 2nd edition of WPOD!

Look around your city, meet with friends, make new ones and contribute to Plone!

As usual IRC will be full of contributors willing to help smooth your path into Plone, so don’t be shy and ask ;)

For Berliners: we will meet again at der Freitag offices, please RSVP at meetup.

See you  there/in IRC!

Publicat dins de General, WPOD, berlín, plone | Envia un comentari

Fast clones for faster CI

Did you ever got tired waiting a repository (managed by mr.developer) to be cloned?

Wait no more! mr.developer 1.32 comes with two new options to make your life easier:

  • a global git-clone-depth option that allows to fetch only the amount of history specified on this option (i.e. git-clone-depth = 1 for only one single commit)
  • a per-source depth option that allows to specify the same as git-clone-depth but only for that specific source

What’s the benefit of this? See it for yourself:

git clone test-full
du -sh test-full
36M test-full

git clone --depth=1 test-shallow
du -sh test-shallow
1,5M    test-shallow

That’s a 24x saving.

So think about your CI environments where they are downloading over and over the whole repository information while you only care about the very last changes.

Think about some remote environments (mobile connection while you are on a train?)

Update: it seems that is completely broken, sorry for that, working on a fix.

Update 2: mr.developer 1.33 released, thanks @fschulze for the new release!

Publicat dins de General, continuous integration, mr.developer, plone | Envia un comentari

zc.buildout tricks

Maybe everyone is already aware of them, but just in case…

zc.buildout is THE building block that assembles Plone together.

It’s been around for quite a while (+10 years) and it has plenty of features.

Two of them which I’m enjoying a lot lately are:

./bin/buildout install code-analysis

install allows you to override which parts are going to be installed and thus it allows, like in the example above, reduce the amount of packages to fetch and things to build. Which for something like can make quite a lot of sense to use it more and more.

./bin/buildout annotate

annotate outputs the complete configuration that buildout will use as if it was everything in a single file. This is great for debugging “why my configuration is overriden or not being used at all” kind of errors.

Publicat dins de General, plone, tips, zc.buildout | Envia un comentari

1st WPOD recap

Last Friday the first WPOD happened around the globe.

Here is what was done on the Berlin gathering:

Hopefully other participants around the globe will share their achievements as well!

Are you already planning the next WPOD? Mark it on your calendar May 29th.

Happy hacking!

Publicat dins de General, WPOD, plone | Envia un comentari

Testing pull requests and multi-repository changes

At Plone we use Continuous Integration (with Jenkins) to keep us aware of any change made on any of our +200 of packages that break the tests.

Thus making it feasible to spot where the problem was introduced, find the changes that were made and report back to the developer that made the changes to warn him/her about it.

A more elaborate step by step description is on our CI rules, be sure to read them!

At the same time though, we use GitHub pull requests to make code reviews easy and have a way to provide feedback and context to let everyone give their opinion/comment on changes that can be non-trivial.

Sadly, pull requests and multi-repository changes can not be tested directly with Jenkins, yes, there is a plugin for that, but our CI setup is a bit (note the emphasis) more complex than that…

Fortunately we came up with two solutions (it’s Plone at the end, we can not have only one solution :D)

Single pull requests

If you have a pull request on a core package that you want to test follow these steps:

  1. Get the pull request URL
  2. Go to and login with your GitHub user
  3. Go to pull-request job: (you can see it always at the front page of
  4. Click on the Build with Parameters link on the left column
  5. Paste the pull request URL from #1 step
  6. Click on Build

Once it runs you will get an email with the result of the build. If everything is green you can add a comment on the pull request to let everyone know that tests pass.

Note: it’s your responsibility to run that job with your pull request and that changes made on other packages after tests started running can still make your pull request fail later on, so even if the pull-request job is green, be sure to keep an eye on the main jenkins jobs as soon as you merge your pull request.

Example: Remove Products.CMFDefault from Products.CMFPlone (by @tomgross)

Pull request:

Jenkins job:

Multi-repository changes

When the changes, like massive renamings for example, are spread over more than one repository the approach taken before doesn’t work, as the pull-request Jenkins job is only able to change one single repository.

But we, the CI/testing team, have another ace on our sleeves: create a buildout configuration in the plips folder on buildout.coredev (branch 5.0) that lists all your repositories and which branch should be used, see some examples.

Once you have that cfg file, you can politely ask the CI team to create a Jenkins job for you. They will make a lot of clever things to make that work on jenkins (3 lines change plus following some instructions) and sooner or later a new Jenkins job will show up on the PLIPs tab on

Rinse and repeat!

Extra bonus and caveats

All Jenkins jobs, be it the pull-request, PLIPs and of course the core jobs, are configured to send an email to the one that triggered the job, so don’t worry about how long do they take to run, once they are finished you will get notified.

The caveat is that the above is only valid for changes targeting Plone 5. We didn’t put the extra effort to make it sure it also works for pull requests (either single or multi-repository) aimed at Plone 4.3. It’s quite trivial to add it for multi-repositories, a bit more work to make it run on single pull requests, still feasible to do if there’s enough people asking for it.

Hopefully the amount of pull requests for Plone 4.3 will decrease more and more as Plone 5 is getting closer and closer one pull request at a time :)

Now there’s no excuse on pushing changes to master without having tested them before on!

Proposals on improvements and suggestions are always welcome on the issue tracker for GitHub repository. Help on handling all those issues are, of course, also welcomed!

Happy testing!

Publicat dins de General, continuous integration, github, jenkins, jenkins-job-builder, plone, pull requests | Envia un comentari


WPOD: World Plone Office Day

During this year’s PLOG I presented the simple idea behind WPOD:

  • every last Friday of the month
  • meet somewhere (remotely is fine as well, see below)
  • hack on Plone instead of your regular work
  • Rinse and repeat

That’s it, as simple and as easy as it can be.

Mark on your calendars every last Friday of the month, you have an appointment with the Plone community to bring Plone one step further ahead!

WPOD in Berlin

Preparations are being made for the first ever WPOD in Berlin that my company will gladly host. If you happen to be around Berlin, please contact me telling that you are coming!

The location is Hegelplatz 1, 10117 Berlin.

You are welcome during all day long. Plonistas are expected to come during the morning, enjoy some lunch together, and hack away until late afternoon.

WPOD around the world

If you happen to not be in Berlin, fear not, an irc channel will be available (#sprint on so you can feel the same experience as in any other city hosting a WPOD.

Credit where credit’s due

That’s not an original idea of mine, nor is something that I thought of myself alone, Philip Bauer already tried to present the very same idea on last year’s Plone Conference in Bristol.

Later on, during the Bycicle sprint in Berlin, Stefania and I discussed about it and defined the format as it will start with.

Thanks to them for their bright minds and clever ideas!


Within 10 days the first WPOD will happen, Plonistas will hack/plan/design away and Plone will get better and better.

I hope that other cities and individuals alike will start participating on WPOD, the more we are the bolder the change we will make.

There are some plans to put all the relevant information regarding WPOD on, either on the current website, or even better on the newer that is on the making (watch here for tickets ready to be fixed by any of you!).

Happy hacking!

Update: a meetup has been created, please RSVP there.

Publicat dins de General, WPOD, berlín, plone | Envia un comentari

Via Catalana a Berlin

Notícia breu i curta: esteu a Berlín el 25 d’agost (aquest diumenge) i voleu venir a fer via amb els i les catalanes?

Apunteu-vos a la via catalana de Berlín!

Ens veiem a Gendarmenmarkt!

Publicat dins de General | Envia un comentari

first GUADEC!

Following the meme…

Not for me nor for Sílvia of course, but for Ona!

She even attended some talks! :)

Ona on a talk

Sadly we only stayed for some days, more to catch with some of you[1] and the weather was quite hard for her.

All in all a short but intense GUADEC!

It was really nice to meet all of you again. Hopefully by next year Ona is going to speak some so she can send her first paper :D

[1] Now we know that Patri and Calvaris will take care of her for next GUADEC :)

Publicat dins de General, planet GNOME | Envia un comentari

GUADEC tip of the day

As everyone attending GUADEC is right now enjoying the party at Fléda, and Sílvia and me are missing it for a good reason :) let me give you a tip for the remaining days:

Are you feeling hungry and looking for a delicious place to eat some arabic/vegeterian food here at Brno? Look no longer Kupé is what you are looking for!

Not only the food is great but their stuff is really helpful, they speak perfect English (and the menu is also available in English) and the smoothies are awesome!

Oh and as a late notice:

I am attending GUADECI am attending GUADECI am attending GUADECTriple as for me, Sílvia and Ona :)

Publicat dins de General, planet GNOME | Envia un comentari

Have you ever smelled a newborn?

That’s what the midwife asked me 20 minutes later after Ona1, our first daughter, was born (on April 3th).


More photos if you wish :)

And, no, I haven’t smelled any newborn, but man, they smell so great!!!2

Both mama and kid are doing fine, circa usual newborn issues :)

To cope up with all advices/tips that everyone is giving you about rising kids, we found a great book3: Kiss Me!: How to Raise Your Child with Love. Which is the English version of this other one (in Spanish and also longer): Comer, amar, mamar.

It’s amazing!! :)

  1. ocean weave in Catalan, and a friend also told us that means beautiful in Euskera
  2. no wonder why cosmetic companies go after placentas…
  3. advised by my sister
Publicat dins de General, planet GNOME | Envia un comentari


logotip del GNOMEJa fa uns dies que va sortir el GNOME 3.8! Les notes de traducció expliquen algunes de les parts més destacades d’aquesta versió nova.

Quant a la traducció al català del GNOME 3.8, només puc donar els meus sincers agraïments a en Joan Duran, gràcies!!!

Ja fa un parell o tres de versions que pràcticament ho traduïm tot entre ell i jo, així que si teniu cap interès en ajudar a les traduccions del GNOME, esteu més que convidats a ajudar-nos!1

I no patiu! Encara que tot just ara acabi de sortir el GNOME i per tant quedin 6 mesos per la pròxima versió hi ha molta feina a fer!

Si us agrada traduir la documentació (també és més senzill i no tan tècnic) teniu la documentació del GNOME 3.8 que li fa falta una bona empenta:

Pàgina de la documentació del GNOME 3.8

I si voleu alguna documentació més en concret:

  • Guia d’inici del GNOME (aneu fent-la a parts, no la feu tota de cop!)
  • Guia d’usuari del GNOME (aneu fent-la a parts, no la feu tota de cop!)
  • Les documentacions que tenen un ànec
  • Les documentacions que ja estan a més del 80%
  • Pregunteu a la llista de correu i en uns dies us direm alguna cosa més si ja està tot agafat ;)

Si en canvi preferiu traduir interfície d’usuari, igualment, no patiu! Hi ha traduccions per tothom!

I evidentment qualsevol altre programa que estigui a:

Que gaudiu del GNOME 3.8!!

  1. Comenteu tot el que no s’entengui/quedi clar d’aquella pàgina!
Publicat dins de General | Envia un comentari

On javascript events

One thing that always get on my nerves with Javascript is that it was a pain (until today for me) to get from an HTML element to the actual javascript that runs once you hover, click, etc that element.

I’m a visual kind of guy so my rationale was:

  • I see a button on a webpage that does something that smells like javascripty
  • I open firebug and select that element
  • I expect to have some kind of panel/hint about the events that are registered for that element without success :S

Today, tired of it, I start looking for a solution, and I found an amazing one, let me introduce you visual events 2!

It’s a bookmark that you place on your browser and if you click on it the page gets blue rectangular overlays on all elements that have a javascript event handler!

But not only that, if you hover over one of those boxes you will see what I was expecting from the beginning: the code that is executed and where it lies (which file and line).


Publicat dins de General, javascript, planet GNOME | Envia un comentari

Qualitat de servei

Avui ha passat un fet que, que jo recordi, mai, m’havia passat a Catalunya…

A casa tenim la connexió a Internet a través de Kabel Deutschland, doncs bé, com que ja fa un any que tenim la connexió, avui s’han presentat un parell de persones a la casa, han comprovat la qualitat de la connexió i, no només això, sinó que directament m’han dit que hauria de trucar a Kabel Deutschland perquè em canviïn tan el router de fibra òptica com el wi-fi, que ja els posen ells mateixos!

Increïble! Encara és hora que espero que vingui algú a Molins de Rei a arreglar els problemes que ens donava la connexió ara sí ara també…

Publicat dins de General, kabel deutschland | Envia un comentari

i18n dreams, eventually, come true

And even better!

TL;DR; Praise Nicolas Delvaux every time you see him, then go check Deckard. An online tool to test translations in Gtk+ (and Glade) based applications. As a translator you can imagine how cool is that!!

You know the scenario: you are at GUADEC talking discussing about how to conquer the world make GNOME even better and then you realize a great idea: what if gtranslator was able to allow you to open glade with the current UI that you are translating with the translations that you are making1?

Half a year later, you don’t get that, but something really cool, a web based version of that!

Wherever you are Nicolas, if we ever meet, be sure to ask for your beverage of choice, you are more than invited!

Translators out there, be sure to spread this amazing news into your teams!


  1. Just like the synctex gedit plugin updates evince to show you formatted LaTeX
Publicat dins de General, planet GNOME | Envia un comentari

GNOME needs you!

En català però eh!1 :)

Com ja sabeu, i sinó ara ja sí, el GNOME s’allibera cada 6 mesos. Com un rellotge, a les acaballes de març i de setembre s’allibera una nova versió d’aquest magnífic escriptori lliure.

Així que mirant el calendari, ja s’acosta la versió 3.8 del GNOME!

I de nou, des d’aquest humil bloc s’us demana que col·laboreu amb la traducció del GNOME al català. Només us calen dues coses realment:

  • coneixements d’anglès
  • motivació

I sobretot la segona, com tot treball voluntari2 el que fa falta és ganes de fer-ho i de comunicar quan es troben coses que no s’entenen o no se sap què fer.

Per sort,  tenim una llista de correu on us podeu apuntar, manifestar el vostre interès en ajudar i preguntar tots els dubtes que tingueu sobre tot el procés que implica traduir el GNOME al català.

  1. De fet no està de més dir que sí, que el GNOME agraeix totes les contribucions que es facin
  2. Mai li direm que no a algú que li paguin per traduir el GNOME al català
Publicat dins de GNOME traduccions, General, Softcatalà | Envia un comentari

Current voting system doesn’t work

Warning that’s a rant about Spanish voting system, skip it if not interested.

First of all the facts:

  • in Catalonia there were elections this past November 25th (2012)
  • as we are currently living abroad (Germany1) we need to register in a special census to be able to vote
  • the last day available to register on that register for those elections was October 15th (I could make it, Sílvia couldn’t)
  • I got within a weeks time a confirmation letter (you know that dead tree thing that postmans deliver every day) that I was successfully register and that I should because starting from October 30th to November 3th I was supposed to get the actual envelope and all the papers and forms to be able to cast my vote from Berlin itself
  • … (yes, that’s a fact I was just waiting, waiting some more, and then even some more)
  • elections where held, people living in Catalonia could vote as usual, but not me
  • lots of Catalans living abroad complained that they didn’t get the envelope and forms to be able to vote, some got their envelope and papers one or two weeks after the actual elections date2 )
  • fast forward to January 9th of 20133 I got a new letter (another dead tree thingie) saying something random about the elections, but was still not the envelope and forms to vote!

So looking at the facts… should I still have some hope left that one of my new years resolutions (be able to vote) will come true?

As a hacker and computer literate I know that it could be feasible to do electronic voting, or even going to the embassy4 or even keeping the good old post system, if there was any interest in using it.

The most amazing thing about it is that nowadays, and we have done that already quite a few times, we wake up on the morning in Berlin, take breakfast, pack some stuff in our backpacks and within 4-5 hours (just 2:30 hours of plane) we are in Barcelona chatting happily with our family and friends.

How come the voting envelope hasn’t still arrived at my home in Berlin?!


  1. Google Maps says ~1900km by car, and a flight takes 2 and a half hours from Barcelona to Berlin
  2. You are supposed to cast your vote, when living abroad, at maximum nearly two weeks before the elections are held, so that your vote can be counted as well
  3. nearly two months after I should got the actual envelope and forms to vote
  4. <sarcasm>Nice and friendly btw. the ones on the Spanish embassy in Berlin, </sarcasm>
Publicat dins de General, planet GNOME | Envia un comentari

one time is not enough!

Catalan's blood bankWe went back to Catalonia for Christmas to visit our family and friends (and who doesn’t do it :) and while on Vic1 I found the bus for blood donation on my way to buy the best chocolate croissants ever2.

Whenever I’m around Catalonia3 I try to give blood (4 times a year allowed for men over 18 years and more than 50kg), but this time some ideas came to my mind:

  • People was making huge queues on the public lottery office in front of the stationed bus4. In contrast, there was no queue at all on the bus. In fact it took me less than 20 minutes to enter and leave the bus. Still without blood on the hospitals, no matter how much money you get on the lottery…
  • Just after giving blood and about to leave, one of those security money vans that take money from banks, lottery offices or so arrived and a couple of strong guys came out of it to take the money from the lottery office. Again, money needs gorilla-like people to take care of it, while the blood bags already filled where lying inside the bus on my arm reach.

Anyway, just as the Catalan blood bank system says: “one time (giving blood) is not enough!”

  1. SPAM: a really small and nice city, if you ever happen to go to Barcelona take a train there, it’s well worth it
  2. I go there from Berlin itself just to buy them!!
  3. I still haven’t checked the German blood donation system
  4. There’s a huge lottery on both 22th of December and 6th of January
Publicat dins de General, donar sang, planet GNOME | Envia un comentari

Times they are a changing

Last year around this days I was still living near Barcelona (Molins de Rei actually), some days later, on the November 4th I took a flight from Barcelona to Berlin my new home as of now, and since then, things have happened in a quite fast peace…

We (with Sílvia obviously!) went there as I got a job offer from der Freitag, a newspaper, where I help building their website. With such a big move, packing, unpacking, moving, legal stuff and so on kept ourselves busy for quite some time. Thankfully I stayed ~one month with Kat and Dave (million thanks again!!) which helped a lot in getting papers sorted out and finding a flat where to stay :)

German classes started on January (12h per week plus 40h work) and a wedding in Catalonia on June  30th was the new thing to keep ourselves busy.

Right now German classes are still undergoing, we are going to make a late honeymoon to Japan1 and we are starting to get ready for the next small thing: we are expecting a baby!

We are really excited about it! All these ultrasounds and 3D images that nowadays doctors do and everything really get you the (obviously not like the future-to-be-mom) feeling that something is being cooked in your wife’s belly :D

Surely times will keep changing from now on! :D The baby is expected to be around early Spring so (s)he2 will not get frozen by the Berlin’s winter which their parents are still not used to :)

Looking back before coming to Berlin looks really far far away and it’s been only one year!

  1. advices to what to see/do are welcome :)
  2. We still don’t know the gender
Publicat dins de General, berlín, planet GNOME, sílvia | Envia un comentari

Public service annonuncement: GNOME Translation Project meeting

Next month (November) is around the corner, and so it is the next GNOME Translation Project meeting!

Feel free to add yourself and suggest discussion points on the above link!

Many thanks to Gabor for organizing it!

Publicat dins de GNOME traduccions, General, i18n, planet GNOME | Envia un comentari

any WebKitGTK+ hero out there? FIXED

I had a draft of this post since two days, as a way to make a call for action to fix the offending bug once and for all1.

Fast forward, and thanks to my personal new hero of the day, Martin Robinson, we, the GNOME Translation Project community can finally start translating in a reliable way WebKitGTK+!

I don’t have the honor to know him, but, please, if you happen to see him, buy him his beverage of taste and let me pay the bill, I will gladly do that!

A lot of credit also goes for Chris Leonard who has been tirelessly chasing this bug.

Since yesterday the translation world is a bit more shiny :)

Thanks a lot Martin and Chris!

  1. A bug about not being able to update the POT file needed to be able to update and generate translations from a module
Publicat dins de General, WebKitGTK+, planet GNOME | Envia un comentari

Translation Project meeting minutes

An hour ago the meeting was over, here is a small resumé:

The GNOME Translation Project met for  around 3 hours long1 to discuss on how to improve the translation story on GNOME, make it better just like GNOME is getting better :)

Topics discussed

GNOME 3.6 looked good (translation wise) some concerns were:

  • hard to test due to distributions not being updated enough
  • we hope that GNOME testing initiative (aka GNOME OS) improves by next release :)
  • some QA guidelines were thought as needed to do translation testing

New design of

  • the RTL situation is not really good but Arab translators will provide screenshots on how to fix it (help needed thought)

Switching D-L to only show words

  • strong arguments on both sides, more discussion, mockups or subteams working on proposals would help changing things (if there’s a need for it at all)

Next IRC meeting

  • Gabor volunteers to run it one for next month, we will get news from him soon hopefully :)

Accelerators on app menus (the thing on the GNOME Shell bar)

  • translators feel uncomfortable with the situation, lots of modules with accelerators, lots of other modules without
  • will try to get attention from designers and developers to have clear guidelines (if possible)

Doing another survey for coordinators

  • still not clear what we want to ask to ourselves (a bit philosophical this one :D)
  • some mail will be sent to this list asking about ideas

Dropping docbook (documentation) translations

  • Gabor volunteered to ask documentation team about their plans

Splitting the big GNOME module set

  • everyone agrees that we have to move it forward, lots of technical details and design decisions to be made though
  • where to put the line on splitting modules
  • what to use as the mighty 80%

Dead modules

  • that’s a big concern we all have, how to make sure translators don’t waste time translating modules that are not maintained or used
  • idea of making D-L send mails to warn maintainers and translators about a module not being updated/released during a GNOME cycle (6 months)
  • some git sorcery is needed to make D-L work, volunteers welcomed :)
  • Piotr made a new list of dead modules:
  • discussed some way to make translators aware of it on D-L itself (showing some sort of banner or warning)

That’s roughly it :)

Happy translating!

  1. Thanks a lot to all of you who showed up and made such a great and fun meeting!!
Publicat dins de General | Envia un comentari

GNOME Translation Project IRC meeting

tl;dr; :

During the Translation BoF meeting held on GUADEC we set some objectives/priorities/things-to-look-at.

One of them was about doing regular-ish meetings… and you got lucky! There will be one this Saturday itself!

So join us on #i18n channel around 21:00 UTC+2. Details, agenda and everything else (not much more actually …) on the tl;dr; link :)

See you *all* there!


Publicat dins de GNOME, GNOME traduccions, General, planet GNOME, trobades | Envia un comentari

Same lies, new look

Doesn’t it look great? Thanks to Vinicius Depizzol that started it some time ago and Tom Tryfonidis who finished it (and I’m just getting the credit :) we have a new amazing-looking theme for our beloved Damned-Lies!

If you happen to meet any of them, be sure to thank them!!

Even the stats look so great:

Don’t you feel an urge to start translating just for the sake of browsing it? :)

Again, thanks to Vinicius to start it and Tom to make it happen!

Publicat dins de General, damned-lies, planet GNOME | Envia un comentari

GNOME 3.6 is out!

GNOME 3.6 is out!

Go celebrate it! We all made an amazing job!

The Catalan team, just like lots of other amazing translation teams did a great job and made it again! Congratulations to all translators who have been working so hard this last weeks. I’m really looking forward to the GNOME digest about the last week and this one :) On the two other previous weeks was already a lot of activity (1186 and 771 each week)

Now, for GNOME 3.8!

Publicat dins de General, planet GNOME | Envia un comentari

bash tip of the day

After spending an hour or so staring at a regular expression in bash, I gave up and started looking at the interwebs… So what’s wrong on this?

if [[  $random =~ "^a{1,2}b{1,2}c{1,2}$"  ]]; then
    echo "matching"
    echo "not matching"

It’s supposed to compare $random with a regular expression (that’s what’s supposed to do the =~ operator). But no matter how hard I tried, it was always “not matching”

Fortunately this days we have stackoverflow with the answers.





(some spacing so that you can think on it….)






Short answer: no quotes around a regular expression!

I start getting a pattern here (punt intended), the clueless I’m usually while trying to find the solution, the easiest it is :)

Publicat dins de General, bash, planet GNOME | Envia un comentari

Ànecs en cerca i captura

El GNOME 3.6 està vist per sentència, i com de costum, tot i que patint una mica més que el de costum, ja el tenim en català!

Moltes gràcies a tots i totes els que heu col·laborat!


Ara bé, tot i que al GNOME s’intenta fer programari que sigui fàcil i intuitiu, encara hi ha coses que si ets novell o senzillament és la primera vegada que l’obres encara es fa força difícil d’entendre.

Però tranquils! Al GNOME, que estan al cas de tot ja ho tenen previst, i per això hi ha un equip de documentació que intenta que totes les aplicacions tinguin una documentació sobre elles i a més a més també s’encarreguen de fer documentació en general per a l’usuari i últimament també s’estan centrant en la documentació per als desenvolupadors.

I, evidentment, si la documentació està en anglès, l’equip de traducció del GNOME és l’encarregat de fer que aquesta documentació estigui en l’idioma de l’usuari.

I aquí és on entren els ànecs…

A la pàgina d’estadístiques de traducció al català de la documentació del GNOME 3.6 podeu veure que força documentació té una icona d’un ànec1.

Tota la documentació que tingui aquest ànec vol dir que està en el format nou que s’han inventat a l’equip de documentació del GNOME, de manera que no s’espera que hagi de canviar moltíssim en el futur, per altra banda, tota la documentació que no en té, vol dir que en algun moment o altre es reescriurà per passar-lo en aquest nou format.

Així que, si voleu col·laborar en la traducció del GNOME al català, traduir la documentació és una de les millors maneres en que ens podeu ajudar!

Si teniu dubtes sobre quina documentació agafar, aquí en teniu una selecció:


Ara bé, si voleu ser un heroi/heroïna i en teniu ganes, tinc una proposta molt millor:

La documentació d’usuari del GNOME

És un petit gran monstre de documentació, començada fa un temps per en David Aguilera, però que per desgràcia no ha seguit. Qui vol fer el següent relleu? :)

No es tracta de traduir-la tota de cop, ni molt menys! Però si d’anar intentant fer unes 20 o 30 cadenes al mes, que algú us les revisi i anar-les pujant, per tal que aquestes ~3k cadenes (unes 50k paraules) es vagin traduint cadena a cadena, paraula a paraula fins que estigui del tot traduït :)

Es pot dividir el fitxer i així fer el camí més ràpid i lleuger, només cal posar-s’hi! ;)

Com de costum, la coordinació de tot plegat es porta des de la llista de traducció del GNOME de Softcatalà, apunteu-vos-hi, digueu “Hola!” i a traduir! :)

Nota: en la redacció d’aquesta entrada al bloc no ha resultat ferit ni malmès cap ànec.

  1. Alguna pregunta sobre per què un ànec? :D
Publicat dins de GNOME traduccions, General, Softcatalà | Envia un comentari

herois/heroïnes catalans del GNOME?

El GNOME 3.6 està a punt de sortir! I sembla ser que el català, de nou, tornarà a estar completament traduït :)

Gràcies a la inestimable ajuda d’en Joan Duran ho estem tornat a aconseguir!

Això sí, com podeu veure ara mateix, estem al 97%, això vol dir que encara hi ha feina per fer, de manera, que si voleu ser l’heroi/heroïna del GNOME 3.6, apunteu-vos i ajudeu a revisar alguns dels pocs mòduls que hi ha.

No patiu si algú altre ja ha fet la feina! Hi ha moltíssima documentació per traduir! Només estem al 20%!

Si preferiu traduir interfícies d’usuari, hi ha una infinitat d’aplicacions extra del GNOME.

No patiu per feina, que n’hi ha i de sobres! Apunteu-vos a la llista de coordinació de la traducció, digueu que voleu coŀlaborar i us intentarem assignar alguna traducció el més ràpidament possible ;)

Publicat dins de GNOME traduccions, General, Softcatalà | Envia un comentari

freezed, welcome and glibc


You already know it probably, yes, it’s freezing time in GNOME!

Developers, please ask for, few ;), string freeze breaks as soon as you notice them, translators go full-steam to translate this lovely GNOME 3.6 that is around the corner!

Translation teams are working hard to update their translations, and some of them already reached the 100% mark, congratulations!!

Do you speak any language on that list? There’s no better time than now to show your support to GNOME  and to your language and start contributing to it! Please, join the GNOME translations teams1 so that more and more users can use our beloved Desktop in their loved language!


Central Nahuatl

Just like translating GNOME is a never ending task, everyday strings come and go, the GNOME Translation Project is also and ever growing one!

Today marks the first translation from Central Nahuatl! Congratulations to Jorge Becerril and everyone that helped him!

The road to a fully localized GNOME will be long and from time to time a bit hard, but we all, the GTP members, will try to ease the peace as much as possible, but…


glibc is a bit on Central Nahuatl way. For a language that does not have a locale definition on glibc is like it doesn’t exist, you can translate GNOME, GIMP, KDE, whichever FOSS software that you like, but without a way to select that language, translating is meaningless.

So, dear interwebs, anyone got a good contact with glibc maintainers to streamline the locale creation process?

Finally, dear translators out there: Happy translating!


  1. Or create a new one!
Publicat dins de General, planet GNOME, traduccions | Envia un comentari

Red pandas are taking over Alexanderplatz!

If you have been to Berlin1 you know Alexanderplatz S+U station.

Since some days ago, huuuuuge ads where put in there. It looks really nice to be surrounded by FOSS ads on the way to work :)

IMG_20120824_133200 IMG_20120827_094522 IMG_20120827_094558

I do really like the “We work for you not for shareholders2 :D

  1. Maybe two years ago at the last Desktop Summit? ;)
  2. You see, my Deutsch is getting better!
Publicat dins de General, firefox, planet GNOME, programari lliure | Envia un comentari

test ignoreu

això, ignoreu si us plau

Publicat dins de General | Envia un comentari

Quo vadis?


Latin by the roadside

later on as the scholarship was opened and more and more people was able to learn how to read writers had to start thinking on how to create clues to the future reader so that (s)he would be able to read and pronounce their text as it should be they no longer could expect that a professional reader would be reading its text but maybe it would be a commoner who just happened to have had so much luck that (s)he was taught some reading 101[2]

Time flies! (phew!) and the more, and more, the scholarship and knowledge is spread around, “funny” characters are created – to make the reading easier. Obviously! The easier it is to read a text, the more, possible, readers that it will get the text!


As we all, lucky ones of us, saw at the keynote1 by Federico, Jonathan and David, GNOME early days where pretty much hacker-only enabled.

Luckily, the first spaces and sentence delimiters started to appear: the HIG, the early work on a11y, l10n, i18n, the teams that started to be created, the Foundation…

Fast forward to present we are jumping all over Unicode adding all missing punctuation marks on GNOME 3 to make it the best desktop experience that this thousands and thousands of new electronic device owners will need to feel in control of their devices.

I’m excited! And you know?! GNOME 3.6 is around the corner! Help out making the dots, dashes, spaces, parenthesis, quotation marks be fully integrated in our desktop to make it the most beautiful and easy to use desktop ever seen!

[1] During the Roman empire all text was written like this: without any punctuation mark, spaces, whatsoever! Why? Because only few people knew how to read, and they were really good at it. They were trained a lot and they could easily read the only few books available without any problem.

[2] No need to retype it right? ;)

  1. The History of GNOME
Publicat dins de GNOME, General, Roman Empire, planet GNOME | Envia un comentari


… also known as Python Tip of the Day:

What’s wrong (translation-wise) on this snippet of python code?

random = _("Lorem ipsum dolor sit amet, " +
           "consectetur adipisicing elit")

You are not going to see any warning on your code, if you don’t have this message translated you will never notice…

But unfortunately, as soon as you have this message translated you will notice that only half of the string is translated, which for Arabic or other RTL1 languages can be quite funny…

So, you already noticed right?

Turns out that gettext gets confused by the plus sign! As you already may remember by now, Python can join multiple strings just by putting them together, no need for a plus sign. Try it yourself on your python console:

>>> print ("Lorem " " ipsum" " dolor"
... " amet")
Lorem  ipsum dolor amet

So dear Python developers out there, pretty please double check your strings marked for translation, if not a translator will find out, hopefully before a release, and report it back :)

Planet GNOME

Seems that I pestered enough our (that sound good!) planet editor2 that he finally added me in. Hi GNOMEr’s around the globe!!

I’m Gil Forcada, Coordinator of the Catalan Translator Team, member of the Localization Coordination Team, nowadays also Damned-Lies maintainer and usually you see me on GUADEC’s behind the info desk :D

I’m all digital ears to digitally hear anything related to l10n/i18n and how to move GTP3 forward!

Edit: fixed the \ on the second code snippet (no need for that) and the LTR to RTL! Oh my!

  1. Right to Left
  2. Wo was so nice to also create my planet hackergotchi!
  3. GNOME Translation Project
Publicat dins de General, planet GNOME, python, traduccions | Envia un comentari