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!

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?)

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:

Check the L10n schedule in order to see if we should translate doc,
websites or software;

Select a project. If it's a Fedora documentation, we should check on the
table if the it is up to date

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:

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 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.

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.

There are third party app to download a complete album set. But you need to
find them, select one, register, then log with you credentials... And finaly
get a [possibly bad] result.

One short way is to use few GNU/Linux tools. Be aware that this works as in
August 2013 and is subject to break if the Flickr code change. However it is
easy to understand an improve. It's a quick-an-ugly solution.

Get the large resolution

If you don't need to download the original pics, it is far more easy to get
them. Flickr export your original file in several resolutions which have
specific file extensions.

For example, to download them 1024px, you just have to add _b to the file
name. The current "issue" is that the original file and higher resolutions even
have a different name... I don't say that _b will always work, but it was for
several album and about a thousand a pictures today.

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

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 Qualityor 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.

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.

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.

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 ;).

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)!!

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