Saturday, December 30, 2006

Book Log: How to Win the Culture War, by Peter Kreeft

This book is a clarion call to Christians in the West to fully recognize one of those truths of the Faith that is known, but often ignored, underplayed, or simply ignored: There is a war going on, we are in the midst of it, and the outcome of the war will determine the fate of individuals for all eternity. Kreeft issues a call to holiness, demanding that we as Christians recognize the reality of the conflict and work to life accordingly.

The book has an interesting structure. From the introduction:
To win any war, and ay kind of war, the nine most necessary things to know are the following:
  1. that you are at war
  2. who your enemy is
  3. what kind of war you are in
  4. what the basic principle of this kind of war is
  5. what the enemy's strategy is
  6. where the main battlefield is
  7. what weapon will defeat the enemy
  8. how to acquire this weapon
  9. why you will win
I strongly recommend this book

Tuesday, December 19, 2006

Baby Steps

Looking! I'm actually making a blog entry!

Today I was inspired by project over at LiveJournal encouraging people to write in a hand-written journal every day for the year 2007. This time of year I often become inspired to start fresh, make good on old unfulfilled resolutions, and finally start living life like I've been meaning to for about the past 25 years.

As the years accelerate as they speed by, I'm getting a little more leery of this inclination. It is not that I don't wish to improve. It is just that I am seeing that real improvement is harder than it used to be. Or, perhaps it is not harder, but I am gaining a clearer understanding of how hard improvement always has been.

This may sound discouraging, but it is actually somewhat freeing. It frees me from the obligations I may have felt in the past to take up every resolution for improvement that was presented to me. I know that it is simply not realistic to say that each day I'll pray for an hour, exercise 30 minutes, read some St. Thomas, spend quality time with each of my five wonderful children, innovate at work, fix up our house, do some serious writing, relax with Denise, eat 5 servings of vegetables, review the kids' homework, and have a vital and effective apostolate, all while preparing excellent Family Formation (that's Sunday school to the rest of the world) lessons, improving my chess game, and doing something to help bring peace and end poverty. (Yes, I've felt bad about not doing each of these at some time or another.)

Let's face it: When you're 41 and are putting any kind of consistent effort at all into living life well, you've already taken care of the easy stuff. The parts of my life that were amenable to straightforward change have already been changed. What's left takes work. The good news is that God gives the grace for the work. Also, God could (and I pray He will) step in with miraculous changes any time He wants to. But in the meantime, it's down to baby steps.

So, my baby step right now is to get back to some form of writing every day. Unlike the LiveJournal project, I'm not going to limit myself to a particular medium. But I'm going to try to write every day in either a blog, journal, essay, or letter. And, for now, I'm just going to resolve to do this until the New Year. I'm on vacation between now and then, and there is some chance, Lord willing, I might be successful.

ScrappleFace: Congress to Rescue Air America, Merge with NPR

ScrappleFace: Congress to Rescue Air America, Merge with NPR

Thursday, November 16, 2006

Posting From Google Docs


This post was written in Google docs. I will now post it to my blog. Did it work?


Monday, November 13, 2006

Posting by mail

This is a test of using the BlogMailr.com service to post to my blog via the mail.  It could be interesting.

This should be bold, italic and large.

This should be normal.

This should be a quotation block. I'll repeat it to get a larger block. This should be a quotation block. I'll repeat it to get a larger block. This should be a quotation block. I'll repeat it to get a larger block. This should be a quotation block. I'll repeat it to get a larger block. This should be a quotation block. I'll repeat it to get a larger block. This should be a quotation block. I'll repeat it to get a larger block. This should be a quotation block. I'll repeat it to get a larger block.

 
Have a great day, and God bless you!

-mark

--
"Do not accept anything as truth if it lacks love; and do not accept as love anything which lacks truth."
— St. Edith Stein

Monday, November 06, 2006

Book Log: Christianity and the Crisis of Cultures, by Joseph Cardinal Ratzinger

oNo time to comment on it now, other than to give it a hearty recommendation. It was very interesting to read it right after Postrel's The Future and Its Enemies. It corrects and fills in some of her vision for society.

Book Log: The Future and Its Enemies, by Virginia Postrel

What are the main dividing lines between people in our political landscape? To what major groups or divisions do we assign political actors and ideas? In 2006 America, the most obvious answers might be Liberal and Conservative, Left and Right, Democrat and Republican (and a few smaller parties). But in The Future and Its Enemies, Virginia Postrel makes an empasioned case that the most fundamental divide is between what she calls "stasists" and "dynamists".

Ms. Postrel argues that most contemporary U.S. political discourse is stasist. It see the current state of the country almost exclusively in terms of the problems it has, and seeks to find solutions. The defining characteristic of stasism is the desire for control. Stasists feel that things are out of control, and someone must do something to bring order.

[Stasists] will see contemporary life as a problem demanding immediate action by the powerful and wise. This relentlessly hostile view of how we live, and how we may come to live, is distorted and dangerous. It overvalues the tastes of an articulate elite, compares the real world of trade-offs to fantasies of utopia, omits important details and connections, and confuses and devalues the creative minds on whom our future depends. And it encourages the coercive use of political power to wipe out choice, forbid experimentation, short-circuit feedback, and trammel progress (pg. xviii).
I would like to add some actual commentary on the book, but that will have to wait.

Monday, October 30, 2006

Picasa Photo Albums

This is a test of how one might embed photos from Picasa's web albums into one's blog.

Thursday, October 26, 2006

OOPSLA 2006: Day 3, Thursday, October 26

Today I attended a tutorial on Python, a talk, and some papers.

The best part of the day, by far, was the talk by Martin Rinard from MIT. He described an experiment in what he deemed "Failure Oblivious" programming. The standard approach for dealing with discovered errors in code is that programs should fail early obviously when they run into an error. He described an experiment that took the opposite approach: instead of having programs fail early, have them not fail at all.

His group took several open-source programs with known errors and changed memory allocation and pointer schemes so that they could not fail. If the system tried to read outside of an array boundary, it would just return a manufactured value. If it tried to write outside of the boundary, it would just not write.

The result was that the programs did not fail. They would hiccup on the input data that ran across the error, but they would then chug along just fine after that. Rinard's contention is that, for many contexts, this is far preferable behavior to the current practice of throwing exceptions and killing the application. For one, people use very small percentages of the features of most programs. Often the user would prefer to keep using the other features in an application even if one of them starts giving them trouble.

I would very much like to do some more reading on this area. It would be fun to do some experimentation with this approach.

Wednesday, October 25, 2006

OOPSLA 2006: Day 2, Wednesday, October 25

Today I went to a keynote address, a product demo, then a half-day tutorial.

The Keynote: By Guy Steele, gave an overview of a new language that he and his team are developing at Sun. The language is named "Fortress" and focuses on parallelism, and extensibility. Some years ago, he gave a keynote at OOPSLA advocating the position that languages must be grown gradually since they have become too complex to designed completely up front. Fortress approaches this by making the language itself fairly low-level in some ways, with much of the functionality (like a lot of the type system) that is normally part of the compiler actually part of the libraries. Programmers will be able to provide libraries that enhance operators and types, as well as provide alternative implementation of standard library functions.

Another really interesting aspect of this language is that there are facilities in the language itself for keeping track of components and versions of components in use. It sounds like some sort of SCM system built-in.

The tutorial: A kick-start for "Ruby on Rails". It was fun to actually do some programming this week after spending several days now listening to how other people have been developing software.

Tuesday, October 24, 2006

OOPSLA 2006: Day 1, Tuesday, October 24

It was a full day. Here's the rundown:

After morning Mass, played a couple of games of chess at Starbucks.

Wandered through some of the book displays and posters.

Demo: Bringing Ownership Domains to Mainstream Java
Method to annotate object elements to ensure, among other things, consistency regarding encapsulations.

Demo: WebTest
Tool for testing web applications. This looks like a really impressive open-source web testing tool. You can check it out here.

Demo: Enhancements to refactoring tools in Eclipse
A project to make it easier to perform some refactorings in Eclipse. It did provide me with an immediately useful tip: In Eclipse, you can quickly build up a selection by hitting Shift-Alt-Up. If you start with the cursor on a word, it is selected. Hit Shift-Alt-Up, and the expression is selected. Hit it again, and the statement. Again, the block. Again, the enclosing block, working all the way up to the file itself. Very cool.

Took the train into Downtown for lunch.

I also went to presentations of three research papers:
  • Research Paper: Pluggable Type Systems
  • Research Paper: Design fragments Make using Frameworks Easier
  • Research paper: JTL - Java Tools Language. Language used to help search Java code, even within Java.
The second one was extremely interesting and I think could be applied directly in a project at work.

It is amazing what a difference a presentation makes. I had glanced through some of these papers beforehand, but the presentation was really required in order to make sense of the context in which these techniques would be useful.

The final event I attended was an experimental art-thingy. It was good, because my brain was basically full. Each of us was given a large piece of paper and some pens. We were the told we would be listening to 43 minute of music by The Necks. As we listened, we were to draw a continuous line with our pens and basically let the music direct what appeared on the page. Our drawing was then filmed. The director of the project will make a time-lapse video of the drawings from several sessions like this and then show it Thursday evening. The music was interesting to a degree, but definitely from the "art should hurt" school.

Drove around, did a little shopping, came back to the hotel and watched the World Series game 3 while eating dinner.

Monday, October 23, 2006

OOPSLA 2006: Day -1, Monday, October 23

Went to two tutorials today. The first was on code generation. It was mildly interesting, but probably could have been about half as long.

The second was on an extension to the Java language called "X10". It is meant to help Java application developers take advantages of massively-parallel system. It was extremely interesting and could have been twice as long. (Ok, I would have gotten fatigued if it was twice as long. But they had enough good material to have a second session if they had so wished.)

Sunday, October 22, 2006

OOPSLA 2006: Day -2, Sunday, October 22

DesignFest

Today was a full day session of DesignFest at OOPSLA. We worked as a group of four designers plus a moderator. We tackled the basic design for a system to keep track of the ratings of players at a racquetball club.

It was an interesting problem, and team members came at it from several different directions. One profitable, although somewhat painful, exercise came from the fact that we could not agree on the basics of part of the design. So, we ended up doing three version of the design, looking at the sequence of calls for one of the main use cases. This was a rather intense experience, and somewhat draining. But it did really illustrate the value of being willing to take a design down to some detail, then backtrack, start again, and see where a different design will take you. Until you do that, you may have an intuitive idea of what will and wont work, but it won't be firm. After you do this, the strengths and weaknesses of the different designs are much more concrete.

Not really knowing what to expect, I had expected that there might be more of a component of either explicit mentoring or competition involved in DesignFest. I had hoped that a really senior person could critique what we did. But DesignFest really was simply an opportunity to get together with a group of strangers and work for a day on the design of a program.

OOPSLA 2006: Day -3, Saturday, October 21

Today was spent at a "Patterns Boot Camp," meant to give us a thorough introduction to design patterns and, more importantly, the "Patterns Community".

The focus on the day was not on a specific pattern or set of patterns. Rather, it was on what makes up a pattern, why patterns are so darn useful, and what sorts of characteristics are used to distinguish between good and bad patterns.

I was surprised to find that there are people out there who are willing to act as "pattern shepherds", working with pattern authors to help patterns become clearer and more effective.

My two main new insights from the boot camp:
  1. Patterns are really supposed to be documentation of proven solutions. One of the guidelines they gave us was to not use patterns to document our own ideas. A "real" pattern is one which has been shown to work effectively in the real world. Patterns are not about originality or uniqueness. Rather, they are about capturing what experts know to be true in a way that can be communicated to others.
  2. Patterns can be written for just about any domain. Patterns were developed originally by Christopher Alexander (an architect) and enthusiastically taken up by software developers. But there is nothing to say you could not write patterns for many other areas of human endeavor. (What might be some patterns for growing in the spiritual life, or raising a healthy and happy family?)

OOPSLA 2006: Day -4, Friday, October 20


Today I flew into Portland, OR for OOPSLA 2006. OOPSLA, as you are doubtlessly aware, is an acronym for "Object-Oriented Systems, Programming, Languages, and Applications". It is a conferences for computer-geeks of both the academic and professional variety.

As we descended for landing, I caught a glimpse of what I believe to be Mt. Hood out the window.

Thursday, August 31, 2006

Flickr

This is a test post from flickr, a fancy photo sharing thing.

Friday, August 18, 2006

Blind Art Guards


Davey!
Originally uploaded by ThunderWeasel.
Warning: This is one of those "kids say the darndest things" posts which parents find irresistibly endearing, while others simply find them (at best) mawkish. If you have a tendency to be annoyed by such charming anecdotes, don't read the rest of this post. (And don't click on this link!)

You have been warned.

My oldest son, David, is not, shall we say, enamored of dogs. He has always liked them from a distance---preferably a long distance. When dogs come near, he goes far. He finds them intimidating. Things are getting better these days, but large dogs still leave him pretty nervous.

He has been quite impressed, however, with the idea of seeing-eye dogs. He really likes the fact that they can help blind people with various tasks in life. Encountering such dogs, in fact, has helped him to get over some of his fear of dogs in general.

He was also recently impressed with the guards at the Minneapolis Institute of the Arts. We were there, looking at paintings, and in just about every room there is a guard who kept a polite but very watchful eye on the many jewels of human creativity on display. Whenever someone (usually a child) started to get too close to a picture, the guard would quickly move into position and ask the patron to step away.

A child's mind is always processing the world, and David's found what I think to be a unique insight derived from these two recent impressions. After our museum visit he told me something to the effect, "Blind people would make good guards at the art museum because they have dogs that could chase people away from the pictures."

Wednesday, August 16, 2006

Strange Logic in the Lebanon War - article by Daniel Pipes

In this article Daniel Pipes picks up on an interesting historic reversal in the way warring parties wish to be perceived both by their own citizens and by their enemies.

Referring to how both Israel and Hezbollah try to highlight the damage each has received:
But this phenomenon of each side parading its pain and loss inverts the historic order, whereby each side wants to intimidate the enemy by appearing ferocious, relentless, and victorious. In World War II, for instance, the U.S. Office of War Information prohibited the publication of films or photographs showing dead American soldiers for the first two years of fighting, and then only slightly relented. Meanwhile, its Bureau of Motion Pictures produced movies like "Our Enemy Â? The Japanese," showing dead bodies of Japanese and scenes of Japanese deprivation.

Proclaiming one's prowess and denigrating the enemy's has been the norm through millennia of Egyptian wall paintings, Greek vases, Arabic poetry, Chinese drawings, English ballads, and Russian theater. Why have combatants (and their allies in the press) now reversed this age-old and universal pattern, downplaying their own prowess and promoting the enemy's?

Because of the unprecedented power enjoyed by America and its allies. ...

Saturday, August 12, 2006

Book Log: Deep Conversion Deep Prayer, by Thomas Dubay, S.M.

Book Log: As I Lay Dying, by Richard John Neuhaus

Book Log: Five Loaves & Two Fish, by Francis Xavier Nguyen Van Thuan

The memoir of a bishop who was imprisoned for years in North Vietnam. An amazing, amazing book.

This bishop reveals in very simple language a stunningly powerful faith that survived amidst "reeducation" in the camps. The simplicity of it is remarkable given the sophistication of the mind that produced it.

He had been seeking a way to share Jesus with his guards, when he was approached with a request to help the guards understand ecclesial documents better. (The government was afraid of the Church and wanted to be able to monitor its teaching.) This is what followed:

[Speaking to a guard.] "...I propose writing a dictionary of religious terms, from A to Z. When you have a moment, I will explain it to you. I hope that in this way you can better understand the structure, the activities, the history and the developing of the Church..."

The police gave me paper on which I wrote out my dictionary of 1,500 terms in French, English, Italian, Latin, Spanish, and Chinese, with the definitions in Vietnamese. Thus, with these definitions, my responses to their questions about the Church, as well as my acceptance of their criticism, this document gradually became a "practical catechism."
Yet, for all of his tremendous learning, the message of this book is one of simple surrender, filling each moment with the love of Jesus.

Saturday, August 05, 2006

I can't help it if my faith leads to rational thought

Commenting on the debate around President Bush's first veto, Joseph Bottum writes:
FIRST THINGS: On the Square: "This claim that because religious believers hold a position, there are only irrational reasons to hold it?is just too useful to certain segments of the commentariat, for it invalidates in one fell swoop whole classes of public argument. ... I wonder if the people who push this line have ever actually considered how dangerous it would be to win it? Do they really want to convince the large majority of Americans who are religious believers that their faith is incompatible with democratic politics? Do they think that people will, as a result, give up on their faith, or give up on their democracy?"
Do read the whole article. It is quite worthwhile.

Sunday, July 23, 2006

Post Something!

I decided tonight that I need to post something, even if it is less than impressive. So hear it is. You really should stop reading now since this being written largely to break a log-jam in my writing.

There are several topics I've been thinking of exploring:
  1. Book logs on some books I've started but not finished;
  2. Abortion and the flight from reason;
  3. The parallels between slavery before the Civil War and abortion now
Well, this is not much of a log-jam break, but it is a start.

Wednesday, May 17, 2006

Book Log: "Thomas More: A Portrait of Courage"

Book Log: "Lean Software Development, An Agile Toolkit"

Our reading group at work recently finished Lean Software Development, An Agile Toolkit by Mary and Tom Poppendieck.

There are several things I really like about this book:
  1. Its thinking is clearer than most. The Poppendiecks make sharp distinctions between principles, tools, and practices. (More on this will follow.)
  2. It presents an Agile approach without demanding that one follow all tenets of Extreme Programming (such as pair programming).
  3. It recognizes that in the past it has been a mistake to think of software development as being roughly analogous to manufacturing. Creating custom software is not very much like assembling cars within a factory.. Software development is much closer to product development, much more like the work that goes into designing the car in the first place. Principles (not necessarily techniques!) that work well in product design can have a much more straightforward application in software design.
  4. They specifically address the needs of safety-critical software, talking about how to apply these principles in environments that are heavily regulated or where a software failure may endanger lives.
The book does suffer at times from and affliction common to this genre: over-enthusiasm. There can be a sense that all we need to do is follow what they say and all will be well. But, for the most part, the authors provide reasonable, realistic guidance for those looking to improve the way they go about creating software.

Now that we have the overview, let's look at the meat of the book: Agile principles. There are seven Agile principles which should govern a group's software development process:

  1. Eliminate Waste
  2. Amplify Learning
  3. Decide as Late as Possible
  4. Deliver as Fast as Possible
  5. Empower the Team
  6. Build Integrity In
  7. See the Whole

A chapter is devoted to each principle. In each, the principle is described, examples are given from both product and software development, and a number of "tools" are suggested as ways to apply the principle in software development.

The principles are valid within any development effort, software or otherwise. For example, a good process will always seek reasonable ways to eliminate waste. In product development and manufacturing, waste may include scrap material that does not end up in a product. In software, the definition of "waste" will include things like partially done work, extra processes, extra features, waiting,
etc.

It is very important to keep the distinction between principles, tools, and techniques in mind. Principles must be reasonably applied to a given environment. The authors put it quite well: (pp. 179-180)
  • Eliminate waste does not mean throw away all documentation.
  • Amplify learning does not mean keep on changing your mind.
  • Decide as late as possible does not mean procrastinate.
  • Deliver as fast as possible does not mean rush and do sloppy work.
  • Empower the team does not mean abandon leadership
  • Build integrity in does not mean big, upfront design.
  • See the whole does not mean ignore the details.

One team's prescription is another team's poison. Do not arbitrarily adopt practices that work in other organizations; use the thinking tools in this book to translate lean principles into agile practices that match your environment.

I strongly recommend this book.

Friday, April 07, 2006

Totalitarianism: It isn't just for Mussolini anymore

FIRST THINGS: On the Square: "Everything within the state, nothing outside the state, nothing against the state."

Thursday, March 16, 2006

I Command my Ship with an Iron Fist

Picard
Jean-Luc Picard. You command your ship with an

iron fist and the children love you. Bah!!!

Humbug!! KIDS!!! >_<


Which Star Trek Character Are You?
brought to you by Quizilla

Thursday, February 23, 2006

We need to wake up!

Michael Novak provides some very insightful commentary on a grossly under-reported event in Iraq this week.

Thursday, February 02, 2006

Book Log: "Happiness and Contemplation" by Josef Pieper

What is man's greatest good? What is the source of deepest happiness? Is it the same for all people, or is it impossible to say that there is a greatest good, a greatest happiness that would apply to everyone?

Josef Pieper explores these questions by explaining and defending St. Thomas' doctrine that contemplation is the deepest happiness of Man.

"Contemplation is man's greatest happiness" is a concept completely foreign to contemporary American society. It requires a fair amount of exploration and explanation just to understand what the statement is actually asserting. Because we tend to focus so strongly on action, and view contemplation as "doing nothing," we are very apt to completely miss St. Thomas' point.
To contemplate is, at the deepest level, to see something as it truly is. It is not just seeing the external characteristics of an object, but in a sense it is "seeing through" the object to the Love and Joy of the Creator of the Universe. To contemplate is to dwell in the reality of things.

My description falls far short of providing any real clarity. For that, I refer you to Josef pipers book. It is short and accessible and rewards a careful reading.

Some choice quotes:

Quoting Augustine: "No matter how much you labor, you labor to this end: that you may see."

"...everything holds and conceals at bottom a mark of its divine origin; that one who catches a glimpse of it 'sees' that this and all things are 'good' beyond all comprehension; and that, seeing this, he is happy. Here in sum is the whole doctrine of the contemplation of earthly creation." [pg. 88]

"This, incidentally, may suggest that the greatest menace to our capacity for contemplation is the incessant fabrication of tawdry empty stimuli which kill the receptivity of the soul..." [pg. 102]

Saturday, January 07, 2006

Book Log: Self-Renewal: The Individual and the Innovative Society, by John Gardner

John Gardner looks at what appears to be a universal progression for both individuals and societies: birth -> growth -> decay -> death. While granting that no one and no society exist forever, he explores what is it that makes some people and groups seem to decay at a much slower rate than others. Is there anything that can be done to slow or reverse decay?

Renewal is the reverse of decay. It is the bringing about of new and more vibrant life. Gardner systematically looks at habits, customs, societal structures and beliefs that contribute to renewal or decay.

While none of the individual aspects of renewal that Gardner explores are particularly earth-shaking in and of themselves, there is a powerful synthesis generated by looking at them in a systematic manner. I find that I have never really given much explicit thought to renewal itself.

Gardner is very good at providing a nuanced and balanced look at his topic. I felt the last chapters dealing with attitude towards the future and moral decay and renewal to be particularly insightful and inspiring.