Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Tue, 14 Nov 2006
Favorite books

One of the things that I've been meaning to do is to put up a page of book recommendations. I'm the kind of person that learns well from books - it's a learning style that works for me. If you're a book lover, or perhaps more accurately, addict, you never met a book that you didn't like. The problem is that you have limited time and attention, so good book reviews, recommendations can be very valuable.

The list that I've put up is the result of culling book review entries from the blog. Right now there are entries for open source, programming, and photography. The programming section is a little light, and I hope to be adding more entries there over the next few months.

As a point of disclosure: the book urls on the list are Amazon Associates urls, so if you buy a book by way of those links, you'll be helping support my book habit.

I'd appreciate knowing if you find the list useful. Please feel free to leave a comment.

[20:51] | [books] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Sat, 28 Jan 2006
Book: Blueprint for Action

In addition to all the photography books, and the Ruby books, I've also been reading "Blueprint for Action : A Future Worth Creating", the sequel to Thomas Barnett's "The Pentagon's New Map: War and Peace in the Twenty-first Century", which I read earlier this year.

Barnett picks up where he left off and fleshes out his vision for a "future worth creating". There's not as much of a security (military) emphasis, by design, since this volume is intended to show the role of non-military actions, organizations and individuals in shrinking the Gap. I had momentary flashbacks to Friedman's "The World Is Flat: A Brief History of the Twenty-first Century", especially since economic globalization is a more powerful theme in this volume.

Barnett spent a lot of time on China, approaching it from various angles throughout the book. I really got a sense of the personal connection to his own adopted Chinese daughter Vonne Mei, and the impact of her presence on his thinking. And of course, whenever he mentioned his adopted daughter, my thoughts would immediately run to my own half-Chinese daughters, and to the world that they will inherit. Pondering that puts much of the "important" news on tech.memeorandum.com into perspective. Being immersed in the technology "continent" of the blogosphere has a way of whacking you out of perspective, especially in these heady days of Web 2.0.

[23:56] | [books] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Mon, 12 Sep 2005
Flat as a pancake

As a kid, I loved hearing John Banner(Sergeant Schultz)'s rendition of the title of this post. I recently finished Thomas Friedman's "The World Is Flat: A Brief History of the Twenty-first Century", and I frequently found myself saying "Flat as a pancake" to myself as I made my way through.

If you haven't been paying attention to globalization (as if you couldn't) or are unaware of the forces working to make the big world into a very small place, then I'd suggest getting a copy of The World is Flat and educating yourself. I didn't find that many surprises in the book. After all, open source is one of Friedman's "Ten Flatteners", and I've been reasonably involved in that. Working in open source has given me an experience of globalization every day. I have friends and collaborators in many countries in the world, and have experienced first hand a number of the ideas that Friedman was writing about.

While I didn't necessarily find a lot of new ideas (although the presentation is good), I really valued all of the examples and interviews in the book. It's one thing to know conceptually that something is happening, and even to have some personal experience of it. But the examples that Friedman includes really showed how swiftly and deeply things have changed and how they are going to continue changing.

[23:21] | [books] | # | TB | F | G | 5 Comments | Other blogs commenting on this post
Fri, 22 Jul 2005
Democratizing Innovation

I've been reading Eric von Hippel's Democratizing Innovation, which has some interesting points related to open source/commons based peer production. von Hippel has taken the enlightened step of making the entire book available online. I bought a copy on Amazon and read that, because I want to support people who are making information available.

If you are short on time, the overview chapter does a very good job of summarizing the major points of the book. But the key hypothesis is that product innovation is concentrated in the users of a product

Open, distributed innovation is “attacking” a major structure of the social division of labor.

of particular interest are "lead users" who

are ahead of the majority of users in their populations with respect to an important market trend,
and they expect to gain relatively high benefits from a solution to the needs
they have encountered there.

Most of the book is then an elaboration on this notion, why users innovate, why users are willing to share their innovations, and so forth. The chapter on Innovation Communities is mostly about open source and will be familiar to most open source participants. I was also interested by the chapter on Toolkits for User Innovation and Custom Design, since that is what we are trying to do with the platform aspects of Chandler

Here are some quotes that stuck out to me:

More specifically, a private-collective model of innovation occupies the
middle ground between the private investment model and the collective
action model by:

• Eliminating the assumption in private investment models that free reveal-
ing of innovations developed with private funds will represent a loss of pri-
vate profit for the innovator and so will not be engaged in voluntarily.
Instead the private-collective model proposes that under common condi-
tions free revealing of proprietary innovations may increase rather than
decrease innovators’ private profit.

• Eliminating the assumption in collective action models that a free rider
obtains benefits from the completed public good that are equal to those a
contributor obtains. Instead, the private-collective model proposes that
contributors to a public good can inherentlyobtain greater private benefits
than free riders. These provide incentives for participation in collective
action projects that need not be managed by project personnel (von Hippel
and von Krogh 2003).

I like the phrase "private-collective model of innovation"

Today, in sharp contrast, user firms and increasingly even individual hob-
byists have access to sophisticated design tools for fields ranging from soft-
ware to electronics to musical composition. All these information-based
tools can be run on a personal computer and are rapidly coming down in
price. With relatively little training and practice, they enable users to design
new products and services—and music and art—at a satisfyingly sophisti-
cated level. Then, if what has been created is an information product, such
as software or music, the design is the actual product—software you can use
or music you can play.

This is a point that was made by Adam Curry during his Gnomedex presentation. His choice of words was slightly more colorful, but the spirit is the same.

These traditional processes cannot easily be adapted to systematic search-
ing for lead user innovations. The focus on target-market customers means
that lead users are regarded as outliers of no interest. Also, traditional
market-research analyses focus on collecting and analyzing need informa-
tion and not on possible solutions that users may have developed.

Take heart all you "outliers"

It would be much better still to eliminate the need for cross-bound-
ary iteration between user and manufacturer sites during product develop-
ment, and this is what toolkits for user design are intended to do.

This is true, but I also think that in the right circumstances, the open source development process itself can break down the barrier or reduce the difficulty and number of times needed to cross it.

Present practice dictates that a high-quality toolkit for user innovation
will have five important attributes. (1) It will enable users to carry out com-
plete cycles of trial-and-error learning. (2) It will offer users a solution space
that encompasses the designs they want to create. (3) It will be user friendly
in the sense of being operable with little specialized training. (4) It will con-
tain libraries of commonly used modules that users can incorporate into
custom designs. (5) It will ensure that custom products and services
designed by users will be producible on a manufacturer’s’ production equip-
ment without modification by the manufacturer.

A good checklist for Chandler

One important direction in which the open source experiment points is toward mov-
ing beyond the discussion of transaction as a key determinant of institutional design.
. . . The elegant analytics of transaction cost economics do very interesting work in
explaining how divisions of labor evolve through outsourcing of particular functions
(the decision to buy rather than make something). But the open source process adds
another element. The notion of open-sourcing as a strategic organizational decision
can be seen as an efficiency choice around distributed innovation, just as outsourc-
ing was an efficiency choice around transactions costs. . . . As information about
what users want and need to do becomes more fine-grained, more individually
differentiated, and harder to communicate, the incentives grow to shift the locus of
innovation closer to them by empowering them with freely modifiable tools. (ibid.,
pp. 265–267)

This last quote is from The Success of Open Source by Steven Weber, which is bubbling its way up to the top of my reading pile.

Having the online book available made it really easy to get quotes and also to follow up my notes -- I usually use the subscription cards that come in magazines to take notes, indicating page numbers and enough information to point back to the passage of note. Being able to jump to the page in the PDF as opposed to flipping through the book was nice.

[22:20] | [books] | # | TB | F | G | 3 Comments | Other blogs commenting on this post
Tue, 19 Jul 2005
Book: Refactoring to Patterns

I'm part of a CS book reading group here on Bainbridge. For what seems like forever, we've been reading Joshua Kerievsky's Refactoring to Patterns, which is a perfectly fine book. The main idea is simple use Fowler's refactorings to refactor from one pattern to another or to refactor from no pattern to some pattern. It's a logical progression, and the coverage in the book is good.

It took us quite a while to get through the book because it didn't seem like there was a lot to discuss. Some books have generated enormous amounts of discussion, while others haven't generated as much. A good book isn't always a good discussion book.

If people have suggestions for good CS books that generate good discussions in groups, we're looking for a new book -- we're taking the summer off, so that gives us plenty of time to find a new book.

[00:35] | [books] | # | TB | F | G | 2 Comments | Other blogs commenting on this post
Sat, 12 Mar 2005
For more clarity, look from a higher place

That's the title of Chapter 14 in David Allen's "Ready for Anything: 52 Productivity Principles for Work and Life", which also begins:

Whenever thinking is murky, ambiguous, or off purpose, you must let go of the level you're focusing on and shift the horizon ot another plane


You must loosen your conceptual grip, let go, and lift your sights.

I happened to read this just after I had (unintentionally) done this. Perhaps I need to practice doing this intentionally.

[00:21] | [books] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Thu, 24 Feb 2005
The Future of Work

If you've been following my recent set of postings on books, you might have noticed a trend (more on that in another post). Here's the latest installment in the series.

I first heard about Tom Malone's "The Future of Work: How the New Order of Business Will Shape Your Organization, Your Management Style and Your Life" via the IT Conversations recording of his SuperNova presentation.

Malone observes that the introduction of various communications technologies influences the way that we structure work and organizations. He follows this trend from the pre 1800s when "most businesses were organized as small, local, often family affairs", through the introduction of broadcast communications capabilities in the 1900s, when "the telegraph, the telephone, the typewriter, and carbon paper finally provided enough communications capacity to allow businesses to grow and centralize on a large scale, as governments had begun to to do many millennia earlier". Which brings us the present day and the central assumption of the book:

Just as new technologies helped spur the rise of democracies, reversing the long trend toward centralization in societies, today's technological advances are beginning to spur a similar reversal in business. With new communication technologies like e-mail, instant messaging and the Internet, it is now becoming economically feasible -- for the first time in history -- to give large numbers of workers the information they need to make more choices for themselves. Today, many more people in business can have the kinds of freedom that used to be common only in small organizations. And that can be very good news for both productivity and quality of life. When people are making their own decisions, for instance, rather than just following orders, the often work harder and show more dedication and more creativity

Even as they encourage greater freedom, however, these new decentralized businesses can escape the limitations that hampered small isolated businesses in the past. Because the new organizations have access to the best information available anywhere in the world, they retain many of the advantages of large organizations. If there are economies of scale in parts of their business, for instance, they can find the best suppliers in the world to fulfill their needs for those raw materials and components. They can also find customers all over the world, using electronic reputation systems to establish credibility with them. And if someone on the other side of the globe has figured out how to do a particular activity or process in a better way, the businesses can tap into that person's expertise too.

The first three chapters examine the trends and so forth behind these paragraphs. The remainder of the book is broken into two parts. Part 2 looks at ways for structuring decentralized organizations: one chapter each on loose hierarchies, democracies and two on markets. In each chapter, Malone uses several organizations as examples of the structuring mechanism and then draws some conclusions about the form. I was particularly interested in the examples of the W.L Gore company, and the Mondragon Cooperative Corporation (MCC) in Spain's Basque region, both in the chapter on democracy. In the Gore section, a team leader says

I'm a leader only if there are people willing to follow me

This is closer to my notion of leadership. Giving someone a title doesn't make them a leader; it's their ability to persuade, motivate, etc which truly makes them a leader.

The MCC has a very interesting structure where "lower level" cooperatives own the larger corporation instead of the other way around. Individual members/owners of a cooperative elect that cooperative's governing council (which among other things, hires and fires the CEO) and participate in a general assembly where they vote on relevant issues. The cooperatives are grouped by industry sectors, and each sector also has a governing council and generally assembly. The standing committee (the governing council of the MCC itself) is similarly determined.

MCC also uses a financial compensation structure which grants individual employees ownership and profit sharing in a way that seems much better than most other companies.

One interesting idea from the democracy chapter is the notion of approval voting, where voters can vote for as many candidates as they want. The person with the highest number of approval votes wins. The notion of continuous approval voting in which voters can change their votes and thereby change a person's standing in the rankings is also kind of interesting. Approval voting and the single transferable vote (STV) system that we use at the ASF has got me interested in learning about other voting mechanisms (pointers appreciated).

The first chapter on Markets included a few sections on a freelance or e-lance economy.

In an e-lance economy, the fundamental unit is not the corporation, but the individual. Tasks are not assigned and controlled through a stable chain of management, but rather are carried out autonomously by independent contractors. These freelancers join together into fluid and temporary networks to produce and sell goods and services.

He makes the connection to the physical construction industry (just like Doc)

The construction industry is often organized this way, too. Plumbers, electricians, carpenters, and other specialists, many of whom work independently or for small companies, join together to make a building. When the building is finished, they regroup in different ways to make other buildings

This is the way that our current home was built back in 2000-2001, and before I joined OSAF I was one of those independent specialists. I was fortunate to have a good web of relationships that made it easy to find jobs and also work with others to do larger jobs than I could do myself. So I was glad to see a section entitled "Taking Care of People: The Guilds of the Future":

Growing out of tradesmen's fraternities and mutual assistance clubs, medieval guilds served a number of functions: They trained apprentices and helped them find work. They cemented social bonds -- guild members worshipped together and marched as a group in town pageants. The offered loans and schooling. And if misfortune struck, they provided an income for members' families.

I have yet to see an organization that operates the way that I think a modern day guild ought to. As Malone points out, there are many organizations that provide some of the functions of a guild, but none that provide all of them.

The second chapter on Markets talked about the use of Markets inside of organizations, which is a topic that I was not as interested in. There was some overlap in material with Suriwieki's treatment of markets in "The Wisdom of Crowds". The last chapter of section two covered the question "When Should You Decentralize"? The top level criteria looked like this.

  • Decentralize when the motivation and creativity of many people is critical
  • Centralize when resolving conflicts is critical
  • Centralize when it's critical to have lots of detail -- down to a very low level -- united by a single vision
  • Centralize when only a few people are capable of making good decisions

I found it interesting that there are more points dealing with centralization than for decentralization. In the context of open source projects, I think that it is useful to look at how these criteria match up against the various open source projects. (That's probably a topic for a whole post by itself).

Malone also makes a prediction for how decentralization will proceed:

These then, are the three main ways that decentralization with spread: First, senior executives of centralized firms will voluntarily make their hierarchies looser. Second, decentralized competitors will take market share away from centralized firms. Finally, centralized firms will outsource more of their work to decentralized ones. Even though the transitions to decentralization will be far from easy, they will happen, as managers and entrepreneurs discover and exploit the places in the economy where decentralization is most useful.

The last part of the book s devoted to the change in mindset that management must undergo in order to be effective in the decentralized world: moving away from a command and control mindset and towards a coordinate and cultivate mindset.

To coordinate is to organize work so that good things happen, whether you're in control or not. Some kinds of coordination are centralized, others are decentralized. Either way, coordinating focuses on the activities that need to be done and the relationships among them. Cultivation, by contrast, focuses on the people doing the activities: what they want, what they are good at, and how they can help each other. To cultivate is to bring out the best in people through the right combination of controlling and letting go.

Here's a smattering of related quotes on coordination:

For incentives to help coordinate a group's actions, they have to be coherent. If everyone has incompatible incentives, even a team of highly capable, highly motivated people won't achieve strong results. The various incentives, therefore, need to be tied to and support overarching goals shared by the entire group
The final key to coordination is good connections between activities and information

Transparency, or the open source way.

right standards in the right parts of a system can enable much more flexibility and decentralization in other parts of the system.

He calls these standards, I call them culture.

As the preceding section explained, coordination means managing dependencies between activities.

One of the problems of coordination is determining whether or not work has been done in a satisfactory manner. Malone proposes the use of independent rating services analogous to Consumer Reports or J. D. Powers. Now you know part of the reason that I'm interested in reputation and recommendation systems.

And here are a few quotes on cultivation:

To cultivate something successfully -- whether it's your farm, our garden, your child, or your organization -- you need to understand and respect its natural tendencies at the same time that you try to shape it in ways you value. More specifically, you try to discover and encourage its positive potential and limit the harm caused by its negative tendencies. Rather than impose your will on the system, you try to balance he right kinds of control with the right kinds of letting go.
This conflict between centralized and decentralized control -- between being in control and being out of control -- will increasingly be one of the fundamental tensions of organizational life.

Malone also outlines "Principles for Cultivating Organizations"

  1. Harness People's Natural Tendencies
  2. Let a Thousand Flowers Bloom
  3. Encourage Cross-Fertilization
  4. Improvise

In addition he outlines four "Core Capabilities for Distributed Leadership"

  1. Visioning
  2. Sense-Making
  3. Inventing
  4. Relating
  5. (Managing your own time/priorities)

The last chapter is titled "Putting Human Values at the Center of Business". There's a tie here to "The Soul of Capitalism", which I reviewed earlier this month. One point that he makes is

As more businesses try to pursue noneconomic goals, one of the most obvious dangers is that some people will cynically try to exploit others' good intentions. Malone believes that increased transparency is the only way to combat this danger, and cites IdealsWork as an example of an independent web site that

helps consumers compare the social and environmental performance of thousands of product brands according to the user's own individual values.

Malone wrote the following about cultivating one's own values particularly in the realm of business.:

If you are trying to control a system, you apply all your effort to making the outcomes of the system be what you want. If, on the other hand, you are trying to cultivate a system, you are not attached to the outcomes in the same way.
Similarly, in business, if you try too hard to accomplish particular goals you think are good, you may fail to see even better things that are emerging.

This is true in realms besides business as well.

Overall, this is an excellent book. If you are interested in commons-based peer production (open source) I think that you'd be well served by giving this book a read and then thinking about its relevance to that topic.

[00:39] | [books] | # | TB | F | G | 2 Comments | Other blogs commenting on this post
Sat, 05 Feb 2005
The Soul of Capitalism

Back in October, Mitch Kapor did an audio interview with William Greider about his book, "The Soul of Capitalism: Opening Paths to a Moral Economy" (discussion forum here). It's taken a while to get the book from the library, make my way through it, and post this review.

Greider is in search of a way to reinvent capitalism so that it accomplishes social purposes as well. Here are some quotes that stuck out to me:

p. 84

1. the natural rights of people are inescapably violated by the enduring master-servant relationship
2. universal ownership (...) is not only more just, but is necessary to prevent an eventual economic and political crisis for the present system
3. businesses perform better when employees share a stake in the ownership

Having owned my own business for a while, I'd have to agree with these points.

p. 159

usufruct - "take what you need, leave the rest for others"

This speaks to me about the notions of a commons, one of my favorite topics, and related to innovation, which appears below

p. 205

The corporation's legally privileged structure and unbounded scale generate a different kind of corruption -- the irresponsibility of concentrated, self-aggrandizing power. The commanding heights of corporate control belong to management insiders, and the large-bloc share owners who together are able to impose a narrow-gauged understanding of economic purpose on their own organizations and on the larger society. Given this closely held power, a successful company may remain oblivious to social injuries or the country's neglected priorities, but may also be blind to the corporation's essential purpose: creating real wealth for the future, the material gains that sustain a civilized society.

Greider re-images the corporation as a positive social force.

p. 228

The corporation may be thought of as a kind of protected cloister for sustained economic development, the place people gather to collaborate in complex, long-running processes of innovation and production

I like the focus on innovation.

p. 232

The essence of the successful corporation, as O'Sullivan explains in a telling phrase, is its function as a "learning collectivity". Only through continuous, collective learning among participants and managers is the company able to innovate, to discover new insights about itself and its objectives. And only innovation gives it the ability to survive and flourish; that is, to produce genuinely new value that can compete with others trying to do the same. Innovation, in these terms, simply consists of discovering new methods or products that deliver greater quality or cost savings or advanced capabilities over what existed before.

Innovation requires learning. I like it.

p. 233

This quality -- the capacity for innovation -- ought to be the first, most important social test of corporate governance. Regardless of how the firm is organized, does its organizational control system inspire innovation or suppress it? Do the "strategists" commit capital to innovative priorities because they are steadily informed by the "learners" scattered throughout the company?

p. 235

In sum, if O'Sullivan's "learning collectivity" becomes the standard by which corporations are judged, then the system for corporate governance has to be refocused on a different set of values, with more intrusive questions, but also more human-scale content.

p. 239

(Charles) Perrow's "Organizing America : Wealth, Power, and the Origins of Corporate Capitalism" (Charles Perrow) larger point is that the corporation is a social organization itself.

The "learning collectivity" is further threatened by the question of scale. ... When a corporation becomes a conglomerate of many unrelated businesses, the collective learning process becomes so tenuous it often disappears.

In other words, bigger is not always better.

p. 242

For the long term, imagine that antitrust law is transformed into a broader, more effective legal doctrine called "social trust". This new approach would start by reestablishing the original presumption that very large business organizations are inherently suspect - not good for us - because their concentrated power undermines democratic society as well as the learning-and-innovating capacities of the economy.

p. 243

But one of the most troubling failures of the existing corporate governance system is that a "white hat" company can morph into a "black hat" without disturbing its bylaws or legal obligations.

This definitely troubles me.

p. 258

I identify six essential social purposes that, contrary to conventional dogma of American capitalism, are not inherently incompatible with successful enterprise and, in fact, should reinforce a profitable, innovative corporation. These qualities have largely been excluded from the standard corporation by design or popular default to the existing power alignments. Think of these as six key steps towards establishing self-enforcement within a responsible business organization.

1. The Corporation must produce real new wealth, profit in the narrow meaning but also genuine value added to the material basis for sustaining a civilized society

2. The active objective of the corporation is to achieve harmony with nature, instead of borrowing assets from the future, with the understanding that disturbing nature is inescapable, but destroying it is neither required nor free

3. The system of internal governance reflects a democratic understanding that one way or another all of the company's insiders "own" it and together accept the risks and responsibilities for its behavior, and that the governance mechanisms ensure participatory decision making and the equitable adjudication of inevitable differences.

4. The corporation, in addition to its standard obligations to investors or creditors, undertakes concrete covenants with the communities that also support it in different ways (perhaps even granting forfeitable performance bonds that will serve as formal instruments of mutual obligation and trust)

5. The company's mission includes promoting unbounded horizons for every individual within it, whatever their personal potential and ambitions might be.

6. The corporation commits to defending the bedrock institutions of the society, from the viability of family life to the integrity of representative democracy

These purposes aren't perfect, but they seem a lot better than most of what is out there today.

[23:01] | [books] | # | TB | F | G | 7 Comments | Other blogs commenting on this post
Thu, 03 Feb 2005
The Wisdom of Crowds

Another book that I've recently finished is James Surowiecki's "The Wisdom of Crowds: Why the Many Are Smarter Than the Few and How Collective Wisdom Shapes Business, Economies, Societies and Nations" Julie has posted her review. Get ready for some Siskel and Ebert...

This is the sort of book that sounds interesting to someone interested in decentralization in any form and commons-based peer-production in particular. There's even a story in the book about Linux.

The first five chapters of the book are the strongest, where Surowiecki tries to ferret out the principles and situations in which groups of people are wise/smart/effective. After that (over half the book), I felt that he kind of lost focus on the topic. While many of the anecdotes in the rest of the book are interesting, I felt a little shortchanged by the end.

I was able to find lots of interesting stuff in the good chapters, though:

(these page numbers are from the Large Print edtion, which is what the library held for me)


The market was smart that day because it satisfied the four conditions of wise crowds: diversity of opinion (each person should have some private information, even if it's just an eccentric interpretation of the known facts), independence (people's opinions are not determined by the opinions of those around them), decentralization (people are able to specialize and draw on local knowledge), and aggregation (some mechanism exists for turning private judgments into a collective decision)

These four conditions are supposed to be necessary for wise crowds. One problem of the book is that while Surowiecki describes what these conditions are, there isn't much practical advice on actually achieving these conditions.


Diversity helps because it actually adds perspectives that would otherwise be absent and because it takes away, or at least weakens, some of the destructive characteristics of group decision making. Fostering diversity is actually more important in small groups and in formal organizations than in the kinds of larger collectives -- like markets or electorates -- that we've already talked about for a simple reason: the sheer size of most markets, coupled with the fact that anyone with money can enter them (you don't need to be admitted or hired), means that a certain level of diversity is almost guaranteed.


The fact that cognitive diversity matters does not mean that if you assemble a group of diverse but thoroughly uninformed people, their collective wisdom will be smarter than an expert's. But if you can assemble a diverse group of people who possess varying degrees of knowledge and insight, your better off entrusting it with major decisions rather than leaving them in the hands of one or two people, no matter how smart those people are.


Wharton professor J. Scott Armstrong wrote, "I could find no studies that showed an important advantage for expertise". Experts, in some cases, were a little better at forecasting than laypeople (although a number of studies have concluded that nonpsychologists, for instance, are actually better at predicting people's behavior than psychologists are), but above a low level, Armstrong concluded, "expertise and accuracy are unrelated".


The positive case for diversity, as we've seen, is that it expands a group's set of possible solutions and allows the group to conceptualize problems in novel ways. The negative case for diversity is that diversity makes it easier for a group to make decisions based on facts, rather than on influence, authority, or group allegiance. Homogeneous groups, particularly small ones, are often victims of what the psychologist Irving Janis called "groupthink"

Diversity is a strong part of what makes crowds wise. I particularly like the part about decisions made based on "facts, rather than on influence, authority or group allegiance". When I read the part about group think, I wondered, "are smug lisp weenies suffering from groupthink?"


Independence is important to intelligent decision making for two reasons. First it keeps the mistakes that people make from becoming correlated. Errors in individual judgment won't wreck the group's collective judgment as long as those errors aren't systematically pointing in the same direction. One of the quickest ways to make people's judgment's systematically biased is to make them dependent on each other for information. Second, independent individuals are more likely to have new information rather than the same old data everyone is already familiar with.

Rephrased, independence is essential because it reinforces diversity of opinion and information.

p. 98

They're assuming that John Maynard Keynes was right when he wrote, in The General Theory of Employment, Interest, and Money, "Worldly wisdom teaches that it is better for reputation to fail conventionally than to succeed unconventionally."

In the computer business, we say "Nobody ever got fired for buying IBM".

p. 138

In terms of decision making and problem solving, there are a couple of things about decentralization that really matter. It fosters, and in turn is fed by, specialization -- of labor, interested, attention, or what have you. Specialization, as we've known since Adam Smith, tends to make people more productive and efficient. And it increases the scope and the diversity of the opinions and information in the system (even if each individual person's interests become more narrow).

Decentralization is also crucial to what the economist Friedrich Hayek describe as tacit knowledge. Tacit knowledge is knowledge that can't be easily summarized or conveyed to others, because it is specific to a particular place or job or experience, but it is nonetheless tremendously valuable. (In fact, figuring out how to take advantage of individuals' tacit knowledge is a central challenge for any group or organization.) Connected with this is the assumption that is at the hear of decentralization, namely that the closer a person is to a problem, the more likely he or she is to have a good solution to it.

p. 139

Decentralization's great strength is that it encourages independence and specialization on the one hand while still allowing people to coordinate their activities and solve difficult problems on the other. Decentralization's great weakness is that there's no guarantee that valuable information that is uncovered in one part of the system will find its way through the rest of the system. (which is why blogs, etc are important)

The usual "decentralization is good" stuff.


What you'd like is a way for individuals to specialize and to acquire local knowledge -- which increases the total amount of information in the system -- while also being able to aggregate that local knowledge and private information into a collective whole, much as Google relies on the local knowledge of millions of Web-page operators to make Google searches ever-smarter and ever-quicker.

p. 146

Aggregation -- which could be seen as a curious form of centralization -- is therefore paradoxically important to the success of decentralization.

Aggregation is really the hard part. It's what Wiki technology does for the Wikipedia, you could argue that it's an important next step for blogging/microcontent. In open source projects this is accomplished at the code level by the version control system (see these articles about the impact of Bitkeeper), and at the human level by individuals or groups depending on the specific open source tribe.

p. 363

Similarly, people who have more extreme positions are more likely to have strong, coherent arguments in favor of their positions and are also more likely to voice them.

This matters because all the evidence suggests that the order in which people speak has a profound effect on the course of a discussion. Earlier comments are more influential, and they tend to provide a framework within which the discussion occurs. As in an information cascade, once that framework is in place, it's difficult for a dissenter to break it down.

p. 365

In a market or even a democracy, champions are far less important because of the sheer number of potential decision makers. But in a small group, having a strong advocate for an idea, no matter how good it is, is essential. And when advocates are chose, as it were, on the basis of status or talkativeness, rather than perceptiveness or keenness of insight, then the group's chance of making a smart decision shrinks.

p 365

Talkativeness may seem like a curious thing to worry about, but in fact talkativeness has a major impact on the kinds of decisions small groups reach. If you talk a lot in a group, people will tend to think of you as influential almost by default. Talkative people are not necessarily well liked by other members of the group, but they are listened to. And talkativeness feeds on itself. Studies of group dynamics almost always show that the more someone talks, the more he is talked to by others in the group. So people at the center of the group tend to become more important over the course of a discussion.

These last three quotes are more about group dynamics, which is one of the more "operational" discussions in the book. We all have been in situations where people speak more than they ought to. I tend to be the opposite -- I speak infrequently and usually towards the end of conversations, so it was interesting to see the impact of early and talkative people on the wisdom of a crowd. I'll certainly be paying more attention in the groups I'm a part of.

[23:31] | [books] | # | TB | F | G | 1 Comments | Other blogs commenting on this post
Sun, 30 Jan 2005
The Pentagon's New Map

I first became interested in Thomas Barnett's book, "The Pentagon's New Map", after reading about his presentation at PopTech (which you can hear on IT Conversations). I was surprised at the reception that Barnett appeared to be getting from the PopTech audience, and I've been continued to be surprised at the reception his work is getting at places like Worldchanging. So I did what I usually do, which was to put a copy on hold at the library. In the meantime, I started reading Barnett's blog, which has caught me up to speed on many of his ideas (indeed there were few surprises left in the book after a few months of reading the blog).

I'm not going to even try to recapitulate the key arguments in his book. You can read his pair of Esquire articles, his blog, or his book to get the story straight from the source. The book gives you more biographical information on Barnett, the trajectory of his life and how it intersected his ideas. It was also useful to get an insider's view about how ideas succeed or fail in the defense establishment.
I find his Core/Gap theory to be a good explanation of the world that we now live in, along with the probable impact on our national security policy and actions.

There's just one point that I'm having trouble with. One of the key themes of the book is the notion of "A Future Worth Creating". Mostly this refers to the idea that the Core should work to shrink the Gap. And of course, this is where the use of force comes in. The part I'm having trouble with is that I don't think that everyone in the U.S. (much less everyone in the Core, let alone the Gap) will agree that the future Barnett has outlined is the "Future Worth Creating".

[23:26] | [books] | # | TB | F | G | 2 Comments | Other blogs commenting on this post
Fri, 19 Nov 2004
The author experience

When I went to dinner with the Sun folks the other night, one of the things that we talked about was the process of writing a book. The formerly unidentified folks in our party were Rich Teer, author of Solaris Systems Programming, his wife Jenny, and Sean Ross. Apparently the Teer's have had a long multiyear slog to get Rich's book done, and today Dave Johnson mentioned that he is working on a book for Manning. Dave is on a tight schedule, which was the same situation for me on my book. It seems that writing a book indicates that you've been through a particular kind of ordeal. Or does it? Guillaume Laforge recently described the welcome package he got for his book on Groovy. I certainly didn't get that kind of a welcome from Wiley/Wrox. I suppose it's just another example of why O'Reilly is one of the top publishers in the computer book space.

[23:42] | [books] | # | TB | F | G | 1 Comments | Other blogs commenting on this post
Thu, 11 Nov 2004
Dialogue and the Art of Thinking Together

I read about William Isaacs' book, Dialogue and the Art of Thinking Together, on M. Mortazavi's blog. The author says that dialog

is about a shared inquiry, a way of thinking and reflecting together. It is not something you do to another person. It is something you do with people.

Thinking together as a group or community is something that I'm interested in because I think it is a good fit for decentralized, non-hierarchical organizations. Also, there are plenty of situations in our society where we need a "conversation with a center, not sides". Too many of our conversations are polarizing, divisive, and unpleasant, and I looked forward to seeing if Isaacs could bring out practical suggestions that could be put into use in daily conversations.

The book takes a very taxonomic approach. The author wants to break things down into constituent parts and categorize them, with the goal (I think) of helping the reader to be more crisp in their understanding of the various aspects of dialogue. I suppose this would have the effect of making you more situationally aware when in the midst of a conversation/dialogue setting.

Isaacs describes four practices which are necessary for participation in a true dialogue:

  • Listening - to others, to ourselves and our own reactions
  • Respecting - a sense of honoring or deferring to someone - to see others as legitimate
  • Suspending - we neither suppress what we think nor advocate it with unilateral convication. Rather, we display our thinking in a way that lets us and others see and understand it.
  • Voicing - revealing what is true for you regardless of other influences that might be brought to bear

Each of these is explored in a chapter in both an abstract and practical sense -- at least as practical as you can be given that you are reading a book and not actually interacting with someone else.

Participants in conversations also act in a number of ways during the conversation. We are introduced to Kantor's four player system:

  • move - initiating an action
  • follow - support the initiated action
  • oppose - challenge the action
  • bystand - provide perspective instead of taking a stand

Kantor's system became concrete for me in a series of tables that showed how a person's behavior when taking one of the roles can be misconstrued. This is something that happens all the time in conversations.

The last major concept was that of a field of conversation, making analogy to the notion of fields in physics.

A field of conversation is made up of the atmosphere, energy, and memories of the the people who are interacting.
These fields are
spaces where there is a particular quality of energy and exchange.

The book presents 4 fields that can be organized according to 2 axes.

The fields (and the type of speech that characterize them) are:
  1. Politeness - (shared) monologues
  2. Breakdown - controlled conversation or skillful conversation
  3. Inquiry - reflective dialogue
  4. Flow - generative dialogue

The axes (and the fields in them) are:

  1. blaming (1,2) & non-reflective vs reflective (3,4)
  2. primacy of the whole (1,4) vs primacy of the parts (2,3)

Isaacs goes on to discuss the type of leadership needed in each conversational field in order for a group to make its way to field 4.

There are some very useful concepts here. The book is a bit on the academic side, which can make it tough going at points. I think that this material would benefit from a practically oriented treatment of the sort found in books like Getting to Yes or Getting Past No.

[00:43] | [books] | # | TB | F | G | 1 Comments | Other blogs commenting on this post
Thu, 14 Oct 2004
Secrets and Lies

Last summer our reading group here on Bainbridge went through Bruce Schneier's Secrets and Lies: Digital Security in a Networked World. I found the introduction, to be one of the most useful parts. Here Schneier discusses the economic reasons that led him to convert Counterpane into a security service company. Aside from that there's a lot of high level stuff that is very education for lay people (but too light for people with some background). That material also serves to show how bad the computer security picture is. The other parts that I found interesting were chapters 19 and 21 which deal with threat modeling and attack trees.

If you don't have a security background, this book is a good introduction. If you do have a security background, you should keep this book around to give to your non-technical friends and co-workers. Schneier now has a blog where he's posting the contents of his excellent CRYPTO-GRAM newsletter, as well as other content.

[22:24] | [books] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Thu, 26 Aug 2004
Dark Age Ahead
I've been reading Jane Jacobs' Dark Age Ahead. I can't remember which blog it was that recommended this book. Jacobs is a Canadian urban planner, a very different point of view than I'm used to. She's looking for the factors that lead to dark ages -- times of cultural obliteration, with an occasional comment on the possibility that North American culture might be headed for such a time.

Her thesis is that dark ages ensue "When stabilizing forces become ruined and irrelevant". She goes on to write about 5 stabilizing forces that she feels are weakening:

  1. Community and family
  2. She makes a distinction between families (biological units) and households (economic units), and focuses mostly in the financial difficulties of families, particularly the difficulty of affordable housing and its subsequent impact on family life. The family cannot stand as a unit by itself, and needs the influence and support of a broader community. She goes on to note that real communities are rapidly disappearing. In order to have community, people must encounter one another in person, something made increasingly difficult in automobile centric America.
  3. Higher education
  4. Here the argument is that higher (and other) education has moved away from education, and into the business of issueing credentials. Here in Washington, it's easy to see that emphasis in the rush to comply with the WASL tests that are the legacy of "No Child Left Behind"
  5. Effective practice of science and science based technology
  6. Jacobs claims (as I and others have) that science is worshiped, and then uses an interesting example from traffic engineering to show how the scientific mindset is disappearing.

    Coincidentally, I also recently saw a graph in Wired (7/2004) p.52 (not on the web) showing the number of engineering graduates produced by various countries in 2001:

    I thought that those statistics went well with this quote:
    Try to imagine how demoralizing that deterioration will be for a culture that almost worships science, and that proudly connects its identity and prowess with scientific and technological superiority. How will such a culture and its people deal with becoming incompetent and backward in science and science based technology?
    Wholesale outsourcing of technical jobs will likely have the same effect, numerical production of graduates aside.
  7. Taxes and governmental powers directly in touch with needs and possibilities
  8. Jacobs usese two terms in this chapter Subsidiarity is the principle that government works best -- most responsibly and responsively -- when it is closes to the people it serves and the needs it addresses. Fiscal accountability is the principle that institutions collecting and disbursing taxes work most responsibly when they are transparent to those providing the money. Her example is taken from the Canadian federal government's intervention in Toronto's previously successful public housing program.
    Central planning, whether by leftists or conservatives, draws too little on local knowledge and creativity, stifles innovations, and is inefficient and costly because it is circuitous. It bypasses intimate and varied knowledge directly fed back into the system.
    Subsidiarity indeed. There are so many times when I've wanted a concise way of saying what subsidiarity means. Now I've found a word.
  9. Self policing by the learned professions
  10. Think of the failure of CPA's in the Enron scandal, the recent scandals in the Catholic church and extrapolate those into the rest of the learned professions.
There were lots of interesting examples in the book (mostly because of a different point of view). In spite of that, if the goal was to make the case that we are drifting in the direction of a Dark Age, the book falls short. Even though the examples were engaging, I didn't feel that they did a good job of really supporting the idea that there is a Dark Age Ahead. On the other hand, the book is a short read at 176 pages, and I definitely felt that there was reason to go on to the next chapter. And you'll probably be hearing the word subsidiarity coming out of my mouth and appearing on these pages.
[00:26] | [books] | # | TB | F | G | 3 Comments | Other blogs commenting on this post
Tue, 06 Jul 2004
Lou on Blue
I recently finished reading Lou Gerstner's Who Says Elephants Can't Dance? Inside IBM's Historic Turnaround, which is his account of the years that he spent at IBM. I worked at IBM during the Gerstner years, albeit in a strange sort of way - the IBM Cupertino lab was actually the remnants of the Taligent crew, and we were given more latitude than your typical IBM facilty. Gerstner's book revealed a few things about IBM (it's like learning about a country) that helped explain some things that I observed during my tenure. I definitely agreed with his point that the IBM culture is a big deal. The difference in the amount of cultural change in different parts of the company was evident depending on which lab you were dealing with.

I had some formative career experiences while at IBM, and I look favorably upon the company because those experiences were instrumental in my getting involved with open source, XML, and Java. While the company is far from perfect, I do feel that I got at least as much from IBM as IBM got from me, so it is easy for me to be positive about the company. I was definitely a beneficiary of some of the changes that Gerstner instituted.

[00:53] | [books] | # | TB | F | G | 3 Comments | Other blogs commenting on this post
Tue, 25 May 2004
A while back, I posted on (what I consider) Google's forward thinking policy of giving people 20% of their time to pursue unrelated projects. This was the frame of mind that I was in when I finally picked up Tom DeMarco's Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency. Slack is much more about management than I expected it to be, and while it certainly provoked some thoughts for me, I didn't feel that DeMarco tied the ideas together into concrete actions that could be taken. Slack is good, but for me, it didn't quite live up to the standard of the excellent Peopleware: Productive Projects and Teams.

Here's a smattering of quotes that stuck out to me:

p.50: Lister's law

People under time pressure don't think faster
p.70: Managerial overtime
Overworked managers are doing things they shouldn't be doing
p.80: Laws of bad management
First Law of Bad Management: If something isn't working, do more of it.

Second Law of Bad Management: Put yourself in as your own utility infielder

p.87: Characteristics of a "Culture of Fear" organization:
  1. It is not safe to say certain things (e.g., "I have serious doubs that this quota can be met"). And truth is no excuse for saying them.
  2. In fact, being right in your doubts proves that you must be the reason that the fondest wishes of those above you did not come true.
  3. Goals are set so aggressively that there is virtually no chance of achieving them.
  4. Power is allowed to trump common sense.
  5. Anyone can be abused and abased for a failure to knuckle under.
  6. The people who are fired are, on average, more competent than the people who aren't.
  7. The surviving managers are a particularly angry lot. Everyone is terrified of crossing them.
p.100: Vernal Allee's principle of fair exchange
Simply stated, this principle requires you to arrive at an agreement that would be equally acceptable to you from either side. In other words, you would be willing to sign as either party.
p.108: Process standards don't help with the truly hard parts of the work.
When the new automation is in place, there is less total work to be done by the human worker, but what works is left is harder. That is the paradox of automation: it makes the work harder, not easier. After all, it was the easy work that got absorbed into the machine, so what's left is, almost by definition, fuzzier, less mechanical, and more complex.
p.109-110: Empowerment
Empowerment always implies transfer of control to the person empowered and out of the hands of the manager. That doesn't mean you give up all control, only some. You can't empower anyone without taking chances. The power you've granted is the power to err. If that person messes up, you take the consequences. Looked at it from the opposite perspective, it is this capacity to injure the person above you that makes empowerment work. "Oh my God, if I fail at this, my boss is going to look like a chump for trusting me". There is little else in the work experience with so much capacity to motivate.
p.115: Quality
But real quality is far more a matter of what it does for you and how it changes you than whether it is perfectly free of flaws.
p.124: Fischer's Fundamental theorem
The more highly adapted an organism becomes, the less adaptable it is to any new change.
p.138: What is leadership?
Leadership is the ability to enroll other people in your agenda. Meaningful acts of leadership usually accept people to accept short-term pain (extra cost or effort, delayed gratification) in order to increase the long-term benefit. We need leadership for this, because we all tend to be short-term thinkers.
p.140: Power and leadership
In fact, it is success in the absence of sufficient power that defines leadership. ... Have you ever taken direction from someone who didn't have the authority to make you obey? Of course you have. And how do you feel about that? How do you feel about the person who led you? Chances are, the more that person was operating successfully outside and beyond his/her designated authority, the more strongly you feel that you were lucky to have been touched by a real leader. ... It's enrolling someone who is distinctly outside the scope of your official power base that constitutes real leadership.
p.151: Two models for gaining trust
You gain trust by demonstrating trustworthiness
Parent's Rule: Always give trust slightly in advance of demonstrated trustworthiness.
p.171: A real management team
When you find a real management team in action, there are a handful of managers who run their respective subgroups together. People in the subgroups are aware that their bosses are spending a lot of time with each other. (Sometimes they even complain about this: Their past experience has accustomed them to a manager who is alone in his/her office for much of the day, and therefore more available to them.) Decisions are made by the team and belong to the team. Responsibility and accountability are spread over the management team, just as they are in the lower-echelon teams that work for them.

This modest diffusing of accountability is the "problem" cited by organizations that allow no real management teams.

p.185: The best knowledge work managers
The key tools of management in the knowledge organization are the tools of change management. Instead of authority and consequence (the management staples of the factory floor), the best knowledge-work managers are known for their powers of persuasion, negotiation, markers to call in, and their large reserves of accumulated trust.
p.195: Risk Management
Risk management is the explicit quantitative declaration of uncertainty.
p.198: Component vs Aggregate risks
The essential business of risk management is management the component or causal risks -- that is, the set of things that can go wrong that might lead to aggregate failure.
p.200: What it means to manage risk
  1. List and count each risk
  2. Have an ongoing process for discovering new risks
  3. Quantify each one as to its potential impact and likelihood.
  4. Designate a transition indicator for each one that will tell you (early, I hope) that the risk is beginning to materialize.
  5. Set down in advance what your plan will be to cope with each risk should it begin to materialize
p.201: Risk containment
The goal is to place in reserve enough time and money to give at least a fifty-fifty assurance that there will be enough to cover the costs of those risks that do materialize.
p. 202: Risk mitigation
  • The plan has to precedes materialization
  • Some of the mitigation activities must also precede materialization
[00:09] | [books] | # | TB | F | G | 1 Comments | Other blogs commenting on this post
Sun, 25 Apr 2004
Danah's book Exercise
Via Danah Boyd:
  1. Grab the nearest book.
  2. Open the book to page 23.
  3. Find the fifth sentence.
  4. Post the text of the sentence in your journal along with these instructions.
Ok, 2nd nearest book because the designated text in Putting Metaclasses to Work is a theorem. From Slack : Getting Past Burnout, Busywork, and the Myth of Total Efficiency:
To understand this possibility, it helps to return to the model of the organization as a linked set of tasks where the nodes are people and the links are passed information, work products, and by-products.
[23:25] | [books] | # | TB | F | G | 3 Comments | Other blogs commenting on this post
Sat, 28 Feb 2004
Python Cookbook
The Python Cookbook is a collection of recipes for doing various tasks in a Pythonic fashion. I actually sat down and read through most of it (I cheated and skipped the parts on Windows and Tk), so that I could get a better idea of what pythonic code looks like. I definitely learned quite a bit, and I'm sure I'll be turning back to some of the recipes as I am writing more code. There's also the online version, but it was much easier to read all the code and discussion in the paper version. Of course, the online version has evolved past the paper version, so both versions have their uses. Recommended.
[23:26] | [books] | # | TB | F | G | 0 Comments | Other blogs commenting on this post
Fri, 27 Feb 2004
AppleScript: The Definitive Guide
Regular readers will know that I was mumbling about writing an AppleScript to do window position management in order to restore my sanity when attaching/detaching from an external monitor. I used this project (which isn't done yet) as an excuse to read Matt Neuberg's AppleScript: The Definitive Guide.

The good news is that this is definitely the Definitive Guide on the AppleScript language. The author has clearly done his homework, and it shows. He knows and tells more about the guts and vagaries of AppleScript than anybody could possibly want to know.

The bad news has nothing to do with the book. It turns out that AppleScript is a nasty language. It works, but there are special cases or odd behavior. Some of the semantics are just plain odd. And I'm one of those people that finds Lisp programs to be readable and understandable.

If you want to write short scripts, then you can probably tolerate AppleScript. But this book has just convinced me even more that I want to be able to use Python to script my Macintosh applications. Fortunately, there are at least two projects working on this very goal: AppScripting and aeve, so I'll be poking my nose there soon.

In the meantime, I guess I'll probably use AppleScript to try to solve my window management problems.

[23:47] | [books] | # | TB | F | G | 1 Comments | Other blogs commenting on this post
Tue, 24 Feb 2004
Learning Python 2/e
One of the books that I've read lately is O'Reilly's Learning Python, 2/e by Mark Lutz and David Ascher. It turns out that David and I overlapped during our years in graduate school, and now David has gone on to a number of significant accomplishments in the Python community. Not the least of which is this book.

I' ve been around long enough that I'm able to learn a lot about a language by looking at source code examples, and by reading the language reference manual. pyblosxom was my first python project, and I definitely learned python on the job, as it were. As I"ve been gearing up to work on the Chandler query system, I felt that maybe it would be a good idea to look at a book or two in order to quickly absorb the pythonic way of thinking. Learning Python was a relatively quick read for me, but nonetheless I learned a number of valuable things. Examples include the use of .pth files, cost models for various looping constructs, the full story on python scope rules, the full story on modules, and class operator overloading (which we use some on pyblosxom -- but it was just nice to have the presentation).

The bottom line: it probably would have saved me some time had I read this book before I started on python (of course the book didn't cover 2.3 back then, though). And for a book on a language, that's a good review in my book.

[23:19] | [books] | # | TB | F | G | 3 Comments | Other blogs commenting on this post

twl JPG


Ted Leung FOAF Explorer

I work at the Open Source Applications Foundation (OSAF).
The opinions expressed here are entirely my own, not those of my employer.

Creative Commons License
This work is licensed under a Creative Commons License.

Now available!
Professional XML Development with Apache Tools : Xerces, Xalan, FOP, Cocoon, Axis, Xindice
Technorati Profile
PGP Key Fingerprint
My del.icio.us Bookmarks
My Flickr Photos

RSS 2.0 xml GIF
Comments (RSS 2.0) xml GIF
Atom 0.3 feed
Feedburner'ed RSS feed

< November 2006 >
    1 2 3 4
5 6 7 8 91011


Macintosh Tips and Tricks

Blogs nearby
geourl PNG

/ (1567)
  books/ (33)
  computers/ (62)
    hardware/ (15)
    internet/ (58)
      mail/ (11)
      microcontent/ (58)
      weblogs/ (174)
        pyblosxom/ (36)
      www/ (25)
    open_source/ (145)
      asf/ (53)
      osaf/ (32)
        chandler/ (35)
        cosmo/ (1)
    operating_systems/ (16)
      linux/ (9)
        debian/ (15)
        ubuntu/ (2)
      macosx/ (101)
        tips/ (25)
      windows_xp/ (4)
    programming/ (156)
      clr/ (1)
      dotnet/ (13)
      java/ (71)
        eclipse/ (22)
      lisp/ (34)
      python/ (86)
      smalltalk/ (4)
      xml/ (18)
    research/ (1)
    security/ (4)
    wireless/ (1)
  culture/ (10)
    film/ (8)
    music/ (6)
  education/ (13)
  family/ (17)
  gadgets/ (24)
  misc/ (47)
  people/ (18)
  photography/ (25)
    pictures/ (12)
  places/ (3)
    us/ (0)
      wa/ (2)
        bainbridge_island/ (17)
        seattle/ (13)
  skating/ (6)
  society/ (20)

[Valid RSS]

del.icio.us linkblog



Listed on BlogShares

Locations of visitors to this page
Where are visitors to this page?

pyblosxom GIF