2008-02-29

UsWare vs. ThemWare

No comments required. From Coding Horror:

Ted Dennison left this astute comment in response to Do Not Listen to Your Users:

Generally when I go talk to users, it is to educate myself enough to become a user like them. Then I can see what needs doing, what needs streamlining, reorganizing, rearranging, etc.

This brought to mind Eric Sink's claim that there are three categories of software:

  1. MeWare
    The developer creates software. The developer uses it. Nobody else does.
  2. ThemWare
    The developer creates software. Other people use it. The developer does not.
  3. UsWare
    The developer creates software. Other people use it. The developer uses it too.

ThemWare is how most software gets developed, with predictably disastrous results:

If I am building software that I don't use and don't know how to use for people I don't understand or even like, how good is my software going to be?

I probably see every feature in terms of how difficult it will be to implement, rather than how valuable it will be for my users. I probably find myself wanting to label or document the features using my jargon instead of theirs. I probably create features that are tedious or unintuitive for my users. I can't imagine why the user interface I designed doesn't make sense to them.

I've found that much of the best software is the best because the programmers are the users, too. It is UsWare.

It behooves software developers to understand users, to walk a mile in their shoes. If we can bridge the gap between users and ourselves-- even if only a little-- we start slowly converting our mediocre ThemWare into vastly superior UsWare. To really care about the software you're writing, you have to become a user, at least in spirit.

Consuming the software you're creating is colloquially known as dogfooding in programming circles. Unless you're (un)lucky enough to be writing software intended for other software developers, dogfooding can be a challenge. But it's worth it. Dogfooding keeps software developers honest. Why work against your users by producing ThemWare when you could work alongside them to build UsWare?

Hermann Goering on "good government"

Sobering. Via 1-800-MAGIC:

"Why, of course, the people don't want war," Goering shrugged. "Why would some poor slob on a farm want to risk his life in a war when the best that he can get out of it is to come back to his farm in one piece. Naturally, the common people don't want war; neither in Russia nor in England nor in America, nor for that matter in Germany. That is understood. But, after all, it is the leaders of the country who determine the policy and it is always a simple matter to drag the people along, whether it is a democracy or a fascist dictatorship or a Parliament or a Communist dictatorship."

"There is one difference," I pointed out. "In a democracy the people have some say in the matter through their elected representatives, and in the United States only Congress can declare wars."

"Oh, that is all well and good, but, voice or no voice, the people can always be brought to the bidding of the leaders. That is easy. All you have to do is tell them they are being attacked and denounce the pacifists for lack of patriotism and exposing the country to danger. It works the same way in any country."

G.M. Gilbert, Nuremberg Diary.

Obama's "Biggest Mistake"

From LifeSite News:

Obama: "Biggest Mistake" Was Vote to Help Terri Schiavo

By Peter J. Smith
LifeSiteNews.com

WASHINGTON, D.C., February 28, 2008 - Barack Obama, the young, dynamic contender for the US Democratic presidential nomination, is continuing to send strong signals to members of his party that he is the strongest anti-life candidate for the Democratic presidential nomination.

At the last Democratic debate before the March 4 primary showdown in Texas and Ohio that could effectively decide the Democratic nominee, both Sen. Hillary Clinton - a fierce abortion supporter who is aspiring to be the first female president of the United States - and Sen. Obama - who is vying to be the first black US President - were asked which votes they would take back in their senatorial careers. Clinton cited her vote for the Iraq war; Obama said his vote for Terri Schiavo.

"It wasn't something I was comfortable with, but it was not something that I stood on the floor and stopped. And I think that was a mistake," Obama said at the debate. "And as a constitutional law professor, I knew better ... and I think that's an example of inaction, and sometimes that can be as costly as action."

Obama was referring to his vote in March 2005, when the Senate passed a bill by unanimous consent that permitted Schiavo's parents and brother to make their case before federal courts to keep their brain-injured daughter alive via feeding tube...

'Nuff said.

Makes one want to weep...

2008-02-28

Six Principles for Making New Things

More great stuff from Paul Graham:

Here it is: I like to find (a) simple solutions (b) to overlooked problems (c) that actually need to be solved, and (d) deliver them as informally as possible, (e) starting with a very crude version 1, then (f) iterating rapidly.

When I first laid out these principles explicitly, I noticed something striking: this is practically a recipe for generating a contemptuous initial reaction. Though simple solutions are better, they don't seem as impressive as complex ones. Overlooked problems are by definition problems that most people think don't matter. Delivering solutions in an informal way means that instead of judging something by the way it's presented, people have to actually understand it, which is more work. And starting with a crude version 1 means your initial effort is always small and incomplete.

I'd noticed, of course, that people never seemed to grasp new ideas at first. I thought it was just because most people were stupid. Now I see there's more to it than that. Like a contrarian investment fund, someone following this strategy will almost always be doing things that seem wrong to the average person.

As with contrarian investment strategies, that's exactly the point. This technique is successful (in the long term) because it gives you all the advantages other people forgo by trying to seem legit. If you work on overlooked problems, you're more likely to discover new things, because you have less competition. If you deliver solutions informally, you (a) save all the effort you would have had to expend to make them look impressive, and (b) avoid the danger of fooling yourself as well as your audience. And if you release a crude version 1 then iterate, your solution can benefit from the imagination of nature, which, as Feynman pointed out, is more powerful than your own.

...

Reddit is a classic example of this approach. When Reddit first launched, it seemed like there was nothing to it. To the graphically unsophisticated its deliberately minimal design seemed like no design at all. But Reddit solved the real problem, which was to tell people what was new and otherwise stay out of the way. As a result it became massively successful. Now that conventional ideas have caught up with it, it seems obvious. People look at Reddit and think the founders were lucky. Like all such things, it was harder than it looked. The Reddits pushed so hard against the current that they reversed it; now it looks like they're merely floating downstream.

So when you look at something like Reddit and think "I wish I could think of an idea like that," remember: ideas like that are all around you. But you ignore them because they look wrong.

37signals Featured in Wired (March 2008 issue)

Some [important, I believe] items to consider from 37signals' reaction to an article in Wired entitled The Brash Boys at 37signals Will Tell You: Keep it Simple, Stupid:

Myth: Whoever spends the most wins

What’s more, 37signals’ ideological objections to outside funding could make them less able to withstand competition. Nicholas Carr, author of The Big Switch, says companies like 37signals won’t have the resources to fight should larger firms with huge economies of scale and backend infrastructure decide to take them on. “They’re going to have a very tough challenge,” he says.

We continue to find this argument flawed. First of all, a few rounds of VC millions won’t put us on equal footing with bazillion dollar giants like Google, Microsoft, or other masters of economies of scale.

Second of all, we’re not in the winner-take-all software world of the 90’s anymore. Thanks to the web, there’s plenty of room for lots of companies, ideas, and products to flourish. The behemoth model isn’t the only game in town. There’s plenty of opportunity, success, and profitability to go around.

Lastly, we think our biggest competitor is habit—people using the phone, email, paper, pencils, post-it notes, and fax machines. These are the people we want to win over. We believe the simple software we’re building is the best way to do it.

Technology Populism: Risks & Rewards

A very interesting and thought-provoking (if long-ish) article about "technology populism" at ReadWriteWeb:

According to a new report by Forrester Research, Inc., Technology Populism is defined as "an adoption trend led by a technology-native workforce that self provisions collaborative tools, information sources, and human networks — requiring minimal or no ongoing support from a central IT organization."

For the layperson, this definition can be boiled down to this: more and more people are functioning as their own IT department at work.

Google ‘Not-Office’ Finally Completed

From All Things Digital:

...Soldiering on in its quest not to compete with Microsoft’s (MSFT) core office-productivity software business [ha-ha!], Google (GOOG) last night [27 Feb 2008] added another component to its Web-based productivity suite–Google Sites. Created from JotSpot, the hosted wiki platform Google acquired back in 2006, Sites is essentially a lightweight version of Microsoft’s business-collaboration program SharePoint. It offers organizations a means of instantly creating a wiki-style group workspace, in which employees can collaborate.

It’s another powerful addition to the Google Apps suite, which already includes Gmail, Google Calendar, Talk, Docs and Spreadsheets and Page Creator. And it’s free. And if you think of “free” as a euphemism for “not robust enough for enterprise use,” you best think again. At least that’s what Google says, anyway. “The so-called lightweight cloud application isn’t for the non-power user,” Matt Glotzbach, product management director for Google Enterprise, told News.com’s Dan Farber. “It’s actually for the power user. Today’s power users aren’t writing macros. They are ‘power collaborators,’ grabbing content from six different places in the cloud and putting [it] on a site and sharing it.”

"The lightweight cloud application", eh? Hmm....

A Fifth of the Good Stuff

Mike Aquilina - on his The Way of the Fathers blog - today offers us a translation of the fifth and concluding part of Pope Benedict's weekly meditations on St Augustine. (Apparently, in Rome, "there were so many pilgrims that the overflow had to be gathered into St. Peter's!") As always with this great pastor and theologian, there is much of an inspirational nature to consider:

Today I would like to conclude my presentation of St. Augustine. After having dwelt on his life, his works, and some aspects of his thought, I wish to go back today to his interior life which made him one of the greatest converts in Christian history.

To this interior experience, I particularly devoted my reflections during the pilgrimage I made to Pavia last year to venerate the mortal remains of this Father of the Church. I wanted to express the homage of the entire Catholic Church but also to show my personal devotion and acknowledgment of a figure to whom I feel very much connected for the part that he has played in my life as a theologian, priest and pastor.

Even today we can retrace the experiences of St. Augustine, thanks above all to his Confessions, written in praise of God and which originated one of the most specific literary forms of the West, the autobiography, that is, a personal expression of one's consciousness about oneself.

Whoever reads this extraordinary and fascinating book, which is still widely read today, will easily realize that Augustine's conversion was neither sudden nor fully realized immediately, but that it could be better defined as a true and proper journey, which remains a model for each of us.

This itinerary certainly culminated in his conversion and baptism, but it did not end on that Easter Vigil of 387 when the African rhetorician was baptized by Bishop Ambrose in Milan.

Augustine's journey of conversion, in fact, continued humbly until the end of his life, so that one can say that its various stages - one can easily distinguish three - made up a unique act of conversion.

St. Augustine was a passionate searcher for the truth - he was from the very beginning and all his life. The first stage of his journey of conversion was his progressively coming close to Christianity. Actually, he received a Christian education from his mother Monica, to whom he was always closely linked, and although he led an undisciplined life in his youth, he always felt a profound attraction to Christ, having drunk love for the name of the Lord with his mother's milk, as he himself underscored (cfr Confessiones, III, 4, 8).

But philosophy, too, especially Platonic, contributed to bring him closer to Christ by showing him the existence of the Logos, creative reason. The philosophers' books showed him that there was Reason, from which the whole world sprung, but they did not tell him how to reach this Logos which seemed so remote.

Only reading about the faith of the Catholic Church in St. Paul's letters revealed the truth fully to him. This experience was synthesized by Augustine in one of the most famous pages of the Confessions: He recounts that, in the torment of his reflections, he retired to a garden, where suddenly he heard a child's voice which repeated to him a lullaby he had never heard before, "Tolle, legge, tolle, legge" (Take and read, take and read) (VIII, 20,29).

He then remembered the conversion of St. Anthony Abbot, the father of monasticism, and with great urgency, he turned to the Pauline epistolary which he had in his hands earlier, opened it, and his glance fell on the passage from the Letter to the Romans where the Apostle exhorts the Romans to abandon the ways of the flesh and "put on the Lord Jesus Christ" (13, 13-14).

He understood that at that moment, those words were addressed to him, that it came from God through the Apostle, and showed him what to do right then. Thus, he felt the shadows of doubt dissolve and he found himself finally free to give himself completely to Christ: "You converted my being to you", he commented (Confessiones, VIII, 12,30). This was his first and decisive conversion.

The African rhetorician reached this fundamental stage of his long journey, thanks to his passion for man and for the truth, a passion which brought him to look for God, great and seemingly inaccessible. Faith in Christ made him understand that God, apparently so remote, was really not. In fact, that he had made himself close to us by becoming one of us.

In this sense, faith in Christ fulfilled Augustine's long search along the path of truth. Only a God who made himself "tangible", one of us, was a God to whom one could pray, for whom and with whom one could live. But it is a way to follow with courage as well as humility, opening us to a permanent purification of which each of us is always in need.

With that Easter Vigil Baptism of 387, as we said earlier, Augustine's journey was not done. He returned to Africa where he retired with a few friends to dedicate themselves to a life of contemplation and study. This was the dream of his life. He was called to live totally for the truth, with the truth, in friendship with Christ who is the Truth.

It was a beautiful dream that lasted three years, until when, against his wishes, he was consecrated a priest in Hippo, destined to serve the faithful, continuing to live with Christ and for Christ, but in the service of all.

This was very difficult for him, but he understood from the beginning that only by living for others, and not only for his private gratification, could he really live with Christ and for Christ. Thus, renouncing a life of pure meditation, Augustine learned, often with difficulty, to offer the fruit of his intelligence for the benefit of others.

He learned to communicate his faith to simple people, and living that way in what became his city, he carried out tirelessly a generous and onerous service that he described in these words in one of his beautiful sermons: "To preach continuously, discuss, reiterate, edify, be at the disposal of everyone - it is an enormous responsibility, a great weight, an immense effort" (Serm. 339,4).

But he took this weight on himself, understanding that this way, he was closest to Christ. To understand that one reaches others with simplicity and humility was his true and second conversion.

But there is a third stage in the Augustinian journey, a third conversion: that which brought him every day of his life to ask God's forgiveness. Initially, he had thought that once he was baptized - in a life of communion with Christ, in the Sacraments, in the celebration of the Eucharist - he would attain the life proposed in the Sermon on the Mount: the perfection given in Baptism and reconfirmed in the Eucharist.

In the latter part of his life, he understood that what he had said in his first preachings about the Sermon on the Mount - that is, that we Christians would thereafter live that ideal permanently - was wrong. That only Christ himself was the true and complete realization of the Sermon on the Mount.

We are all always in need of being "washed" by Christ, who washes our feet, and to be renewed by him. We need permanent continuing conversion. Up to the end we need the humility to recognize that we are sinners on a journey, until the Lord gives us his hand conclusively and introduces us to eternal life. In such an attitude of humility, lived day after day, Augustine died.

This attitude of profound humility before the one Lord Jesus introduced him also to the experience of intellectual humility. Augustine, in fact, who is one of the greatest figures in the history of ideas, wished during his final years to place all his numerous works under lucid critical examination.

That was the origin of Retractiones (Revisions) which, in this way, placed his theological thinking, which was truly great, within the humble and holy faith of what he called simply with the name Catholic, that is, the Church.

"I understood," he wrote in this very original book (I, 19,1-3), "that only one is truly perfect, and that the words of the Sermon on the Mount are completely realized only in one - in Jesus Christ himself. The whole Church, instead - all of us, including the Apostles - must pray every day: forgive us our sins as we forgive those who sin against us."

Converted to Christ, who is truth and love, Augustine followed him the rest of his life and has become a model for every human being, for all of us in search of God.

That is why I wished to conclude my pilgrimage to Pavia by symbolically offering to the Church and to the world, at the tomb of this great lover of God, my first encyclical, Deus caritas est.

In fact, the encyclical owes a great deal, especially in the first part, to the thought of St. Augustine. Even today, as in his time, mankind needs to recognize, and above all, to live, this fundamental reality: God is love, and the encounter with him is the only response to the anxieties of the human heart. A heart that is inhabited by hope, perhaps still obscure and even unconscious in many of our contemporaries, but which for us Christians, already opens the future, such that St. Paul wrote, "in hope we are saved" (Rom 8,24).

I dedicated my second encyclical, Spe salvi, to hope, and even that owes a great deal to Augustine's thoughts and his encounter with God.

In a very beautiful text, Augustine defined prayer as the expression of desire, and stated that God responds by opening up our hearts to him. On our part, we should purify our desires and our hopes in order to receive the kindness of God (cfr In I Ioannis, 4, 6). Only this, in fact, opening us up to others, saves us.

Let us pray therefore that in our life we may be granted to follow everyday the example of this great convert, encountering like him, in every moment of our life, the Lord Jesus, the only one who saves us, purifies us, and gives us true joy and true life.

2008-02-27

Continuous Integration

"Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly."

-- Martin Fowler

The Fallacy of 100% Code Coverage

Re: Testing (TDD, BDD, etc.) ... from Binstock on Software [yes, again! ;-)]:

So, let's start at the foundational level: 100% code coverage is a fallacious goal. Unit testing is designed to provide two principal benefits: 1) validate the operation of code; 2) create sensors that can detect when code operation has changed, thereby identifying unanticipated effects of code changes. There is no point in writing tests that do not fulfill one of the two goals. Consequently, a getter or setter [i.e. "properties" in the .NET world] should not be the target of a unit test:

public void setHeight( float newHeight ) 
	{ height = newHeight; }

This code cannot go wrong (unless you believe that your language's assignment operator doesn't work consistently ;-). Likewise, there is no benefit in a test as a sensor here. The operation of this code cannot change. Hence, any time spent writing a unit test for this routine is wasted.

Excellent Explanation of Dependency Injection (Inversion of Control)

From Binstock on Software:

...Here is clearest explanation I've found--slightly edited for brevity (from the very good Spring in Action, 2nd. Ed. by Craig Walls):

"Any nontrivial application is made up of two or more classes that collaborate with each other to perform some business logic. Traditionally, each object is responsible for obtaining its own references to the objects it collaborates with (its dependencies). When applying DI, the objects are given their dependencies at creation time by some external entity that coordinates each object in the system. In other words, dependencies are injected into objects."

I find that very clear.

Dependency Injection was originally called Inversion of Control (IoC) because the normal control sequence would be the object finds the objects it depends on by itself and then calls them. Here, this is reversed: The dependencies are handed to the object when it's created. This also illustrates the Hollywood Principle at work: Don't call around for your dependencies, we'll give them to you when we need you.

If you don't use DI, you're probably wondering why it's a big deal. It delivers a key advantage: loose coupling. Objects can be added and tested independently of other objects, because they don't depend on anything other than what you pass them. When using traditional dependencies, to test an object you have to create an environment where all of its dependencies exist and are reachable before you can test it. With DI, it's possible to test the object in isolation passing it mock objects for the ones you don't want or need to create. Likewise, adding a class to a project is facilitated because the class is self-contained, so this avoids the "big hairball" that large projects often evolve into...

Build One To Throw Away, You Will Anyhow

From Knowing.NET:

Such [i.e. the title: "Build one to throw away, you will anyhow"] was one of the many pieces of advice of Fred Brooks in The Mythical Man-Month and while others of Brooks aphorisms have stood the test of time, completely scrapping a codebase is today seen more as an aberration than a painful but necessary part of the process.

Andrew Binstock, who's been developing a modern typesetting language (a TeX for the new millennium), has decided to do just that with his 20K LoC, multiple man-year codebase. His recognition that "the more I code, the more I see that I am adding top floors to a leaning tower. Eventually I'll topple it" may seem startling coming from a vocal advocate of unit-testing, especially to younger developers who probably have had pretty-good success developing Web-based applications.

Andrew pinpoints the critical issue:

It's extremely difficult to figure out where your architecture is deficient if you have never done the kind of project you're currently undertaking.

Nowadays, most of us do our professional programming in pretty well-worn niches -- Web-based database-driven this, Smart-client semi-connected that, etc. Because of that, we (or our team) tend to make pretty good architectural choices. So good, in fact, that nowadays you don't hear nearly as much concern about application architecture as used to be the case. So good, in fact, that lots of people think you can refactor your way out of the wrong architecture; Andrew's decision is surely painful, but I think it's vastly less painful than architectural refactoring...

Just a quick follow-up... Here's the direct link to Andrew Binstock's blog posting: Restarting the Platypus and the Lessons Learned. Based on a remarkably clear-sighted forensic autopsy of his own project (surely not an easy thing to do!) Binstock enumerates a number of valuable lessons - in addition to the one noted above. E.g. "When it comes to modularity for input and output processing, plug-ins are an excellent design model," and "Unit testing delivers extra value when you're writing difficult code."

Yes, very much worth reading. And absorbing.

2008-02-26

A Hierarchical Word on End-Times Fanatics

From Western Orthodoxy:

The real meaning of the English word "Gospel" is good news, but one can find those who are more attracted to the Bad News Gospel. You can find religious circles more interested in the anti-Christ than in Christ, more interested in the number 666 than the Holy Trinity. This is a fear-driven, bad news orientation. Where such a mentality thrives, the Christian contribution to society is meager. Where faith, hope and love flourish, transformation occurs. Faith changes life. If life doesn't change, clearly there is no faith. St. John Chrysostom, preaching to perhaps 400 people in Antioch, told them, "If all of you were Christians, there would be no more pagans in the world." If you want to understand how Christianity spread so rapidly in the early centuries, it was because Christians were Christian...

This is our tragedy because more than ever the world needs the light of Christ, the genuine light.

-- Metropolitan JOHN [Pelushi] of Korça, Albanian Orthodox Church.

2008-02-25

No more drama

Ahem and cough-cough... We now interrupt this highly [not to say deadly] serious blog for a brief commentary from the world of sports - via ESPN:

Maple Leafs' Sundin stands pat, refuses to waive no-trade clause

We had to get out a whole box of hankies after reading and listening to all of the folks who felt bad Sundin has been put in such an awful predicament heading into the trade deadline.

Never mind that he's a multi-millionaire who has never once taken his team to the Stanley Cup finals.

We did, however, enjoy the response to our suggestion last week that if Sundin doesn't waive his no-trade clause to facilitate a move to a contender, Leafs interim GM Cliff Fletcher should strip Sundin of his captaincy and make it clear the veteran forward won't be re-signed this summer. Only in Toronto, where reality is, like the Stanley Cup, an infrequent visitor, is such a suggestion met with such horror from media and fans alike.

But that's always been the problem in Toronto, where fans and media have often had trouble separating the myths of the past from the hopelessness of their present. Witness the joyousness that greeted the return of much-loved hero Wendel Clark late in his career (no matter that it cost the team valuable futures), or even when Doug Gilmour made his ill-fated return to the team late in his career before the lockout.

Now, it seems everyone, from media to fans to even Sundin himself, would rather embrace the comfort of mediocrity than take the hard steps that always precede becoming a winner.

Hand me another hanky, please.

-- Scott Burnside

2008-02-22

A Great Program

From The Programmer's Paradox: Fundamental Coding Issues:
The secret to great code is to get the smallest program possible without resorting to being clever, while generalizing to as large a problem space as possible given the time constraints. Make all of the broad strokes explicit, while making all of the details implicit. Get this right, keep it clean and consistent, and you've got elegance.

Holding a Program in One's Head

Wow! And especially so since I just finished listening to a Scott Hanselman Computer Zen podcast with Dr Michio Kaku on how theoretical physicists think and work - visualizing their problem spaces in their heads ... because the problems they're working on can't be expressed, stored or solved on computers. So, yeah, wow! In any case, more from Paul Graham:

A good programmer working intensively on his own code can hold it in his mind the way a mathematician holds a problem he's working on. Mathematicians don't answer questions by working them out on paper the way schoolchildren are taught to. They do more in their heads: they try to understand a problem space well enough that they can walk around it the way you can walk around the memory of the house you grew up in. At its best programming is the same. You hold the whole program in your head, and you can manipulate it at will.

...

Your code is your understanding of the problem you're exploring. So it's only when you have your code in your head that you really understand the problem.

It's not easy to get a program into your head. If you leave a project for a few months, it can take days to really understand it again when you return to it. Even when you're actively working on a program it can take half an hour to load into your head when you start work each day. And that's in the best case. Ordinary programmers working in typical office conditions never enter this mode. Or to put it more dramatically, ordinary programmers working in typical office conditions never really understand the problems they're solving.

Even the best programmers don't always have the whole program they're working on loaded into their heads. But there are things you can do to help:

  1. Avoid distractions
  2. Work in long stretches
  3. Use succinct languages
  4. Keep rewriting your program
  5. Write readable code
  6. Work in small groups
  7. Don't have multiple people editing the same piece of code
  8. Start small

The Zen of Python

Hmm. You [can] learn something new - and wonderful! - every day. From Word Aligned:

The Zen of Python is so short I can include it here in its entirety. Typing "import this" in an interpreted session [of Python] gives a pythonic spin on “Hello, world”.

>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

Hofstadter’s rule

As documented in "Five steps to enlightened expectations" on TechRepublic:
Everything takes longer than you expect, even when you take Hofstadter’s rule into account.

Quote of the Day - Fulton J. Sheen

From Dawn Eden's The Dawn Patrol via Father Gregory Jensen's Koinonia:

"One way to make enemies and antagonize people is to challenge the spirit of the world. The world has a spirit, as each age has a spirit. There are certain unanalyzed assumptions which govern the conduct of the world. Anyone who challenges these worldly maxims, such as, 'you only live once,' 'get as much out of life as you can,' 'who will ever know about it?' 'what is sex for if not for pleasure?' is bound to make himself unpopular...

"To marry one age is to be a widow in the next. Because [Jesus Christ] suited no age, He was the model for all ages."

— Fulton J. Sheen, Life of Christ

2008-02-21

Research Supports The Effectiveness of TDD

From you've been HAACKED:

My favorite part of [a paper published in the Proceedings of the IEEE Transactions on Software Engineering entitled On the Effectiveness of Test-first Approach to Programming] is the section in which they offer their explanations for why they believe that Test-First programming might offer productivity benefits. I won’t dock them for using the word synergistic.

We believe that the observed productivity advantage of Test-First subjects is due to a number of synergistic effects:

  • Better task understanding. Writing a test before implementing the underlying functionality requires the programmer to express the functionality unambiguously.
  • Better task focus. Test-First advances one test case at a time. A single test case has a limited scope. Thus, the programmer is engaged in a decomposition process in which larger pieces of functionality are broken down to smaller, more manageable chunks. While developing the functionality for a single test, the cognitive load of the programmer is lower.
  • Faster learning. Less productive and coarser decomposition strategies are quickly abandoned in favor of more productive, finer ones.
  • Lower rework effort. Since the scope of a single test is limited, when the test fails, rework is easier. When rework immediately follows a short burst of testing and implementation activity, the problem context is still fresh in the programmer’s mind. With a high number of focused tests, when a test fails, the root cause is more easily pinpointed. In addition, more frequent regression testing shortens the feedback cycle. When new functionality interferes with old functionality, this situation is revealed faster. Small problems are detected before they become serious and costly.

Test-First also tends to increase the variation in productivity. This effect is attributed to the relative difficulty of the technique, which is supported by the subjects’ responses to the post-questionnaire and by the observation that higher skill subjects were able to achieve more significant productivity benefits.

So while I don’t expect that those who are resistant or disparaging of TDD will suddenly change their minds on TDD, I am encouraged by this result as it jives with my own experience. The authors do cite several other studies (future reading material, woohoo!) that for the most part support the benefits of TDD.

So while I’m personally convinced of the benefits of TDD and feel the evidence thus far supports that, I do agree that the evidence is not yet overwhelming. More research is required.

I prefer to take a provisional approach to theories, ready to change my mind if the evidence supports it. Though in this case, I find TDD a rather pleasant fun enjoyable method for writing code. There would have to be a massive amount solid evidence that TDD is a colossal waste of time for me to drop it.

Paul Graham

Oh, BTW, who the heck is this Paul Graham character I've been busily quoting the past couple of days?

From Wikipedia:

In 1995 Graham and Robert Morris founded Viaweb, the first ASP. Viaweb's software, originally written mostly in Common Lisp, allowed users to make their own Internet stores. In the summer of 1998 Viaweb was sold to Yahoo! for 455,000 shares of Yahoo! stock, valued at $49.6 million. At Yahoo! the product became Yahoo! Store.

He has since begun writing essays for his popular website paulgraham.com...

And from the Bio on his own web site:

Paul Graham is an essayist, programmer, and programming language designer. In 1995 he developed with Robert Morris the first web-based application, Viaweb, which was acquired by Yahoo in 1998. In 2002 he described a simple Bayesian spam filter that inspired most current filters. He's currently working on a new programming language called Arc, a new book on startups, and is one of the partners in Y Combinator.

Paul is the author of On Lisp (Prentice Hall, 1993), ANSI Common Lisp (Prentice Hall, 1995), and Hackers & Painters (O'Reilly, 2004). He has an AB from Cornell and a PhD in Computer Science from Harvard, and studied painting at RISD and the Accademia di Belle Arti in Florence.

So there!

2008-02-20

Succinctness is Power

And even more from Paul Graham:

The true test of a [programming] language is how well you can discover and solve new problems, not how well you can use it to solve a problem someone else has already formulated.

...

Ultimately, I think you have to go with your gut. What does it feel like to program in the language? I think the way to find (or design) the best language is to become hypersensitive to how well a language lets you think, then choose/design the language that feels best.

Aha! You know, I think I'm starting to see why Ruby has become so popular with really good programmers/hackers. Hmm....

Great Hackers

Another great quote from Paul Graham:
So here is my best shot at a recipe. If it is possible to make yourself into a great hacker, the way to do it may be to make the following deal with yourself: you never have to work on boring projects (unless your family will starve otherwise), and in return, you'll never allow yourself to do a half-assed job.

Good and Bad Procrastination

From Paul Graham's wonderful discourse on procrastination this bit stood out like a diamond in the sun:

In his famous essay You and Your Research (which I recommend to anyone ambitious, no matter what they're working on), Richard Hamming suggests that you ask yourself three questions:

  1. What are the most important problems in your field?
  2. Are you working on one of them?
  3. Why not?

Hamming was at Bell Labs when he started asking such questions. In principle anyone there ought to have been able to work on the most important problems in their field. Perhaps not everyone can make an equally dramatic mark on the world; I don't know; but whatever your capacities, there are projects that stretch them. So Hamming's exercise can be generalized to:

What's the best thing you could be working on, and why aren't you?

If Something Seems Boring, Skip It

A BIG note to self. (More from Matt Blodgett's Dev Blog):

...I tried two tactics to increase the amount of money I could charge for my programming services. One of them failed spectacularly, and one of them succeeded wonderfully. The failure was learning the skills that had the most job posts; the success was learning the skills that most engaged my own curiosity. I learned Java and got nothing out of it; I studied Bayesian filtering for fun and did consulting work in Bayesian filtering through my activity on a Ruby mailing list.

...

The moral here is that if something seems boring, skip it. Trust your intuition.

- Giles Bowkett

Matt Blodgett on Software Development

These are so good that I had to post them here ... from Matt Blodgett's Dev Blog:

Blodgett's First Law of Software Development:

A development process that involves any amount of tedium will eventually be done poorly or not at all.

Corollaries to Blodgett's First Law:

  • Any step in a process that could be automated must be automated.
  • Any code that could be generated must be generated.
  • A good developer has a built-in tedium detector that's extremely sensitive.
  • Great developers feel a moral obligation to eliminate tedium.
  • Tedium indicates a flaw in your process.
  • A good developer will refuse to do boring work.
  • A good developer is lazy.
  • It's foolish to force your best developers to do boring work.
  • Prefer unit tests over comments.
  • Dynamic languages will eventually win.
  • Ruby on Rails is popular because it ruthlessly eliminates tedium from web development.
  • "Don't Repeat Yourself" might be the most important and fundamental principle in software development.

Duty Calls

From xkcd - A webcomic of romance, sarcasm, math, and language - By Randall Munroe:

Duty Calls

Ah, so true. So true!

RE: XML...

From Don Box's Spoutlet:
XML is like violence. If it doesn't solve your problem, you're not using enough of it.

Ha! And I'm sure my former colleagues at Changepoint/Compuware will be wagging their heads knowingly at me, the XML-oclast, for even daring to post this quote.

2008-02-18

Free Screen Cleaner

From LOL: The Life of Leo ... too cute!

Ten Tips for a (Slightly) Less Awful Resume

From Stevey's Blog Rants:

Today's scientific question is: why are the resumes of programmers so uniformly awful? And how do we fix them?...

Tip #1: Nobody cares about you

Tip #2: Use Plain Text

Tip #3: Check, please!

Tip #4: Avoid Weasel Words

Tip #5: Avoid Wank Words

Tip #6: Don't be a Certified Loser

Tip #7: Don't say "expert" unless you really mean it

Tip #8: Don't tip your hand

Tip #9: Don't bore us to death

Tip #10: Don't be a lying scumbag

In fact, read the entire rant (at Stevey's link above) ... much valuable information direct from the guy who apparently put/left "Objective: Obtain a position at IBM" in his resume when first applying for a job at Amazon.com

"Crackpot Technologies" That Could Shake Up IT

  • Nanotechnology
  • Optical computing
  • Pervasive computing
  • Wireless power
  • The $100 laptop
  • Direct brain interfaces
  • Enterprise supercomputing
  • Virtual worlds

From Infoworld

Fast Forwarding & Fast Free

I realize that the Western Church has been "enjoying" Lent for a couple of weeks already but, now, the Eastern Churches (and all those who follow the "Orthodox" Paschalion - with Pascha (Easter) falling on 27 April this year) are starting to gear up for their Lent as well. The season of the Lenten Triodion began yesterday (Sun 17 Feb) with the Sunday of the Publican and the Pharisee.

From ORTHODIXIE via Matushka Ann Lardas:

Whatever calender you use, if you're Orthodox, this is a fast free week, so that when we eat our ice cream on Wednesday and pizza on Friday we will remember that we sin like the Publican more than we fast like the Pharisee, so we should be humble like the first -- and fast like the second.

Next week is the last normal week till after Bright Week. Wednesday and Fridays are fast days but we can have meat the other days.

The next week is Cheese Fare week, when Wednesday and Friday are NOT fast days but we don't have meat all week in anticipation of the fast.

Then, BAM! Clean Monday comes, and Lent is upon us.

But for this week, enjoy.

---

Some Fasting Guidelines as Prescribed by the Orthodox Church

2008-02-17

About the Benedictines

Part of an interview with Fr Giles, a monk of Pluscarden Abbey in Scotland - from The Hermeneutic of Continuity.

Top 10 tips for becoming the best blogger ever

From CodeThinked:

1) Make promises you can't keep - I promise if you read this blog every day you'll be the best programmer ever in one year!

2) Make statements and claims that you can't possibly defend - no one is more popular than the guy who is constantly saying ridiculous crap. (Can you say Bill O'Reilly?)

3) Make inflammatory posts about other bloggers (preferably those whose blogs are already popular) - Your popularity will skyrocket once the other blogger posts his/her "that guy is a douchebag" response post.

4) Insert completely pointless and totally off-topic images into your posts - My favorite is the staircase.

Stairway

5) Reference rules and statistics that are completely made up - In reality though, I've heard that only about 20% of bloggers actually do this.

6) Brag about how much money your ads bring in - Mine? Oh, I have earned 6 bucks so far this month. Take that!

7) Go out of your way to offend an entire group of people - For example "windows users", "Republicans", "Democrats", "Grandmothers" or pretty much anyone who holds different views than yours.

8) Post 18 times a day - Sure, go ahead and made a post about what you had for breakfast, then you can make another one later about what it was like coming out! Oh, and that guy who cut you off on the way to work, you should blog about that too.

9) Ask questions with no answers - You really should ask your users questions that no one can answer but everyone thinks they can. Will doing this really make you popular?

10) Make top 10 lists - no one will ever take you seriously unless you can fit all of your opinions into bullet points.

The definition of insanity

The definition of insanity is doing the same thing over and over and expecting different results.

– Benjamin Franklin

2008-02-16

And the 14 Grand Engineering Challenges of the 21st Century Are...

From Wired Science:
  • Make solar energy affordable.
  • Provide energy from fusion.
  • Develop carbon sequestration methods.
  • Manage the nitrogen cycle.
  • Provide access to clean water.
  • Restore and improve urban infrastructure.
  • Advance health informatics.
  • Engineer better medicines.
  • Reverse-engineer the brain.
  • Prevent nuclear terror.
  • Secure cyberspace.
  • Enhance virtual reality.
  • Advance personalized learning.
  • Engineer the tools for scientific discovery.

2008-02-15

Don Cherry

A very nice commentary by Howard Berger:

Millions of people watch Don Cherry in his Coach's Corner segment each Saturday on Hockey Night In Canada. Perhaps 2% of TV viewers have ever met the man. As a result, 98% of those tuning in wouldn't realize that Cherry's presentation is mostly schtick. A dog-and-pony act with Ron MacLean that both men understand is a magnet for hockey watchers. And an absolute ratings bonanza for the CBC. The part of Cherry that is lesser known and acknowledged is his warm, caring nature. He'll do almost anything for charity, or for an ill person that is brought to his attention.

Several years ago, the father of one of my friends was dying of cancer, and my buddy wondered if Cherry might have time to give the man a call. The dying person was a big fan of Coach's Corner and my pal suggested that hearing from Cherry would brighten his day. I phoned Don with the request and he told me to leave it with him. A few days later, I found out that not only did Cherry phone the man, but he arranged for a limo to pick him up and drive him to his Mississauga, Ont. restaurant. There, Don took the time to have lunch with the stricken man.

Cherry will probably curse me for telling this story, because he prefers to do his good deeds anonymously. But, I feel it's important for TV viewers to realize that the moments he spends commemorating Canadian soldiers that are lost in Afghanistan are the most genuine moments of his weekly program. No person in this country has done more for the morale of our servicemen, or has better represented the memory of those we have lost.

The Oprah Club

From S.M. Hutchens, writing at Touchstone - Mere Comments:

Whenever Oprah Winfrey comes out with a new book club selection, we at the public library know it within twenty seconds. This is no exaggeration. The Oprah books are, of course, favored almost exclusively by women. Middle-aged white women comprise the largest group of fiction readers. I expect them to be reading the kind of stuff she recommends, even without her recommendation. What happens when Oprah selects is that the huge number of them who are currently reading Danielle Steel or Sue Grafton or Nora Roberts are alerted to another woman-type fiction book and all crowd over to the lee rail of that particular literary ship to get sight of something they might otherwise have passed over, since the Oprah books are typically not mere entertainment, but entertainment salted with cracker-barrel philosophy that helps them feel, well, whatever it is that Oprahites need to feel.

Her audience (as I can see it from where I sit) is interesting in that she seems to range considerably outside this group of typical fiction readers to younger women, non-whites, and the less-educated. If mere literacy is a societal value, then Oprah certainly encourages it, and deserves every bit of lionessization that American Library Association types can lavish on her.

Mere literacy has no value in itself. It is worthy only as the servant of virtue. The virtues of Oprahism, however, appear to be subordinate to, and ordered by, the prime virtue of self-realization and self-actualization rather than that of finding the self by losing it in sacrificial service to others, subject to the will of God. Its heroes tend to be Prometheans injured by, and in defiance of, the Traditional Moral Order (let us all weep for them a bit), lap-christs for the entertainment of silly women. Oprahism, to be sure, is chock-full of "virtues," but the order in which they are placed relative to one another in the scheme of the whole makes the phenomenon a veil of evil.

2008-02-14

LifeSiteNews - Ominous Connections

From LifeSiteNews:

LifeSiteNews Message for February 13

Dear LifeSiteNews readers,

Many new readers of LifeSiteNews have difficulty making a connection between abortion, euthanasia, contraception, feminism, explicit sex education, promotion of homosexuality, de-population programs, eugenics, environmental extremism, suppression of religious freedom and globalism. We always hope that after a few months of reading LifeSiteNews they begin to see the connection. Many, including most of the world's religious leaders, haven't been exposed to this information, or if they have, still don't get it or, in very many cases, don't have the courage or trust in God to face the disturbing truth.

The development in Brazil, reported in today's top story by our Latin American correspondent Matthew Hoffman, is exciting news. The Brazilian [Roman Catholic] bishops appear to have suddenly come much farther than all others in realizing and accepting the reality of the "big picture", the above mentioned, "connection", that we at LifeSiteNews have been aware of for years. Even more exciting is that they are taking bold actions to hold accountable those responsible for this massive manipulation and abuse of power - even at the highest international levels.

We hope the Brazilian Bishops' example will be emulated by many more leaders throughout the world. The world is in great danger from the de-population totalitarians who have already caused great harm. Theirs is indeed a very dangerous movement of people and organizations who have very little, if any regard for the inherent dignity of every human life and for freedom. What they wish to achieve far exceeds anything accomplished by Nazism or Communism - and so far they have made huge advances. The producers of the film "Demographic Winter" attest to that.

Bravo for the Brazilian bishops who are responding as bishops should, with great courage and boldness for the benefit of those who are being exploited and oppressed.

We suggest that you continue to read LifeSiteNews reports in the context of the above paragraphs. To further your understanding, if you have not already done so, we strongly suggest you take the time to read the most popular document on LifeSiteNews, The Inherent Racism of Population Control, by Paul Jalsevac.

More than any other report on LifeSiteNews, that document reveals the enormous, deadly influence of International Planned Parenthood and other elements of the depopulation/eugenics movement. It explains the connection between all those items in the first paragraph of this message. Please read the document and tell others about it.

Steve Jalsevac LifeSiteNews.com

2008-02-13

Niebuhr on Liberal Protestantism

This brought a [knowing] smile to my face. From orrologion:
...In the 1930's, Reinhold Niebuhr famously observed that liberal Protestantism preached "a God without wrath who brought men without sin into a kingdom without judgment through the ministrations of a Christ without a cross."

Snow in Toronto

The horror ... the horror...

2008-02-09

The Justice - and Mercy - of God

Pope Benedict XVI speaking at a meeting with the Parish Priests and Clergy of Rome (February 7, 2008) - from RORATE CÆLI:

We all desire a fair world. But we cannot repair all the destructions of the past, all the people unjustly tormented and killed. Only God himself can create justice, which must be justice for all, even for the dead. And, as Adorno, a great Marxist, says, only the resurrection of the flesh, which he considers unreal, could create justice.

We believe in this resurrection of the flesh, in which not all will be equal. It is common to think today: whatever is sin, God is magnificent, he knows us, therefore sin does not matter, in the end God will be nice with everyone. It is a beautiful hope. Yet, there is justice, and there is true guilt. Those who have destroyed man and earth cannot suddenly sit beside their victims at the table of God. God creates justice. We must have this present.

It seemed thus important for me to write also this text [Spe Salvi] on purgatory, which for me is such an obvious truth, so clear and also so necessary and consoling that is cannot be forgotten. I tried to say: perhaps there are not so many who have destroyed themselves thus, who are forever incurable, who do not have any element left upon which the love of God may rest, who do not have in themselves a minimum capacity for loving. This would be hell.

On the other hand, they are certainly few - or at least not many - those who are so pure as to be able to immediately enter in the communion with God. Very many of us hope that there be something curable in us, that there be a final desire to serve God and to serve men, of living according to God. But there are so many wounds, so much filth. We have the need of being ready, of being purified. This is our hope: even with so much filth in our souls, in the end the Lord gives us the possibility, cleanses us finally with his goodness which comes from his cross. He thus renders us capable of being forever with him. And therefore heaven is hope, it is justice finally realized. And he gives us also the criteria for living so that this [present] time may also be, in a certain way, heaven, a first light of heaven.

Wherever men live according to these criteria, a speck of heaven appears in the world, and this is visible. It seems to me also an evidence of the truth of faith, of the need to follow the way of the commandments, of which we should speak more often. They are truly road signs and show us how to live well, how to choose life. Therefore, we must also speak of sin and of the sacrament of forgiveness and reconciliation. A sincere man knows that he is guilty, that he should start anew, that he should be purified. And this is the wonderful reality which the Lord offers us: there is a possibility for renewal, of being new. The Lord starts anew with us and we can thus start anew also with the others in our life.

2008-02-08

What means this word Catholic?

An interesting perspective - and one with which [I think] I largely agree - from Father Robert Hart (a "traditional" Anglican priest in Australia) at The Anglican Continuum:

"Whosoever will be saved, before all things it is is necessary that he hold the Catholic Faith. Which Faith except everyone do keep whole and undefiled, without doubt he shall perish everlastingly. And the Catholic Faith is this: That we worship one God in Trinity, and Trinity in Unity, neither confounding the Persons, nor dividing the Substance." - Opening of the Athanasian Creed

"I believe in the Holy Ghost: The holy Catholic Church; The Communion of Saints: The Forgiveness of sins: The Resurrection of the body: And the Life everlasting. Amen." - From the Apostle's Creed "And I believe one Holy, Catholic and Apostolic Church." - From the Creed called Nicene (i.e. Nicene-Constantinopolitan). From the usage of the word "Catholic" in ancient times we see that it speaks, above all, of the Church and of the Faith of that Church (namely, its doctrine). This word is used by everybody in Christianity, and is the property of no one denomination. The churches under the Pope, the Roman Catholic and the Byzantine (Eastern Rite) Catholic Churches, have been associated with this word in a denominational sense, which causes some confusion. It leads to the bad argument of Cardinal Newman, that if, in any town you asked to be taken to the Catholic Church, you would be taken to the Roman Catholic Church, which makes it, alone, the real thing. Actually, it means the cab driver reads the signs on the front of church buildings, and it proves only that he is literate, at least to that degree. Beyond that, it proves nothing. It offends some Roman Catholics that others, Anglicans, the Orthodox, the Polish National Catholic Church, sometimes even the Byzantine Catholic Churches, openly use the word "Catholic" as their own property. But, the use of this word by others is not intended as a gesture of disrespect for Roman Catholics, and neither is it used to seduce the naive of their flock into a wolf's lair- the old "bait and switch." It is, rather, respect for what we know ourselves to be, and for what we believe and teach (and the capital "C" is used in the Book of Common Prayer because, by usage, "Catholic" is a name of the Church. We need not use the lower case). We believe in the Catholic Church, and furthermore, we believe the One, Holy Catholic and Apostolic Church (i.e. we believe what it teaches and the Truth to which it testifies). Each of us says these words in the first person: "I believe." This is not a denominational word, but a credal word. It is a word that exists in the persuasion of the mind, the depth of the heart and the power of conscience. It is theological, not cultural. And, as each person says it liturgically, by the rule of Lex Orandi Lex Credendi, each one rightly takes it as his own. We do not say we believe it as someone else's property, removed from us. We do not claim to believe a church that we do not belong to. We do not confess a Faith that we cannot own. We intend no offense or disrespect, and certainly no deception; but, we will not give up this word or what it means, for it belongs to us just as surely as Christ himself is our Lord. When we speak of branches of the Church, we do not intend even so much as to imply, let alone assert, that outward and apparent division among God's people is the plan and purpose of God. It is not of the nature of the Church that it exists in divided branches, rather it is symptomatic of the current state of all mankind this side of our promised immortality. Partly, divisions are due to the sin and foolishness of fallen man, and the problem of division was addressed long ago by St. Paul, writing to the Church in Corinth.

"For it hath been declared unto me of you, my brethren, by them which are of the house of Chloe, that there are contentions among you. Now this I say, that every one of you saith, I am of Paul; and I of Apollos; and I of Cephas; and I of Christ" (I Corinthians 1:11, 12). He did not say, "the true Church among you are those who say 'I am of Cephas.' " Neither did he say, "the true Church among you are both those who say 'I am of Cephas' and 'I am of Paul'- the double foundation o' foolish Corinthians." Even those who saw themselves as separate because they were better than the others, those who said "I am of Christ," were rebuked by the Apostle for their divisiveness. Paul attributed all of this to childishness and carnality (I Corinthians 3:3, 4). The idea that these divisions were God's plan, or that one party should be favored as right, and the others condemned as wrong, was not considered by the Apostle. Nor would he consider it today.

But, current divisions into which the Church has been driven are historical, not the fault of anyone living, and they are beyond the power of anyone simply to remedy (therefore I said "partly" above). The Anglican view is that both Rome and Orthodoxy are the One True Church, and so are we. In fact, we agree with The Catechism of the Catholic Church where it says that everyone who is baptized belongs to the Church (I Corinthians 12:13). Division is not the plan of God, but he has provided what is needed for the salvation of each soul through the Church, nonetheless. Furthermore, the divisions exist even among members of the same Communions. In the United States each major city has Orthodox Churches of various jurisdictions, answering to different bishops under different Patriarchates. And, before anyone begins to crow triumphantly, let it be remembered that in addition to the Roman (as in Latin Rite) Catholic bishop, in any given city we find any number of Byzantine Catholic bishops (and often feelings of strife exist between the Byzantine Catholics and the Latin Rite, or Roman, Catholics). Nonetheless, people in these outwardly divided bodies, none of whom created this work of history, are part of the Body of Christ and belong to one Church. The Church Militant is visible, and, for the present, visibly divided.

Common Property
It was never possible, really, for the Gospel to be preached in all nations without the Church having within it differences of culture and language. Therefore, unity has had obstacles, some of them very sad. The division of the Coptic Christians from the rest of the Church as early as the Council of Chalcedon was not about real heresy, but about perceived heresy due to a simple, or rather complicated, misunderstanding of the Greek word, ὑπόστᾰσις (hypostasis). Differences of culture have also caused problems of misunderstanding. But, for the most part, the Church was unified for a thousand years, and only in recent decades (beginning in the 1960s) have the ancient Patriarchates of Rome and Constantinople approached each other in charity with a view to reconciliation. But, they remain divided.

Our common property, nonetheless, is the Apostolic Succession, both as an unbroken line of orthodox teaching, and as a sacramental link through our bishops to the Apostles and the Incarnate Christ, the Risen Christ Who breathed on them the Holy Spirit. This is the Tradition that includes all of our Scriptures with the key that unlocks their true meaning, the gift of the Holy Spirit. Our fathers died and were imprisoned during the persecution by the Empire, and they fought for the Faith once delivered to the saints (Jude 3) by defending and clarifying that Faith, seen most obviously in the Ecumenical Councils. They preached in times and places of peril to pagans of many tongues and strange customs, overcame opposition, and established the Church of Christ in many lands where demonic spirits demanded sacrifice to false gods, tearing down those shrines to build new holy places for the preaching of the Gospel and the administration of the sacraments.

The mark of the Holy Spirit is the revelation of Jesus Christ that we find as their collective teaching, and the Gospel that was the testimony of the Apostles and other martyred eyewitnesses. The teaching has its universal and complete uniformity of meaning because of the Holy Spirit, who creates unity of mind that cuts through all the chaos of human fallenness, across times and across continents. This is "what has been believed always, everywhere and by all" clearly and obviously in a way that defies the apparent disunity of temporary polities.

This is what we mean by "the Catholic Church" and "the Catholic Faith." It is our common possession.

2008-02-01

Book Meme

Here are the rules:

Pick up the nearest book of 123 pages or more. (No cheating!)
Find Page 123.
Find the first 5 sentences.
Post the next 3 sentences.

Uh-oh. The nearest book just happened to be something called The Holy Bible (Douay-Rheims Version)...

He that entereth into the house when it is shut, shall be unclean till evening.

And he that sleepeth in it, and eateth anything, shall wash his clothes.

But if the priest going in perceive that the leprosy is not spread in the house, after it was plastered again, he shall purify it, it being cured.

(From Leviticus XIV)

Life unworthy of life?

From The hermeneutic of continuity - speaking here of the UK specifically ... but coming soon (?) to a theatre near you & me, too:
John Smeaton has an shocking example of the depths to which debate is sinking on pro-life matters in the UK. (See Do we live in a civilised country? Draw your own conclusions) Baroness Meacher spoke in Parliament the other day to suggest that for two children she knew with cerebral palsy "It would be in their best interests to have been aborted." Baroness Tonge, clearly aware that it is not politically acceptable to call for the killing of disabled people, attempted to redefine the terms in a way that is eerily familiar:
"... we were not talking here about disabled human beings, but about some grossly abnormal human beings; many of those whom I have seen bear little resemblance to human beings."
I think it is apposite to quote in this context a sermon of Cardinal Clemens von Galen given in August 1941. The Cardinal speaks of the mentally ill but we know that those with cerebral palsy were also included in the programme which he condemned:
If it is once accepted that people have the right to kill 'unproductive' fellow humans--and even if initially it only affects the poor defenseless mentally ill - then as a matter of principle murder is permitted for all unproductive people, in other words for the incurably sick, the people who have become invalids through labor and war, for us all when we become old, frail and therefore unproductive.

Then, it is only necessary for some secret edict to order that the method developed for the mentally ill should be extended to other 'unproductive' people, that it should be applied to those suffering from incurable lung disease, to the elderly who are frail or invalids, to the severely disabled soldiers. Then none of our lives will be safe any more. Some commission can put us on the list of the 'unproductive,' who in their opinion have become worthless life. And no police force will protect us and no court will investigate our murder and give the murderer the punishment he deserves.

Who will be able to trust his doctor any more?
In those days, the RAF dropped copies of Von Galen's sermon among German troops. Perhaps they might drop some over the Palace of Westminster now?