This thought occurred to me the other day. Maybe the right approach to managing complexity in business software is something akin to creating a biological ecosystem. By this, I mean designing correcting mechanisms to address chaos as it emerges and, ultimately, (the dream) would be designing systems that are biologically aggressive, that is, they look for niches to fill and also take steps to preserve themselves.

I don't know. I'm sure I'm not the first person to think about this. It just hit me the other day as I was walking into work. It seems like the more common approach we take is to try to create a mechanical system as if the complexities of human interactions (i.e., business) can be specified and accounted for in a closed system.

I attended a session on managing complexity at the ITARC in San Diego last October, and the presenter was, if I recall correctly, advocating the usage of more precise specification of business rules through the use of Object Role Modeling (and in fact Dr. Terry Halpin was in attendance at that session and was a active participant). I had attended another session the previous day by a fellow from Fair Isaacs on business rule management software.

All of these folks struck me as very intelligent and knowledgeable, and yet it seems to me that they are going in exactly the wrong direction. In fact, I left that conference feeling very whelmed. I felt as if I were living in a separate universe; at least I got the sense that there is a software multiverse, parallel software development universes, with me living in one and a lot of those guys in another. All this talk of "governance" and highfalutin systems (e.g., grid SOA) leaves one feeling so disconnected from the everyday experience of being a software professional.

It seems to me that the solution to complexity in IT is not to create ever more complex mechanical systems, policies, and infrastructure to "govern" the problem. It seems like that's throwing gasoline on the fire. Not only that, it seems fundamentally opposed to the reality that is business, which is essentially a human enterprise based on humans interacting with other humans, usually trying to convince other humans to give them money instead of giving it to some other humans that want their money.

Because humans are intelligent and adaptable, particularly humans driven by, dare I say, greed (or at least self-preservation), these humans are constantly tweaking how they convince other humans to give them money. The point is, business is fundamentally a human and an aggressively biological, enterprise. It consists of humans who are constantly on the lookout to fill new niches and aggressively defending their territories. So it seems to me that business software should be modeled, at a fundamental level, on this paradigm rather than on the mechanical paradigm.

Of course, the problem is that the materials we're working with are not exactly conducive to that, but therein lies the challenge. I tend to think that the efforts and direction being made by the agile community and approaches like domain-driven design are headed in the right direction. At least they're focusing on the human aspects of software development and focusing in on the core business domains. That's the right perspective to take.

Extend that to IT governance, and that means giving various IT departments within an enterprise the freedom to function in the best way that meets the needs of their local business units rather than trying to establish a monolithic, central architecture that attempts to handle all needs (think local government versus federal government). It means developing with a focus on correction rather than anticipation, building leaner so that when change is needed, it is less costly (in a retrospective sense as well as in total cost of ownership).

I'm not advocating giving ourselves over to the chaos; I'm just thinking that this is a better way to manage the chaos. And as we learn the best patterns to manage complexity in this way, it seems not too far a stretch to think that we could start automating mechanisms that help software systems be ever more agile and ultimately even anticipate the change that is needed by the business, either automatically making the adjustments needed or at the very least suggesting them. That would be true business intelligence in software.

Maybe it's a pipe dream, but I think that without such dreams, we don't improve. At the very least, I think it suggests that the agile approach to software is the right one, and that this approach should be extended and improved, not only in software development but also in architecture and IT in general.

"How many kids do they have??" asked the bemused co-worker upon hearing that someone is having a fifth child. I am similarly bemused why so many people seem to feel negatively towards those with large families. I guess that people may not really think about it or, if they do, maybe they really don't know why anyone living in the 21st century would want to have more than the popularly accepted family size of two, maybe three. The best I can do is offer why my wife and I are choosing to have a large family.

You see, I did not grow up in a large family. I have one brother and for most of my childhood, my mom was single. Nor did any of my immediate family or even my friends have large families; I think the largest family had three kids. I recall it as being a mostly happy childhood--I'm not complaining. I only mention it to say I did not inherit or learn by example how or why to have a large family; it didn't come naturally.

For my wife, Christiane, and I, it wasn't a decision to say "we want N number of kids" at some point or other. Early on in our engagement, we did toss around the idea of four. Christiane grew up in a family of six (that's four kids for those counting), my mom has three siblings, and so it seemed like a good number somewhere between two and some unthinkable number beyond four. :)

But as we progressed in our philosophical and spiritual journey, we became convinced that setting some artificial limit up front just didn't make sense. Yes, we became Catholic in this time period, and yes, Catholicism has a rather radical teaching on this matter. The essence of the Catholic perspective on children is that they are a blessing, a gift from God, and that we should remain truly open to these wonderful gifts.

Despite some Catholic caricatures, this does not equate to being irresponsible and just having as many children as you possibly can. For example, the most recent authoritative Catholic teaching on the subject, Humanae Vitae, specifically speaks to the issue of responsible parenthood, saying that couples can decide to avoid conceiving "for serious reasons and with due respect to moral precepts."1 And in doing so, we're supposed to use the most effective, safe, mutually respectful, character-building, and morally commendable means when doing so--abstinence during fertility.2

There's obviously no one-size-fits-all family size. Some couples are infertile. Some couples find the wherewithal to have a dozen or more children, even while relying on remarkably limited income. In considering the question of how many children to have, there are a number of common concerns that need to be addressed. Since this is a short piece, I can only touch on some of them, particularly those that seem to be the most common, and offer some positive reasons to have children.

What Do We Value?For us, the question is not so much how many kids we should have. I think the question is rather what do we really value in life? Some time ago, Saturday Night Live had this series of crazy fake commercial where this couple were blatant cheapskates when it came to their children but would lavish luxury on themselves, advertising a fictitious online store for such parents--cheapkids.net. It was ludicrous, but it is poignant. I think this caricature speaks to those who, by their choice, remain infertile and yet enjoy a lavish or even just a very comfortable life as a married couple. This satire portrayed a couple who at least had kids, even if they were cheap with them, but it seems to me that those who refuse children or limit them artificially and frivolously might want to ask themselves if they are denying life to potential human beings in order to live in relative luxury. Are those things more valuable than human life?

Of course, I do not speak here of those who live in poverty or who truly would endanger the lives of their family by having more children. I speak here of those who, like me, live in relative luxury compared to most of the humans in this world. People who are not hardened have their guts wrenched by the poverty of many in this world (and rightly so), but there is another kind of poverty that goes unnoticed--the poverty of life, the poverty of being denied even the opportunity to exist solely so that another can live in ease and comfort.4

From this consideration, it seems that the original perspective (of bemusement or even distaste or disgust at having many children) should be turned on its head. The question becomes, instead, how can so many otherwise nice, well-meaning people deny so many more the chance to exist? Perhaps folks should not respond with puzzlement or condescension to those who remain open to life but rather respond with admiration and respect. We all know that kids, though they are indeed the most amazing and wonderful blessings we can naturally receive, are a handful to say the least, and so I think people should be a tad more reticent when criticizing those who have many.

Why Limit Family Size?Are there good reasons for regulating birth? Obviously. Even beyond the grave economic reasons, I think there are others. Perhaps there is real psychological concern for the mother or father. Perhaps there is a physical or mental condition that a parent or child has that would make further growth of the family unwise. Perhaps there is a real threat to the mother's health. I'm not writing to address every conceivable circumstance; I'm writing to address popular notions concerning children that my wife and I have had to think about (and are often confronted with) in our own working out of how we live out what it means to be responsible parents wanting to live in the best way possible, trying to have the most perfect family we can.

Before moving on considering the common reasons given to limit family size, it is worth noting that the decision to have children should flow from a lifelong commitment.5 Just like there are not so good reasons to limit family size, there are not so good reasons to have children. Having babies seems to be a pastime for celebrities these days. It should be obvious that getting more attention/publicity, trying to save a marriage, keeping up with the Joneses, extending the family tree, etc. are not so great reasons. Children are human beings, having the full dignity of human beings, to be treated and loved as such; they are not accessories, trophies, or any other means to an end--they are end in themselves, and we should be just as careful about our motivations for having them as we are in our motivations for not having them.

EducationThe most common concerns we hear are monetary, the top being about the rising cost of sending kids to college. I, for one, did not get a dime from my mom to send me to college--she didn't have it to give. I made good enough grades in school and fared well on the ACT, getting a decent scholarship to a private school, and then worked for and borrowed the rest. I have known many others, many of them my friends, who have similar stories.

We all want the best for our children, but is the "best" sending them to a good college? I think that a good, liberal arts education is deeply valuable in itself. I have a degree in history and humanities, but I worked my way into software. I am glad of my education even though its credentials don't mean a lot in my occupation; I value it more highly than had I spent the same effort on a technical degree.

But a degree, even from a good university, only goes so far in life. Ultimately, it comes down to an individual applying himself or herself with the talents and desires he or she has. You can teach a child a good work ethic for free at home that will do more for them in the long run than any degree would. And I'd suggest you can teach such an ethic more easily in large families where mutual help from all members is a necessity.

You can teach a child to be a lifelong student, to enjoy learning and to think critically, for free at home, and that, too, goes further than any degree. You can teach a child values of honesty, integrity, commitment, kindness, charity, compassion, and other virtues for free at home that simply are not taught at university, and these as well far exceed the long-term value of any degree. And I'm not talking about home schooling; I'm simply talking about setting an example, teaching, and encouraging your children in addition to any regular, formal schooling.

I'm certainly not opposed to college or formal education in general, but its value has been way overemphasized in our culture. The purveyors of formal education have much to gain from this, as do lenders and investment companies who help you invest to save for your child's education. I think we need to be careful not to be blinded to the economic realities involved in all of the marketing about education and simply recognize formal education for the value it does have. It shouldn't be the ultimate deciding factor and choice in parenting.6

There are affordable alternatives for higher education, and if it is important to the child, he or she can make an effort to realize such goals. Furthermore, I have no doubt that a large majority of parents who at some point use this reasoning actually end up not saving or investing properly or find themselves in a situation later where the investment was truly needed for other reasons. In short, I tend to think that a vague concern about "sending my kid to a good school" is not a viable reason to limit family size.

ExpenseApart from higher education, there seems to be a general consensus that children "are expensive." I'd like to suggest an alternative to this maxim. Children can be expensive. Just as with higher education, you can choose to spend more money than you need to on each child, but it is a choice, not a given. And it is on this point, more than any other, that we see the rubber meet the road in terms of a challenge of values.

If we are given over to our contemporary culture, children are indeed expensive. If each child needs his or her own expansive room, if each child needs new, brand-name clothes on a monthly basis, if each child needs more toys than he or she could possibly enjoy, if each child needs his or her own car, then yeah, they can be very expensive. But lets not stop with the kids. If mom and dad need a brand-new car every few years; if they have to have new clothes every month, new jewelry, new perfume, new golf clubs, new computer, Playstation, or Xbox games, if they need to go to plays or other high-culture events regularly, and if the family has to eat out every day, then definitely, a large family is "too expensive."

Put simply, if one is a purebred consumer, yeah, a large family costs too much. Doesn't it speak volumes that our primary concern and objection about large families is economical? Doesn't it drive to the very heart of the matter if that is the chief concern? Ultimately, doesn't it say that we truly do value things, comfort, and luxury more than we value people? In short, doesn't it imply that we're just plain selfish?

What's truly sad about this is that we are deceiving ourselves. I can attest from experience that all of these things don't really last--the return on investment just isn't there. In fact, all these things actually "increase our sorrow" because they increase our worries and consume our mental and physical energies (in working for, acquiring, securing, insuring, storing, moving, caring for, and maintaining them). Not only do we tend to get bored with new things; they tend to have a net negative effect on our lives that we've become blind to. No, we're not really blind--we recognize the deficit they produce, but like a dog returning to its vomit, we try to ladle on the salve of more things, which only exacerbates the problem. We're blind to the remedy; we're not blind to the effects of the problem.

The Common GoodThere is another common concern that is not economical (at least on the individual scale), and it seems to be less pronounced these days than it was for the previous generation--that of the concern about overpopulation. For Christiane and I, this has always seemed to be more of an excuse than a reason. It seems that an uncertain, future concern about one day overpopulating the world is not a compelling reason to overcome the more sure, immediate positive reasons to have children. Even so, it is a common enough concern to warrant addressing.

A good deacon friend of mine put it another way that gives this concern a bit more weight. If everybody in the world decided to have ten children, what would that mean for the common good? He suggested that we may just be lacking in imagination to think how we'd address such a situation, and maybe so--we humans tend to get pretty inventive when we need to. No doubt we'd figure something out. But I have to say I am not suggesting that everyone have ten children. I don't think that would be responsible for many, perhaps most of us. Being truly and actually open to children does not necessarily equate to having ten.

On the other hand, I tend to think the larger problem, as it is with most of these life issues, is our generally selfish culture. We're so busy looking out for number one that we accumulate for ourselves far more than we need in order to have a good and happy life. I'm not advocating socialism or any kind of enforced equal distribution of goods; I am advocating charity as a core cultural value. If we, the human race, shared this core cultural value, I tend to think that concern about overpopulation would be a moot point. And in any case, it remains that it seems to be a rather vague, unsubstantiated reason to limit family size.

The Gift That Keeps On GivingIt seems to me that people, especially children, are truly a gift that keeps on giving. If we lavish our care on them, they tend to give back in equal, if not greater, measure. That's the funny thing about authentic love. It's like investing in a sure thing--you give and you'll get back, well-measured, shaken and packed down, and running over. It may not even be the recipient giving back. That's another odd thing about authentic love; it tends to be its own reward--there is joy in the act of loving itself.

We often think that children are just a big hassle. In Stumbling on Happiness, the author suggests, based on subjective surveys, that children do not in fact make us happy, that it is, rather, a big, consensual lie that we tell each other. It is claimed that the people interviewed said they were happier after their children grew up and out of the house than they were when they were in the house. Despite the author's disclaimers, I think this really takes a shallow view of happiness and does not account for the deeper happiness that is satisfaction, which results from seeing effort come to fruition. These parents experience, naturally, a certain happiness and lessening of difficulty at having reclaimed time for themselves once children are out of the house, but they also share in the abiding joy of having their children "all growed up"--their investment, as it were, has come to completeness.

The survey also does not, I think, account for the consideration that perception is a large part of reality. Because our culture sells us a bill of superficial bull about what makes us happy (i.e., things, comfort, entertainment, and luxury), our perception is deeply skewed and we see children as detracting from our attainment of these things (taking us back the the monetary objections discussed above).

Indeed, it makes perfect sense, and I've seen it in my own life, that when my children cause me the most "trouble" and frustration is when I am turned in on myself (being selfish in some way). They are taking me away from what I want to do or they prevent me from getting something I want, so I perceive them as a nuisance. Usually, though, when I am in the right frame of mind, I see their activity for what it is--exploring the world, learning to function according to all life's little rules, or maybe simply just wanting to spend time with you because they are infatuated with you. This latter dies away as they age I suppose, but wouldn't you agree, if you're being honest with yourself, that a large bit of the friction between parents and kids comes in the first two?

The point is that it is generally those times that we are most frustrated that we are being the most selfish. In other words, it is not that the kids are the problem--we selfish parents are the problem. If we change our perspective (which takes practice, I can promise--I'm still working on it), and learn to not fight for our selfish impulses against our children but instead indulge in authentic love (self-giving) towards them, we will find one of the greatest joys in life--shared, familial love.

Once Christiane and I recognized this, it seemed almost a no-brainer that we'd want to increase this joy as much as we can. We saw that instead of thinking how few children can we have, we think how many children can we responsibly have? This way of thinking is, we think, the best not only for us but especially for our family as a whole.

When we are considering when to have our next child, we do try to be responsible. We think about how this new person will fit in our home both logistically and socially, and we consider the psychological impact on the other members of the family. In the end, we try our best to err on the side of openness and only choose to delay for what seem to be good, unselfish reasons. We're not perfect by any means, but this seems to us to be a big step on the the path toward a more perfect family life.7

-- Given on the Feast of the Holy Family in the Year of Our Lord 2007

Notes1. At this point, my darling 1-year-old, Brendan Patrick Irenaeus, toddled over to me with one of my house shoes. Thanks, Brendan! My feet are freezing... now where's the other one? 2. Without digressing too much, let me briefly touch on this subject which is so awesomely opposed to our popular culture these days. My wife and I practice what is called Natural Family Planning (NFP). You can read about all the details elsewhere; let me just add my own personal testimony.3 For a brief time early in our marriage, we did use artificial birth control, but for the vast majority of our 8.5 years together, we've practiced NFP. I can honestly say that you don't die by not doing it; you can be just as happy and fulfilled. (And trust me, this is coming from a very red-blooded, American male, if you get my drift.)

Based on our experience, I do feel that mutual abstinence does indeed build character, build mutual self respect for each other, increase understanding of the way God's made us, increase affection for each other, and help you appreciate even more the times when you don't abstain. Plus, not using artificial birth control (or rather, being truly and actually, not just hypothetically, open to the creation of life) does enhance our relationship and our intimate time together. In short, we find the practice of natural family planning to be a significant positive influence on our marriage. And it does work! 3. Now John, my three-year-old son, is yanking at my arm and climbing on me (took a while to type this); ah, tickling is a good deterrent.. now the other two are attacking.. :) Bridget, my six-year-old daughter, is dancing around and tweetling (best onomatopoeia I could come up with for it). 4. This touches, of course, on the sensitive topic of abortion (and indeed the desire to have few to no children is directly related to abortion), but that's not the focus here. Here I'm speaking in a more generous sense of even those who would otherwise never consider abortion, and yet make the regular, conscious choice to refuse the potential life of another human being for less than serious reasons. 5. This comes from the understanding of the true good and beauty of marriage discussed in "On the Good and 'Right' of Marriage." See particularly the section entitled "The True Good." 6. Besides, we've all seen and heard stories of parents' painstaking planning being tossed to the wind by children who have other plans for their lives. There's no guarantee that even those who save and have money for their children's education will see that money go to good use. 7. And thus we see that the teaching of the Catholic Church (as is actually true of all Catholic doctrine when you truly understand it in all its beauty and truth) is a positive prescription on how to live the good life to its fullest, that is, how to have abundant life. And I have to admit, we've inherited this from our Jewish siblings. Scripture, especially the Psalms, regularly laud the blessing that children are, and it is not talking about them being a help on the farm, i.e., large families are not only good in agricultural societies!

I've been getting friendly with Windows Live lately, and after getting terribly tired of having to switch to HTML view in Windows Live Writer in order to insert a note (could be a footnote or endnote depending on how you look at it), I decided to see if I could write a plug-in to make my life easier.

So was born the Blog Notes plug-in. Unfortunately, there is no extensibility for just marking up existing text (e.g., adding a superscript button to the markup toolbar), so I had to go with the option to insert some HTML using the interface. I really was trying to keep it simple and lightweight (for my own sanity), so it is pretty basic.

The functionality is pretty straightforward. Thanks to Mark James for the free icons. Once the plug-in is installed, you should see an "Insert Blog Notes..." option in the Insert pane on the right side as shown below.

Clicking on it brings up the Blog Notes dialog:

Clicking "New Note" will insert a new superscript number (the next one in the sequence).

Clicking "Reference Note" will insert the selected number as superscript. You can also just double-click the number to do that.

As you can see, it's pretty basic, but it saves a few seconds for each note (assuming you bother to switch to HTML view, find the number, and put <sup></sup> tags around it like I do [did]). You can also tweak one option/setting. Go to Tools -> Options, and select the Plug-ins tab:

Clicking Options... on the Blog Notes plug-in brings up a tres simple dialog:

This one option will toggle whether or not the plug-in uses in-page anchor links for the notes so that the superscript numbers would link down to the corresponding note in the Notes section. I originally added this feature without realizing the implications. Because blog posts are often aggregated and otherwise viewed in unexpected places, using in-page anchors is iffy at best. Community Server seems to strip them out, and dasBlog keeps them, but since it emits a <base /> tag to the site root, all of the anchor links are relative to the site homepage instead of the current post, which effectively renders them useless. I looked at the dasBlog code where this happens, and it's in the core assembly. I was concerned what side effects changing it to use the current URL would have, so I didn't do that. But if you have blog software that will let you use this feature, by all means, enjoy!

Caveats

Because of the way the plug-in framework works, I use a static/shared collection to keep track of the notes. This means it acts a tad goofy if you close out of Live Writer or write multiple posts while it is open. If you close and come back to a post, the notes count is reset. To "fix" this, just re-add however many notes you had (if you want to bother). If you write multiple posts, you just have to deal with it. I don't know if there is post-local storage for plug-ins, but I didn't have time to dig into it.

Your mileage may vary. I wrote this mainly to save myself time and get familiar with the Live Writer extensibility model, so it ain't a finished product to be sure.

Get It! Since there are numerous tutorials on the Web (that I learned from) to write Live Writer plug-ins, I won't go into those details here, but you're welcome to download my code and learn from it directly if you want. I think I have comments and such in there.

Download the Plug-in Only - If you just want to use this plug-in, this is what you want. Drop the DLL into your plug-ins directory and go (typically C:\Program Files\Windows Live\Writer\Plugins).

Download the Source Code - This is a VS 2008 solution for those who want to learn, enhance, extend, whatever. The license is more or less the MIT license. You'll need Live Writer installed to reference its API.

Notes1. This is the "Notes Section." The button adds the "Notes" header and writes out any existing note numbers.

Today marks the 791st anniversary of the official establishment of the Dominican Order. It's so cool to be a part of this ancient order, being fraternally connected to the many Dominican saints, blesseds, and regular folk like me.

Happy Birthday, Order of Preachers! May you have thousands more!

Of course, just being a member of the Catholic Church, the "one continuous intelligent institution that has been thinking about thinking for two thousand years,"1 is pretty dang cool, too. :)

Far be it from me to put words in Phil's mouth, but I hope that folks recognize that his post about favoring composition over inheritance is not specifically about that one best practice (the comments seem to indicate this is being missed). It's pretty clear to me that the thrust of that post is around a philosophical approach that he thinks the ALT.NET community should make.

Two things stand out from Phil's post in this respect: 1) don't appeal to authority, and 2) don't organize yourself around a set of technical principles (best practices), but rather organize yourself around the non-technical values of independent thinking and desire to improve. I hope that everyone can agree that these latter two values are good ones that should indeed be encouraged.

That said, should a community like ALT.NET eschew forming a more formal consensus on technical best practices? I tend to think not. While independent, critical thinking is valuable, it is not the summit of perfection. The summit of perfection, in the realm of ideas at least, is conformance with truth (what actually is versus what I think is), and independent thinking at odds with what is true is not only not valuable in itself, it can be downright detrimental.

For instance, what if you independently and critically think that security and privacy are not important aspects of the online banking application you are tasked with building? Is that kind of independent, critical thinking valuable in itself? Or will it potentially lead to great harm? Independent, critical thinking is valuable only in as much as it deepens one's understanding of and conformance to truth.

So I think that there is value in a community such as ALT.NET expending the effort to define principles through critical thinking and argumentation that it will hold up as ideals, i.e., things that seemed to be most in accord with the truth as we know it. This is where things like patterns and best practices come into play; it is the shared, accumulated wisdom of the technical community.

Now what about the broader idea of eschewing appealing to authority? Far be it from me to claim to be an authority in logic, but it seems to me that all appeals to authority are not invalid (the wikipedia article Phil links to discusses this to some degree but does not go far enough, in my estimation). The valid reasons for appealing to authority are discussed at the bottom of that article: 1) not enough time and 2) concern at one's ability to make the other understand the reasoning underlying the truth being expressed.

In terms of logic, it is not a fallacy to appeal to an authority on a topic that is accepted by all those involved in an argument. We're talking about presuppositions here, and without them, we'd never get anywhere in our search for truth. If you always have to argue from first principles (if you even acknowledge those), you simply get stuck in a quagmire. In terms of the topic at hand, if folks accept (as they generally do) that the GoF et al are authorities on the subject of OOD, then it is valid, logically speaking, to appeal to their authority to establish the principle that you should favor composition over inheritance.

The thing to watch out for in appeals to authority is 1) thinking that the authority is incapable of being wrong and 2) ensuring that the parties involved accept the authority. With the latter, you simply cannot argue (or at least the argument won't carry weight) from authority if the authority is not accepted. With the former, unless it is a presupposition shared by those involved that the authority is indeed infallible, you should keep in mind that even if you buy into the authority's credentials, it is still possible that the authority can be wrong.

So I would nuance what Phil says and say that if the ALT.NET community agrees that GoF is an authority, it is valid to appeal to them, while remaining open to criticism of the concepts involved (even those backed by an authority). The authority adds logical weight; it does not impose absolute authority.

We just don't have time to argue everything from first principles. Others who are generally acknowledged to be qualified have already taken the time to research, think about, and propose some good patterns and practices, and unless there is good reason to object, there is no need to rehash those. Instead, I'd suggest that the community focus on spreading knowledge of these patterns and practices all the while refining them, functioning essentially as a group in the way that Phil recommends individuals function--thinking critically and always working to improve. Doing this will help ensure that the community does not fall into a quagmire of unnecessary argumentation, and it will ensure that the patterns and practices that they agree upon can be continuously refined and enhanced as new technologies emerge and greater wisdom is gained over time.

Further, it gives the group a purpose that has meaning. After all, if the group's message is only "think for yourself and be all that you can be," there isn't much of substance to say after that. On the other hand, because it is a technical community that espouses that philosophy, it should take that philosophy on itself (as a group, not just the individuals in it). I would suggest this includes establishing greater consensus on best practices and patterns and then spreading the word about them to others. Be better together. :)

You see, it is not about setting down an infallible manifesto and excluding those who disagree, which is I think more than anything what Phil is concerned about. However, it also isn't about best practices just being true for you but not for me (best practices relativism?). Put another way, I suggest ALT.NET should favor thoughtful adherence to best patterns and practices, not blind adherence.

As I read1 the works of Christopher Alexander, I grew increasingly concerned that the software industry may be missing the point of patterns. Well, maybe that's not the right way to put it. I think we may be missing the real value that patterns bring to the table.

For whatever reason, it seems we approach them (broadly speaking) almost as loose algorithms to be applied here and there as it seems fit. Or maybe we just see them as convenient ways to talk about things we already know, or maybe we even use them to learn particular solutions to particular problems. And then maybe we just use them because it is en vogue.

It seems to me that the real value to derive from patterns (as an idea, not necessarily as they are often proposed in the software world) is in learning to see and think about creating software in the best way. What Alexander proposes at the end of The Timeless Way is that it isn't using patterns or pattern languages, per se, that give our creations the quality without a name. No, he proposes that the value lies in helping us to recognize the quality and teaching us to build in the timeless way.

The timeless way is more than patterns. The thing is, patterns help us to get there. I think in some ways, we do get it. Those who are really into patterns do seem to recognize that patterns are not the solution to everything. The problem is, I think, in that we are not using patterns in the most profitable way.

I think part of the problem is in not using patterns as a language. We have numerous catalogues of patterns. To be sure, we do not lack for patterns, and sure, there is obviously value just in having these catalogues and in using the patterns here and there. But I think that as long as we see patterns as individual things in a pattern catalogue, we won't use them to their full effectiveness.

Perhaps what we need to do is to figure out how to use them as a language. Perhaps we need to weave them into our thoughts so that when we approach the problem of building software, patterns are there, guiding our thinking, helping us to best arrange a solution to fit the problem. When we use our natural language, it does the same thing. Our thoughts are constrained by our languages, but at the same time, our thoughts are guided by our languages. The ideas form in our heads and rapidly coalesce into some structure that is based upon our language, and the structure works because of the language--it tells us what works and what doesn't work to articulate our ideas.

I think that a pattern language would have the same power. If we get the patterns into our heads, then when we're faced with articulating a solution to a problem, we will think in terms of the patterns. The patterns will give form to our solution, and because they are patterns, the solution will work. The pattern language will both guide and shape our thinking towards things solutions that have the quality without a name.

But then, as Alexander says of "the kernel," once we master the language, we move beyond it, so to speak. The language is not an end in itself but a means to an end, a means to learn the timeless way. It shapes our thinking to the extent that we are able to perceive the way even without a pattern. And this is the superlative value in patterns that I think we're missing.

Patterns, in themselves, have value, but as many have noted, they can be abused and misapplied. The reason for this is not that a pattern (or patterns in general) are bad but that we're using them as an end in themselves. If we simply let patterns shape the way we think about designing software, if we let them become a language, then we will learn to use them in ways that make sense and ultimately go beyond them and build great software even where a pattern doesn't exist.

So how do we do this? Well, I think to some extent, we already do it. I think there are people who use the language, who know the way, without necessarily being conscious of it. And I think that there is a lot of great guidance out there that in a roundabout way does lead to building great software, even though it may not be conscious it is using patterns as a language. But I do tend to think that there is far more bad or failed software out there that has come about because the language is not known, it is not explicit.

I think that what we need to do is to continue identifying patterns as best we can, but we need to start thinking about how to more firmly incorporate them into how we create software. In fact, I think doing this, attempting to incorporate patterns more into development, will drive the further identification of patterns, to fill out patterns where we are lacking. I also think it will help us to realize how patterns relate to each other, which is a big part of using them as a language and not just a bunch of monads floating about in the ether. As we see them relating, see how they work together to form complete solutions, we'll better understand the language as well as the value of the language, and ultimately, we'll be able to impart that language to enable more of us to speak it.

This calls for those who build great software, who theoretically already know the way, to be introspective and retrospective. It's not just a matter of looking about in the software world for repeated, similar solutions. It's about identifying good solutions, solutions that bring software to life, not just addressing functional requirements, and forming from those solutions a language of patterns for building such software. What do you think?

In my last post, a co-worker of mine commented on my saying "they may as well be Protestants." It didn't occur to me at the time how this might be interpreted by, of course, Protestants. The point, in that context, was directed at those who think themselves to be "true Catholics" (those traditionalists who, above all, would not want to be identified as Protestants) but who end up being, by their protestations of the last ecumenical council, the Second Vatican Council, end up becoming Protestants themselves.

You see (I've thought about this a fair bit, being a convert from Protestantism), I think the thing that truly separates a Protestant from a Catholic is a basic mindset, the mindset that sets itself up as the final arbiter and authority on truth. In other words, it is a manifestation of the original sin of pride based on the original temptation for us to "be like God who knows what is good and what is bad," (Gen 3:5) that is, what is true and false. Such a mindset, even if well-intentioned, is at the heart of all Protestation of God's authority, from Lucifer to Eve to Adam to us. Of course, it is for God alone to judge our hearts, to impute, and to forgive our guilt, and he is a just and merciful judge.1

This post is a kind of expansion on how this mindset relates to being a part of the Church. I have no delusions that these musings will "convert" anyone. Just take them as my own personal reflections for what they're worth. They revolve around my meditations on one of the mysteries of the rosary. It's written to Christians, so I am writing from those presuppositions.

Introit

Weaving a crown out of thorns, they placed it on his head, and a reed in his right hand. And kneeling before him, they mocked him, saying, 'Hail, King of the Jews!' -- Matthew 27:29

The third sorrowful mystery is the crowning with thorns. Lately while meditating on this mystery, I keep having the idea of the Church (the invisible, spiritual body of all Christians) in my mind. The Church is a wonderful thing; it is sometimes called the body, sometimes the bride, of Christ. It is a thing that honors and proclaims the majesty and dominion of Christ, the King of the universe. In that way, it is a crown, which is a symbol, a proclamation of regal authority and power.

But I think it is a fractured crown, broken into many pieces, divided asunder by the arrogance and pride of many. There is the Great Schism that has divided the eastern church from the west, and of course there is Protestantism and its many divisions. But even before that, since the beginning (as attested to by the letters of St. Paul), there have been those who sow discord and cause division--even those who think they are doing the right thing and truly think they are following God's will.

So I see this fractured crown that we call the Church, a thing that despite itself is indeed a herald of Jesus' Kingship. I see Jesus the King, bloodied, beaten, and scourged, being crowned, but instead of the crown being the thing of beauty and awe that it should be, it is this broken thing, disjointed, full of jagged edges and being driven down onto the head of the King of the universe, the splinters biting deep into His skin, tearing it, and scratching against His skull.

Rather than being an occasion for joy, the crowning is an occasion for sorrow because what should be whole, smooth, unified, and undivided, is instead shattered, jagged, split, and divided. This is the image of the Church today--the crown of thorns. It is still a messenger of Jesus' kingship, but it is not the thing of beauty and awe it should be.

Jesus prayed four times to the Father (in St. John's Gospel, chapter 17) that we (the Church, Christians) would be one. But through our arrogance and pride, we have utterly failed in this, from the earliest of times. It seems clear, based on just this prayer alone, that unity in the Church is of supreme importance to God, and it is a perfect unity--the same unity that exists between the Father and the Son--that God desires for us.

Jesus said "that they may be one as we are one" and prayed that we "may be brought to perfection as one," so we see that it is not a superficial unity or a unity only in "essentials" (a common term by ecumenists who try to glaze over real and important differences). There is NO division in God, and this is what God wants for the Church.

Similarly, when Jesus founded the Church upon St. Peter, he promised that the gates of hell would not prevail against it. Here, a few interesting things stick out to me. First, Jesus specifically grounds the Church he is founding as something on earth. He gives the keys of heaven to Peter, saying that what he binds and looses on earth will be bound and loosed in heaven. It seems to me this is a foundation of a visible (earthly) Church that Peter would lead with real binding power both here on earth and in heaven.

The Church is indeed the mystical body of Christ, but it is also an earthly body. Like us, you could say, it has a body and a soul, but the two are fundamentally one thing. When Jesus founded the Church, he established an earthly (bodily) existence with Peter at its governor, giving him the power to bind and loose, as well as a heavenly (spiritual) existence, also governed by Peter.

Jesus, at this institution of our mutually earthy and heavenly Church, promised that the gates of hell would not prevail against it. In other words, the powers of hell, the domain of Satan and the fallen angels, are going to try to prevail, but they won't. The Church will be under assault, but it will remain forever, and being a unity of body and soul (earthly and heavenly, visible and invisible), this means that the Church will stand firm on both earth and heaven under the delegated governance of Peter and that the visible Church (as well as the invisible) is inextricably and directly linked with the headship of Peter.

Since St. Peter was not to live here on earth for eternity, yet we see from the Word of God that the Church remains forever on earth and in heaven under Peter, it follows that God intended for this headship, on earth, to pass to St. Peter's successors, whom we know as bishops of Rome, popes. Thus the visible, earthly body of the Church is that Church which is under the headship of Peter and his successors, what we know today as the Roman Catholic Church.

Now we return to the prayer of Jesus. If it is God's will (as it is clearly revealed in St. John's Gospel) that we believers be perfectly unified (absolutely no division in body or soul), and it is God's will (as seen in St. Matthew's Gospel) that there be a perpetual Church under Peter on both heaven and earth, it follows that this perfect unity is to come about in that Church and no other. It follows that we are to place ourselves under that headship, subordinating our personal druthers, opinions, and reasoning to the leadership that Christ established and endeavor to eliminate anything in us that damages that perfect unity that Christ so strongly desires.

Doing this is not only an act of obedience to the King of the universe, it is an act of love. Seeing how strongly Jesus desires that we be truly one, we should desire, if we truly love God, to fulfill his desire. Just as a lover infatuated with his love has no other desire but to please his beloved, so we should desire to please God. We should be that perfect, shining, unified crown upon the head of Christ the King.

We should also, therefore, be ashamed, truly sorry, and saddened, however, that we are instead a crown of thorns. As long as we selfishly and proudly put our own opinions, desires, and reasonings ahead of our love for Christ, our fulfillment of his desire that we be one, we will remain this crown of thorns. It is for this reason, in part, that I have joined myself to the Church of Christ under Peter's headship. It is not blind faith; it is wide-eyed, ferocious love for Christ that compels me to do so. Protesting against this Church, creating division upon division against it, is not only injurious to those souls who are driven from Christ by our divisions, it is an injury to God himself. How long will we remain this crown of thorns?

-- Given on the Feast of the Immaculate Conception in the Year of Our Lord 2007

Notes1. Update: In other words, I'm sure there are plenty, probably most, who do not even recognize or intend this, but it seems to me that it is at the heart of the protestant approach to the faith, even if wholly unconscious. I tend to think that God will have mercy on those who are not aware of it (inculpably ignorant), and in any case, I don't make such judgments on individuals myself! (cf. St. Matthew's Gospel 7:1ff.)

This is an open appeal to anyone interested in having the traditional Latin mass in the Princeton, NJ area. The traditional Latin mass (TLM) is also known as the mass of Blessed John XXIII, the (now) extraordinary form of the Latin Rite, the Missale Romanum of 1962, Tridentine mass, and more. With the publication of Summorum Pontificum(I know; I'm a bit late), I'd like to get in touch with anyone in the area who feels attached or maybe just is interested, priest, lay, religious, old, young, student, professional, whatever. My hope is that there will be enough interest in the area to organize time at least once a week where the extraordinary form could be celebrated.

When I was living in Tulsa, OK, I had the blessing of an FSSP parish. In fact, the pastor was Fr. George Gabet, who went on to become the North American District Superior of the FSSP. Although my family decided to return to Holy Family Cathedral while we were still in Tulsa, I've never lost my appreciation for the TLM. It can have a certain beauty and mystery that seems to not be as common in the ordinary form in the vernacular. Especially the high mass with the chant, the asperges, the incense, the vestments, the silence, the celebration ad orientem, and (to a small degree) the Latin itself have a quality that is transcendent and mysterious that you just don't get normally.

Now, unfortunately, there are those who use the extraordinary form as an opportunity to promote dissension and disunity, some to the point that they may as well be Protestants (in the plain sense). Despite my appreciation for the older form of the mass, I am not one of those nor do I wish to encourage that by petitioning for the Latin mass in my area. I am one of those "young persons too [who] have discovered this liturgical form, felt its attraction and found in it a form of encounter with the Mystery of the Most Holy Eucharist particularly suited to them." I, with the Holy Father Benedict, hope that "the two Forms of the usage of the Roman Rite can be mutually enriching."1

If you're interested or know of one in the area, please drop me a line; you can use the contact feature on the right or comment on this entry. Pax vobiscum!

I'm so pumped! I just got my SQL Toolbelt mug from Red Gate. I proudly display it on my desk (below) and in meetings. :)

The mug reads (this is awesome): "You may look at my Red Gate mug. You may not borrow it." Like the mug, Red Gate's software is awesome, too. I've used SQL Compare and SQL Data Compare for a long time, and I love the (relatively new) SQL Prompt. They have a ton of other tools in their toolbelt targeted more at DBA types than devs/architects like me. I highly recommend them if you do much SQL development or administration!