Wednesday, January 30, 2008

Adventures in Beef Daube

So I had this 3 lb. bottom round sitting in the refrigerator for two days, and I figured I better do something with it quick. I got online and typed "bottom round" in the search bar at cooks.com, and got a lot of hits for pot roast, sauerbraten, and beef daube. Ah... beef daube. I remember enjoying it at a French cafe in Kirkwood, MO. The cafe was aptly named Cafe Provençal, since it specializes in Provençal cuisine. So I figured I'd give it a try...

I settled on this recipe as my main direction, called Daube Bignami. I cut the roast into large pieces, and followed the recipe, substituting garlic powder for chopped garlic because I didn't have any fresh garlic. I used about half a bottle of Red Bicycle merlot I had on hand, and covered w/about two cups of water. I let it simmer for about an hour, filling the house with a nice wine-food smell, and then I started taste testing the broth.

I must say it was pretty bland. I hadn't added any salt yet, so I added about a tablespoon of kosher salt and let it simmer for another 10 minutes then tried it again. Eh, getting better, but not there. I started leaving it uncovered so it would reduce into something more bold, but it was still not getting there. Finally after about 2.5 hrs of reduction, the meat was getting so tender I was afraid to let it go any more, so I took the meat out, into containers, and into the fridge, and then proceeded to reduce the broth more aggressively.

All the while I'm doing this, I was studying my calculus, like a good boy, and sipping on my Vernors ginger ale. Vuuuhnuhs, as I like to call it. Mmmm... it's so good. I'm sipping some now. But at the time I was remarking how well it played with the taste of that broth. So I decided what the hell, that broth is lame, so I'm going to throw a couple pieces of ginger in there. I happened to have some crystallized ginger on hand. In go two pieces, and a little white pepper.

As I'm waiting for that flavor to be incorporated, I'm looking at the spice rack, and I see that tin of lavender that I never get to use. Well, lavender is everywhere in France, from what I understand, and this is a French dish, and lavender is often a flavor in French wines, I think... so... what the hell.

In goes about a teaspoon of lavender... 30 minutes later... mmm! I mean mmm!! Finally managed to turn the corner w/this dish. I think I'm onto something here.

OK, it's been reducing down to almost nothing, and it's gotten very thick, just where I want it. I've cut off the heat, and stirred it well, and now it's just steaming off a little more, and I'm going to pour it over the meat that's already been removed to the plastic containers in the fridge, and let that mellow overnight. I have a feeling tomorrow's lunch is going to rock!

PS: After posting this, I went to Google to find a picture to put up with this post, and quickly learned that lavender is actually one of Provence's primary attractions. Ha! Just type "provence" in Google's image search, and see that about half the pictures that come up are fields of lavender. Imagine that. I also searched for "beef daube lavender", but found only one beef daube recipe that calls for lavender, so maybe it's like a secret ingredient or something... seems like it would be more of a standard for the consummately Provencal dish.

The picture I've posted here is of an actual lavender field in Provence. I wonder if the lavender I have came from there.

Tuesday, January 29, 2008

Concerning the Grasping and Releasing of Things

When I feel particularly ordered, I grasp and release things in a certain way, precisely, and completely, then I roll step from room to room, effecting a gliding motion, and bound up and down the stairs on the balls of my feet.

Drinking a glass of cold water is a special ritual in this mode, where every sip is a carefully measured action, tipping the glass to a locked angle, then back to level with the floor, the meniscus coming to rest perpendicular to my spine, and placing the pitcher back into the refrigerator is swift and mechanical, but the liquid moves only a minimal amount.

Sit, stand, roll step to the kitchen, switch the light on, perform the chore, switch the light off, walk back to the dining room table, place the glass neatly on the table, sit down with correct posture, take the pencil into my hand, and resume calculations.

Sunday, January 27, 2008

Alpine Racing: Distilled

With his win in the Super Combined at Chamonix, France, Bode has taken the overall title lead in the FIS World Cup! Go Bode!

Watching Bode take the carousel turn in the downhill portion of the Super Combined, the following thought occurred to me:

There are two necessary criteria for a winning run, and everything else that you do is essentially in support of them: carving each turn cleanly, and taking the tightest line.

These two things are completely dependent on each other as well. You can carve the cleanest turns in the field, but if you're not taking the tightest line, it's pointless. Likewise, if you're taking the tightest line, but spraying out like crazy, you're not going to win.

Carving a clean turn means you carry every bit of energy possible that you put into the turn with you into the next turn. If your edges release in the slightest bit, you are losing energy.

Everything else you do with technique is performed in order to make those two things happen. For instance, balance and rhythm are required to properly manage your center of mass, in order to keep those edges carving. Likewise, you may be physically incapable of holding your edges through the most direct line, so may be forced to round out the turn by initiating it early, in order to carve cleanly.

Note that it never makes sense to sacrifice a clean turn for a longer run between gates. A racer is constantly gambling, trying to determine when waiting any longer before initiating the turn will result in a messy turn. If you're not gambling, pushing yourself, letting those skis run as long as possible between turns, you're not going to win.

The better you can hold your edges through a turn, as your line tightens, the faster your run will be. Given that each racer's weight varies, which means that the momentum produced as the racer slides down the hill varies, and how well the skis are sliding (the tuner's problem), and also how well the racer utilizes the rebound of the skis to generate further speed in the turn... given all those things equal, the winning run comes down to the lowest combination of energy lost in each turn and distance from start to finish.

Yes, I am taking a break from studying my calc III right now, so everything is reduced to an equation in my mind at this point...

Thursday, January 24, 2008

Macy's Credit Card Ripoff Revisited

Well, just got off the phone with Corinne at Macy's Credit Services, and she informed me that because I didn't opt out in the first 30 days, it is too late. I explained that I didn't realize I had the account in the first 30 days.

I'm not really sure this fiasco is blog worthy, but I leave it posted as a cautionary tale.

She said there was really nothing she could do. I tried to calmly blurt out that if I could not be given a satisfactory resolution to this situation, I would be filing a complaint with the BBB and the MO Attorney General's office. The words sounded rushed, and I think I took a slight breath in the middle of the sentence. I really don't like threatening people, and for some reason in that moment I had difficulty detaching. I was trying to be both personable with Corinne, and firmly stand up for myself against the Macy's corporation.

I was careful to keep my FM voice, and to let her finish speaking before I spoke. Things like that go a long way with people when dealing with a stressful situation, and people like Corinne have to deal with these situations all day long, but she wasn't mean.

She explained that the two-account system was described in the documentation sent to me, and I responded by asking her if she thought any sensible person would be able to determine that they were given two accounts on a single card by reading that fine print.

After a brief waiting period she came back on the phone and said that it turns out I can still be opted out of the Visa card.

And there was much rejoicing.

The Macy's Credit Card Ripoff

Usually when you think about credit card schemes, you think about some pyramid of greedy dirt bags trying to rip off a credit card company. Well, in this case, the greedy dirt bag was the credit card company, and they have attempted to rip off me.

In December I stopped in at Macy's on the way home from work and bought a new bathrobe, some socks, and a pair of slippers. At the register, the lady offered me a 20% discount off the purchase if I sign up for a Macy's card. Also, I would get an additional 15% off later when the bill came. OK, sure I said, so I filled out the form, and got my instant 20%.

Early in January I received my bill, along with a Macy's branded Visa card. I got online and paid the bill on the 9th, in full. Here's where it gets stupid...

Yesterday I got a phone call from Macy's collection asking me to call them. OK... so I called. Well, it turns out my payment didn't go against the bill they sent me, but instead against the Macy's branded Visa they signed me up for, in addition to the Macy's card, apparently, which I still have not received. What what WHAT!?

I didn't sign up for two credit cards, I signed up for one, so how did I get two, and why haven't I received the real Macy's card, and why did they send my bill with the other card, and now I'm facing collections, even though I totally played by the rules and paid what I thought was my Macy's bill well ahead of schedule?

After speaking with Andrew in collections, it turns out there was a small check box somewhere on the application that I neglected to check. By not checking the box, I confirmed my desire for them to also sign me up for a Visa card, in addition to the store's own credit card. Uh huh.

So now I'm stuck with this credit card I don't want, because to cancel it will actually damage my credit.

To be honest, I remember reading that credit application very carefully. I always check what the little boxes say because they usually allow me to opt out of some mailing list or something, so I am always sure to check or not check them. This is bullshit.

I signed up for LifeLock yesterday, so next time someone tries to sign me up for a credit card, be it a criminal trying to steal my identity, or Macy's trying to skirt the corporate fraud laws, I will be called on my cell phone to see if I really want it.

I'll now attempt to contact someone in Macy's who can rectify this situation, and/or be filing a complaint with the Better Business Bureau and the Missouri Attorney General's office. I would really like to see a photo copy of my credit card application, because frankly, I don't believe them that I didn't check some box.

Thursday, January 17, 2008

Japanese Poaching Humpbacks

No, I'm not exaggerating. I found this article on CNN today. The Japanese have cranked up their whaling rigs and headed off into the south pacific to slaughter about 1000 whales, specifically Humpbacks, Minkes, and Fin whales. Yes, in case you're wondering, they are all nearing extinction, Fins especially.

I don't normally find myself siding with people who invite themselves onto strange boats like the two men in the article, Giles Lane and Benjamin Potts, but in this case I do.

Over the years we've learned that whales are intelligent, prectically to the point of sapience. They have complex and extensive languages in the form of aural patterns. They have complex social structures. They're majestic and beautiful, and humongous, and... and they're almost extinct! What kind of person knows all this, and still thinks it's OK to hunt them for food!? Whales enrich our lives by being the benevolent lords of the oceans, playful with humans, and awe inspiring to behold, not by being some gamey seafood that the older generations apparently have to force on younger generations who don't have a taste for it anyway (warning on that link... the picture's pretty disgusting).

The article notes that the whaling is sponsored in part by Institute of Cetacean Research. I looked up this "institute" on Google to see what kind of scientists would require slaughtering endangered species. Here's what I found... see for yourself.

It's the most ridiculous excuse for a "research" organization I've ever seen. They allege they need to kill wales to better manage the planet's whale stock. Uh huh. Have a look at these photos. As you can see, they need to kill them so they can cut open their stomachs to see what they're eating.

Wow, what a surprise! They found fish and krill in the whale stomachs! Who would've guessed? I would've because it's impossible to live on this planet for 31 years and not know that whales eat fish and krill. In fact, I've seen the whales actually eating fish and krill because I watch TV, and there's specials all the time on Science and Discovery showing whales feeding. No need to kill them and cut their stomachs open! We have divers with cameras!

This is directly from their FAQ:

Q: Why do you need to kill whales to do research? Can't you do the research by non-lethal means?

A: Japan's research programs involve both lethal and non-lethal research techniques such as sighting surveys and biopsy sampling. While certain information can be obtained through non-lethal means, other information requires sampling of internal organs such as ovaries, ear plugs and stomachs. For example, while the population age structure and reproductive rates of land mammals can be determined by observation over a long period of time, such is not the case for whales since they spend most of their time underwater. In this case we need ear plugs for age determination and ovaries to establish reproductive rates. Similarly, to study the interactions of whales and other parts of the marine ecosystem we need to know what they are eating. This is done by examining stomach contents.

Another example is that for pollution studies, tissue samples from various internal organs are required.


Wow, someone needs to tell Japan about tracking devices, underwater photography, and maybe the concept of catch and release. They put on like they're modern and technologically savvy, but I think they are not as advanced as they would like us to believe.

From what I've been reading, Iceland and Norway are just as bad as Japan when it comes to whales. What a bunch of assholes.

Saturday, January 12, 2008

Box Completed

I have finally finished a jewelry box that I was making as a gift for my sister. I actually finished it in time for Christmas, but am just now getting the pictures up for the record. You can click on either of these pictures to see a full album of pictures I took throughout the building process.

It was made from canary wood and rosewood. For the main box I primarily used a bandsaw, and my planes and chisels. The finger joints were too big to use a router bit. For the drawers' finger joints I used a downcut spiral router bit.

By far the hardest part was fitting the miters for the top and bottom. It took for-ev-er. I eventually had to make two shooting boards that could hold the triangular pieces at a 45 degree angle, and shot them with my block plane. Even then, they were not perfect (although neither were the shooting boards).

All the box parts were made from three boards. Two for the main box, and another piece of canary wood for the drawers. All the initial cuts were made with the bandsaw, and then flattening and thickening were done with my hand planes. It was a lot of work, but the more you use those planes, the more efficient you get with them.

I don't know that there's any real advantage to having an electric thickness planer and jointer, except speed, but again, the more you use the hand planes, the quicker you get. You also have an incredible amount of control over the wood, you learn a great deal about how grain behaves, and they take up a ton less space, and are less expensive to buy, use, and maintain.

I have two new planes and two old planes. The new ones are both Lie-Nielsens, the 4 1/2 smoothing plane and the low-angle block plane. I love them. The old ones are an old Bailey No. 7 jointer plane (circa 1902), and a more recent Bailey No. 5 jack plane (no patent date on it, but I would say it's pre-war by the look of it).

I've also discovered the wonders of a cabinet scraper. I bought a Stanley No. 80 cabinet scraper, and it took me a little while to learn to use it properly, since it doesn't come with directions, but once I got the hang of it, it was producing perfectly smooth, kissable surfaces.

I noticed that the rosewood has a wonderfully musical quality to it, and in fact I learned that it is frequently used to make musical instruments. You can tell why when you handle a piece. When you knock it, it has a pleasant tone. It's very rigid, and hard. I think that gives it the tone. You could make a really nice xylophone or marimba, or wood block, or any other sort of percussion instrument with it.

I made several mistakes, of course. Like I said, this was my first significant woodworking project. Before this I had only made a couple frames, a router table and a bunch of jigs. I am calling this one a success. It is not the most original piece. You might see some Greene & Greene in there (I was going to pin the joints originally), and who knows what else. I didn't design it after anything in particular, although I did take some cues from the houses in my neighborhood. It all came from my head. Altogether I would say the main box took me about... 80 hours? Maybe 120. Yeah, it took a long-ass time. The drawers only took about 10, because they were the last things I made, and my experience was built up by then. I think I could do it all again in at least half that time now.

I started by making a prototype out of MDF. I later used the prototype to create a finger joint jig for the drawers. It came in handy! That jig is shown in the album.

I've learned that layout tools should be the highest quality you can afford. Every penny you put into that expensive mitre, square, straight edge, level, whatever, will be money well spent. Reliable precision tools and gauges will save you hours of time that would otherwise be wasted calibrating, measuring, re-measuring, and nudging things. And will give you more confidence in your cuts, allowing you to focus on the item you're building instead of your tools.

A post will be forthcoming on that No. 7 jointer plane.

Thursday, January 10, 2008

Kelly Tilghman is being... attacked by many people.

For anyone who doesn't know, there is a story out about an anchor on the Golf Channel, Kelly Tilghman, who apparently uttered a "racially insensitive remark" last week.

According to the story, Nick Faldo said, "To take Tiger on, well yeah, they should just gang up for a while until ..." "Lynch him in a back alley," Tilghman interrupted with a chuckle.

I am blogging about this because as I think about this word, lynch, I must admit, I would've never even thought of it being a racist word.

I consider myself fairly well read, and I've come across the word many times in my life, certainly even in stories of racial attacks in the old south. But in my mind the word has never been used exclusively to describe an attack on African-Americans. It has always just been an attack by a gang of people.

See, from my point of view, even if I had been watching the Mercedes-Benz Championship and heard Ms. Tilghman say that, I would've never thought of racism. The remark could've just as easily been applied to any member of the tour who is unstoppable. In fact, the remark was meant to be flattering! She was simply joking that it would take some underhanded tactics by a gang of outlaws in a dark alley to stop Tiger from winning a golf tournament. She's saying he's the best! Good grief.

We all come from different life experiences. We all associate different memories and feelings with the words we hear and use. For the most commonly used words, most people are going to interpret them with the same types of feelings and images, but for the more obscure ones, like "lynch", the feelings and images associated with them can be drastically different from person to person.

I understand Mr. Sharpton's point that the word lynch brings forth horrible feelings for African-Americans. I hadn't considered that before. And now I think Mr. Sharpton needs to be considerate of Ms. Tilghman's, and all other Americans' backgrounds, just as he demands that everyone be of his.

Tilghman's biggest crime here seems to be that she did not think of the old south and burning crosses when she said the word "lynch," although I'm sure she does now. If she was like me, she thought simply of a group of dirty people with rakes and pitchforks chasing someone, like in an old movie. Or maybe it was that post-hair rock band in the early 90s, Lynch Mob... "I've got that wicked sensation." I was a fan of that band when that album was out, and had never considered until now that they might be racist. I don't think they were... the band was actually named after one of the members, George Lynch.

Calling for Tilghman's job over this shows a terrible insensitivity to her life experience, and to me that seems somehow hypocritical.

Monday, January 07, 2008

Hehe... Corso.

What the heck is Lee Corso still employed as a football analyst for? His gimmicks are old hat, and boring. He's just this emotional, pathetic man who is always wrong, and then makes excuses for his failures. What is the point of having him there?






The video speaks for itself, but I would just like to know... when he says "nice little fake," what is he talking about? There was no play action fake on that play. He's such an nincompoop, and there's so much desperation in his delivery that it's embarrassing to watch. I don't think any of the other analysts actually take anything he says seriously.

Another thing... in a recent NY Times interview, when Corso was asked if WVU's former head coach was the right man for Michigan to hire as its new coach, he responded "Obviously, because he is the one they got. He had taken West Virginia as far as they were going to go with getting them to two BCS games. So they had to let him go."

Obviously Corso has a serious chip on his shoulder for WVU. It's simply illogical to conclude that we have gone as far as we can go by getting into two BCS games, especially given the fact that we were upset out of the BCS Championship game. By saying that, he is essentially pouting, IMHO. Haha, Corso pouts. What a petty little phony.

Thursday, January 03, 2008

WVU Proves Them Wrong... Again

"Oh, the Big East isn't a real football conference"
"The 2006 Sugar Bowl was a fluke. Georgia should've won."
"West Virginia can't pass the ball"
"West Virginia's defense is suspect"
"WVU plays a cupcake schedule. They can't hang with a real team."
"Oklahoma deserves to play someone better than WVU."

Here's what I have to say to you:

48-28, West Virginia
525 yards of offense
349 rushing yards

Who needs to pass the ball when you can run it like that? Of course, Pat did complete 10 of 19 for 176 yards, 2 TDs and 0 interceptions.

Our defense? Well, I know we had 4 sacks and an interception. I can't find the defensive stats online, but I know we were in their face all night, charging with a relentless pass rush and a suffocating ground defense.

Oklahoma is a great team, but tonight WVU was better, and we'll keep on proving we're worthy of the praise we get, season after season.

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 www.upromise.com, 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.


Haha!

Thursday, December 06, 2007

Southern Evangelical Christians

I just read this in an AP article on stltoday.com:

"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

Money

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...

http://forums.nasioc.com

http://www.tirerack.com
http://www.tires-easy.com
http://www.gotodobbs.com

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):

http://www.cnn.com/2007/WORLD/meast/09/07/iraq.main/index.html
http://www.cnn.com/2007/WORLD/meast/09/05/iraq.main/index.html
http://www.cnn.com/2007/WORLD/meast/08/22/iraq.main/index.html


I did find a website that is tracking the number of reported civilian deaths, which is at least something: http://www.iraqbodycount.org/.

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 consumerconsequences.org, 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
STLtoday.com
Mayor Slay's Desk
PUB DEF
clearview
STL Rising
Vanishing STL


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

At Home
STLtoday.com


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):

KSDK
STLtoday.com
Pyramid's website
Dawn Griffin
UrbanSTL
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
UrbanSTL
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, STLtoday.com 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: http://showmepods.com/kheer.html.

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 main.cf 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 main.cf 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 main.cf:

# 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 main.cf. 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 foo@bar.com -t bar@foo.com 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

Cavemen

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:
http://www.wemustignitethiscouch.com
http://www.msnsportsnet.com

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.