Archive for Linux

  • Esse quam videri.

  • Archives

  • Control Room

  • Categories

Git by a bus.

David Gay pointed me to an interesting project called Git by a Bus. Git by a Bus analyzes your git repository and attempts to quantify risk of having lots of code knowledge tied up in only a few people. Git by a Bus does its analysis by going through the repo history and making an estimate of what it calls unique knowledge.

This project blog page describes the analysis and metrics used. Perhaps this is a useful way to show how Fedora is doing as a project, across repositories like our web applications and infrastructure. It might show where we need to encourage further community development and participation so we avoid the “eaten by raptors” problem.

You might recall that “eaten by raptors” is Fedora shorthand for “hit by a bus” (violent idiom) or “going to work for another company” (not always applicable to Fedora, although certainly to Red Hat as a major contributor). We try to solve this problem by spreading project knowledge and documenting our processes. That way, if someone was eaten by velociraptors, the project can keep going without too much of a disturbance. This problem is common to any team or enterprise, not just open source. But I like to think our velociraptor spin is unique.

Here’s an example output I prepared for the MirrorManager project, which we use to provide content to Fedora mirrors worldwide. This is a potential example of high risk. One developer (the inimitable and awesome Matt Domsch) has unique knowledge of this project that is at risk if velociraptors manage to track and eat him. No doubt Matt would put up a good fight, but as you probably know they are clever girls.

Thankfully, there is a MirrorManager related Fedora Activity Day happening later this year. During that time the Fedora infrastructure, release engineering, and applications teams hope to accumulate and document more MM-related knowledge. At the same time they’ll be using this knowledge to architect, plan, and further develop the next revision of MirrorManager.

If you’re a principal in an FOSS project using git for your code, you might find Git by a Bus useful.

Samsung ATIV 9+ loves Fedora 21 Alpha.

Today I received my brand new laptop, a Samsung ATIV 9+ (model 940X3G-K04), and of course my first exercise was to boot it on Fedora 21 Alpha. This model has the QHD+ 3200×1800 text display with a touchscreen, and a solid state 256 GB storage device.

First steps with Samsung ATIV 9+

I downloaded the manual on another system, which I read to discover I should hold down the F2 key at power-up to get into the BIOS setup.

I inserted a USB stick with Fedora 21 Alpha installed, before starting the laptop. By the way, I published a screencast on how to make that Live stick. Then I got into BIOS setup, and used the Boot options to enable booting from the USB stick.

I decide to make a full disk image of the pristine hard disk, compress it, and send it to backup just in case. I don’t feel like keeping 20 GB of the disk reserved for a Windows operating system I’m unlikely to use. So:

dd if=/dev/sda bs=1M | gzip -c | ssh paul@192.168.0.X 'cat - > samsung-ativ-full-disk.img.gz'

I’m pretty sure this is going to tie up the laptop for longer than I’d like. On the plus side, it will give the CPU a bit of a burn-in as well. I ran through an installation after the disk copy was finished.

Booting after installation

The first hurdle was that the GRUB text screen is so small as to make it almost impossible to see for anyone over the age of 18. With the aid of a microscope I was able to find the right option to boot without testing. ;-)

Note #1: If the screen is also very dim, you can visit the BIOS setting to turn off the automatic screen dimming at boot time.

The actual boot from the Live USB stick was completely uneventful. Of course systemd was super-fast. In no time at all I was in the Live session.

Applications and interface

GNOME 3.14 did an excellent job detecting the HiDPI type display. The GNOME top bar and dock were sharp and readable. The display is gorgeous, quite comparable to a Retina-model MacBook Pro.

Some apps are still suffering a bit on HiDPI, though. LibreOffice and Firefox UI elements are far too small by default. Epiphany a.k.a. GNOME Web, on the other hand, works great. This is probably because GNOME Web responds to the overall GNOME display settings for HiDPI.

Note #2: To make the Firefox interface more HiDPI-friendly, visit the about:config URL page, and change the setting for layout.css.devPixelsPerPx to 2.

The Ctrl and Fn keys are reversed from my Lenovo x220 I’ve used for the last 3.5 years. Sigh, muscle memory. But the function keys mostly seem to work (other than the Windows specific ones).

Samsung ATIV 9+ touchpad issues

After hitting Fn+F5 to test the touchpad enable/disable function on the keyboard, I found the touchpad worked erratically. It sometimes didn’t work at all, even after a cold restart of the laptop. The pointer would disappear when the Terminal application or other text entries came to the foreground. The GNOME on-screen keyboard would emerge at these times, even if I didn’t need it and wasn’t touching the screen.

GNOME hacker and Fedora buddy Ray Strode, in his usual generous style, kindly entertained my questions and found some help for me. This seemed to do the trick:

sudo modprobe -r samsung_laptop
gsettings set org.gnome.settings-daemon.plugins.peripherals.touchpad touchpad-enabled true

Ray opined that the routine that was catching the function key to disable touchpad was, for some reason, no longer catching it to re-enable. This might have something to do with the kernel module. I plan to investigate further next time I reboot the system.


This is where the enabling work in GNOME shines. A lot more systems these days have touch screens available. I love the fact that I can drag my apps around the screen with a finger as opposed to the touchpad. The standard auto-sizing targets at top, left and right all work well, so I can quickly maximize or half-size windows.

Unfortunately, the resizing handles on window sides and corners are difficult to grab accurately, which is frustrating. On HiDPI touchscreens, perhaps there’s a way to increase the size of these targets. Overall though, far more goodness than badness.

Other issues

The keyboard backlight does not work if you install in EFI mode. Presumably, I should be able to reinstall the system after turning off Secure Boot in the BIOS, and then regain this capability. I’ll probably try that over the weekend so I don’t take more time away from productive work during the week.

Overall impression

The laptop itself seems to have sturdy build quality. It’s an attractive slate/charcoal color. The shell definitely shows oil from even clean, dry hands. The glossy touchscreen of course shows even more smudging. It would be nice if Samsung included a cleaning cloth.

I already love the touchscreen and find myself using it to quickly select the Activities overview, the GNOME settings at the upper right, and to swipe the notifications area into or out of view. The display is gorgeous and very bright even at half brightness.

One of the Samsung’s primary draws is its very slim profile. Besides the power adapter port and one USB 3.0 port on each side and the ubiquitous Kensington port, there is a mini-DisplayPort, a small port for the included gig-Ethernet dongle, a mini-HDMI port, and a TRRS-compatible 3.5mm headset port.

I wish the power adapter, whose jack is very slim and concerns me as potentially fragile, was something more like Apple’s “MagSafe” power connector. I’m sure that’s patented up and down to prevent anyone having such a feature. But for klutzes like me it’s definitely a huge help.

The 8GB of RAM seem well-suited, even generous, for a productivity user like myself who occasionally dabbles in virtual machine guests or other memory-intensive applications. It might be sub par for someone who has to run a lot of such apps often. But the ATIV 9+ seems weird to buy an ultralight laptop if that’s your use case, so I think 8GB is about right.

The 256GB solid state drive is incredibly fast. It’s my first SSD and I was shocked at the difference for doing not just the installation, but post-installation updates and software additions, as well as migrating my data over GbE from my older Lenovo x220 to the Samsung. It remains to be seen how the SSD stamina works out based on my routine style of use. However, I suspect if SSD is moving into the general marketplace it’s a good match for me since I’m usually more like a general productivity or creative content user.

I would say the ATIV 9+ is the best rival for the MacBook Air or Pro that I’ve seen.

CVE-2014-7169 updates on Fedora.

CVE-2014-7169 is an additional security issue in the GNU bash shell that emerged after researchers discovered the fixes for CVE-2014-6271 did not completely solve the vulnerabilities they had identified. Fedora Magazine has a very useful story that tells you why these issues are important.

Since I already published a story on how to deal with CVE-2014-6271, I might as well do a quick followup here for my readers on how to deal with the additional vulnerability.

These instructions will allow you to quickly get packages from the Fedora Koji package build system to address both CVEs, without having to wait for them to propagate to Fedora’s worldwide mirror system.

Fedora 21 Alpha

Run these commands:

su -c "yum -y install koji"   # provide root password...
koji download-build --arch=$(uname -m) bash-4.3.25-2.fc21
su -c "yum localinstall bash-4.3.25-2.fc21.$(uname -m).rpm"   # provide root password again...

Fedora 20

Run these commands:

su -c "yum -y install koji"   # provide root password...
koji download-build --arch=$(uname -m) bash-4.2.48-2.fc20
su -c "yum localinstall bash-4.2.48-2.fc20.$(uname -m).rpm"   # provide root password again...

Fedora 19

Run these commands:

su -c "yum -y install koji"   # provide root password...
koji download-build --arch=$(uname -m) bash-4.2.48-2.fc19
su -c "yum localinstall bash-4.2.48-2.fc19.$(uname -m).rpm"   # provide root password again...

Hope this helps!

Fedora 21 Alpha released.

I know there are a ton of posts about Fedora 21 Alpha hitting the Fedora Planet, and hopefully elsewhere on the web. But I couldn’t resist saying congratulations to the Fedora community on getting this release out.

We’ve had a long release cycle for Fedora 20 to accommodate a lot of thought and planning. How do we get three products out in place of one? How will we build them? What needs to change? How do we get the bits into place for releases? It’s a lot of work, and we’re not done yet. I suspect that we’ll see further change in the Fedora 22 cycle — although I’d also bet we won’t want to extend another cycle for it.

For my part as manager of the Fedora Engineering team, I am proud of the work all the folks on the team have done to support Fedora 21 Alpha. From changes to infrastructure, to work on new web applications to support multiple products, to notifying Fedora Project members of activity and contribution, to making things generally more beautiful, the team is tireless in their effort to serve the community. As always, my hat is off to them with awe and inspiration.

And of course it’s also off to you, the many, many members of the Fedora Project overall. From Ambassadors to Marketing to Docs to Translation to Websites to… whew. I ran out of breath there. But all of you folks rock!

Let’s take a moment (but just a moment!) :-) to be happy about Fedora 21 Alpha. It’s the first step down the road to the final release of Fedora 21 in December. Congratulations, everyone!

If you want to pick a copy of any of the new Fedora products — Fedora Server, Fedora Cloud, or Fedora Workstation — just visit the prerelease download page featuring Fedora 21 Alpha, and take your pick.

MeetBot makes for better meetings.

One of the aspects of Fedora is holding public meetings on IRC. We use Meetbot (courtesy of Debian, thanks!) to help administer meetings. Common commands allow Meetbot to do all the hard work of recording proceedings. The automatic minutes make it possible for people who couldn’t attend to follow what happened in the meeting. These minutes are key for maintaining transparency and information flow around the project.

But the minutes still depend on the people who chair the meetings to use the command set to record important data.

  • #startmeeting – Sets the overall group for the meeting
  • #endmeeting - Cleans up when done, and gives you the URLs for the minutes
  • #topic <Topic name> – Sets a topic heading for the next portion of the meeting
  • #info – Record some information that’s useful for anyone reading the minutes
  • #action <nick> <thing to do> – Clarifies who’s got the ball to complete something before the next meeting; it’s usually a good idea to set a due date*
  • #agreed – Documents something the attendees agreed on, also important to make decisions transparent
  • #idea – Helps give visibility to something no one is doing yet, but could be useful (also see #help in the MeetBot page)
  • #chair <person>… - Add someone(s) to the list of people MeetBot will listen to for commands

* A good friend of mine pointed out that unless you set a due date for an action item, you’re not writing actions, you’re writing a wish list. It should not only be clear who’s got the ball, but when they’re expected to give it back.

Here’s an example of a meeting I ran recently where I used the MeetBot commands to record useful minutes. If you were to look at these minutes later you’d get a pretty good idea of what was covered. You’d also know who was supposed to do tasks before the next meeting. There are a couple action items without clear dates, which is sub-optimal. But overall the meeting minutes are pretty clear.

In some cases, I ended up repeating things people said, using the #info command at the front to tell MeetBot to record in the minutes. If you’re running a meeting you should be prepared to do this. I also like to add everyone in the meeting to the #chair list, to help increase information flow when needed. (It’s also not a bad idea to reduce the chance that a single chairperson will be knocked offline and unable to #endmeeting.)

Are you reading your minutes when done to see if they’re effective? If not, you should. Use what you find to make your meetings better and more transparent for the community. I thought about showing some recent examples of poor minutes usage, but I didn’t want to embarrass anyone.

If your minutes only serve to show a link or two, and an attendance roster, that’s pretty much useless for most community members. Sure, logs are useful, and good for transparency too. But it takes a long time to read logs and extract necessary points from the dialogue. That dialogue can also sometimes be confusing after the fact due to the way IRC works.

Use the facilities we have available to us in Fedora to provide more information and transparency on what you’re doing. The couple of extra minutes per meeting spent using MeetBot will save each reader many more in return!

Flock Day 4.

Here’s a summary of Saturday’s activity at Flock 2014 where I participated or attended. I also have blog entries for Day 1, Day 2, and Day 3.

  • The constant stream of late nights was really getting to me. Didn’t arrive at the venue until about 9:15am. I skipped the first session and had some coffee, courtesy of Smooge.
  • Caught up on email sent overnight from people in the USA, and did final preparation for my talk.
  • I gave my session on the connection between RHEL and Fedora. I also discussed how well things went for RHEL 7 due to work in the Fedora community. I feel like it went very well. You can watch the complete video here.
  • I had an excellent conversation with Alberto Ruiz, who manages Red Hat’s desktop applications team.
  • Went with Alberto and Patrick Uiterwijk to lunch at the cafeteria. Got to know Patrick a little better, since he will soon be joining us on the Fedora Engineering team.
  • Sat in the hall with Patrick and got a Taskwarrior server running on one of my boxes.
  • Joined the session on revamping governance in Fedora, which was run by Toshio Kuratomi and Haïkel Guémar. This was hands down the best accomplishment of Flock. There will be a proposal for Board revamp coming from this session (finally!). I’m looking forward to the ensuing discussion and resulting improvements.

At this point I was finally exhausted. I headed back to the hotel early to do a little more reading and writing. I met up with some of the Anaconda team for a late dinner. Then I packed so I’d be ready in the morning to catch my flights back to the USA.

The Flock conference was excellent this year. It was nice getting back into the swing of community things. I enjoyed meeting up with everyone I saw. If I didn’t get a chance to see and talk with you personally, I’m still glad you were there. I hope you had a great time at Flock in Prague. Let’s do it again next year in the USA!

Flock Day 3.

Here’s a summary of Friday’s activity at Flock 2014 where I participated or attended. I also have blog entries for Day 1 and Day 2.

  • Didn’t make it up quite so early today, due to not turning in until about 2:30am the previous night. I got to the school basically on time, but worked on email and day job stuff for a little while.
  • Attended Matthew Miller’s joint session on
  • Got lunch late, ending up at a table with Stephen Tweedie and a few others. We talked about containers and strategy.
  • Touched up my slides for Saturday, getting straight in my head how I wanted the presentation to go. Reveal.js is cool.
  • Attended Richard Hughes’ session on building an application installer. GNOME Software is a huge step in usability, and it was enlightening seeing the huge amount of work that went into this tool. I wrote an article on Fedora Magazine covering this presentation.
  • Attended Ralph Bean’s excellent workshop on making tools with fedmsg, the Fedora messaging bus built on Zeromq. We learned how to use just a few simple lines of Python to build a Twitter feed from Fedora Badges. Amazing!
  • Attended the workshop on DevAssistant. I talked with the developers to learn about their future plans and to discuss desktop integration.
  • Met up with Garrett LeSage, Chris Roberts, Matthew Miller, Haïkel Guémar, and others for a great dinner at an Italian pizzeria. It was delicious.
  • Late hangout with friends kept me up yet again too late!

Flock Day 1.

Here’s a summary of today’s activity where I participated or attended:

  • Up at 5:45am so Matthew and I could meet up with Josh Boyer, Tom Callaway, Ruth Suehle, and Joe Brockmeier for breakfast. Then we arrived at the Flock venue early.
  • Helped set up rooms with wifi information for attendees. Discovered the rooms feature electronically controlled windows. Once opened, these made the venue much more comfortable.
  • Missed keynotes myself while ushing people around to them. :-)
  • Worked on my slides for Saturday’s talk, in the great Fedora tradition of iterating until the last minute.
  • Sat in on Tim Flink‘s Taskotron talk, and took notes for a Fedora Magazine article.
  • Went to a lunch meeting with Ludek Smid, Jaroslav Reznik, Joe Brockmeier, and Matthew Miller. We discussed some project management assistance for our Atomic/OStree work in Fedora. Very productive and we also had a good time.
  • Sat in on Christian Schaller’s Fedora Workstation talk. It was very well attended, so I think the idea that the Linux desktop is dead might be a tad premature. ;-)
  • Sat in on Marina Zhurakhinskaya’s talk on the Outreach Program for Women. I’m happy to say Fedora is an active player in this space. I look forward to our doing even more.
  • Sat in on a talk on Waartaa by Ratnadeep Debnath and Sayan Chowdhury. This is an interesting take on a Web IRC client as a basis for other collaboration tools.
  • Sat in on Chris Roberts’ and Marie ‘riecatnor’ Nordin’s talk on Fedora Badges and badge design. (If you’re looking for the resources shown in the talk, look here.)
  • Headed back to the hotel to finish a Fedora Magazine article. Then I met up with friends to head over to our event at The Pub.

Logitech M570 on Fedora.

I just bought a new Logitech M570 wireless trackball for use with my Fedora workstation. I favor a trackball over a moving mouse, because it’s easier on the joints, not to mention more practical on a crowded desk. My previous trackball device was a wired Logitech, and it developed a few problems recently. I’ve had it eight years, so I decided I got my money’s worth and could spring for a new one.

The Logitech M570 uses the Logitech Unifying Receiver USB wireless dongle, common to many Logitech devices. You can pair up to 6 of them to the current unifying device dongle that ships with the M570. Most Fedora users will want this device to be set with correct permissions for people who login on the console. It’s also helpful to be able to query or display battery status.

So here are the steps I recommend to install the Logitech M570 on Fedora. Do these steps before you plug in the receiver or turn on the trackball device. I’m using GNOME 3.12 on Fedora 20, so your mileage may vary:

  1. You may want to remove your existing pointing device first. Otherwise the new one may not work, at least until you do.
  2. Install solaar (upstream link), a monitoring and control gizmo for your Logitech Unifying Receiver and connected devices. Thank you to Eric Smith for packaging and maintaining this tool for Fedora!
  3. Plug in the receiver to an open USB slot. I recommend a rear slot since you likely won’t move this very often. (If you do, there’s a handy slot inside the trackball’s battery compartment where you can store the receiver without losing it!)
  4. Turn on the Logitech M570, and it should Just Work.
  5. You can launch solaar from the GNOME Shell, and a notification icon appears in the message tray. You can use this tool to see status and pair or unpair devices.
  6. (optional) If you want solaar to start every time you login, open the Terminal and enter these commands:
    $ cd ~/.config/autostart $ ln -s /usr/share/applications/solaar.desktop .


Redundant Department of Redundancy, part 12.

Or: I Went to Read This Community Member’s Blog. What She Wrote about RHEL and Fedora Blew me Away!

Sorry about the clickbaitism. But seriously, after returning from Red Hat Enterprise Linux 7 release festivities this evening I planned to write a blog to the Fedora community about how RHEL and Fedora are intertwined. How Fedora is the cradle of platform innovation that Red Hat relies on to build RHEL and thus to serve as a foundation for many other products. How the community helps select and cultivate technology and prevent Red Hat from investing a ton of resources to make something no one wants.

Then I saw that Robyn Bergeron has already written everything to be said. Which illustrates several points:

  1. Properly empowered, motivated, and ambitious community is faster than individual effort.
  2. Robyn is awesome.
  3. There is no post about Fedora into which we can’t somehow reference His Meatiness.

Need I say more? No. Go read Robyn’s post if you haven’t already. [Mic drop]

© 2002-2014 Paul W. Frields License: CC BY-SA 3.0. Some rights reserved. -- Copyright notice by Blog Copyright