Entries feed - Comments feed

2013 Dec 8

FAD EMEA 2013 - Rheinfelden

FAD EMEA 2013 was my first Ambassador FAD. That was a really nice event, we spoke a lot, we defined many things and dreamed about some other things.

This kind of event is really nice as you know you're going there for Ambassador business. You don't have to take care about barcamp schedule, you don't look outside for Kernel hackers or infrastructure gurus.. It's just ambassadors. You stay focused. (I agree, we truly are social, we don't *always* speak about business. We are Friends also!)

I already knew quite all name and nicknames, even their hackergotchi, but I was happy to be able to meet personally more Fedora contributors. It's a really nice community. That was the beginning. 5 minutes later, we were done with presentation. It took us a long time to give our regional reports. I did my part speaking too much (or were I too slow ??). Thanks to Patrick, I were not the only one doing this through vim!

Then it was time to build our 2014 event list. This is useful in order to check swag quantities and decide about media production. After this interesting part for people who love moving around (we even tried our best to make Aleksandra define a Russian event for us! Which unfortunately appears to be hard to make), we moved to swag ideas!

We had more, bigger label pins, what about Fedora Cufflink? It would be really awesome.

The Mentor program took a big place then. We still don't know who is active, and what we should do about the inactive ones. It was too much discussions. We should have decide to agree on something, to move forward on the topic. Not just discuss about it.

Finally, we got the Saturday Social event. Which was, amazing! I would not have expected so much sports from a Fedora event! At some point we moved back to the hotel. Took more beers. and a few more. Oh, and... yeah a, again :) It's because we were talking too much!

Sunday morning was about some ideas around ambassadors, like how to join Highschools? Many ideas which already came by our mailing list through Jiri.

For me, the way back has been... fun. 3 trains transfer and then a boat to cross the Leman lake. Oh, and... suddenly my mobile phone froze... I had to perform a clean install... Luckily I had my computer and a custom Android ROM.

-- Thanks guys for being there, and many thanks to Gerold for the event!

Last and bigger... We released Fedora 20! Yeah! Happy Xmas to all!

2013 Nov 12

Fedora, the power of a friendly community

A community is a group of individual working together around a common goal. We can share same tools, ideas, time, without loving to work together. You can be alone in a huge community working for you and assuming it's fine for the others waiting for your code. As usual.

On the Open Source world of volunteers, if you happen to get a certain position with responsibilities, and you stay there for a while, the community will assume that it's your duty to do this specific job. You know your task. You do it well. Everybody expect things they don't handle to move forward as is used to be. But sometimes, you are away. For any reasons, you might not be able to do your "duties". You might be exhausted. Frustrated. Or just your personal life could require you more time.

Friends are those on which you can count. On a friendly community you can easily find new friends whose you can share ideas, jokes, and work. Thanks to our events, you can even share beers and pizza! That's the time where you can definitely understand who is beside the nickname, making friends. You can then understand their jokes, feelings.

I have been thinking about sharing my thoughts about the Fedora community for a while, through several examples, but it's always time to improve code, add new features, fix tickets...

My way of life is helping people where I think I fit the best. I had no L10n skills, but felt the need of French translators. I joined the team.. and we were 2! You can imagine the amount of work... After a while, I helped the coordinator, and then became a coordinator myself. We are now the team with the most translations, with at least 10 active translators and some *really* active. Oh, and I am not the most active coordinator anymore in our team (thanks jfenal!).

This gives me more time for other contributions. Like websites. I joined the websites team to help I18n and L10n integration. But I a lot. And thought about much more. I had many ideas that needed lot of time to implement. Beside of the usual web stuff for Fedora. I did few, time to times. And then, Robyduck arrive, I helped him understanding our code, saw with him what could be improved. And, he started doing what I used to do. This helped me focusing on long term changes, things that I really wanted to fix for years. I even moved all the code around, changed the publishing workflow. People never see the downside of a project, they just see the result. We still have many open tickets. Some related to marketing (we advertise obsolete features, we had old screenshots…), some other to the code itself… Having new blood on a team help moving forward, getting new ideas, or simply spread the work.

I don't say that I am going to leave the team (Robert, am still there, yeah, sure!) I am happy with it. I am really happy that I don't have to be *here* to get things done. Oh, I don't say I were the only one doing stuff. But I were the one who took less time doing things as I knew them all. It's faster to do the job than looking step by step for what needs to be done. BTW, we also wrote some docs, to help newcomer!

I took 2 examples, but it has been this in all groups that I choose to work with. Thank you guy, it's a reall pleasure spending time on this community! Looking forward to meet you at next event (who said Flock?)

2013 Sep 12

L10n POC: how to quickly find what you should translate?

If you are Fedora translator, you can jump to the result and then come back here.

Life of a Fedora Translator

Being a Fedora Project translator means you could be able to translate software, documentation and websites. They are not handled the same way: some are weekly updated, while some other get updates time to time, and few never get updated. And finally the priority of our translation change according to the release schedule... Before translating, we should:

  1. Check the L10n schedule in order to see if we should translate doc, websites or software;
  2. Select a project. If it's a Fedora documentation, we should check on the table if the it is up to date
  3. And finally do our lovely job

It's not easy. It takes time. It takes effort. Luckily we are using Transifex and it helps gathering projects. However, I always have hard time checking the health of our translations (stats per projects, per release..) We don't have a global view of our translatons.

Note, this could change shortly with the new Organization feature, I just get bored about the usual interface, that's why I coded my own page.

To get more details, Fedora translations are spread into Transifex releases. A release gather projects around a common goal. We have 4 releases:

  • Fedora Documentation: gathers the official Fedora Documentation available at docs.fedoraproject.org.
  • Fedora Websites: our websites!
  • Fedora Main: follow the Fedora release, therefore they used to have string freeze and could be re-packaged for test and release days.
  • Fedora Upstream Projects: a collection Projects not part of the Fedora Project itself, but which are important for Fedora as a distributions. Examples include Yum, RPM and PackageKit.These projects may have their own upstream translation teams or may utilize the Fedora Translation Project ones.

As the Transifex releases are updated manually times to times, they could miss some resources, or provide outdated resource. And we can only add resources to a release, not the whole project (unless we add its resources one by one).

Many projects reuses the Fedora Project L10n teams, by outsourcing the Fedora HUB. Which means that we have an other way to gather (part) of our projects.

From the above you can see that we have many entries to find what needs to be translated. In short, visit fedora.transifex.com then choose your language (and you'll have a huge ugly list) or scroll down and select a resource under a transifex release (but remember that the list could be outdated).

How to improve our life

We moved from git to transifex online, I moved back to git!

It started with a local mirror of our translations. There was a time where any Fedora translator could have uploaded a translation to the wrong language team... It was useful to restore a translation (because some project don't even have POs on their repository).

I created the French mirror at wip.fedora-fr.org/p/traduction. Code and how to will come later. Basically, I use the transifex client to daily pull the french translations. You can see on the history that I hide the email adresses. This is also useful for fast proofreading. I am also using the repo to quickly fix typo.

Example, if you have a new translator who pushed a huge translation with an incorrect translation, you would be able to check it quickly:

  • You find an incorrect string, for example "Fedora Project" translated "projet Fedora" instead of "Projet Fedora" (caps matters);
  • you grep the repo to correct the errors (with sed or what ever you like):
$ git grep -E "^\s?msgstr.*projet Fedora"
fedora-docs/translations/fedora-docsite-publican.Labels/fr.po:msgstr "Documentation pour les contributeurs au projet Fedora"
fedora-docs/translations/fedora-readme-burning-isos.Introduction/fr.po:msgstr "Le projet Fedora ne fait du support que pour les logiciels faisant partie de la distribution Fedora"
  • then you push your changes with tx, as the repo is already set up! (use for example tx push -t -l fr -r fas.faspot once you are on the fedora-website subfolder.

Finally, I get a better overview!

Because I set the mirror repository the way I decided is best (parsing all releases to get all the projects and not stick to the selected resources only), I thought I will file a descriptive file of all projects and their translation stats. This file would be the basis of the home view... And here is the result: shaiton.org/trad/traduction.cgi

You can quickly find what you should translate because:

  • you can sort the list the way you want
  • projects are gathered by releases
  • the list is complete (if you find missing projects it's a bug, tell me!)
  • you can see priority projects highlighted by different colors (it's my own priority list, don't forget, it's a (working) Proof Of Concept.)

Now that you saw this clean list, compare it with the Transifex one Can you see the original problem? :)

How to setup your own page

There are two steps, unless the trans team decide we should build a global Fedora app for that (I am not sure this would be useful to many teams.. I would prefer the Indifex team working on a better home page for organizations): mirror the translations, then update the stats and publish them.

All the scripts (and more) are under my gitorious repo: gitorious.org/tiny-scripts/transifex/

mirror you translations

You need to initiate the Transifex repositories and your git repo. This is done with the l10n_stats.py script (under the l10n_stats folder).

./l10n_stats.py --init --lang=<your language code>

You need to have a working ~/.transifexrc file with you credentials as the transifex API does not support anonymous GET request yet. See doc.

Now, you need to init your git repo and add all files

Then, setup a cron to pull the translations on the repo. I use the script pull_translations.sh in order to pull translations and get translator credits (it also display maintainer changes). You won't have credit by lines, only by files, as many translators could have updated the files before your next pull.

Setup your main webpage!

The idea is to parse the metadata file (generated by ./l10n_stats.py --lang=<your language code> on a second cron job) to display stats. My code uses a cgi script, only because I was limited by my host and because I always avoided this.. I had to test one day ;) It's all under the l10n_stats/web/ folder. priority.json file is my own priority list.

Happy L10n to all!

2013 Apr 18

Dev should not break our [L10n] community!

A developer always loves when he gets users. The more language we have on an application, the more users we can target. But sometimes, the easiest path is not the best.

Please devs, stop defining standalone projects at Transifex.com under the Fedora Project umbrella. You make things worse for translators and users. I see on this category projects using the "Free for all" translations settings, or using their own teams. We loose consistency, we loose workforce, we loose quality, and we loose happiness. It just makes things harder.

All projects that are developed for Fedora, within the Fedora community or willing to reuse the tools used to make Fedora better should:

  • Outsource the Transifex Fedora Project hub in order to reuse the available teams
  • If possible join the right Fedora Release:
    • Fedora Documentation, for docs.fedoraproject.org
    • Fedora Websites, for the Fedora Project Websites and web apps
    • Fedora Main, for the software using the Fedora Project release cycle
    • Fedora Upstream Projects, for the projects not following the Fedora Project release cycle but still made for or under Fedora, or with the Fedora contributors (like projects at fedorahosted.org).

Outsourcing the Fedora Project Hub

In order to get fast and quality translations, you should outsource the Transifex Fedora Project hub. To do so, go to Manage > Access Control. Choose Outsourced Project as the Project type, and select Fedora Project from the Outsource access to options. A Fedora Project maintainer will need to approve the request.

The language code used under the Fedora Project are in short. If you want to use the LANG.COUNTRY version, please set up your project with lang_map as explained in the wiki.

Joining a Transifex Release

Any projects can define a new Transifex Release, but only Fedora Project maintainers can define Fedora Project specific releases. It helps translators finding projects and keeping the translations up to date. If your project is not listed under the right Transifex Release, please add a request to do so by writing to the trans mailing list (I don't think we have a BZ specific component for that, or a Trac... Should be better). Or just catch on of the maintainer by IRC!

Check a good example

You can see on the above example that Anaconda project

  • uses the Fedora Hub (see the white arrow on the grey circle at the top right corner)
  • has the Master resource published on several Transifex Releases (fedora-main, anaconda.all-resources)

But this is not the case for lib passw Quality or libvirt (not anymore, yeah!) for example. But there are many others... Of course, some projects far from the Fedora community don't need to join the Transifex Fedora project.

You have not convinced me

Alright, then continue reading please:

Don't set a Free for all project

Please, simply don't. Free for all means everybody will be able to translate. Even people don't speaking the target language. Even people pasting from translating tools. Even people who don't care about *quality*. And even if they do and make effort, there won't be any review process, as there is no team beside that. There won't be any cross software consistency. There won't be any good effort. It does not encourage collaboration. It does not encourage community growing. We are a community always seeking to improve Free software and gather more contributors. This goes against our values.

By outsourcing the Fedora Hub
  • You choose quality
  • You get many great teams with mailing lists, BZ component, process...
  • You get what you are probably looking for when looking for translators.

More about the Fedora Localization Project at fedoraproject.org/wiki/L10N/Guide.

And we are here to help maintainers set there project if needed.

2013 Mar 4

Making the Fedora Websites more maintainable for easy fixing

Have you ever felt that something has to be done, that would help your day to day hacking? Lazy programmers spend time to make code that writes the code for you. Isn't that smart? Since I joined the Websites Team, I did many small improvements. And that's where I learned Python. Oh, even Git. And more.

The history

The Websites team is quite wide (45 FAS members), but only few are day to day active contributors (only 10 in a year, and 4 with 10 or more commits in 2012). But as any other active projects, we need help. For each new Fedora release, we need to update the content, make new screenshots, add languages etc.

fedora-web repo stats

There are many simple tasks which are time consuming.

And if we need to add a new feature, or fix a simple bug, there are good chances that it needs to be ported to other files. Yeah, we had plenty of duplicates which were the same original file, copied, and then modified. I am not saying that it was a bad design. It was good if the websites were all on a separate repo. Or for other obscure reasons. But sometimes, you just rewrite what you did before going to bed.

Would you go ask people to join your project if you need to maintain code like this? It was hard to understand the architecture, hard to maintain... Luckily Robert Mayr joined us, stayed, and helped us a lot.

Now, I am happy to announce:

This time is over!

Instead of having one Makefile, one httpd conf, and the python scripts and templates for each websites, all websites are now using the same files. (Ok, there could be other improvements, but make it real, release often).

Here is the summary:

  • one external contributor: Thank you Tomas Radej (we started together at FUDCon Paris 2012).
  • 73 files deleted and 10 added
  • 17183 lines removed and 2063 added

And now, it's time to update our doc and let external contributors help us with our easyfix list. Oh, we also have to update the infrastructure side which is still using 7 different language.conf files... We should make a template for that..

Thanks to all helping us in the websites! It's not only about commits on the repo. It's also through Trac reports, or mailing list answers. We have more contributors on the mailing list. That's nice.

Wanna join us?

Just read that wiki page and start right away! Or come by #fedora-websites on IRC:Freenode and get in touch! Or get to know our repo better by reading this.

2013 Jan 24

What a wonderful event: FUDCon Lawrence, NA

Yay, am finally back from FUDCon Lawrence. Here is a short report for the NA Fedora User and Developer Conference 2013 held in Lawrence, Kansas. (It tooks me a bit to write it − I am just back from FOSDEM ^^.)

Day 1

Starting with the barcamp, we had a huge choice of interesting talks. From my background I am closer to the ARM topics than any others, therefore I choose to attend "ARM to primary" and "ARM building exercises" in order to finally reach this group and be of help. I thought that the "building exercises" would be like a workshop, but it was not. We heard a "noisy" ARM server building RPM packages. Noisy cause it was playing music on successful builds!

We saw many interesting lightning talks, and I gave one about the websites hackfest to cache some people. But apparently they were already engaged on other parts ;)

Then, it was time for the afternoon talks. Unfortunately, I felt lot of pain on one leg (coming from the cold), and it becomes worse by that time. Couldn't find any painkiller until the night, where the effect lasted only 1h30… Thanks to pingou and SmootherFrOgZ, I had enough for the other days :) (Yep, I saw later that the infra team is geared!)

During that day I learned about Ansible (Seth, nice teacher!), the web-apps (Pingou, I discovered few things :)), and then we spoke about FEL with Kiara.

Day 2

I stayed on the infra room, a team whose I have already worked with (a bit, mainly nirik) to hack on the websites. I heard many interesting discussions about the apps under development, and the one that are probably going to be created soon. This is a really great team with nice people. People that look for the details… I definitely want to be more involved here, will look where should I start soon!

Day 3

During the last day, I did many tests on a local branch on the websites, mainly about sharing the python building scripts. Will push soon, hopefully. Get back to me if you want to be involved, this is ticket #90.

With nirik, we started to remove the pulling the translations from Transifex at build time (ticket #136). There were improvements to do:

  • We were pulling hourly, the whole resources
  • Takes time (10 min at least).
  • Takes resources (huge load on Transifex.net).
  • Was failing frequently due to Transifex.net connexion timeout.

It is now live in staging, and I plan to move on prod by the 13th of Feb. @nirik, we are going to discuss about that, but it better to have a deadline or it will never move to prod :)

I also worked for the L10n workflow, and I published my wishes on the trans mailing list. Of course, it is still work in progress and I have to read and take into account the translators feedback.

The way back

Ouch, that was not a really easy travel. The first plane had been delayed by more that 1h because of wind in Houston, then before landing (say we were still at 10000m above the ground!) the fire alarm started to frighten peoples on the plane. The emergency landing at Chicago was... Funny :). As we missed the connexion, we stayed at the hotel for the night. Which a nice morning, with the fire alarm running at shower time... It reminded school time at Edinburgh where drunk people pushed the fire alarm button at every nights on the building where their friends stayed.

Then, on last plane across the ocean, they didn't had any water (forgot to fill the water tank?!), which explained why there were no water on the toilets, no tea, no coffee (could you imagine?!). And as a meet lover (Beefy!), I really get annoyed when they fist forgot to serve me the meal, and then came with and "Indian vegan" plate. I missed the American burgers!

Days after

Still working on many things started before the FUDCon in preparation and during the FUDCon.
That was an amazing event, really wel organized. And I met a lot of great contributors that I am now able to understand more clearely through irc :)
Thanks so much to the organization team! Thank you Robyn, Ruth and Ian!

Now I have a better idea of what should be a FUDCon. I would like to help the organization of the next EMEA one. We really need to focus on working with contributors to help them join groups and start being productive right away, and hacking/coding efficiently with the amazing workforce that we gather at this kind of event. (And IMHO less ambassador discussions during this event because many ambassadors are active in other groups, and could not attend everywhere. FAD should be preferred − I mean in EMEA.).

Let me thanks also the FUDCon main sponsort that helped me coming, Red Hat through the wonderful Fedora Project! And thanks also to Bluehost the web hosting company who did host people at the FUDCon hotel ;).

2013 Jan 19

[Lawrence FUDCon] Join the Websites hackfest. You can help!

Hi guys, if you're here at FUDCon Lawrence, you could be of help to the Websites team and help them *a lot*.

Some important subjects in my mind, come join me!

  • The most interersting one, ticket #90 will reduce human errors, faster websites update at every release, improve the websites maintenance, help new people understand our websites build and therfore sponsort contributors easily. You need to know Makefiles and Python. And we *need you*!
  • It takes actually about half an hour to build hour websites, mainly taken by pulling translations from Transifex. Ticket #136 is the way to go. I need to see with the infra team how we should do that (creating a new repo, pulling cron, and doing a simple rsync or a git pull..). Will probably see that with Kevin.
  • spins.fpo does not gives the right Torrent ISO size. Comes from the Json stat file. This is ticket #165 and I'll probably speak about that with Seth.
  • We have a wierd apache(?) conf that leads our websites to be provided in a raw html format for some languages. This is ticket #139 and we definetly need the infra here as it is an old issue.

Some other ideas, depending on your willings:

  • Create static pages for fedora/join, it is bad to send people to the wiki page everytimes. John told me about this.. Let's define the content ;)
  • Clean the easyfixes? Help you joining the team? Any other subjects?

So if you want to work for a new Fedora Project project for a bit, or if you've well managed your team and they are doing your job, please join me to move forward (irc:shaiton)!!

2013 Jan 18

Joining the Planet, Hourra!

Hi there, this is a simple test to check that my newly-not-completly-configured blog is correctly set up at least with syndication. My plan was to develop my own ultra light CMS but since I joined Fedora, I just couldn't take times for my own projects: Fedora Project Addict, that simple ;)

-- Heya Lawrence!!!