Flock 2016 and me

Last week I traveled to Kraków, Poland to attend Flock 2016 with a number of talented Fedora developers. Thanks to the conference sponsors, the conference was free to attend if you could get there. Red Hat was kind to sponsor my plane ticket and hotel room for the week.


As a new member of the Fedora Engineering Team, the most valuable element to this conference was the chance to meet most of my new colleagues and the many Fedora contributors that I've only known by IRC nicks for several years. I was able to enjoy everything from hallway technical discussions to purely social events, which helped me build stronger relationships with the Fedora community.

Hallway discussions

As with any conference, one of the top takeaways is the ability to spend face time with people you are working with to solve problems. One of the tasks I have been focusing on is to work with the Infrastructure team to develop a proposal for how we will deliver Docker images to Fedora users via the Fedora mirror network. I was able to have several conversations with other Fedora contributors about this problem (in particular, Adam Miller, Dennis Gilmore, and Pierre-Yves Chibon). Through these discussions new hurdles were identified, but more importantly we were able to develop solutions to said hurdles. I took some notes on the various points of discussion, and I plan to write a request for comments post to the fedora-infra list later this week detailing the proposal that we collectively developed. Thanks to all involved for helping me understand the various systems involved in distributing content to our users!

I also got to have a chat with Fabio Alessandro Locati, who I have been communicating with a good bit over the past 9 months about getting ejabberd unstalled in Fedora. We had been communicating over the ocean, so it was wonderful to meet him face to face.


During the conference, ejabberd 16.08 was released upstream. Since the Fedora 25 alpha freeze happened on the Tuesday shortly after the conference, I didn't have a lot of time to get 16.08 in. Despite the short window, I was able to use a little downtime and airport time to get ejabberd updated to 16.08 in Rawhide and Fedora 25 before the freeze. Thus, Fedora 25 should be shipping with ejabberd 16.08!


The conference provided free activities for the attendees all three nights, which was a lot of fun. My own team had a dinner together, so I did not attend the walking tour of Kraków, but I did attend the other two activities: a river cruise and a dinner at a local brewery. The conference sponsors and organizers treated us generously, with provided dinner and beer at both events (thanks!). I especially enjoyed the river cruise, as the weather and scenery were beautiful and I got to hang out a good bit with other Fedora contributors. The brewery meal was wonderful as well, and we even got a badge for attending the party. I'm nearly obsessed with Fedora badges, so this was a lot of fun for me.



The conference was kicked off by Matthew Miller, the Fedora Project Leader, with a keynote talk called "State of Fedora 2016". Matthew presented lots of pretty charts and graphs that show positive trends in the usage of Fedora over time.

After that, I attended Adam Miller's presentation about the work he did over the year on Fedora's Docker layered image builds. Though I have been closely following his work over the past year, he did a good job of presenting the high level picture of how the system works which helped me see the big picture more clearly.

Next I attended "The state of Fedora-Infra" by Pierre-Yves Chibon and Kevin Fenzi, in which they presented many of the infrastructure team's accomplishments over the past year in addition to setting some goals for the coming year.

After lunch, I attended Petr Viktorin's talk "Python Packaging in Fedora". He talked a good bit about the new system-python package, which will enable minimal Fedora installations to be quite a bit smaller. It was a challenge for the team to decide which modules should and should not be included, but I thought they made reasonable choices. This is good news for the Cloud images. Petr also talked about the state of converting packages to Python 3 in Fedora. We still have a lot of work to do!

I then went to Laura Abbott's kernel talk. She presented data about the activities of the kernel team over the past year, as well as some of the challenges. She even gave us some tips about how we can get involved in kernel development!

In the mid afternoon, I attended Adrian Reber's presentation about MirrorManager. This was a particularly valuable talk for me, as I have been tasked with determining how the Fedora project will distribute Docker images to our users. Adrian gave me some insights I was missing that will significantly aid me as I develop the plan for mirroring Docker images.

After Adrian's talk, I went to see Sinny Kumari and Dodji Seketeli show us libabigail, a tool that aids developers in finding ABI-incompatible changes in their binaries. It was a fascinating talk for me, as there are a lot of tricks involved in sorting out what is and is not important to pay attention to in the binary diffs.

Lastly I attended Ina Panova's talk about the Pulp Project, the project I worked on for four years immediately prior to joining the Fedora Engineering Team. Ina did a great job as a speaker, drew quite a crowd, and had a lively Q&A session at the end.


Wednesday was started by Radosław Krowiak, our second keynote, speaking about his educational company Akademia Programowania and how they use programming as an educational tool for children. He presented some data about how humans become less creative as they age, and posited that the method of our education reduces our interest or ability to exercise our creativity. His company uses programming to give children creative outlets to practice their problem solving skills. He showed us a number of simple programming environments that are designed for children.

The second talk I heard was from Matthew Miller about how Fedora could use the Kellogg Foundation's Logic Model to ensure that our resource allocations and actions line up well with Fedora's goals, and that those goals are aligned with Fedora's mission. He demonstrated some humorous as well as some practical examples that we could use. I look forward to trying it out!

Next was a well attended talk by Langdon White about the Fedora Modularity working group's accomplishments. He showed us some examples of what packaging will look like for modules, and even gave a working demonstration of what they have so far. I'm excited to see where this goes in the coming months.

The next talk I attended was from Kevin Fenzi about running Rawhide as his daily desktop environment. He gave us a list of reasons why one might want to do that, such as helping out with testing or staying on top of what's happening in Fedora. He also gave a lot of tips on practical ways to work around problems, and a list of common problems such users will face (such as unsigned packages).

I also attended Pierre-Yves Chibon's talk about Pagure, where he presented some of the new features that were written over the summer. It's a very exciting project, and I look forward to migrating many of the Fedora Infrastructure projects there.

After that I watched Patrick Uiterwijk talk about the recent spam attack against many of Fedora's systems, and how he wrote Basset to fight back to protect our users. He used some pretty neat techniques to pick apart the spam from the ham, and the project has been effective in reducing spam activity in Fedora.

I ended the day with Dennis Gilmore's talk "Redefining how we deliver Fedora". He talked about how we can't do everything all at once, so we will need to become more efficient at some of our tasks or focus more on some things than others. This will become especially true as the Fedora project seeks to deliver non-RPM content, such as Docker images or OSTrees.


I started Friday morning off by going to Luke Macken's Bodhi Hackfest session. He gave us a good overview of Bodhi, and the goals he has for Bodhi over the next year. This session gave me a chance to talk through the next steps I've identified that we need to take in order to get Bodhi 2 packaged in Fedora Rawhide and EPEL 7. Communicating in person about the remaining tasks was helpful, and Luke also helped me figure out an issue with building the documentation in Bodhi.

In the afternoon I attended the Fedora Hubs Hackfest, led by Pierre-Yves Chibon. I've had it on my radar to get involved with Fedora Hubs, so this session was a helpful introduction. I even got to play with a deployed development instance to get a feel for what the project is about.