Home

Advertisement

Customize

Wouldn't it be nice ...

if life were perfect?

10/8/07 12:54 am - HOWTO make Gentoo great

Gentoo is good. How do we make it great?

Over the past year or so, I've read a few books, and I want to use those ideas to build a better Gentoo. The books:



I plan to write a short series of posts discussing the lessons in these books and how to apply them to Gentoo. In this post, I'm going to summarize the concepts of "Good to Great." I'll discuss how we can apply them to Gentoo in a later post. The book explains what it takes to transform a good company into a great one. It's a comparison of companies that made a transition from good to great (thus the title) with companies that remained merely good. Jim Collins and his group reduced the differences to a remarkably small set:


  • Level 5 leadership: The leaders of great companies aren't charismatic, big-name CEOs. They're humble, and their ambition is for the company, not for themselves.

  • First, get the right people: Before you decide what to do and where to go, get the right people in the right spots. Otherwise, you've got the wrong people creating the wrong vision, strategy, etc., which the right people are then forced to implement. Concrete implementations:

    • "When in doubt, don't hire—keep looking. (Corollary: A company should limit its growth based on its ability to attract enough of the right people.)"

    • "When you know you need to make a people change, act. (Corollary: First be sure you don't simply have someone in the wrong seat.)"

    • "Put your best people on your biggest opportunities, not your biggest problems. (Corollary: If you sell off your problems, don't sell off your best people.)"


    The right people have the right innate abilities and character traits, not necessarily the specific knowledge and skills. For example, look for work ethic, dedication, and problem-solving ability, not ebuild-writing skills and knowledge of bash.

  • Confront the brutal facts: Don't deny reality, or you can't make the right decisions. To do this, create an environment where everyone can be heard, so the truth can come out. Don't lose faith that you will win eventually, but accept the reality of now.

  • The Hedgehog Concept: Only do things that overlap in the three circles:

    • You're passionate about it

    • You can be the best in the world at it

    • It drives your resource engine


    The resource engine is a combination of time (how well we attract contributors), money and brand (how well we create a community), drawn from an accompanying monograph for the social sectors.

  • Build a culture of discipline: Create a culture of self-disciplined people who are "fanatically consistent with the three circles." Bureaucracy arises to compensate for incompetence and poor discipline due to having the wrong people. If you've got the right people, you don't need the bureaucracy.

  • Technology accelerators: If a new technology fits into your Hedgehog Concept, become a pioneer. If not, settle for decent, or drop it altogether if you can.

  • The flywheel and the doom loop: Transforming from good to great is not quick. It's a flywheel, slowly building momentum. From outside, all people see is the breakthrough, but from inside there's a prior buildup. Merely good companies couldn't build momentum—they jumped around from focus to focus, never getting anywhere with any of them. You don't need to spend effort getting people behind your idea. Show them the results, and they'll follow you.

7/20/07 02:34 pm - Improving Gentoo as a tool

Gentoo is a metadistribution, meaning you're supposed to built whatever you want with it. And we provide some of the tools to make that a reality, but we stop short. We still make it too hard to do what you want with Gentoo. Here's some of the ideas I want to explore over the next year:

  • Increased binary package support: We already have an experimental tinderbox setup to build packages for a variety of architectures. I want to investigate increasing our collection of binary packages to make a fairly complete installation possible using only binaries.

  • Repositories for user-created distributions: We have tools like Catalyst to create basic installations with stage3 or stage4 tarballs, but it's still hard to get what you want with them. We should make a repository of Catalyst spec files for a variety of purposes, and we should also add an accompanying mirror of the created tarballs so anyone can use them. We could also revive the Seeds project to create not just vanilla stage4 tarballs but fully fledged, preconfigured installations customized for specific purposes like LAMP servers, development machines, various cluster nodes, GNOME/KDE/Xfce desktops, etc. We already have the possibilities; we need to share our tools.

  • Creating the Gentoo metacommunity: In addition to letting you create your own distribution from Gentoo, I want Gentoo's community to be what you want it to be. We're in the middle of adding a few new mailing lists because our primary development list is drowning in noise. We made gentoo-project for non-technical general talk and gentoo-dev-announce for development-related information so developers don't need to slog through gentoo-dev. I want to take that a step further by forming stronger Gentoo microcommunities around specific areas and moving discussion about those areas to their IRC channels and mailing lists. Our development community has grown too big to keep everything on a general development list. Everyone tries to chip into every discussion, even if they have no relation to it or are unaffected by it.

  • Excellence: Gentoo's QA is not the greatest. What can we do to improve this? Some automated tools exist for pre-commit checking; can we add anything server-side? Can we add some build servers for critical system packages, so they don't make it to users before building in a predefined set of common configurations? Can we improve our developer recruitment or add new training for existing developers? How can we renew and strengthen our commitment to excellence? You can't create a tool with Gentoo if it's broken.

  • New tools for new places: This is more of an exploratory idea. I'd like a team of contributors to research all the places people use Gentoo, and put together a collection of tools we're missing. Further, we need to do more extensive research on other distributions to see what sorts of tools they have that we lack. I have no symptoms of NIH syndrome, so I'm happy to pull in working tools written for other distributions; I already did this for many of Fedora's system-config-* tools last year.

  • Resolving the meta vs. specificity conflict: Gentoo's status as a metadistribution sometimes produces conflicts between the goals of various projects and teams within Gentoo. Sometimes a person simply needs to make a decision of how to deal with it: pick one, or find a way to do both? Many people remarked over the past couple of years that we're lacking strong leadership and overarching goals, which would give us some consistent way to decide which projects will "win." As Seemant has said, Gentoo is a framework, a metadistribution, not a place that forces people to go a certain way. We should strive to enable contributors to follow whichever path beckons to them. But where is Gentoo going, and where should it go? You decide. The innovators and leaders can only suggest places for it to go, so the rest of the community has to follow them to our destination.

7/20/07 01:55 pm - Why I volunteer to work on open-source software

A big ruckus came up on the Gentoo development list in the past couple of weeks, and part of it involved Gentoo contributors and their motivations. I'm sure most of us have heard that open-source software is about scratching your own itches, but I'm not sure that everyone really understands what that means.

For me, what it means is that my time on Gentoo needs to fulfill me in some way. If not, then I've got tons of other places to invest my free time. It does not mean every change I make fixes a problem I encountered. It does mean every change I make has some return in value. What's value?
  • Functionality: A feature or bug fix that directly affects a program I use

  • Pride: My reputation as a developer relies upon clean, bug-free code. It's important that my code is beautiful and functional.

  • Gratitude: Thanks from someone else for the time I spent on their problem

  • Reciprocity: An expectation that others will contribute in areas I care about if I work on things they care about

  • Stimulation: Spending time around other smart people who care about the same things

All of these are selfish, because I'm directly getting some sort of value out of my time and contribution. Many times, Gentoo developers have said they develop for themselves. That's what they mean. Consequently, the people I care about making changes for are people who give me something I value in return. If you're contributing in some way, I want to help you. If not, what's my motivation?

6/12/07 10:23 pm - The science of team success

Scientific American has a superb Web site, and I've been subscribed to its weekly updates for quite some time. Today's update included a story called "The science of team success" that talks a lot about what can make teams fail or succeed. It references a branch of psychology called organizational psych., which is pretty much all about this. Can anyone suggest more reading on the topic?

5/22/07 06:52 am - The difference between Justice Kennedy and me

From this morning's New York Times story on abortion, but the actual matter is irrelevant to me:
Given those stakes, the justice argued, “The state has an interest in ensuring so grave a choice is well informed.”

No, the state's business is to stay the hell out of the people's choices.
Tags:

5/12/07 01:59 pm - BarCamp PDX: Communities Gone Awry session

I facilitated this discussion, which is why my notes may suck more than usual.

Accountability

Online consensus?

Structures?
- Hierarchy (org charts)
- Total democracy, or representative
- Dictator, active or inactive

Effect of using a distributed SCM on governance?

Respect is critical to being listened to ...

The importance of people who are catalysts (why? no clue, but they make things work). What motivation do they have to volunteer? The gratitude of others.

How to keep communities close-knit as they grow?
- Manifesto saying what's acceptable, with an enforcer!
- Create smaller communities
- People to connect these communities
- One person can ruin an entire team: vetting new community members
- A "boot camp" for new members to intensively indoctrinate them to the social norms
- The buddy system: mentorship

Book: The Tipping Point

Dunbar's number: maximum number of people who can work together. 150 to 300, depending on how strictly they're indoctrinated

How do you tell whether someone's really indoctrinated to the social norms? What criteria?

5/12/07 10:52 am - BarCamp PDX: Collaboration in Communities session

Dawn Foster, one of the BarCamp PDX organizers, is facilitating this discussion. She's interested in how people build communities.

How is collaboration changing within communities? Moving from mailing lists, newsgroups to blogs, wikis, forums ...

Face to face (F2F) interactions build more trust than you get online.

How to bring non-technologists into online communities? Knitting is one of the biggest of these.

People treat each other differently F2F than online. Educating newer generations in social norms, cultural differences, etc all play a role.

How do you find forums moderators, e.g.? Let people who might want to contribute know where you need help. Not just technical but someone to set the expectations for community norms. Important to create a sub-community for the moderators.

Communities self-organize their structures more than being placed into a hierarchy.

Network weaving: intentionally creating tighter and more connections within groups. People apparently do this for a living?

Building a strong community, from a corporate standpoint (or any project), means that people have got your backs when bad PR comes up. Give trust to your community, and they'll reciprocate. Companies have done this forever as product advisory councils, which also provides a beta testbed.

Building an internal corporate community is required before you can build a strong external community. And letting your internal engineers or whatever hear real customers firsthand sometimes makes the difference. Connect the creators to the users.

Business models move more toward ecosystems and away from your traditional corporate structure. Away from a two-state system and toward a spectrum -- no longer just producer vs consumer.

When do bloggers become marketers? Are they still impartial if some company pays them to blog about its products? Does it matter?

More stuff. Funny relevant comic at http://xkcd.com/c256.html

5/2/07 01:38 am - Procrastinate your way to productivity

Ever want to get a lot of work done? Find something that really sucks to do, and then put it off. That's right. Don't do it—instead, do every little bit of work you can to avoid having to pick up that hated task. You'll soon find that the more your procrastinated task sucks to do, the more work you'll get done on other fronts, even the stuff you would normally find insanely boring.

So, try it. Don't do something.

2/18/07 04:33 pm - Search with expert help

Remember when I posted about searching techniques? A blog I read with news ideas for tomorrow's paper taught me about a search site called ChaCha, where you can actually search with the help of a human guide. Very cool way to take advantage of the experts to help those who aren't so expert.

2/9/07 12:39 am - OSCON talk proposals

The deadline for proposing ideas for OSCON talks was Monday at 11:59 p.m. Naturally I clicked Submit for the final time not long before then, at 11:56 p.m. Note I said "final time," implying more than one—I decided to go all-out and submit three ideas, in hopes that at least one will slip through. For the curious, they are
  • Design and publish beautifully and professionally: How to create a professional-looking document, using Scribus and Inkscape. Many people who read this probably don't realize I spent four years working as a page designer and copy editor at newspapers. I continue that interest today as editor of a newsletter about open-source activity for the Open Source Educational Laboratory at Oregon State.

  • Community dynamics in a large open-source project: Problems, solutions and conundrums in Gentoo. The funniest (and saddest) part is when the same things begin to repeat themselves, and nobody else remembers last time it happened.

  • Open-source software in the biosciences: Where we are and what we learned on the voyage: The cruel joke of scientists as programmers. As a grad student in biochemistry at OSU, I've had to deal with more ugly software than many of you can imagine. But at least more of it is open source now, right?

Anyone else submit proposals? I'd be interested to hear what they're about.

1/29/07 10:52 pm - IQ tests, searching, intuition and patterns

I've been reading a series of posts about sensemaking on the Creating Passionate Users blog, and part of it (perhaps the part on intuition) reminded me of IQ tests. Why, you ask? Because every one of those quicky IQ tests I've taken that you can find online or at the bookstore has basically two components: a weird amount of trivia knowledge (vocabulary, etc) and pattern recognition. Is that really intelligence?

In my experience, a large part of being able to recognize a pattern is experience, or seeing something like it in the past. In the same way, past experience influences my searching strategy. I'm the guy people ask when they're trying to find something online, because I do a better job of finding what they want than anyone else around. I think the only reason I do this is because of my experience—I recognize the kinds of phrases people would use, and I tie together fragments of remembered knowledge. For example, instead of searching for what people ask me about, I search for what I think they're actually looking for. See any parallels to stuff like UI design? Jon Udell blogged about trying to teach people how to become a good finder by following his thought process. But I think that's impossible, because nobody possesses the same skill set and the same knowledge.

In summary: past experience determines future success.

12/22/06 04:03 pm - Why I don't like podcasts

Podcasts initially seem like a great idea. But there are problems with them:
  • The speed at which you listen is limited to the speed at which people talk. I'm a very fast reader, and I do a lot of skimming. When I'm stuck at the pace at which people speak, not only do I get bored easily, but I also waste time.

  • Skimming, or skipping intelligently, is nearly impossible. With sound only, it just doesn't work. If you've got video as well, you can at least provide captions or some sort of text on the screen to let people know generally what's going on. Also, if you're able to somehow index the sound and have a player that understands the indexing, that helps.

That's my final thought before heading off to vacation.

11/28/06 10:53 am - A revolution in music

The Pittsburgh library will now "check out" music over the Internet for free by streaming it. It handles the copyright issues by only allowing as many simultaneous streams of a song as they own copies. If a song on your playlist is checked out, it will just skip on to the next one until it finds an open song. Think for a minute about the implications of this.

What if places and people outside of libraries did it? Everyone could get the fullest use of music. Since it's impossible to listen to all your music at once on your own, get a lot of other people to help you with it! You could store all your music on a server that keeps a record of how many copies of each song you own, and anyone could go in, set up a playlist and start listening. Take the idea even further. What if someone set up a legal, peer-to-peer network to stream music? You could create enough upstream bandwidth by streaming from multiple locations, and each network could keep a per-node (to avoid centralization) song database.

It's unclear to me what effect this would have on record sales. Oddly, I have a feeling that sales of one-hit wonder albums would stay about the same, while sales of CDs with more good tracks would actually drop.

Thanks to Rick for the info.

8/6/06 03:39 pm - Cell phones change a culture

There's a great article in today's Washington Post about how cell phones, and in particular Bluetooth, play a dramatic role in changing (or creating) the dating culture in Saudi Arabia, one of the world's most conservative countries.
Tags: ,
Powered by LiveJournal.com