Monday, August 28, 2017

Leadership lessons from open source software

Just wanted to point to an article I recently wrote for CIO Review Magazine, about Leadership lessons from open source software. I've been involved in open source software since I was a university student—as a user, contributor, and maintainer. Today, I'm a chief information officer in local government. While my day job is unrelated to my personal interest in open source software, I find leverage in many of the lessons I learned throughout my history in open source software projects.

My article shares three key lessons from open source software that I’ve carried into my career as chief information officer:
  1. Feedback is a gift
  2. Everyone brings different viewpoints
  3. You don’t have to do it all yourself
Looking for leadership lessons through the lens of unexpected sources can be interesting and insightful. We need to find inspiration from everything we experience. For myself, I like to reflect on what I have done, to find ways to improve myself.

As chief information officer, I leverage many of the lessons I learned from maintaining or contributing to open source software. While I find insights from other areas, experience drives learning, and my twenty years of personal experience in open source software has taught me much about accepting feedback, listening to others, and sharing the burden. This applies directly to my professional career.

Sunday, August 27, 2017

At look back at Linux 1.0

The Linux Kernel is 26 years old this year. And to mark this anniversary, I took a look back at where it all began. You can find my journey into Linux nostalgia over at

I discovered Linux in 1993. My first Linux distribution was Softlanding Linux System (SLS) 1.03, with Linux kernel 0.99 alpha patch level 11. That required a whopping 2MB of RAM, or 4MB if you wanted to compile programs, and 8MB to run X windows.

A year later, I upgraded to SLS 1.05, which sported the brand-new Linux kernel 1.0.

Check out the article for some great screenshots from SLS 1.05, including the color-enabled text-mode installer, a few full-screen console applications, and a sample X session with TWM, the tabbed window manager.

Tuesday, August 15, 2017

Happy birthday, GNOME!

The GNOME desktop turns 20 today, and I'm so excited! Twenty years is a major milestone for any open source software project, especially a graphical desktop environment like GNOME that has to appeal to many different users. The 20th anniversary is definitely something to celebrate!

I wrote an article on about "GNOME at 20: Four reasons it's still my favorite GUI." I encourage you to read it!

In summary: GNOME was a big deal to me because when GNOME first appeared, we really didn't have a free software "desktop" system. The most common desktop environments at the time included FVWM, FVWM95, and their variants like WindowMaker or XFCE, but GNOME was the first complete, integrated "desktop" environment for Linux.

And over time, GNOME has evolved as technology has matured and Linux users demand more from their desktop than simply a system to manage files. GNOME 3 is modern yet familiar, striking that difficult balance between features and utility.

So, why do I still enjoy GNOME today?

  1. It's easy to get to work
  2. Open windows are easy to find
  3. No wasted screen space
  4. The desktop of the future

The article expands on these ideas, and provides a brief history of GNOME throughout the major milestones of GNOME 1, 2, and 3.
image: GNOME

Saturday, August 12, 2017

Allan Day on The GNOME Way

If you don't read Allan Day's blog, I encourage you to do so. Allan is one of the designers on the GNOME Design team, and is also a great guy in person. Allan recently presented at GUADEC, the GNOME Users And Developers European Conference, about several key principles in GNOME design concepts. Allan's has turned his talk into a blog post: "The GNOME Way." You should read it.

Allan writes in the introduction: "In what follows, I’m going to summarise what I think are GNOME’s most important principles. It’s a personal list, but it’s also one that I’ve developed after years of working within the GNOME project, as well as talking to other members of the community. If you know the GNOME project, it should be familiar. If you don’t know it so well, it will hopefully help you understand why GNOME is important."

A quick summary of those key principles:

1: GNOME is principled
"Members of the GNOME project don’t just make things up as they go along and they don’t always take the easiest path."

2: software freedom
"GNOME was born out of a concern with software freedom: the desire to create a Free Software desktop. That commitment exists to this day. "

3: inclusive software
"GNOME is committed to making its software usable by as many people as possible. This principle emerged during the project’s early years."

4: high-quality engineering
"GNOME has high standards when it comes to engineering. We expect our software to be well-designed, reliable and performant. We expect our code to be well-written and easy to maintain."

5: we care about the stack
"GNOME cares about the entire system: how it performs, its architecture, its security."

6: take responsibility for the user’s experience
"Taking responsibility means taking quality seriously, and rejecting the “works for me” culture that is so common in open source. It requires testing and QA."

Allan's article is a terrific read for anyone interested in why GNOME is the way it is, and how it came to be. Thanks, Allan!

Tuesday, August 8, 2017

Simplify, Standardize, and Automate

On my Coaching Buttons blog, I sometimes write about "Simplify, Standardize, and Automate." I have reiterated this mantra in my professional career since 2008, when I worked in higher ed. A challenge that constantly faces higher ed is limited budgets; we often had to "do more with less." One way to respond to shrinking budgets was to become more efficient, which we did through a three-pronged approach of simplifying our environment, standardizing our systems, and automating tasks.

The concept of automation was always very important to me. Automation is very powerful. It can remove drudgery work from the shoulders of our staff. By allowing a machine to do repetitive tasks, we free up our staff to do more valuable tasks.

What common tasks do you do every day that could be automated, and turned into a script or program? When I worked in higher ed, I shared this comment about automation:
"If you need a report from the Data Warehouse every month, documenting the steps is certainly a good first step. But it's much better to create a script to generate it for you automatically. The file just appears when you need it, without having to repeat the steps to create it manually. That's less time to manage an individual thing, leaving you more time to work on other tasks."
Kyle Rankin recently wrote at Linux Journal about the importance of automation, part of "Sysadmin 101." Kyle identifies several types of tasks you should automate, including routine and repeatable tasks, then goes on to discuss when you should automate and how you should automate.

If you are a systems administrator, and especially if you are new to systems administration, I encourage you to read Kyle's article. Then, learn about the automation available on your system. I leverage cron and (mostly) Bash scripts on my own Linux systems. I don't have very complex tasks that have dependencies on other jobs, so that works well for me. If you have such a need for more complex automation, you can find them.