Le blog de pingou

To content | To menu | To search

Tag - Fedora

Entries feed

Friday, July 25 2014

The Joy of timezones

Today, I was looking at fedocal as I found out it could not import its own iCal files.

Well, to be exact, the import worked fine but then it was not able to display the meeting. The source of the issue is that the iCal output is relying on timezone name such as EDT or CEST while fedocal actually expects timezone to be of type US/Eastern or Europe/Paris.

So I went looking for a way to convert the acronyms to real timezone.

I finally found out the following script:

import pytz
from datetime import datetime

timezone_lookup = dict()
for tz in pytz.common_timezones:
    name = pytz.timezone(tz).localize(datetime.now()).tzname()
    if key in timezone_lookup:
        timezone_lookup[name].append(tz)
    else:
        timezone_lookup[name] = [tz]

for key in sorted(timezone_lookup):
    print key, timezone_lookup[key]

Which led me to discover things like:

  IST ['Asia/Colombo', 'Asia/Kolkata', 'Europe/Dublin']

The Indian Standard Time and the Irish Standard Time have the same acronym

but also:

  EST ['America/Atikokan', 'America/Cayman', 'America/Jamaica', 'America/Panama', 'Australia/Brisbane', 'Australia/Currie', 'Australia/Hobart', 'Australia/Lindeman', 'Australia/Melbourne', 'Australia/Sydney']

So how to handle this?

The only solution I could came up with is relying on both the acronym and the offset between that timezone and UTC

Adjusted script:

import pytz
from datetime import datetime

timezone_lookup = dict()
for tz in pytz.common_timezones:
    name = pytz.timezone(tz).localize(datetime.now()).tzname()
    offset = pytz.timezone(tz).localize(datetime.now()).utcoffset()
    key = (name, offset)
    if key in timezone_lookup:
        timezone_lookup[key].append(tz)
    else:
        timezone_lookup[key] = [tz]

for key in sorted(timezone_lookup):
    print key, timezone_lookup[key]

And corresponding output:

...
('EST', datetime.timedelta(-1, 68400)) ['America/Atikokan', 'America/Cayman', 'America/Jamaica', 'America/Panama']
('EST', datetime.timedelta(0, 36000)) ['Australia/Brisbane', 'Australia/Currie', 'Australia/Hobart', 'Australia/Lindeman', 'Australia/Melbourne', 'Australia/Sydney']
...
('IST', datetime.timedelta(0, 3600)) ['Europe/Dublin']
('IST', datetime.timedelta(0, 19800)) ['Asia/Colombo', 'Asia/Kolkata']
...

So much fun...

Wednesday, July 23 2014

New package, new branch, new workflow?

If you are a Fedora packager, you are probably aware of the new pkgdb.

One question which has been raised by this new version is: should we change the process to request new branches or integrate new packages in the distribution.

The discussion has occurred on the rel-eng mailing list but I'm gonna try to summarize here what the process is today and what it might become in the coming weeks.

Current new-package procedure:
  1. packager opens a review-request on bugzilla
  2. reviewer sets the fedora-review flag to ?
  3. reviewer does the review
  4. reviewer sets the fedora-review flag to +
  5. packager creates the scm-request and set fedora-cvs flag to ?
  6. cvsadmin checks the review (check reviewer is a packager)
  7. cvsadmin processes the scm-request (create git repo, create package in pkgdb)
  8. cvsadmin sets fedora-cvs flag to +
New procedure
  1. packager opens a review-request on bugzilla
  2. reviewer sets the fedora-review flag to ?
  3. reviewer does the review
  4. reviewer sets the fedora-review flag to +
  5. packager goes to pkgdb2 to request new package (specifying: package name, package summary, package branches, bugzilla ticket)
  6. requests added to the scm admin queue
  7. cvsadmin checks the review (check reviewer is a packager¹)
  8. cvsadmin approves the creation of the package in pkgdb
  9. package creation is broadcasted on fedmsg
  10. fedora-cvs flag set to + on bugzilla
  11. git adjusted automatically

Keeping the fedora-cvs flag in bugzilla allows to perform a regular (daily?) check that there are no fedora-review flag set as + that have been approved in pkgdb and whose fedmsg message hasn't been processed.

Looking at the number, it looks like there are more steps on the new procedure but eventually, most of them can be automated.

New branch process

For new branches, the process would be very similar:

  1. packager goes to pkgdb2 to request new branch
  2. requests added to the scm admin queue
  3. cvsadmin checks the request (requester is a packager...)
  4. cvsadmin approves the creation of the branch in pkgdb
  5. branch creation is broadcasted on fedmsg
  6. git adjusted automatically

Tuesday, July 8 2014

1 year

Today is the first anniversary of the day we said good-bye to a good friend.

There has been a number of tributes in the couple of months following his disappearance, and there are still some once in a while. Personally, I hardly spend a week without remembering him or asking myself "What would Seth say?".

Good bye old friend, may your wisdom lead us.

Thursday, June 26 2014

Faitout, 1000 sessions

A while back, I introduced faitout on this blog.

Since then I have been using it to tests most if not all the project I work on. I basically use the following set-up:

DB_PATH = 'sqlite:///:memory:'
FAITOUT_URL = 'http://209.132.184.152/faitout/'
try:
    import requests
    req = requests.get('%s/new' % FAITOUT_URL)
    if req.status_code == 200:
        DB_PATH = req.text
        print 'Using faitout at: %s' % DB_PATH
except:
    pass

This way, if I have network, the tests are run with faitout and thus against a real postgresql database while if I do not have network, they run against a sqlite in memory database.

This set-up allows me to work offline and still be easily able to run all the unit-tests as I change the code.

What the point of this blog was actually more to announce the fact that despite it's limited spread (only 25 different IP addresses have requested sessions), the tool is used and it has already reached the 1,000 sessions created (and dropped) in less than a year.



If you're not using it, I am inviting you to have a look at it, I find it marvelous in combination with Jenkins and it does help finding bugs in your code.

If you are using it, congrats and keep up the good work!!

Tuesday, June 17 2014

Fedocal 0.7

This morning I released fedocal version 0.7.1.

With this version comes a number of new features which I thought would be nice to advertise a little :-)

The main calendar view & the menu

The main calendar view has had two additions:

  • a pop-up stipulating if there are meetings present that week that are not displayed in the current window (for example, if you're seeing the meetings from 8am to 6pm and there is a meeting at 7pm, or at 4am).
  • shortcuts to interact more easily with the calendar. These shortcuts contains three actions: Add a meeting, switch to list/calendar view, iCal feed.

The menu now highlights the calendar you are looking at to make things easier on you.

popup-highlight-shortcuts.png

The list view

When viewing a calendar as list, fedocal will now automatically scroll down to the display the meetings of today or the future meetings.

In addition, this page also has the three shortcut buttons mentioned above (add meeting, switch view mode, iCal feed).

autoscroll-shortcuts.png

The detail view

We have added three new features in the page showing the details of a meeting

  • permalink: when the user clicks on the pop-up showing the details of a meeting the url is updated to provide a permalink to that specific meeting. This allows one to copy/paste the url and send it to someone.
  • countdown: with the help from mpduty we have added a countdown in the meeting detail view showing the remaining time before the meeting starts. This can nicely circumvent the timezone conversion if you are not logged in fedocal and want to know when a meeting starts
  • UTC titles: if you hover over the dates/times with your mouse, the date/time will be shown in UTC which is always handy as in our community UTC remains quite often the most used way to communicate date/time.

detail_view2.png



I would like to take here the opportunity to thank kparal, ralph, willo, red and lbrabec for their bug reports and RFE that led to all these changes which I think are making fedocal 0.7.1 its best release so far :-)

Friday, April 11 2014

Presentations at FOSDEM and DevConf 2014

This year I attended both FOSDEM and DevConf and at both conference I was given the possibility to give a presentation.

At FOSDEM, together with the Debian developer Nicolas Dandrimont, we gave a presentation about fedmsg for both the Fedora and the Debian infrastructure.

At DevConf, I gave a presentation about Automation in the Fedora lan presenting all the tools available to our developers to help them do their best work.



Both presentations have been made available now :)

Thursday, April 10 2014

Back on LGM 2014

Last week I have had the opportunity to attend my first Libre Graphic Meeting conference, this year located in Leipzig (Germany). Not being much of a graphic person, I must say that I was sometime lost a bit in some of the talks (being during a presentation or at the coffee corner), but on the other side I have learned a lot! I discovered a whole new side of the Open-Source Software community working on low-level tools and algorythms for image and video manipulation. Meeting these people with such a deep understanding of computer science and photo, for example, was a really extremely enriching experience.

I have learned about image manipulation and the cool effects provided in gimp by the g'mic project. I have met some of the dev of the darktable and inkscape projects, these guys are doing a remendous work, kudos!

On the Friday, we had a presentation about the gooseberry project by the Blender foundation. If you have not pledged to help them, go do it now!. Their project is amazing and need more help!

Another amazing talk was Sebastian Koenig presenting us his work on reviving a medial manikin with Blender. Basically the story is that a museum in Leipzig (the GRASSI Museum für Angewandte Kunst Leipzig) had this old maniki (22.5cm tall) which used to be animated, you could move her arms, legs, fingers or toes but it got old and stucked. So the museum in collaboration with the university did some sort of scan of the manikin and they asked Sebastian Köning to see if he could reconstruct the manikin using Blender. The resulting movie is now on display in the museum next to the actual manikin. I found this research amazing both from a technical and a historical point of view! And icing on the cake, since they had the mesh to reconstruct the animation on Blender they have also been able to make a 3D printed replicate of the manikin giving it back its ability to move.

On the last day, I was able to attend a workshop offered by Tobias Ellinghaus darktable developer and Patrick David about image manipulation on darktable and gimp. I had to leave before the end but the workshop was really, really interesting. Patrick did a live image editing demo in gimp, performing it on photo taken just a few minutes before. I need to practice this a little bit otherwise I'm going to forget all the good tips that were given.

I could also discovered some cool project related to DSLR such as the Magic Lantern which provides a new OS for Canon DSLR, awesome right? There is also the entangle project allowing to remotely control your DSLR, quite handy for macro or astro photos.

I was also given the possibility to contribute to the party. gnokii and I gave a presentation about nuancier as a FOSS contributing and voting application for wallpapers. I think it was well-received and there is apparently already interest to update it to support font. In addition, I took the opportunity, during a lightning talks session, to present HyperKitty and its demo instance which also seem to have brought quite some interest.



All in all, this was my first LGM meeting, I learned a lot about the whole libre graphic ecosystem, met a lot a new people and was given the opportunity to introduce a couple of projects dear to me. I really enjoyed it and would advise it to anyone interested, even remotely, into libre graphic.

Thank you for anyone that helped me attend or enjoying it (Gnokii, Ryan, Garrett, Chris and all the others ;-))!

Tuesday, February 4 2014

Evolution of our contributors in Fedora

As you may know, Fedora is under-going a rather large change with Fedora.Next proposition/evolution. One of the point that Fedora.Next addresses is the loss of users observed in Fedora for few years.

The statistics page on the wiki as well as my own representation of the same numbers are both out-dated so we don't really have a clear view on this.

However, since October 2012, all the messages sent onto the fedmsg bus are being stored in datanommer. And that's information we can use to see how we're doing with regards to our contributors.

I asked and got a dump of the datanommer database (the data is anyway publicly accessible in datagrepper) and ran my traditional script on it to gather some numbers.

I generated on a daily, weekly and monthly basis the graph of the number of (distinct) active contributors we have.

Here are the results :-)

contributors_daily_stats.png

contributors_weekly_stats.png

contributors_monthly_stats.png

Three interesting periods:

  • the period without any messages in March 2013 is the period where the bus was down and we did not realize it (since we have a nagios check for the bus)
  • on the daily graph you can really see the dip created by Christmas and its holidays
  • on the monthly graph, the pick in August 2013 coincides with Flock and the launch of badges!


Looking at the graph generated by this week in fedora, in December we launched COPR and it seems that the number of posts on the planet has also quite increased in December and January. Does this alone explain the bump we observe here?

Monday, February 3 2014

Dynamic point of contact assignment (2)

Recently I spoke about dynamic point of contact assignment in pkgdb2, I had generated some global stats about general changes but nothing specific, so here is a little more information about the impact this would have for packagers:

 652 packagers lose at least one package
 In average they lose 6.82668711656 packages
 392 packagers gain at least one package
 In average they gain 11.7168367347 packages
 
 Top 10 packagers losing packages:
    iarnell loses 305 packages : 385 -> 80
    spot loses 185 packages : 348 -> 163
    jplesnik loses 173 packages : 214 -> 41
    than loses 167 packages : 185 -> 18
    steve loses 129 packages : 137 -> 8
    eseyman loses 97 packages : 190 -> 93
    psabata loses 76 packages : 150 -> 74
    jwrdegoede loses 70 packages : 173 -> 103
    corsepiu loses 53 packages : 112 -> 59
    mathstuf loses 51 packages : 63 -> 12
 
 Top 10 packagers gaining packages:
    ppisar gains 1353 packages : 295 -> 1648
    rdieter gains 241 packages : 135 -> 376
    kalev gains 127 packages : 43 -> 170
    limb gains 123 packages : 234 -> 357
    pghmcfc gains 114 packages : 176 -> 290
    pbrobinson gains 106 packages : 58 -> 164
    remi gains 101 packages : 212 -> 313
    mizdebsk gains 97 packages : 54 -> 151
    spot gains 93 packages : 348 -> 441
    petersen gains 75 packages : 141 -> 216

Graphically this is how it looks:

packages_lost_per_packagers.png

packages_won_per_packagers2.png

What about relative lost/gained, so instead of the number of packages let's look at the % of packages lost/gained relative to the number of packages that this user is the current POC:

 Top 10 packagers losing packages (in %):
    <... 142 packagers...> lose 100.0% packages
    steve loses 94% packages
    than loses 90.2% packages
    silfreed loses 90% packages
    packaging-team loses 89% packages
    yyang, sxw lose 87.5% packages
    amdunn, rocha, kylev lose 85% packages
    pvrabec, huwang, jdornak, hvad lose 83% packages
    timn loses 82% packages
    mathstuf loses 81% packages
 
 Top 10 packagers gaining packages (in %):
    paragn gains 1325.0% packages
    atkac gains 1100.0% packages
    crobinso gains 1000.0% packages
    hegdevasant gains 700.0% packages
    aalvarez gains 550.0% packages
    ppisar gains 459% packages
    airlied gains 433% packages
    pmachata gains 417% packages
    jkastner, jpeeler gain 400% packages
    adamwill gains 350% packages

Below is a graphical distribution of the packagers by the percentage of packages they lose:

packages_lost_per_packagers_pc.png

So from this we can conclude:

  • We have two packagers standing out with regards to the number of packages they would gain with a dynamic POC assignment
  • We have one packager standing out as it appears he/she has a lot of packages but is not working on them so much anymore
  • Some packager are both losing and gaining packages
  • We need to filter out the groups maintaining packages, but with the move to pkgdb2 it will be easier to filter them out
  • Quite a number of person are losing all their packages with dynamic POC assignment. There are also two peaks around 50% and 33%.
  • Amusingly, ppisar who gains the most packages is not the one gaining the most packages relatively to the number of packages he already owns


As before I put the script I wrote to gather these stats on my cgit

Friday, January 31 2014

Conferences & talks -- Part 1: FOSDEM 2014

February is always a busy month and this year will be no exception.

Later today I am leaving for Brussel to attend FOSDEM over the week-end, with as added bonus a presentation on Sunday.

The presentation will be about fedmsg and its ecosystem and one of the particularity of this talk is that it will be done together with Nicolas Dandrimont (his blog) who is a Debian developer.

Think about how awesome it is to have in the distribution track a talk about a technology and its possibilities given by two person from two different distributions.

I must say I am looking forward this presentation :-)

Thursday, January 30 2014

Fedocal upgrade

This morning I update fedocal to its latest version: 0.4.2, this update brought quite a number of changes, among them:

  • New UI, closer to pkgdb2, nuancier and koji
  • Add location to meeting, so that #fedora-meeting should no longer be a calendar but a location
  • Improved list view
  • Improved window to add a meeting
  • Improved calendar view where the full day meetings are separated from the other meetings
  • Store the meeting in the specified timezone instead of UTC (allows to have a meeting at 2pm/14:00 Paris time all year long, despite of DST)
  • Enable viewing the agenda in another timezone
  • Enable browsing the dates without using the small monthly calendar



I took the opportunity to re-generate the database to make sure all the fields were in sync with the DB model planned. The data was then copied over from the old DB to the new one, which gave some stats about fedocal:

10 calendars added
18 reminders added
236 meetings added



Check it out!

Thursday, January 23 2014

Dynamic point of contact assignment

Recently, while working on pkgdb2 I had a RFE for "dynamic" ownership.

The idea was to automatically change the owner based on who is actually working on the package.

With the change from "owner" to "point of contact" of a package, I thought that this might be an interesting idea. Of course in order to assess the feasibility and to investigate if it is really a good idea, we need some stats.

So I wrote a script that retrieves all the packages present in rawhide in Fedora. For each package it takes the last 100 actions (git commits, koji build and bodhi updates) and order the contributors from the most the least active. The script then checks the most active user versus the owner/point of contact of the package.

There is the output after running for 6h35:

14546 packages retrieved
14546 packages checked
85 packages w/ no package information
2877 packages w/ ausil as active point of contact
7132 packages won't change their point of contact
4451 packages will change of point of contact

I had to put appart ausil as he is the one doing the Mass-Rebuild and as such would become the point of contact of too many packages that have no other activity than Mass-Rebuild.

I still have the matrix of data available to extract more information about the distribution of the packages among the packager but I thought I would share this first.



What do you think?

Wednesday, December 18 2013

Fedora packagers activity

Following up on the thoughts about activity on our packages using the last build date I was curious to investigate the activity of our packagers.

So here again, I wrote a script that uses FAS to retrive the list of people in the packager group. For each of these person, it then queries datagrepper for their last fedmsg message, thus retrieving the date of their last activity.

Graphically it looks like this: On the X axis is presented the number of packager whose last activity was on that day, on the Y axis is how many days ago that day was.

last_packager.png

Converted to a log scale, we get: On the X axis is the log of the number of packager whose last activity was on that day, on the Y axis is how many days ago that day was.

last_packager_log.png

On both graph the peak at the end represent the number of packagers for which no activity could be found on datagrepper.



To provide some more numbers:

  • There are 1476 user in the packager group
  • 224 were active today (day 0)
  • 878 (59.5%) were active over the last 30 days
  • 386 (26.2%) were not active for the last 100 days
  • 296 (20%) were not active for the last 200 days
  • 253 (17%) had no activity registered by fedmsg.
  • The oldest activity registered is from 308 days ago.

Tuesday, December 17 2013

Fedora package build history

Recently I have been thinking about a way to do mass-rebuild but only of packages that have not been built in a while (since the last release?).

At the moment, we only do mass-rebuild when there is a specific need to, for example a new version of GCC.

This is a very specific process which is ran over multiple days and just rebuilds all the packages. As a results, some packages that are of very low maintenance may just seat around, un-touched until the next mass-rebuild.

I was wondering if we could not simply take all the packages on rawhide and run, say once a month (or once a week, every day?), check when their last successfull build was and if older than X (to be defined), do a simple scratch build of the package. We could query koji or fedmsg via datagrepper to get the date of the last successful build of the package.

So technically it is duable, in theory it makes sense but the question is, in practice does it?

The first check to assess this is simply looking at the distribution last successfull dates of the packages.

So I wrote a small script querying the packagedb to get the list of all the packages and then queries datagrepper to retrieve the date of the last successful build. The number of days between this date and today is then computed and the output provides the number of packages that have been rebuild on each day.

Graphically it looks like this: On the X axis is presented the number of packages built on that day, on the Y axis is how many days ago that day was.

last_build.png

Converted to a log scale, we get: On the X axis is a log of the number of packages built on that day, on the Y axis is how many days ago that day was.

last_build_log.png

To provide some more statistics:

  • 14397 packages were checked
  • 49 packages were built yesterday (day 0, when the data was gathered),
  • 1 package has not been successfully built since 271 days ago
  • 66 packages have not been sucessfully re-built for 200 days or more
  • 11418 packages have not been sucessfully re-built for 100 days or more
  • The two peaks that can be seen are from 132 and 133 days ago (last mass-rebuild?)



Is this something worth persuing? Should we automatically re-build packages after a while and report in case the build fails?

What do you think?

Monday, October 28 2013

F19 on jenkins

You may be aware that we have a jenkins server running in the fedora infrastructure for our projects (and some others).

Until today, it was running two builders: one EL6 and one Fedora 18.

I have now added a third builder running Fedora 19 and I need to look into adding a Fedora 20 once the beta is out this could really help for testing applications against the latest Fedora.

I will probably retire the Fedora 18 builder when I add the Fedora 20 one, so if you have a project building only on Fedora, you might want to check its configuration.



PS: If you have a project on jenkins, you may want to check if every thing it still set-up correctly, I just had to re-configure a couple of projects which are using git as scm.

Faitout - test against a real database

  • Do you do unit-tests?
  • Do you do continuous integration?
  • Do you use sqlite for your tests while deploying against postgresql?
  • Do you hate using sqlite for your tests?


If you answer 'yes' to any of those three questions, the following post is for you.

Otherwise, well, stay, it might still be interesting ;-)

When doing unit-tests you want to have something fast which allows you to quickly see if your last changes affect other part of your code.

sqlite is great for that. You can easily create in memory database, no FileIO, it all goes fast and smooth.

That is until you push your application to production where it is deployed against a real database system such as PostgreSQL. Then suddenly, queries which run fine under sqlite start breaking under PostgreSQL. sqlite and PostgreSQL implements some things differently and this leads to this kind of situation.

The solution for this is of course to run your tests in an environment as close as possible from the production on, ie: run your tests on the same database system as the one you use on production.

But this can also become complex, it means setting up a new database server, create a new database, clean the database after the tests, handle permissions...

With this in mind, project such as postgression appeared.

The idea is simple: easily get access to postgresql databases which are thrown away after a certain time.

The problem is that postgression is not FOSS, thus when a couple of weeks ago there was no way to get a database, there was also no way to set up our own postgression server that could be used by a restricted number of person.

So after discussing it with Aurélien, somewhere between lunch and dessert, faitout appeared.

The idea was simple, have a small web application, create on the fly a user and a database made available to the on who asks and after 30 minutes (via a cron job for the moment) destroy the database and the user.

The API is pretty simple and all is documented on the front page of the application.

So feel free to have a look at it, test it, break it (but let us know how you did that ;-)) at the test instance we have:

http://209.132.184.152/faitout/

Thursday, October 24 2013

Back on Nuancier

It has been a while but it has been about as long that I wanted to write this blog post.

I would like to come back a little on Nuancier.

Nuancier was born during the last flock in Charleston. The idea was to create an application to simplify the process of submitting and voting on supplementary wallpapers.

Until now the process was rather complex and not really user friendly.

  • People upload their artwork onto the fedoraproject wiki
  • Artwork would be validated by the administrators of the process
  • From there we would set up an election in our classic election application
  • The community would vote on names (the current election application does not have support for voting on artwork) which meant, having the list of submissions open on another tab/browser and keep navigating from one to the other

Not quite a user friendly process.

Nuancier aims at solving this. However, between flock and the last supplementary wallpaper election time was short, thus it was decided that if we could not manage to have a full feature app in place in time, we could manage to have the voting part done and deployed.

Thus we created nuancier-lite which is deployed and was used for the last election.

Among the features:

  • Single page to vote where all the candidates are shown and you can just pick the one you like
  • After discussions on the devel mailing list, you may claim a badge for voting
  • Integration with fedmsg (election start/stop, results are published)

What I would like to do is come back on the results of these elections.

Anyone that had signed the CLA and was is more than one group could participate to this election.

The statistics of this election show that

  • 128 person participated
  • in average people voted on 12 wallpapers (16 was the maximum number of vote allowed)
  • 52% of the participants voted on 16 wallpapers
  • 68% of the participants voted on 10 or more wallpapers

And looking at the nuancier badge

  • 79 person claimed the badge (61% of the people who voted)

Seeing that there are more than 3000 person registered on badges, I must say I was expecting a higher participation but according to the people used to run this election it is already much higher than it used to. On the other hand, we probably missed some annoucements as it was not even announced on the design-team list, something we'll have to be careful to do next time.

But for nuancier, there is still some work to be done:

  • Add the capability for artists to upload their artwork via nuancier
  • Possibility to name and pick a valid FOSS license for each of their artworks they submit
  • Automatically check that the import is valid (type of file, size of the artwork...)
  • Add the possibility for admin to moderate/approve submission using nuancier directly
  • Interact with the design team to make the whole process as user friendly as possible

It is even a project for the Outreach Program for Woman 2013, so if you are interested, jump in!

Thursday, September 12 2013

Fedora vote history

There has been some discussion recently about elections in Fedora and that gave me the desire to have a look at the history of our elections with regards to the number of participants.

I went back up to about 2008 and here are the results:

        Board   FESCo   FamSCo
			
2008-07   250    150	
2008-12   227    169      126
2009-06   297    308	
2009-12   225    216      130
2010-05   229    180	
2010-11   239    240      125
2011-06   204    200	
2011-12   224    225      104
2012-06   199    236      207
2012-12   201    206      102
2013-06   157    166      175

While I was digging the archives (I have the email announcement for each of these numbers), I also ran into the Fedora release name election results, so here are the evolution of the number of participants:

Release Ballots	
F9	62
F10	390
F11	310
F12	393
F13	313
F14	206
F15	296
F16	421
F17	292
F18	429
F19	391
F20	361

Wednesday, August 14 2013

Back on Flock 2013

Flock 2013 !

DSC_0958.JPG

Since my last blog post about my arrival to Charleston (South Carolina), I have been participating to the Flock conference.

This time, around 200 contributors from 19 different countries gathered to discuss, debate, exchange and more importantly work on Fedora.

This is briefly what I have been doing over these four days:

Day 1

After helping out with giving away goodies, badges, lunch cards and T-shirts, I assisted to the fedmsg presentation by Ralph Bean. It was a nice overview of the project as it stands today and also a good presentation of the environment that is growing up around it (datagrepper, fedora-mobile, Badges and many more).

Then I had to decide between HyperKitty and the talk "Why Fedora sucks", knowing Aurélien and knowing that I am able to speak frequently with him, I went for the later. Christoph explained that he went back on some criticisms made few years ago about the project and going through this list, a number of them have improved or even some solved. On the other side he also listed a number of current issue, on UI, on comps and other aspect of the project. So there is still some work for us and we can't all retire yet ;-)

DSC_0085.JPG

The last talk of the morning was from Haikel Guémar on FOSS development and Agile methods. I learned some things bout Agile itself and found out that some ideas I like are actually part of known project management processes. Quite cool all in all :)

The afternoon was dedicated to one larger discussion and a hackfest.

The discussion was about the future of IT in general and trying to get some ideas of where we would like to be in five years as a project. Quite an interesting debate started from this with ideas bouncing around of where people believe we will be in five years. Time will say if we were right during this session :)

The second part of the afternoon has been dedicated to a hackfest on semantic web technologies and more specifically how we could include the ontologies in our application. Using the DOAP ontology we can provide a standard way of describing a project, using the same standard as launchpad, pypi or debian. This should make data integration that much easier in the future.

For the evening program we had dinner in a restaurant few minutes walking from the hotel. We had a good time, it was hot and quite humid but we were outside and the fans helped us quite a bit.

Day 2

DSC_0957.JPG

The day started with an awesome talk on 3D printer by Aeva Palecek from Lulzbot. Unfortunately, as pointed out by kevin earlier are out of stock for their printers :-D.

After that I went to the presentation of Suzanne Reed from FOSSBOX RIT the project she worked on gourciferous based on gource to visualize the history and evolution of git-based project. Quite a nice tool and a nice presentation as well.

Following this presentation, I went on learning a little more about darkserver and what it can be used for. Kushal had already introduce it to me some time ago but I wasn't sure I had understood it completely, while I have a much clearer idea now :)

DSC_0989.JPG

For the last talk of the morning I went on learning a little more about clouds and Eucalyptus. Greg DeKoenigsberg is a really good speaker and the presentation (even was unfinished slides) was really really nice! It gave me a clearer representation of the cloud stacks available these days and how they differ form each other. Really interesting, thanks Greg!

The whole afternoon has been spent with the infrastructure to figure out how we would design and eventually setup a AuthZ server using some of the 0Auth principles (but not all).
The idea is to support the use case of people running job via CLI or cron against the Fedora Infrastructure but limiting their range of actions by providing them certain tokens that restrict them to the given action. (Am I clear here?) This is something we want to work on, so keep in touch if you are interesting, there are more thing coming ;-)

In the evening, we went to a bar, pretty much right in front of the hotel. The food was nice and the atmosphere really to 'relax'. We ate, we drunk, we danced and we had a very nice time over there. Toshio and Aurélien are making such an amazing dancing duo! Do come to Flock, if only for that ;-)

Day 3

DSC_0013.JPG

The keynote speaker of the day was the author of the Cantarel font, used by default on Gnome 3. The talk has been about font development, open-font, he touched upon the web-fonts as well. It was quite interesting, less in my usual area of interest so most things were new to me which was nice.

I was supposed to give a presentation after that session but when I showed up in the room, no-one was there. I waited until ten past the hour and nobody showed up so I just went to Ricky's talk on code review for Fedora apps. Ricky did a nice job in presenting the advantages and limitations of code review as well as listing the different points to pay attention to when doing one.

The following talk had been by our local OpenID expert, Patrick. He presented us with how OpenID works in general and what are the extension that he developed for the Fedora Infrastructure, to satisfy our needs. All our application are slowly moving to OpenID, providing a single, central place where the user gives his password. In theory, ultimately, our contributors should not have to enter their password in any other place than the OpenID server.

And the last presentation of Flock I went to, was the presentation about Census by Nathaniel. Census is the replacement for smolt. It's still work in progress but the progress made are really nice. Nathaniel presented us with the design of the application, I must say I really liked its simplicity. I do think it should scale well and we should be able to make something of it. The bonus is that on the contrary to smolt, Census is design in such a way that we can throw any kind to data at it. So it is another place for us to collect and provide statistics about the project and its contributors.

The afternoon has been spent hacking on fedocal with Haikel. The next release is almost out of the door. Haikel, lbrabec and I were able to close the last remaining tickets for the version 0.2.0.

For the last evening, the organizer planned, I think, one of the most awesome dinner location I can think off. We had the full aquarium of Charleston for ourselves! From 7pm to about 10:30pm, we had drinks and food at the aquarium, looking at fishes, some snakes, an impressive white alligator and a very cute bird that spent 10 minutes seducing tatíca! It was an amazing evening a big thanks to the organizers for this awesome opportunity!

Day 4

DSC_0069.JPG

The last day was dedicated to hackfest. So I hanged around with the infrastructure team. We were able to make a list of the coming tasks we want to do as well as those that we want to spend more time discussing about. After lunch, when we all moved to our tasks, I spent some time testing the new fedocal, fixing some of its configuration files and adjusting its spec file, testing the DB upgrade, only a couple more things to check/do (such as the update of the documentation) and I should be able to push this new version.

DSC_0092.JPG



I have had a really good time with everyone in Charleston. I met new people, made new friend, got work done and work planned and we just had some good times all together.

The Fedora project is full of awesome people and every time I meet them I realize how lucky I am to be and work with them :)

A big thanks to the organizers and Fedora for making this event possible and giving me the opportunity to be part of it.

DSC_0956.JPG Organizers at work ;-)

Wednesday, August 7 2013

Arrived in Charleston

Yesterday evening, after about 18h of traveling I landed in Charleston where will be held from the 9th to the 12th Flock.

So this morning I was able to walk through Charleston and discover this nice city, here are some of the pictures I took:

DSC_0748.JPG

DSC_0782.JPG

DSC_0785.JPG

DSC_0797.JPG

Some more are on my gallery



Images under CC-BY license.

- page 3 of 8 -