Monthly Archives: November 2004

A feed and a facelift

A few people commented to me that my previous color scheme was a bit hard to read; so, I hope that you find the new palette to be an improvement.

More importantly, I finally found the time to produce an RSS 2.0 feed for my blog. (It’s only been a year without one.)

OK, I realize that some of you (e.g. in my family) are thinking about saying bless you or gesundheit after reading an RSS 2.0 feed for my blog, but this means that I can simply state this fact to my family and friends and each person can decide for his or herself if it matters. If it does matter to you, having a feed means that you can now subscribe to my site using a feed reader. When I post something new, your reader will recognize this for you and deliver the new content straight to your eyeballs.

Need a reader? Here’s what I recommend that you do:

  • Visit JetBrains web site and fill out a free Omea Reader license form (no later than 3/31/2005 if free is important to you) .
  • Download the latest released version of Omea Reader installer to, for example, your local desktop.
  • Install Omea Reader and enter the license key JetBrains sent your email address you specified on the form provides here.
  • Launch Omea Reader and choose Tools | Subscribe to Feed… from its menu system.
  • In the first field at the top, enter the following link after the provided http:// prefix: (i.e. the whole link should look like
  • Click Next.
  • Keep the default feed title I’ve set (a musing) or change it to whatever you prefer.
  • Click Next and finish the subscription.
  • Omea Reader should then grab the contents of my feed, which you can subsequently read.

I hope that you find my new feed valuable.

Update 3/21/2005: changed my feed link to reference my current WP-based feed rather than my hand-crafted feed at the time this post was originally published.

Update 12/22/2005: Omea Reader is free indefinitely. Simply use the key provided on its download page. You can also import my OPML file into Omea Reader (or any other OPML-aware feed reader) to get started (i.e. File | Import Feed Subscriptions…).

Creating real design options through modularity

Recently I finished reading Design Rules, Vol. 1: The Power of Modularity. While I was less struck by this book than I was after reading Small Pieces Loosely Joined, I still picked up several points I hope to incorporate into my thought and application of design as a software architect.

  • An understanding of the forces driving change is crucial to comprehending the opportunities and the risk that change creates.
  • The first person that comes to mind as a practitioner of the previous statement is Pat Helland. What struck me… (read on)
  • Design is the process of inventing objects [or evolving artifacts, including intangibles like rules] that perform specific functions.
  • When applied faithfully, modularity greatly reduces the costs of experimenting with new designs.
  • Experimentation yields both new opportunities and new competition.
  • Chapter five of this book covered the complete set of modular operators as follows: splitting, substituting, augmenting, excluding, inverting and porting.
  • The design structure of an artifact and the task structure of the design process are isomorphic.
  • With respect to design, structure affects tasks deeply and unavoidably
  • Every hierarchical relationship and interdependency in the creation of a design requires a corresponding connection among tasks.
  • Human task structures have a fractal property.
  • Human beings are capable of visualizing new artifacts in an imaginative domain, and then acting purposefully to bring those artifacts into existence in the real world. Axiom: Designers see and seek value in new designs. Aside (bias beware): Personal value vs. market value ./li>
  • Imposing a design rule when one is ignorant of the true underlying interdependencies can lead to design failure. Or, as I’m known to say, Know what you leverage!
  • Modularity increases the range of manageable complexity.
  • Modularity allows different parts of a large design to be worked on concurrently.
  • Modularity accommodates uncertainty.
  • A modular design is a portfolio of options. Modularity creates real design options.
  • The value inherent in a modular design is potentially dangerous to its creators. Control in the system (and decision making in the organization) becomes decentralized; no one has to grant permission for experimentation to occur. In fact, such experiments can take place unawares. Taken to an extreme, system architects and integrators can modularize themselves out of existence.
  • However, as dangerous as this reality might be to some, the alternative is far worse in my view: Dominant Designs [that lead to], Frozen Organizations [that result in], and Complexity Catastrophes.
  • Does efficiency in software production necessarily require rigidity and lack of flexibility? What does this say about CMM, ISO-9000 and the like?
  • The driving force behind a quest for modularity is always a desire to achieve the right balance between fruitful uncertainty and paralyzing complexity.
  • Modularity is about abstraction, information hiding and interfaces.
  • There are two kinds of information hiding: visible and hidden.
  • Visible design choices are relatively irreversible; hidden design choices are reversible.
  • Visible design parameters == design rules

Aside: During part of my reading of this text, I saw a Citigroup TV ad, which showed a kid being swung by his dad while showing: Overtime pays more. <pause> Because of what you’re missing. Isn’t that the truth (and I don’t even receive OT)!

Update 12/1/2008: For more of my book reviews and to see what else is in my book library (i.e. just the business-related or software-related non-fiction therein), please visit my Books page.

Linear and non-linear thought


  • Something, call it ‘X,’ is a minor problem.
  • X occurs 10 times over a span of time.
  • X + X + X + X + X + X + X + X + X + X = a BIG problem where ‘X’ is concerned


  • Something, call it ‘X,’ is a minor problem.
  • X occurs 10 times over a span of time.
  • X & X & X & X & X & X & X & X & X & X = a definite pattern involving ‘X’

Non-linear thinker wonders why linear thinker is having a cow about something so minor. Linear thinker sees the insurmountable reality of non-linear thinker’s pattern. True ten times over is still (just) true; so linear thinker can acknowledge the truth (pattern) and climb mountains. Ten rungs in a ladder is a fairly tall structure–if it’s standing upright, but only the height of a single rung if it’s lying down; so non-linear thinker can see both perspectives and help the other climb down.


This post has nothing to do with administration other than an attempt to manage a set of loose ends I’ve been contemplating to post. This post’s title comes from Tom DeMarco‘s excellent project management book called The Deadline.

  • Isolation is not always bad; alignment is not always good.
  • Themes and rhythms (cross industry scenarios and product solutions, respectively)
  • If you want to know where your raise went, read this. Key point: Benefit costs are driving a wedge between the revenues that businesses collect from their products and the size of the paychecks that workers receive.
  • One of the articles that inspired my why isn’t collaboration free? question in my previous post was this op/ed piece in CRN.
  • Confidence (n.) – the sweet spot between arrogance and despair (from Confidence: How Winning Streaks and Losing Streaks Begin and End). Arrogance involves the failure to see any flaws; despair involves the failure to acknowledge any strengths.

I seem to have started two new workflows in the office: (1) using a digital camera to capture whiteboarding, etc. and (2) using a combination of tools to record meetings, knowledge transfers, etc. Processing the pictures I take for (1) is easy enough via Office 2003’s Picture Manager or in a few cases via Adobe Photoshop CS. However, although I have a pretty effective process for (2), it certainly would be nice to automate it.

I use Microsoft Office OneNote 2003 to capture the original voice recording in (WMA) format, which offers good quality and good file size (e.g. an hour meeting consumes 6~7 MB). The original recording is processed in Adobe Audition as follows: center wave, normalize (90%), amplify (varies on original), obtain then apply noise reduction profile to entire waveform, remove whitespace, remove um’s, hmm’s, and’s and other speaker extras, maximize amplification without distortion, and finally save a copy of the processed original to MP3 format. The final product can then be replayed faster than real-time (e.g. 1.5x) as time-shifted audio.

While effective, the above process is somewhat tedious and hands-on. It would be great to have a program that could be trained to recognize the speech patterns of individuals, categorize those profiles, and apply them to subsequent recordings.

Small pieces loosely joined…and making an impact

This week I finished reading David WeinbergerSmall Pieces Loosely Joined: A Unified Theory of the Web, and it’s made quite an impression on me (and many others!) given my work in the enterprise content management (ECM) space. (You may recognize the author’s name from his co-authorship of The Cluetrain Manifesto: The End of Business as Usual.)

Here are my rough notes that I took while pondering each page:

  • Web space is linked, dynamic, poorly edged [and] explosive. This reality should be reflected in one’s content authoring and consumption environments (e.g. how connected is the content at hand to related content?).
  • There is a fine balance between control and openness.
  • What puts things together in the first place? For example, what causes one project to succeed and another to fail? How does collaboration and content fit into success and failure?
  • Connectedness is in our DNA; so, it’s important to increase the number of connections, the depth and quality of each connection, the longevity of connections (relationships), etc. How can software enable this more effectively?
  • How do you measure integrity on the Web, given avatars, persona, anonymity, etc.? Integrity is more important than mere transparency, which is simply a recorded snapshot of thought and state. If companies and software are about building trust with customers and users, then their must be integrity, not just transparency.
  • How can software recognize content resonance (i.e. the result of content triggering action in a user or user group)? How can software increase content resonance? How can it guide a user community toward successful outcomes?
  • Management is, in short, about power as much as about efficiency. (The author does say that management is good; however, it’s not a panacea.)
  • This is a predictable tactic for imperfect creatures who find their imperfection embarrassing: redefine downward what it means to be perfect.
  • What would it mean if we could replace the faceless masses with face-ful masses?
  • Metcalfe’s Law: The usefulness of a network grows with the square of the number of people that it connects–linear user growth; exponential value growth.
  • Reed’s Law: The value of the Internet exists in the presence of groups–groups that are complex, overlapping and ever-shifting. Networks that support the construction of communicating groups create value that scales exponentially with network size, i.e. much more rapidly than Metcalfe’s square law. (Here is the essay by David Reed that led to this law.)
  • An important value of lurking–absorption of group ethos
  • Not only do we live in a shared world, but we like it that way.
  • It’s important that software reflects knowing the differences between catalysts for successful human calculation and those for successful human decision-making. Making a decision means deciding which of these “inputs” to value and how to fit them together to make a coherent story. In fact, the story helps determine which of the inputs to trust by providing a context in which the inputs make sense. That means the causality runs backwards: The inputs don’t determine the decision; the decision determines which of the inputs will count as influences.
  • Realism is strong medicine that must be used cautiously because it suspends ways of thinking that are essential components of human existence such as dreaming, imagining, supposing, wishing, and hoping.
  • Online, social groups are just as real (if not more so) as the people who compose them–software must reflect this belief.
  • Ideas don’t explode; they subvert.

So, I’m left to consider my following reaction (e.g. what it means to the software I develop):

  1. Content is secondary to the people that author or influence it.
  2. Individuals are secondary to groups.

For example, to increase the amount and value of content in an enterprise, it seems clear to me that ECM software should simplify the formation of groups (i.e. collaborative spaces). What ECM functions are only effective (or even possible) as group activities? Elevate these functions by simplifying group formation. Taken to one logic conclusion, why not make collaboration free?

This book (recommended!) will definitely influence my continued thought on how to promote the most valuable corporate asset–its people–in the context of ECM. For example, is content king or is the group-based collaboration that yields content what software should be beholden to?

Update 12/1/2008: For more of my book reviews and to see what else is in my book library (i.e. just the business-related or software-related non-fiction therein), please visit my Books page.