Monday, December 17, 2007

Rich Rodriguez: Bye.

Rich Rodriguez has officially gone from being West Virginia's most beloved son to West Virginia's most despised son.

Last year he said he would retire at WVU if he could have it his way. Guess what he's saying now about University of Michigan...

He has not finished the job at WVU. We haven't won a national championship. Actually, we haven't even gone to one with Rodriguez yet (Nehlen took us there in 1989). To me it appears that he's leaving just when things are getting good, for both the team and the conference.

What kind of person just quits their job without even bothering to tell their boss? It's not like he's exactly flipping burgers here. He didn't even give WVU a chance to match Michigan's offer! WVU has made extraordinary efforts to make Rodriguez happy all year long, and this is how he repays us.

If Rich Rodriguez was an honorable man, he would've done all he can to preserve the program. Instead, he's done nothing but burn bridges.

To top it all off, he's taken the nation's number one recruit with him!!

Rich Rodriguez was a good coach, but he wasn't the best we've ever had, or ever will have. WVU has a long tradition of good coaching. Remember Doc Holliday? He's been working with Urban Meyer in Florida for the past couple years, and before that N.C. State. Of course, Terry Bowden needs no introduction, and would certainly be welcome back to his alma mater, as would Jimbo Fisher, another native son. The list goes on, and is actually a pretty exciting list.

I hope Richie Rich learns some class while he's up in Ann Arbor. I don't wish ill on him, but I'm definitely bitter. He's shown a lot of immaturity over the past few days. It's disgraceful, in my opinion. Some people never learn how to handle these kinds of situations gracefully because they're just not capable. Some do, but it takes years. Rich Rodriguez is 44 years old. I expected more from him, but now that I've seen his true colors, I'm looking forward to a new head coach.

Friday, December 14, 2007

Upromise Online Shopping

If you're not familiar with Upromise, and you have kids in your family (immediate or extended), you should be. It's quite simple really... you shop with participating merchants, and they donate a percentage of your purchase price to your designated beneficiaries' college funds. Yes, seriously!

It's easy to set up. First, you sign up at, and register your credit cards with them so that certain purchases, like when you buy fuel at Exxon or Mobil, automatically produce money in your Upromise account.

Second, always shop online through the Upromise website. Just use them as a gateway. This is where you get the best results. They have forged partnerships with hundreds of online merchants, including most of the big ones. Just look here!

All you have to do is click through the Upromise website to start shopping, and your purchase will produce a donation from that merchant for your little cousins, or nieces and nephews, or sons and daughters!

The best part of all, in my opinion, is that if you're like me, you use your rewards card for all your purchases, so you're really making out like a bandit every time you purchase something online. 5% cash back plus 5% to the kids' college funds... how can you not love that!?

OK, the only drawback is that the whole online shopping thing results in freight, which contributes to global warming... so I need to balance out the sin by making an extra effort at recycling, or not driving somewhere unless it's absolutely necessary for a few days.

Friday, December 07, 2007

F*** Christmas

Eric Idle... instant classic

Go tell the elves to fuck themselves, it's Christmas time again.


Thursday, December 06, 2007

Southern Evangelical Christians

I just read this in an AP article on

"I don't think his Mormonism is a deal breaker for most Americans, but only Mitt Romney can close the deal," Richard Land, president of the Southern Baptist Convention's Ethics & Religious Liberty Commission, told ABC's "Good Morning America." Asked directly if he thought Mormons were Christians, Land said, "No, I do not."

What!? Why do evangelical "Christians" not understand the meaning of the word Christian? If someone accepts Jesus Christ is the Lord and Savior of all mankind, then that person is a Christian. It's as simple as that.

Seriously, how can a people so exclusive and intolerant consider themselves Christian? I mean, let's take a look at some facts here...

Southern Evangelical Christians

Of course, not all Southern Evangelical Christians are the same, and I'm sure there are many good people in that group who critically analyze their internal belief system. In fact, some of my best friends are Southern Evangelical ... yadda yadda. Let's have a look at some of the social policies broadly supported by that group:
  1. They oppose abortion, but they support capital punishment. How can a person justify killing another person and still call themselves a Christian?
  2. They support WAR. How can a Christian support a WAR, particularly one that is preemptive? Jesus Christ taught forgiveness and tolerance. He was essentially a pacifist. He taught his followers to turn the other cheek. How can a person who calls himself or herself a Christian advocate or participate in a war?
  3. They refuse to accept the mountain of scientific evidence supporting the fact that human beings are primarily responsible for global climate change, which is destroying many of the Earth's habitats. How can a Christian, Muslim, or Jew, or anyone who believes God created Earth, believe that it's OK to continue trashing His creation? Aren't we morally obligated to do everything in our power to preserve the beauty and diversity of this planet? I mean let's go ahead and look past the point that it's actually a matter of survival.
The contradictions underlying the Southern Evangelical Christian movement are glaring. I don't understand how a person could call himself or herself a Christian and then turn around and advocate a policy that involves murder.

If I were trapped in a world where murder, greed, and destruction ruled the day (not saying those things rule this world, I'm more optimistic than that, but for hypothetical purposes...), and I had the ability to go back in time and actually pick the foundational spiritual leader for a large segment of that world's population, I would want to pick one who advocates peace and forgiveness. Well, lookie here! Christianity is the most popular religion in the world, and Jesus Christ preached tolerance, peace, and forgiveness! So how is it that many many people who call themselves Christians, and go to church every Sunday, are only helping to perpetuate murder, greed, and destruction in the social policies they support?

The only answers I can find to these obvious and frightening contradictions are explained in a book called The Authoritarians, by Bob Altemeyer. It's freely available online. In it, he explains, scientifically, why members of the "religious right" advocate leaders who have selfish, destructive tendencies. It's an extremely worthwhile read. Very enlightening.

Saturday, December 01, 2007

Big sucking sound...

I will never allow myself to become so excited about a football game again.
I will never allow myself to become so excited about a football game again.
I will never allow myself to become so excited about a football game again.
I will never allow myself to become so excited about a football game again.
I will never allow myself to become so excited about a football game again.
I will never allow myself to become so excited about a football game again.
I will never allow myself to become so excited about a football game again.
I will never allow myself to become so excited about a football game again.
I will never allow myself to become so excited about a football game again.
I will never allow myself to become so excited about a football game again.
I will never allow myself to become so excited about a football game again.
I will never allow myself to become so excited about a football game again.
I will never allow myself to become so excited about a football game again.

Never again.
Never again.
Never again.
Never again.
Never again.
Never again.
Never again.

Never again.
Never again.

Tuesday, November 13, 2007

Programming as a Craft

Programming a computer is a skill many claim but few can actually do well. Like making fine furniture or fine clothes, creating a good program requires significant practice, knowledge, imagination, and skill. Programming is a modern craft, and to be a good programmer requires that you be a good craftsman.

I've been studying woodworking and the fabric arts, and I've discovered that being a craftsman in both of those disciplines requires a similar set of personal skills, attitudes, and perspectives. In fact, any handicraft would presumably require these same mental possessions, and a brief study of the Wikipedia list of handicraft trades confirms that. Each of these trades requires specialized knowledge of techniques and tools, best practices, a knowledge of the trade's history and the evolution of its products, an attention to detail, an eye for balance (or an abstract sense of balance) and proportion, etc.

A fine craftsman can see, either literally, or in his/her head, the perfection of a product's design. It's what words like symphony and concinnity describe. A beautifully crafted garment, like a beautifully crafted table, speaks to you, moves you like a powerful song or a poem. Of course to appreciate an abstract system such as a computer program in such a way, a person would need to have some knowledge of algorithms and discrete mathematics (perhaps you do already, but you don't label that knowledge with words like "algorithms" or "discrete mathematics"... it really all comes down to tools for working in logic).

You can be sure that all of the handicraft trades are practiced by a broad range of talents, from those who know little, but are not required to know much to produce a specific model or style of product for their market, to those who work purely as artists or perfectionists with no limits or expectations on their products, and everyone in between. The field of computer programming is likewise populated with a broad range of talent.

Most people I talk to have no idea that programming requires creativity, but it absolutely does. If you ask a person to build a box to hold something, think of the vast array of boxes that could be produced that would hold that thing, but some of them are beautifully crafted, durable, easy to use, perfectly fitted, and a pleasure to behold, while others are perfectly functional, but downright ugly, and still some may seem like they're barely glued together properly. Likewise a program can be beautiful or disgraceful.

Consider the user interface. Is it easy to use? Is it efficient? Is it free of bugs, reliable, able to withstand malformed input, always producing exactly the result you expect? Or is it kind of heinous looking, leading you to obscure screens that make no sense, sometimes not responding at all, and breaking if you don't do something just right?

Consider the longevity of the program. If the program was properly designed, it would be easy to improve, either by the original programmer(s), or a new person or persons who you have selected to handle the modifications. Computer programs are written in specialized programming languages. If they're well-written, they should be easy to follow by a programmer trained in that language. The functions and algorithms employed should demonstrate efficiency and simplicity. The program's structure should be well organized and documented. These things are invisible to the end user, but like superior joinery in a piece of furniture, or impeccable stitching in a fine garment, these things are what makes the program work properly, and poor attention paid to these details can ruin the whole work.

It is shocking to me how few people that call themselves programmers, and are paid to write computer programs, actually demonstrate good craftsmanship. Like Mr. James Krenov said so well in his book The Impractical Cabinetmaker, some people are paid for their quantity, not their quality, and so that is how they survive. There's a need for quick hacks just like there's a need for well composed systems. However, there seems to be a preponderance of hacks out there. Many programmers today are lazy. They don't take pride in what they produce, they just produce to meet a deadline and go home. I guess every trade has that, and maybe I only see it as a preponderance in programming because I work in the the early 21st century IT industry, where so many people have been pushed in to quickly learn how to do something well enough.

Thursday, November 01, 2007


I've been reading an English translation of Rousseau's Confessions. It's an autobiographical work by a well known philosopher named Jean-Jacques Rousseau. I have not made it very far yet, and I've already stumbled onto one of those phrases that's so good it just makes you draw back and try to frame your own life in it to see if it fits.

To put the phrase in context, he writes for several paragraphs about his contempt for money, especially his inability to find anything but discomfort in spending it, and its nature of corrupting that which he attempts to obtain with it. He writes:

Money in one's possession is the instrument of liberty. Money one pursues is the symbol of servitude. That is why I hold fast to what I have, but covet no more.

Tuesday, October 23, 2007

Covenience of the Modern Age

I just have to send a shout-out to the convenience this networked world has just provided me...

I need a new set of tires for my WRX. It's currently riding on a set of Cooper Zeon 2XSs that have about 1/64" of tread left. So, online I go, to look up a good set of tires...

And within 15 minutes, I know exactly what I want: Goodyear Assurance TripleTred 205/55 R16 89H. They are a very highly rated all-season tire that looks great, and comes with an 80,000 mile tread warranty. I also have two quotes, from Tirerack and Tires-Easy, including shipping. So, off I go to Dobbs (which is about 100 yds away from my office), to negotiate a price. 10 minutes later, I have signed an outstanding deal that essentially amounts to $150/tire, mounted, aligned, balanced, and fully insured. The car will be ready by the time I'm ready to go home.

Within 30 minutes of making the decision to get a new set of tires, I've fully researched my options, and my car is on the rack, getting exactly what I want, for a reasonable price. Throw in an extra 5 minutes to blog about it.

Thursday, October 18, 2007

Resi's Visit to STL

When Resi Stiegler came to St. Louis last week, she took some time to stop by Northwest Coffee in Clayton and visit w/the Hidden Valley Ski Team. She was a totally cool, very down to earth person. She had no trouble fitting right in, actually. Aside from the fact that she had an entourage, she was just one of us racers!

The World Cup opener at Solden is coming up at the end of the month, so she's getting ready to start the new season. She's only 21 years old (turns 22 in Nov.), and she's already collected top 10 finishes in three World Championships, and two top 15 finishes at the 2006 Olympics. She has several top 10 finishes on the World Cup ciruit, last year nearly cracking the top 3 with a 4th place finish at the super combined in Altenmarkt-Zauchensee. This could be the year!

Man, just look at me... I'm such a nerd with my stupid pager poking her in the side. Well, you can tell she's a person of the people. She didn't even complain. If you want to see the rest of the pictures, I've posted them here.

Good luck this year, Tiger!

How to batch resize images from the command line

I just discovered this little gem of information... If you have the Imagemagick tools installed, you can use the mogrify tool to resize a bunch of images at once. For instance:

# mogrify -resize 70% *.jpg

This tip adapted from the original tip found here.

Thursday, October 11, 2007

Woodworking Lesson Learned

Over the past few months, I have come to the following conclusion about woodworking...

Rule 1: Creating parts with straight, flush angles is 50% of the craft. If you can not cut boards with precision, you cannot create quality work.

You must be able to cut a board's length square to its width, while keeping the side square to the face. Likewise, you must be able to cut a board's width square to its length, and make its faces square to its sides, etc. This all sounds quite trivial, until you try to do it. If your tools are of poor quality, you will find it is nearly impossible to keep the tool calibrated long enough to make a clean, square, or correctly angled, cut.

If you cannot calibrate your tools to the proper levels of precision, or it takes you 10... 20... 30 minutes to do so, you will probably never find pleasure in this art, because you will be wasting all of your time trying to make proper cuts, and wasting wood, instead of actually building something.

Tuesday, October 09, 2007

Iraqi Civilian Deaths

Have you ever noticed that most articles about the war in Iraq never fail to mention the number of American deaths due to the war, but they never report the number of Iraqi deaths?

The most sickening part is that the number of Iraqi civilian deaths is wildly disproportionate (on the high side) to the number of military/security forces deaths.

For example (just the three most recent CNN articles):

I did find a website that is tracking the number of reported civilian deaths, which is at least something:

The numbers are staggering. Below is an embedded Javascript counter that has the current totals.

Note we're just talking about Iraqi civilians here. Regular people in their cars, at their desks, in their houses, on the sidewalk. These are the people that are taken out by suicide bombers, snipers, insurgent gangs, and, of course, by collateral damage due to war. According to this article, that last cause may be more significant that you would think.

Note also that the current upper number (81,556) is about 27 times the number of people we lost in 9-11. Twenty Seven. As if what happened on 9-11 happened 27 times.

Before the age of mass communications, mass media, and relatively cheap and abundant international air fares, it may have been easier to dismiss some distant country's civilian population as "the enemy". However, to think that way today would take some kind of horrific, evil arrogance, and to boot some kind of effort in blinding oneself from the incontrovertible evidence that all humans on this Earth are in fact people.

Every modern country has their working class, their bourgeois, and their upper-class. Some countries may be run by a psychotic villain, and others by seemingly incompetent nincompoops, but regardless of the "leadership" that somehow found power, the people that live in other countries around the world are workaday folks, just like you and me. I don't see how anyone could turn their backs on such a flagrant atrocity as what's going on in Iraq today.

President Bush and his minions should be tried in an international court for crimes against humanity. I'm sickened that so many innocents are dying, and my country's image is being dragged through the shit because of these despicable, greedy, self-righteous warmongers.

That's right, the whole premise for going to Iraq is bullshit. Weapons of Mass Destruction. Whatever. It was about Oil. It was about using Iraq as a rallying point for terrorist activity to keep it off of our own soil. It was about killing Saddam Hussein. It was about showing off American military power (kind of fucked that one up). What else?

Under Clear, Cool Skies

Sometimes when it's clear at night, and there's only a delicate, scattered veil of cirrus clouds that stars shine brightly through, I wonder how anyone could think it isn't the creation of God. And with so much horror in the world today, how could anyone in their right mind not be desperate for peace?

Friday, October 05, 2007

How to Migrate rootvg from EVMS to LVM2

I have been using EVMS to manage my Gentoo Linux box for the past few years, primarily because its LVM and RAID features were integrated, but now that it appears EVMS is not going to be accepted by the community at large, and mdadm has emerged (dramatically improving the manageability of Linux software RAID), and LVM2 has seen significant improvements in functionality, I'm ready to migrate to a more standard configuration: LVM2 VGs on Software RAID partitions.

This procedure is what I used to upgrade from a single 36GB SCSI drive that hosted my /boot, swap, and root VG via EVMS to twin mirrored 36 GB SCSI drives using LVM2 and Software RAID...

The original 36 GB drive in this procedure started as /dev/sda,...

0) Shutdown
1) Install the new pair of disks as sdb and sdc
2) Boot (ideally into single user mode, so your file systems will not be trafficked while you're copying data from the old ones to the new ones)
3) Partition sdb and sdc to the following:

Disk /dev/sdb: 36.4 GB, 36420075008 bytes
255 heads, 63 sectors/track, 4427 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 8 64228+ fd Linux raid autodetect
/dev/sdb2 9 73 522112+ 82 Linux swap / Solaris
/dev/sdb3 74 4427 34973505 fd Linux raid autodetect

4) # mkswap /dev/sdb2
# mkswap /dev/sdc2

5) You may need to create md devices first before this creating the arrays with this next step, depending on how old your version of mdadm is, but in later versions it automatically creates them for you. If you do need to, mknod /dev/md0 b 9 1; mknod /dev/md1 b 9 2

# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
# mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdb3 /dev/sdc3

6) The name rootvg is already in use by my original root VG, so I named the new one rootvg2. The name can be changed later, so it doesn't really matter what you call it.
# vgcreate rootvg2 /dev/md1

7) # lvcreate -L 1GB -n root_lv rootvg2
# lvcreate -L 1GB -n tmp_lv rootvg2
# lvcreate -L 2GB -n var_lv rootvg2
# lvcreate -L 10GB -n usr_lv rootvg2
# lvcreate -L 11GB -n games_lv rootvg2
# lvcreate -l 2138 -n foo_lv rootvg2 # <<-- notice 2138 is the total remaining extents in the VG

8) # mkfs.ext3 /dev/rootvg2/root_lv
# mkfs.ext3 /dev/rootvg2/tmp_lv
# mkfs.ext3 /dev/rootvg2/var_lv
# mkfs.ext3 /dev/rootvg2/usr_lv
# mkfs.ext3 /dev/rootvg2/games_lv
# mkfs.ext3 /dev/rootvg2/foo_lv

9) Mount the new file systems and copy over the current rootvg's data to the new FSs
# mount /dev/rootvg2/root_lv /mnt
# mount /dev/md0 /mnt/boot
# mount /dev/rootvg2/usr_lv /mnt/usr
# mount /dev/rootvg2/var_lv /mnt/var
# mount /dev/rootvg2/tmp_lv /mnt/tmp
# mount /dev/rootvg2/games_lv /mnt/usr/games
# mount /dev/rootvg2/foo_lv /mnt/foo
# cd /
# tar -clvf - . |(cd /mnt; tar -xf -)
# mount /boot
# cd /boot
# tar -clvf - . |(cd /mnt/boot; tar -xf -)
# cd /usr
# tar -clvf - . |(cd /mnt/usr; tar -xf -)
# cd /var ... (etc.)

10) Because udev won't be active on your new root when you boot, you actually need to populate the new root's /dev directory with some rudimentary devices.
# cd /mnt/dev
# MAKEDEV std consoleonly fd md hda hdb hdc hdd sda sdb sdc sdd

11) If you don't already have one, you need to create an initrd image to boot with that will load both md and LVM2 devices. Either genkernel or lvm2create_initrd should work. I used the "Make your initrd" procedure from the HOWTO Install Gentoo on an LVM2 root partition wiki. Once you've created the images, of course you need to create the new entry in your new /boot's grub.conf. I used the genkernel method, and mine looked like this:

title LVM2 Linux vmlinuz-2.6.16-gentoo-r7deuteronomy
root (hd0,0)
kernel /vmlinuz-2.6.16-gentoo-r7deuteronomy udev dodmraid dolvm2 root=/dev/ram0 init=/linuxrc lvmraid=/dev/md1 real_root=/dev/rootvg2/root_lv ramdisk=8192
initrd /initramfs-genkernel-x86-2.6.16-gentoo-r7genesis

12) Update your /etc/fstab in the new root (/mnt/etc/fstab) to reflect the new device names. Mine looks like this:

/dev/md0 /boot ext3 noauto 1 2
/dev/rootvg2/root_lv / ext3 rw,user_xattr 0 1
/dev/sda2 none swap sw 0 0
/dev/sdb2 none swap sw 0 0
/dev/rootvg2/tmp_lv /tmp ext3 rw,nosuid,user_xattr 0 1
/dev/rootvg2/var_lv /var ext3 rw,suid,user_xattr 0 1
/dev/rootvg2/usr_lv /usr ext3 rw,user_xattr 0 1
/dev/rootvg2/games_lv /usr/games ext3 rw,nosuid,user_xattr 0 1

13) Save your new RAID configuration to /mnt/etc/mdadm.conf. Be sure to anticipate the change in device names (i.e. the current /dev/sdb will be the new /dev/sda, and the current /dev/sdc will be /dev/sdb after our next reboot).
# echo "DEVICE /dev/sda1 /dev/sda3 /dev/sdb1 /dev/sdb3" >> /mnt/etc/mdadm.conf
# mdadm --detail --scan >> /mnt/etc/mdadm.conf

10) Install the new MBRs on your new mirrored root disks (using GRUB)
# device (hd0) /dev/sdb
# root (hd0,0)
# setup (hd0)
# device (hd0) /dev/sdc
# root (hd0,0)
# setup (hd0)

11) Shutdown to power off
12) Reassign SCSI IDs so your two new root disks are the first two (0 and 1, or 0 and 2... whatever you like), and put the old root disk as the last ID.
13) Boot

I think I included all the steps I used here. Sorry if I left anything out!

Monday, October 01, 2007

Cathay Yesterday... Yesteryear

It was one year ago today that I boarded a plane in Shanghai to return home from my Chinese journey. That was certainly one of the most memorable trips of my life. We don't have any trips to China scheduled for now at work, but hopefully I will get to go again. If not for work, I will certainly have to go some day on my own to revisit the friends I made there, and further explore that vast and rich culture.

Since then I've continued to study the Chinese language, but not enough to be proficient. I've actually only studied diligently for the past month or so. In November my friend Zhao Gang came to St. Louis for some training, and he and a friend found time to come to my house for tacos and ice cream, which I know they enjoyed. I wanted to serve something I did not see in China, and Mexican cuisine was not to be found anywhere, even in Shanghai.

Above is a picture of Eric, Li Jian, and me at an outstanding German restaurant called Paulaners in the Pudong New Area in Shanghai on the second night. I think I had the beef knuckle. It was delicious! We ate there on the last night too (after we had been to Wuhan and back).

If you're at all interested in how to interpret Chinese characters, I urge you to read the two sample chapters of Communicating in Chinese (Yale Press) that are provided online. This book teaches you to read Chinese by showing you how the symbols evolved from their primitive beginnings as actual pictures, to the more complex characters they've become.

After the readings, you may feel enough swagger to chance a guess at what some of the symbols on this rock behind Eric and I mean... Well, if you can read it, good one on ya, because even our friend Jarod Li, who took this picture, was having trouble deciphering it. The picture was taken at East Lake in Wuhan. It's evidently a very old script. Pretty fun to try reading it though. If I remember right, it tells the story of why a nearby bridge was finally built as a symbol of peace between two warring clans.

Sorry, but I did leave that picture at its original size, so you can click on it to see the characters at high resolution.

Another great resource, if you're interested in learning Chinese, is the MIT OpenCourseWare sight. They have posted no less than 6 Chinese language courses, plus one Chinese literature class, and a culture class online. I highly recommend you pay them a visit, and if you can, make a donation!

Sunday, September 30, 2007

Consumer Consequences

I just played the consumer consequences game at, and I am ashamed to admit that I scored 7.6. That means that if everyone lived like me, it would take 7.6 Earths to provide the necessary resources.

The most glaring aspects of my life, according to this test (nee game), are my house, my power consumption, and my driving habits.

The way the test works is you start with a score of 1, and as you answer questions your score is increased or decreased, depending on your responses.

The house... I live alone in a single-family house that is listed at 1734 sq. ft. Right off the bat, that cost me an additional Earth. My score was then 2. Well, if you want an explanation as to why I live alone in a 1734 sq. ft. house, it's because I consider it an investment, both personal and otherwise. It's an old house, built in 1909, which I enjoy restoring and improving, so I consider it a financial investment. I also believe it is an investment in the revitalization of the city of St. Louis, which is a movement that, as it's realized, should naturally consolidate people, infrastructure, and resources back into a centralized framework, thus it is a green movement.

Next on the test, the amount of money I spend on electricity and natural gas jacked me up to 4.4 Earths. Ouch!! But I want to know what the heck is up w/their state average for Missouri! According tot his test, the average Missourian pays $22.47 per month for electricity, and $16.56 for natural gas! WTF!? Seriously!? Man, I am using WAY too much electricity and gas. Even after finagling the numbers, to show what my consumption would be if I totally green-ified my house, and cut my costs down by 25%, I'd still be looking at a score of 3.8.

Actually, after playing w/these number, I found a bug. I was trying to figure out how much I would need to reduce my bills by to be flush, and it turns out even if I pay $0 for both my power utilities, I would still incur a penalty, unless I indicate that $0 as being spend on more than 65% renewable energy resources... duh. However, that doesn't really affect my score... just something I noticed.

How do I make my electricity and natural gas come from renewable energy resources? By definition, natural gas cannot be renewable, but if I could, I would gladly heat my house w/something renewable. Unfortunately, even though my house is heated by radiators, heating the water by solar power is beyond my means. By my estimates, it would cost about $15,000 just for the equipment, and that's not even considering the costs of retrofitting my house with it, and where would the PVC panels go? I don't know... maybe it's worth another investigation. As far as I know, there is only one power grid available to me to suckle on in St. Louis, and it's powered by coal.

Given these facts, my questions is this: would I have a more beneficial impact on the world if I focused my energy on pursuing more efficient coal plants for my region, or making the investment in some sort of green heating (and possibly cooling) source for my house?

Obviously, if I do neither, I'm not helping anyone, and possibly committing a sin of any or all of the following: sloth, gluttony, greed, disrespect for God's creation, hypocrisy.

I heartily recommend you take the Consumer Consequences test! I promise you will be shocked at the result. I don't personally know anyone who could get a 1 or below on this test. It would take a very disciplined an energetic individual. Frankly, it makes me feel a little hopeless, because I don't know if I can live up to the standard this test is implying must be met. I have moved so far away from my family, that I must essentially cut myself off from them, or give up my job and move back to the east coast, if I'm to reduce my annual mileage to an adequate level. Likewise, I need to sell this house and move into a small efficiency that is within biking distance of where I work, which would not be so bad if my company had not moved my office from downtown to the soul-sucking suburbs. I do NOT want to live in Sunset Hills. That place is big-box central... OK, self, don't get me started.

We obviously need to make some improvements in our lifestyles to make this a sustainable world. I'm just going to start doing the best I can by getting some recycling bins, finding ways to improve the efficiency of this house, and investigating a different way of commuting to work (including working from home).

Friday, September 28, 2007

Up St. Louis!

For sure, St. Louis has been seeing some great strides in urban progress. I'd be remiss not to mention the news of Centene moving their corporate headquarters from Clayton to downtown's Ballpark Village, which gives the BV a new direction in, and impetus for, life. It has been mentioned in almost every urban blog in the city:

Urban Review STL
St. Louis Business Journal
Mayor Slay's Desk
STL Rising
Vanishing STL

In other news, the Power House is about to be renovated:

At Home

Lumiere Place is almost finished:

Lumiere Place's website
St. Louis Business Journal

In other news this week, Wachovia bought A.G. Edwards, and is moving their headquarters to St. Louis. Admittedly, whether they actually move to the city of St. Louis, or out to a suburb is still unknown, and if they move A.G. Edwards's [significant] staff out of the city, it will be a major blow to the city's economy. However, it would seem more practical to move into A.G. Edwards's existing infrastructure, which was expanded by 1,000,000 sq. ft. in 2003. There is plenty of land nearby the current headquarters that can be further developed if necessary. Hopefully we'll see an influx of new jobs and residents in the city. Although losing a large corporation like Wachovia is a major event for a city of any size, Charlotte has seen unprecedented growth over the past decade, so hopefully they'll absorb the loss with little trouble to their city's economy.

Also this week, Pyramid Companies announced a $450 million dollar project to renovate and develop 6 blocks downtown (an area completely encompassing our old offices... man I wish we still worked downtown!) into a mixed use district to be called the Mercantile Exchange (presumably due to the nearby Mercantile building which anchors that area):

Pyramid's website
Dawn Griffin
life as interns

Also huge downtown revitalization news that is the less recent, but still worth mentioning, Crown Village development, which has been going like gang busters ever since they got their funding a little more than a month ago.

What's New in Old North
Crown Village website
Ecology of Absence

Wow, what a great time for the city of St. Louis! I can't wait to see all of these projects at their completion. St. Louis is really becoming a destination city again.

UPDATE: For the record, has published an article today that sums up this great week of announcements... but in a more professional, thorough, journalistic fashion than my lowly 'blog. The blog being a device so informal its very name is derived from a contraction which was adopted immediately after it was invented. [I strenuously object to Wikipedia's claim the the word blog is a portmanteau. It's not a portmanteau, it's a contraction. Web log... weblog... 'blog. A portmanteau would be like wog or something.]

Friday, September 21, 2007

Mattel Apologizes to China

And it's about time. Mattel has issued an apology via its executive vice-president for worldwide operations, Thomas A. Debrowski.

From the article (the italics are mine):
On Friday, Debrowski acknowledged that "vast majority of those products that were recalled were the result of a design flaw in Mattel's design, not through a manufacturing flaw in China's manufacturers."
Yes indeed, folks. That is mighty big of Mattel to admit that they hung the Chinese manufacturing sector out to dry for several high-profile toy recalls, while all along they knew the problem rested primarily with their own designs.

Isn't it weird how the US mass media published almost nothing to the contrary this entire time? They obliviously went along with letting everyone swallow the implication that China's manufacturing centers are unscrupulous, third-world dungeons that would do anything to squeeze an extra yuan out of their piece of the supply chain.

I don't want to sound like I'm some kind of advocate for the Chinese manufacturing industry, because I'm not. I think it would be great if Mattel did not move its factories to another country to begin with, since all they're doing is shipping the toys right back to America. I mean, if they opened up a factory in China to produce toys for the Chinese market, that would be completely different. All they've done is outsource their manufacturing jobs.

However, I do have a strong respect for the Chinese and I believe them to be an honest, hard working people. It disturbed me to see Mattel, and subsequently our own sycophantic media, drag China's good name through the dirt when clearly the responsibility was at least shared, and as it turned out, primarily Mattel's.

Tuesday, September 18, 2007

Cardamom Porridge

Porridge is just a generic name for some grain boiled in water until it thickens, like oatmeal. I have always just called oatmeal oatmeal, but porridge sounds more quaint, so there you have it.

I decided to try McCann's Steel-cut Oats when I saw them on a shelf at the Schnucks on Arsenal. It turns out they are quite different from the Quaker Quick Rolled Oats I was raised on. For one thing they have a much more robust texture than quick rolled oats, and they have a stronger, and much more distinct flavor as well. They are oats, so they taste like oats, but the taste is more structured than quick rolled oats. They also take much longer to cook - about 45 minutes, between boiling the water and then the oats.... but it's definitely worth it.

I left the above picture unscaled, so you can see what they mean by steel-cut oats. Click on the image to see the up-close-and-personal details of the oats.

I've tried a number of different combinations of flavorings before I finally devised one that preserved the excellent flavor of the oats, and the traditional presentation style, as well as bringing in something new and exciting (at least to me it is... you may not be able to get as excited about oatmeal as I can).

This serves 1-2 people, depending on how much of a main course you make it:

3 cups of water
3/4 cup of McCann's Steel-cut Irish Oats
1 tblsp. unsalted butter
4 tblsp. sugar (to taste)
1 tblsp. ground cardamom seeds (cardamom powder)
1/2 cup red flame raisins (or raisins of your liking)
3 cups milk

Bring the water to a brisk boil, add the oats, and stir until they begin to thicken, then reduce heat and simmer for 25 minutes (the can says 30, but that's always been too much for me... might only need 20 minutes really). Stir the oats occasionally while they're simmering to keep the water and oats thoroughly mixed, and to prevent them from burning on the bottom of the pot.

Once they oats are done, remove them from the heat.

Add the butter, sugar, cardamom, and raisins to the oats, and stir until mixed well. Then let it cool for about 10 minutes. This will give it time to set up nice and thick, so it will hold up better in the milk.

To serve, spoon out a portion of oats into a bowl, then pour about 1 cup of milk over them, or until the oats just peek through. Serve promptly, so the oats are still hot underneath the cool milk. The milk will cool each bite of oats, but the oats will retain their natural consistency and flavor. Yum!

This dish is really outstanding comfort food. It would be great to have for breakfast, but since I don't get up early enough to spend an hour making breakfast, and you really can't re-heat oatmeal (so I've learned), I make it for dinner.

You can really deck this dish out by sautéing the raisins in the butter with almonds, and just admit that it's actually the Indian dessert, Kheer, served as breakfast (or dinner, in my case), but with oats instead of rice.

Here is a video from Off the Shelf Cooking with Ameena for a simple, easy Kheer:

How I Benchmark Postfix

The goal of benchmarking an MTA can be to determine the number of messages that can be relayed through it under ideal conditions, and also under realistic conditions.

Ideal conditions means without bottlenecks. Bottlenecks for a MTA include network and I/O latency, and concurrency. Under ideal conditions, the MTA would never be blocked on reads and writes to/from its peers on the network, or its queues on disk. It would also be able to accept and establish as many simultaneous connections as needed at any given point in time.

Of course, having those kind of resources is unrealistic, but understanding how they affect the MTA's performance is important. When benchmarking the MTA, it is easy to identify the aspects of each element by introducing them individually, or one at a time. For instance, we can start a series of benchmarks by wiring the MTA directly its peers, NIC to NIC, eliminating any latency introduced by going through external network devices such as hubs, switches, or routers. Likewise, we can practically eliminate I/O latency by setting up the queue in RAM. Eliminating concurrency as a factor is much more difficult, since it depends on multiple factors, like CPU, OS, and MTA throughput capabilities. However, by slowly ramping up (or reducing) the concurrency parameters, we can plot a chart depicting performance increases or decreases with relation to concurrency.

Once we've established baseline numbers under ideal conditions, we can methodically introduce realistic bottlenecks until we get to a state that is representative of the actual production environment.

To begin, you need 2 boxes with Postfix installed, including the smtp-source and smtp-sink utilities, which are included w/the Postfix source code. We'll call the host you want to benchmark hostA. Modify hostA's file to relay everything directly to the other host, hostB:

relayhost = [hostB]

On hostB, leave Postfix down. To eliminate latency that would be introduced by relaying to another MTA, we will run only the smtp-sink process, a SMTP bit bucket, on port 25 on hostB, with connection caching and high concurrency enabled:

# smtp-sink -4c :25 1024

On hostA, the spool directory should be on a RAM disk. On Solaris systems, /tmp is a virtual RAM disk, so you can just copy the queue dir over there, and then modify the queue_directory parameter in to point to the /tmp copy. On Linux systems, you can create a virtual RAM disk by using the tmpfs file system. To determine if your system supports it grep tmpfs from /proc/filesystems:

# grep tmpfs /proc/filesystems
nodev tmpfs

If you don't see any output from your grep, you don't support it... otherwise, just create a virtual file system like so, copy your queue directory over to it, and then point Postfix at it by modifying the queue_directory parameter in

# mount tmpfs /mnt -t tmpfs -o size=128m

To ensure maximum concurrency, you will probably want to jack up hostA's MTA's default_process_limit value in I set mine to 1024, but that may be too much for your system. I'm benchmarking with a pair of 4-core Sun T2000s, which are designed to support very high concurrency.

If you can, make sure the two hosts are wired directly to each other, NIC to NIC. Depending on your NICs, that may require a crossover cable. The NICs on the T2000 are auto-sensing, so a regular 8P8C cable will do.

Now the fun begins... On hostA, we will use the smtp-source command to inject 10,000 25 kB messages with 256 concurrent connections, and connection caching.

# date; smtp-source -4dNcm 10000 -s 256 -l 25000 -f -t localhost:25

This series of commands will display the exact time, then send 10000 messages, then display the time again. The command exits when all 10000 messages have been accepted into the queue by Postfix. The benchmark is not over until every message has been relayed to hostB. To determine the exact second that happens, you will need to repeatedly check the mail queue:

# mailq |tail -1; date

When the mail queue is finally empty, the benchmark is over. Calculate messages per minute (MPM) by taking the number of seconds between the first date call (from the smtp-source call) to the last date displayed when the mail queue was finally empty, divide 10000 by that number, and multiply that quotient by 60.

Typical results for my T2000s are between 14600 and 16200. Moving the queue directory to a real disk gives results in the mid 5000s, and then changing from a straight shot MTA->smtp-sink to MTA->MTA->smtp-sink (i.e. starting Postfix on hostB, and having it relay everything to the smtp-sink process) results in numbers comparable to what is actually seen in the production environment, which is between 4500 and 4800 MPM.

I'm cutting this blog entry short now because, although I haven't done anything yet to scale down the concurrency factor, that would only be an exercise in methodology, and for all practical purposes I've already provided sufficient evidence that I/O is by far my MTA's lowest hanging fruit in terms of upgrade potential. Since I'm only operating on a pair of mirrored 15K SAS drives, which are also the same drives that every other file system on the box is on, so I have to make sure routine I/O outside of the MTA is minimized, including logging only to a remote host, except for possibly low traffic logs like the system log. It is obvious that if I ever need more performance out of the box, an upgrade to a high-speed array would be the way to go.

Monday, September 17, 2007

Big East - The B'east!

The Big East is continuing their strong campaign to prove their worthiness of an automatic BCS bid. We now have four teams in the top 25, in both the AP and Coach's polls: WVU, Rutgers, Louisville, and now... South Florida!

I knew it was only a matter of time until the rest of the NCAA realized the potential SF has down there. They are currently the second-highest ranked team in Florida, which is saying something. Above that, they got their 23/24 ranking by beating #17 Auburn, who is no slouch. Congrats, Bulls!

WVU made an outstanding showing against Maryland, running for 353 yards, and allowing only 269 total yards of offense. There was also a special appearance by future Mountaineer great Noel Devine, a true freshman who came in just to run 5 times for 136 yards, and let me tell you, that young man has some MOVES! He juked to the side so far and so fast on one of the runs, that two defenders went to tackle him, and they tackled each other! It was so freakin' classic! He shot out through the lane like a lightning bolt. It was really something to behold. It definitely makes me feel good about our future, since Slaton is about to collect his Heisman and move onto the next level.

Louisville lost to Kentucky, which hurts, but Kentucky was already known to be good, with their star quarterback, Andre Woodson. Wildcats fans believe he should be on the Heisman watch list. If Kentucky goes on to beat Arkansas next week, that will only help ease the pain of Louisville's loss to them.

Cincinnati is actually smoking their competition, chalking up a total of 140 points to 16 over the past 3 games! Krikey! The Marshall Herd are next on the Bearcats's list... another potential feast for the viverrid beasts.

Rutgers, like Cincinnati, has amassed an embarrassing number of points over their opponents, going 138-27 over the past 3 games. Sure, neither team is facing ranked teams yet, but still, that's a lot of points, no matter who you're playing. Between the two of them, 278-43... wow. That's 20 touchdowns (w/PATs) for every 3 of their opponents.

What about Pittsburgh? Why can't the Panthers participate in this Big East Feast? The consensus for their loss against Michigan State this past weekend is turnovers... they had two picks and a fumble. On the bright side, their frosh running back, heavily-recruited LeSean McCoy rushed for 174 yards, and even played QB for much of the second half. So, they may still be able to pull it together for UVA and Navy in a couple weeks.

Saturday, September 15, 2007


Apparently, someone else likes the Geico "Cavemen" commercials, because they're going to try making it into a TV sitcom.

Yes, I will admit, I think the cavemen are hilarious. They are so over the top! They are parodies of hyper-sensitive 30-something metrosexual men. They are so politically correct, they're the kind of people that you feel are always criticizing what you say, no matter how careful you are. What's not to love about making fun of that?

If you think about it, the cavemen are a perfect platform for a parody of that demographic, because if they were using real people, it might be more difficult to make them loveable. For instance, take the website that they have created for the cavemen, "Caveman's Cribs". In it, you're encouraged to snoop around his impeccably decorated modern apartment, learning about the depth of his shallowness through the hilarious details left out for you to discover. In the bathroom vanity, you pull open a drawer to find an expensive-looking set of hair treatments by "Beaucoups de Cheveux" (French for alot of hair - haha!), which includes an anti-frizz treatment, a "cleanser" (known to the layman as shampoo), a "hydrating conditioner", and a volumizer. Of course a caveman would spend extra dollars on this! But you know, even if he wasn't a caveman, he would still buy it, because he's just that kind of dick.

I haven't had a chance to look over the whole apartment yet, but my part favorite so far is the magazine on the coffee table. It's called "HIM" magazine, and in small print it reads "The quarterly magazine for men of means". Dude, that is too much. Who would subscribe to that!? You can actually flip through it, and discover an article about another caveman named Joe Dyton, an aspiring actor, and of course several ads that further the pretentious metrosexual stereotype.

I can't wait for this show to come out. I just hope other people will see the humor in it. I'm afraid most people will not have a sufficiently characteristic point of reference to understand it. If you have friends like that, you will probably love it. If not, you might still be able to appreciate it, but more likely you just won't get it.

I could see this show going on for at least two seasons, but it will be important to bring in a couple highly personable spoiler characters who will serve to counter the cavemen's highfalutin personalities with earthy, frank dialog that the average Joe can identify with.

Wednesday, September 12, 2007

Actionable Information

If you use the word actionable, you suck. First off, it's not even a word, it's a nominalization. Normally, a nominalization is what you get when you take a verb or an adjective, and use it as a noun. However, it works the other way around too. If you use a noun as an adjective or a verb, that is also considered a nominalization.

action: noun
actionable: adjective

Actionable is actually a legal term. If you're not a lawyer, you should know that you especially are misusing the term actionable. It is a term used to describe something that can be legally acted upon. If you're not a lawyer, see if one of these other words is actually the adjective you're looking for: usable, useful, helpful, worthwhile, important, valuable, urgent, interesting.

This is usable information.

This is actionable information.

Egh, it makes my stomach turn. I can just imagine the nincompoops wagging their slobbery tongues at the sound of such an important-sounding word. Its prestige brightens the room, and they all feel a bit smarter, even though they've just thrust another witless, rusty spike into the side of our modern language.

Please stay away from the term
actionable. It does not make you sound smarter. It does make you sound like you're trying to sound smarter.

This picture demonstrates what may be an actionable wedgie. According to this legal blog, Bino's Blogoroni, some wedgies may be actionable, depending on their severity.

I found this photo by searching Google for the term "actionable", and then checking the image results. I think it's perfect for this blog entry, because not only does it provide an awesome visual reminder of what actionable really means, but it also shows exactly what I want to do to people who use the term actionable.

Saturday, September 01, 2007

Ski Racing in St. Louis

Hidden Valley Ski Team's dryland training starts next Saturday. I'm helping coach this year, and I'm very excited to be getting back into ski racing.

In Missouri, we're in the CUSSA region, Central USSA. HVST skis in both CUSSA races and WIJARA, the Wisconsin-Iowa-Illinios Junior Alpine Racing Association. Back in WV we raced in PARA (the southern region was later split out into its own region, SARA) when I was growing up, which is strictly USSA. WIJARA is not strictly USSA. On May 10, 2007, WIJARA officials announce that racers would no longer be required to have a USSA membership to compete in WIJARA races. That means kids who do not want to pay the USSA fees, or who can't justify travel expenses for distant CUSSA races, or simply have not decided if they want to compete at the USSA level, can compete in WIJARA races to sort of test the frozen water crystals.

HVST has a team of around 40 kids. Like most teams, the level of talent is varied from outstanding to total beginner. I was really amazed by just how good some of the kids on the Hidden Valley Ski Team really are. I mean, how did they become such good racers living here in St. Louis? I'm going to find out.

If you're reading this, and your parents moved you from a nice mountainous region to Flatlands, USA (a.k.a. St. Louis), listen up! There is quality racing here, and you should check it out.

One of our racers, Matthew Klein, a J4, went to JOs last season (2007). He finished 16th in the first slalom, 4th in the 2nd slalom, and 24th in SG. Yes, I said 4th! We also had two girls, Kelsey Spidle and Cayla Weber, compete in the FIS Championships, which, just raching that level is amazing. They competed against some of the best female racers in the world there, from ages 15 to 32.

Some of the parents here are really into it. They plan training trips for team members to Colorado and even New Zealand in the off-season, where the US Ski Team trains.

I'm really excited to get the season started, and to get back on the hill with some real competition.

Thursday, August 23, 2007

Pure Genuis

You can't make stuff like this up, or improve upon it. With an uncompromising devotion to the precise and accurate demonstration of a mind-numbing, unblinking degree of silliness, these Finnish performers show themselves reaching the zenith of gauche 70s imitation pop.

I found this gem on my first trip to Boing Boing, which is apparently a very worthwhile blog.

Tuesday, August 21, 2007

11 Days and Counting!

WVU kicks off the season against Western Michigan at 3:30pm EDT on September 1st, 2007.

Keep track:

Note: MSN stands for Mountaineer Sports Network, and always has. Period.

Lee Corso is an ass, and his opinions will always be nothing but irrelevant drivel. Not even his own co-anchors take him seriously. Why is he even on the air? He neglected to include Steve Slaton in his top 5 Heisman candidates. More sensationalism, no doubt.

This picture always puts a smile on my face.

Sunday, July 29, 2007


Barry Bonds makes me want to vomit. Yeah, he's got talent, but big deal. It takes more than talent to hold the all-time home run record. It takes endurance. Nobody can ever say Bonds has natural endurance, because he's polluted the statistics with his selfish, and presumably ongoing, use of illegal drugs to break a landmark record in baseball.

Let's see, where are we now... our federal government is descending into a Sargasso sea of unchecked corruption, 1836 Americans die in New Orleans because the government can't be bothered to give a damn, our international image and credibility has been utterly maligned by our own hand, and the environment is spiraling out of control while self-important money-grubbing nitwits continue to pave over the countryside, and now... Barry Bonds, that lying sack of shit, is going to have his filthy name rang out as the new holder of maybe the most prestigious record in the Great American Sport that defines us.


As far as I'm concerned, I do not have to even acknowledge this atrocity. In my mind, Barry Bonds does have a big fat asterisk next to his name. As a matter of fact, it follows him all over the baseball diamond every night. Everything he does is infected with his guilt, and illuminated by that bright red asterisk following him everywhere he goes. Long may it shine!

And long may 755 Steroid Free Home Runs be the benchmark for honest sluggers to be compared against.

Wednesday, July 25, 2007

Provincial Landscape Redux

After noticing that the link in my May 7, 2007 blog entry was broken, I stumbled onto this new link offering prints of the picture I love.

You can even get it on a T-shirt!!! I'm so down w/that!


Wednesday, May 30, 2007

Now THAT is a Saw Blade!

I don't think that's going to fit the saw...

Actually, the man is helping to position the blade for sharpening. It's a picture from Gary Katz's article about the Hull-Oaks Sawmill in Oregon. It's the last steam-powered commercial sawmill in the country.

Sunday, May 27, 2007

Qabili Palau

Sameem has AWESOME food... at least that's what I've heard. I can tell you that they have AWESOME Qabili Palau, because that's the only thing I ever get there. I've never moved past it. It's too good. So that I can get my fill of it, and move on to other dishes at Sameem's, I've decided to bring the dish into my own repertoire.

For starters, Sameem makes theirs with a leg of lamb. It's totally amazing, but in order to make it a more affordable dish, as well as one that can be cooked in a large skillet, since I don't own a casserole, I'm going with 2 defrosted, boneless, skinless chicken breasts.

This recipe requires parallel processing. Be prepared. To minimize pipeline stalls, go ahead and prepare your carrots in advance, because that is the most time consuming part of it. Julienne two carrots into 2" strips, and set aside.

Start by browning the two chicken breasts in about 3 tablespoons of vegetable oil with about 1/2 tablespoon of unsalted butter. Grind some fresh pepper over them, and a bit of kosher salt. It should take about 3-5 minutes per side.

Oh, by the way, I just came across this website is like Youtube for cooking. There are some SERIOUSLY good looking recipes to be had here...

Anyway, while the chicken is browning, bring 3 cups of water to a boil in another pot, and add 1/2 tablespoon of unsalted butter. Then cut up 1 large sweet onion, or two small ones. The water should come to a boil about the same time the second side of the breasts are done browning.

Put the breasts in the boiling water, and reduce to a simmer. Put the chopped onion in the oil the chicken just came from, and cook until the onions are golden brown.

Once the chicken has simmered in the water enough to make a fine broth, remove the chicken, and set aside. Add 1 tsp of saffron to the water, and let simmer or lightly boil.

To the oil and onions, add about 1-2 tsp of cumin, 1 cinnamon stick, 1/2 tsp of ground cloves, or a few whole cloves, a few cardamom pods, if you have them (I actually did not), a bit of nutmeg, 1 tsp of sugar (I used turbinado), 1 tsp of kosher salt, 1 tsp of ground coriander. You can jack up these values if you think there's not enough spice in there.

Now add two handfuls of raisins to the onions and spices. I used the Sun-maid Jumbo Mixed Raisins, as always.... they're sooo good! Cook that until the raisins are plump, then add the carrots, and let it all cook until it looks and smells too good to be true.

Meanwhile, you'll need to rinse off about 1 1/2 cups of basmati rice, and bring the broth to a boil, if it's not already. Once the onion, raisin, and carrot mix is ready, drop the rice in here, and turn it in until well coated. Then pour the boiling broth in there, and cover it up, and let simmer for about 10 minutes.

Meanwhile, chop the chicken breasts into cubes. I guess you could've put them in with the rice, or not. I didn't.

That's all there is to it! Serve with a tall glass of lightly sweetened Darjeeling iced tea. Dishes like this prove that God does love us, and wants us to be happy. Sorry for the out-of-focus pictures. I'll try to put better ones up there next time I make it.

Saturday, May 26, 2007

Homemade Spalted Maple Boards

I bought a Powermatic 14" band saw a few weeks ago. It took a while for the 6" riser block to come from Amazon, and then I had to get a 3/4 inch Timberwolf blade, and then get it replaced because the weld was slightly off (more than acceptable), and finally, last night, I got to do some meaningful work with the saw. I ripped a log that I had salvaged from a neighbor's dying red maple (Acer rubrum) into 1 1/4" boards. I managed to get some really sweet boards out of it. They're now in the basement drying.

It wasn't all good times though. It took me a while just to get up the nerve to even rip the log, because it had rather large holes from some kind of wood boring insect, and I did not want to be the idiot that let loose a termite infestation into his own house. But I could see by the end grain that there was some stunning spalting to be had, and after some careful consideration, and preparation of the work area with a clean canvas to catch any falling insects, and a large can of Raid, and a respirator, I started into it.

I started by cutting it in half lengthwise as well as I could - it was a very irregular log - so I could quarter saw half of it, and flat saw the other half. I anxiously parted the freshly halved log, and to my great relief, I didn't see any signs of termites, or any insect. So, I started flat sawing one of the halves. . .

After the first cut of the half, I parted the cut to reveal something black wiggling in the wood. My stomach sank, and I got a sick nervousness that can only be brought on by seeing something totally foul, ugly, crawly, and disgusting in front of you. Luckily, I had that can of Raid on hand just in case, and I happened to saw into the hole at an angle, so whatever it was, it was not able to get out. I had control of the situation. I got a pair of needle nose pliers, and started slowly widening the hole, so I could get a better look at the wriggling mass. . .

To make a long story short, I pulled the thing out, dropped it on the canvas, and doused it heavily with Raid. It promptly died. There were many more, and it turned out that about half of the log was infested with what I later identified as Pigeon Horntail Wasps (Tremex Columba), and their larva and pupae. That's a type of wood wasp that infests dead or dying wood. Nothing to be afraid of. They do not harm humans, or finished wood, but it was definitely disturbing for a person with an aversion to unidentified creepy crawlies.

I can only hope that the boards I have drying in the basement now are free of the horntails, but if not, they are harmless to finished wood and humans, so it's OK.

Here are some pictures of the harvested boards. Note the incredible color variation, and almost pixelated effect of the spalting on the one board I have in my hand. Here are also some pictures of one of the hibernating wasps I extracted. Many more were either sawed in half, or left in wood and taken to the dumpster. I can't wait for this wood to dry so I can plane it, sand it, and make something with it!

All in all, I have to say, the Timberwolf blade lives up to the billing. I am very pleased with it, however I'm not quite as pleased with my saw, because it took some serious manipulation to get the blade guides properly aligned to take the 3/4" blade, which eventually resulted in manually machining the trunnion bracket with a file, even though it's supposed to be able to handle 3/4" blades out of the box. I've read forum posts by other people complaining of the same thing. I guess quality control in consumer-model band saws is just not what you might think it should be. It's definitely a tool you have to be willing to get in and make serious adjustments to, in order to get it to do what you want.

Now that I have it set up, I could really not be much happier, because I can rip my own small logs from fallen trees. It's a good feeling, both in terms of self-sufficiency, and environmentalism. Plus, I know there will be an unending supply of logs, since I live a couple blocks away from a large park, and terrible storms blow through St. Louis every summer, like the derecho that tore through here last summer, peeling half my roof back, and leaving most of the city w/out power for several days. It got up to 102 degrees the day after the power went out. It sucked, but I was lucky. It could've been much worse, and my insurance paid for the roof. Anyway, Tower Grove Park was in terrible shape. There were fallen trees everywhere. It took them weeks to get it cleaned up.

Friday, May 25, 2007

Andrew Bird

For anyone who hasn't seen Andrew Bird in concert, but is interested in new and exciting music, it's a must-see. Seriously, it's one of the most interesting and exciting concerts I've ever been to. My friend Rich and I got to see him play with Martin Dosh at the Pageant on my brother's recommendation. I had never seen or heard of either of them before...

The opening act was kind of like Mazzy Star, but with a voice like a cross between Bjork and Nico. It sounded good, don't get me wrong, but we didn't come to the show to get a good night's sleep. So as you can imagine, Rich and I were getting ready to curse my brother's name.

The stage went dark, and 15 minutes later a single light shined down on Martin Dosh, who, in his short sleeved button down shirt with a tie, looking rather like your local IT guy, slowly, over the next 5-10 minutes built up a series of loops, using different instrument sounds, until he sounded like a small ensemble himself. Then, out came Andrew and the bassist (Jeremy Ylvisaker), and he played a couple notes on his violin, then took his shoes off, and started building up his own loops using pedals on the floor. They kept building layer on layer, until finally, after several minutes, Andrew stepped on something that started two enormous horns spinning in the back of the stage. As they were spinning, flashing rhythmically in the lights, it was positively hypnotic, but exciting too, and growing cacophonous, until finally they stopped everything, and fell to silence... then started right into playing Imitosis.

You can find videos of them on Youtube, but they're completely inadequate representations of the show. In person, you can actually see, very clearly, how Andrew was using his pedals to create a new loop, and then release it to repeat, and then make another, and another. His whistling is so loud and clear, exactly like the whistling on spaghetti westerns like the Good, the Bad, and the Ugly, and he switches from guitar to violin constantly (just pushes the guitar around his back, out of his way, and picks up the violin). He also had a small glockenspiel mounted next to his mic stand that he would play along with his whistling sometimes, in perfect pitch. Really, he'd strike a key on the glockenspiel, and whistle the same note at the same time in perfect pitch. It was truly remarkable. This is an extremely talented musician.

We had a perfect vantage point for watching Martin as well, as he used his keyboards to create loops of his own, with his drums, cymbals, and other percussion instruments, as well as the keyboards themselves, to a lesser extent.

After the concert, I went over to the media stand to buy a CD. I asked the guy working the stand "which CD has that solo Andrew did right after the break?" "I don't know, you'll have to ask him yourself." At that moment, Andrew came out from behind the stage. "Andrew, which CD has that solo you did right after the break?" "Oh... Who?" ("Who" is apparently the name of the tune...) "That's on this one: Fingerlings." "Excellent. Thanks! Andrew, it was an absolute pleasure. Great show." "Thanks!"

That obviously made my night.

Thank you, Sean, for telling me to go to that concert. I know it's killing you to read this. Sorry you couldn't be there too!

Andrew has a website here:, and a MySpace profile here:

His latest album, Armchair Apocrypha, is so infectious, I am actually a little surprised by how much it's taken over my listening lately. I highly recommend it.

Thursday, May 24, 2007

Planing Board by Hand

A couple posts ago I wrote about how I am saving space in my basement workshop by using hand planes in place of a jointer to flatten boards. I also said it will take a little extra manual labor. I'd like to revise that initial assessment. It takes a LOT of manual labor.

Over the past few nights, I've put in about 3 hours flattening a 43" x 9" x 1" piece of canary wood. I'm using my 4 1/2 smoothing plane. Granted, it would probably go faster with a jack plane, and this is the first time I've ever tried to do this, so I'm very much in the early stages of refining my technique, but still. I'd say I have at least that much more to go.

To create a reference line, I jointed one side of the board, then placed my 48" level on the wide face of the board right above the newly jointed side, and used my Incra T-rule to slide on the level, scribing a straight line along the jointed edge. To make the scribed line more visible, I placed a flat rule along the scribed line, and colored in the short space (the part to be removed) with a black wax pencil (a glass marking pencil).

I've been slowly working my way down through the black line using diagonal strokes with the plane. Every so often, I'll cover the face of the board with loose chalk, and scrape it off with a straight edge to reveal the bumps and valleys. That keeps me on track for now until I get close enough to the goal to get out the true bar, and really be critical of the flatness.

Monday, May 21, 2007

Good Eating in Sunset Hills, MO

Well, I must admit, I've found two shining oases in the desperately bland suburban landscape I've been cast out to. Growler's Pub, and O'Leary's are both within a mile or two of my office, and they both have some unique culinary delights that should not be missed.

O'Leary's is the first place I learned about. On the outside, it's a completely uninspired strip mall occupant on Lindbergh Blvd, about 1000 yards south of the Comp USA that is shutting down. On the inside, it's a nicely decorated Irish-themed sports bar with good lighting. They have the best hamburgers in town! The beef is fresh and juicy, and the buns are thick, soft, chewy, and delicious. My favorite burger is the fried jalapeño burger. Glory be, it's absolutely brilliant! The fries are very good too, and are served with a tasty dip, like ranch dressing mixed with a hint of ketchup. I guess it's kind of an Americanized version of Mary Rose. It works. This is my kind of soul food.

Now on to Growlers... This place is one of the quirkiest little buildings you'll find. I think it's like a Tudor-style cottage, with multiple gabled roofs, dark exterior wood trim. And it's sitting on the side of a 4 lane highway. Inside, they've done some truly whimsical decorating, with what appears to be authentic old Victorian wood trim on the windows, probably salvaged from an old St. Louis mansion. It is not really installed correctly, and it's much too big for the windows it surrounds, but I can't tell if that was intended or not.

Anyway, it's interesting to look at, but the important thing is that they have a sandwich called the Banana Cured Pork Sandwich. It's a succulent, juicy pulled pork sandwich topped with swiss cheese, and this stuff called banana ketchup. I had never heard of the stuff, but there is actually a Wikipedia article for it. To me it tastes kind of like a strongly flavored, thick apple butter. The bun is just outstanding, and the much better than average sliced pickles and unlimited fries served with it combine to make this a memorable sandwich.

Monday, May 14, 2007

Red Flame Salsa

This may sound weird, but it's really really good, and you need to try it... Next time you're eating a tomato-based salsa with chips, mix in some Red Flame Raisins! I don't know what made me think of it, but I was eating some Tostitos Gold with Pace chunky salsa the other day, and I wondered what it would taste like if I threw in some raisins. I was hesitant to try, because it doesn't seem like a good combination at first, but I am so glad I did!

I mixed in a hefty portion of Sun-Maid Mixed Jumbo Raisins (a mix of Thompson, California Golden, and Red Flame raisins). At first I couldn't tell if I liked it or not, but slowly I realized that if you narrow it down to just the Red Flame raisins, it sings! Use lots of raisins, not just a few. It's difficult to overpower the intensity of the salsa with the mild sweetness of the Red Flames, and the chewy texture the raisins add to the salsa is really exciting.


Saturday, May 12, 2007

Getting Started in Woodworking

I've decided to make my own wood products because the ones that I like on the market are waaaaay too expensive for me. I want new kitchen cabinets, radiator covers, screen doors, bathroom cabinets and vanities, book cases, cabinets for the basement, teak planters, a nice desk, a couple of beds, some benches, etc. Of course, building this all myself will cost money in tools and wood.

Developing a collection of tools to make all this happen requires no small investment in both time and floor space. Here I'll list some of the modern power tools you're expected to own, and then how I cut costs and floor space by using alternatives.

For starters, in order to make straight, square boards with parallel faces, which is absolutely essential, you need a jointer and a thickness planer. With the jointer you can get a flat face and side. The planer can then create a parallel and flat other side.

The jointer is part of the triumvirate of modern shop tools. Table saw, jointer, and router. Good jointers for under $1000 are only 6" jointers, which means you can only flatten boards that are 6" wide or less. They say you should buy the biggest jointer you can afford. Instead of buying a jointer, you can save space by investing in a good set of hand planes. This approach requires more manual labor, and time. The standard three are a smoothing plane, for smoothing surfaces and jointing or flattening small boards, a jack plane for flattening and jointing medium to large panels, and a jointer plane for jointing and flattening large or long surfaces.

You should NOT go cheap with hand planes. The cheapest you can go is antique Stanley Bedrock or Bailey planes (preferably Bedrock) found on eBay, Craigslist, or a yard sale or flea market. Expect to pay upwards of $100 for ones in good condition. You can be guaranteed quality steel by buying new planes. Lie-Nielsen and Veritas are your only choice for new ones, IMHO.

I'm going with the Veritas bevel-up jointer plane, and the Lie-Nielsen 4 1/2 smoother and low angle jack plane. Altogether that's more expensive than a decent 6" jointer, but you can joint and flatten boards much wider than 6", and you save floor space. ...and you have some really, really nice hand tools that, if properly cared for, will last you the rest of your life (and then some, which is why it's perfectly OK to buy high quality used ones off of eBay).

You also need a good table saw, and by good I mean one that you can count on for accurate, reliable cuts, and a table that is sufficiently flat and designed to handle after-market jigs and fences, and a zero-clearance throat plate. I bought an el-cheapo Ryobi $100 table saw last year, and immediately realized why it was the cheapest table saw in Home Depot: The blade is difficult to keep perpendicular to the table, and it's designed in such a way as to not take a zero-clearance throat plate, and the table is too cheap to work with after-market fences. It's crap! It did get me through the projects I bought it for though, and I only had $100 to spend at the time, and it fit in my car's trunk, so...

To save both space and money, you can sub in a modern guide system for a table saw. The Festool Rail Guide system is regarded as the best on the market. It comes with a high-quality, highly adjustable circular saw and lots of accessories, for about $500-$700, depending on how much you trick it out. Probably a worthwhile investment. I already have a good circular saw, so I went with the less expensive, but not as integrated, Eurekazone EZ Smart Guide system. It was $300 with the square attachment and shipping. It is not as good a system as the Festool, but hopefully it will suffice.

You'll also need a drill press. To cut both costs and floor space, you can limp along with a portable drill guide system, which turns your drill into a drill press. I've not tried one yet, but I've been told they are adequate for small projects, but after a while, you'll get sick of it.

You will also need a router, and there's really no way around that, but luckily routers do not take up floor space... just the router table. Routers are used to create decorative edging, dadoes, flushing up an edge with a template, rabbets, mortises, etc. You will use one in practically every project. There's two basic kinds of routers: fixed base and plunge. I won't tell you which one is the better buy. Just Google "fixed base vs. plunge router". There's plenty of debate on that topic.

Oh, by the way... You're also going to need a router table. And router bits, which aren't cheap.

And a band saw, to resaw your own lumber, cut book-matched panels, tenons, curves, and do a bunch of other nifty things. I think the band saw is a must-buy. There's really no simple way to do the things it can do with less expensive tools. A good way to save money on wood is to break down fallen trees from after a storm. If you're going that route, you'll want a riser block for the band saw, which adds an extra few inches (6 in the case of my band saw) so you can saw through 12" diameter logs.

You will need the thickness planer. I can't think of a way of getting a parallel face by hand without one. How did they do it in the olden days? Anyway, a bench planer is actually a relatively cheap piece of equipment (relatively), and will probably save you a lot of time you're going to want back after hand planing and jointing all your boards.

Now it's time to start organizing your work space. You're going to need to build a workbench. Follow the instruction Franz Klausz laid out in this article to build a classic cabinetmaker's bench. But first, Martin, you will need to make room in the basement to work. Raise the basement ceiling by tearing out the drywall ceiling, and lifting all the utility pipes up into the joists. Then reclaim some valuable floorspace by replacing the water heater and boiler with compact high-efficiency models. Or maybe it would be better in the long run to just build a two car garage, and make it the workshop...

Blog Archive