Friday, September 30, 2005

YANSR (Yet Another Serenity Review)

I just got back from watching Serenity.

Holy s#|t.  George Lucas weaps in shame and wishes he had one eighth the writing skills Joss Whedon has on his worst day.

I detest simple story lines where everyone lives happily ever after at the end of a movie where no character’s had to sacrifice and everything’s wrapped up in a pretty package.  Life isn’t that way.  Life is wonderful, but it often sucks.  Badly.  People get hurt, people die, loose ends remain untied at the end of the day.

Serenity certainly doesn’t fall into that lame rut, and I loved the movie for its dark themes and sacrifices.  I really enjoyed doing literary analysis on good movies and books back when I was finishing up my degree in night school.  I loved comparing and contrasting various stories with the classical hero theme: a journey, arrogance, doubt, sacrifice, redemption, mercy. 

Serenity has all these elements wrapped into it in spades, plus there’s a great amount of humor.  One of the bloggers I linked in my previous Serenity post made the great observation that Whedon’s not afraid to let one liners fall flat, just like they do in real life.  The audience, admittedly a bunch of Firefly fanatics, repeatedly roared throughout the entire movie, and even broke out into applause a couple times after good lines.

Whedon maintained the depth in all his characters, something I loved about the series.  The interplay between all of them is terrific, although Jayne is much more assertive and stands up to Mal more than he did in the series — where he on occasion showed outright fear of Mal when Mal’s game face was on.  Z�e’s character also has some key questions for Mal at critical junctures, something which brings about Mal’s crisis of doubt.  Characters this rich are tough to find in any story.

Other “trivial” stuff about the movie: The action is great and fun.  There’s a large amount of violence, but I’d say the gore isn’t bad at all.  The violence fits right into an appropriate context, so it doesn’t bother me.  As noted on other blogs, some of the special effects are a bit weak, but I didn’t care.  The cinematography is simply incredible.  I love that Whedon kept the same flavor as the TV series with zooms (“The cheese factor” as Tim Minear said in the Making Of spot on the DVD set), bouncing/jiggling shots, and even some cool flares popping into the screen.

Serenity is by far the best movie in any genre I’ve seen in a long, long time.

<SPOILER_ALERT>

Sue me for saying it, but I’m glad to see Ron Glass’s character, Shepard Book, killed off.  Book was a great idea, but I always cringed when Whedon had Glass trying to pull off something pious or deep in faith.  In the Firefly DVD set’s Objects in Space commentary, Whedon talks about his lack of faith.  I always felt the religious aspect of Book’s character came off very weakly, and I cringed at several points during the series when Ron Glass, a Buddhist, tried to pull off a priestly homily.  Don’t get me wrong, I really enjoyed Book’s character on most occasions, but boy, did I hate those instances where his lines just fell completely flat because neither Whedon or Glass had a clue of where the character should have been coming from.

Wash’s death hit hard, but man o’ man, was it incredibly well pulled off.  Z�e’s shock and loss (and the audience’s!) run head long into Mal’s game face hardass insistence on keeping moving to get the mission done.  Whedon carries the audience and suviving crew through the climactic crisis in the same numbed, get-the-job-done-and-survive fashion, then leaves everyone with a bit of breathing space to let the shock settle in.  It’s simply an amazing section of work that left me, uh, amazed.

</SPOILER_ALERT>

Now Playing: Crosby, Stills, Nash, and Young — American Dream.  Screw those pompous foreigners with their anti-American pandering.  I like my anti-American music home grown where the artists at least have a grasp of what life here really is.  (Or sort of have, should have, might have.)  This isn’t CSNY at their best, but I absolutely love In the Name of Love, That Girl, and This Old House.

Thursday, September 29, 2005

NetGear Router & FTP Problems

My new Netgear firewall/router/dsl modem was not cooperating with FTP sessions at all.  I couldn’t reliably publish pages for our user group or my LLC.  FrontPage couldn’t list any pages on the remote system, FTP timed out, ncftp via Cygwin wasn’t any better.

Sucky.

A quick bounce to Netgear’s product page showed that my “new” router is actually a fairly old model and the firmware was waaaay out of date.  A quick download of the new firmware followed by a quick flash of the new version and Poof!  Everything’s shiny and working fine.  (Frontpage still sucks, though.)

 

Now Playing: The Who — Who’s Next (Remastered).  Killer stuff.  ‘Nuff said.

Wednesday, September 28, 2005

NHibernate and .NET 2.0 Nullables (Ooops)

On occasion one makes a really, really dumbass mistake.  My previous post on NHibernate and .NET 2.0 Nullables was just such a beast.  Encapsulation’s a great thing, as long as you can get the right forms of data to the right places. 

The only problem?  My altered business entity had no way for NHibernate to stuff in those goofy custom nullable types — NHibernate accesses everything via properties, and I’d changed the public interfaces to the .NET Nullables, not the NHibernateContrib custom ones.  Sure the tests ran fine, but they weren’t using the NHibernate Nullables.

Duh.

Back to the drawing board.  One alternative is to create a service layer using an Adapter pattern which sits below the data access layer.  That service layer would be responsible for converting “real” BEs to ones using NHibernate’s custom type.  I fooled around with a quick bit of work on that.  Here’s a quick diagram of what I came up with, although note I’m not doing Test Driven Development and haven’t implemented anything yet.

Frankly, it’s late and I’m off for bed, so there’s no more getting done on this tonight!

Now Playing: Buena Vista Social Club (soundtrack).  Great stuff for frazzled brains.

Serenity Blogs

If you haven’t heard, the folks pushing Serenity (the movie follow on to the incredible series Firefly) opened early screenings to bloggers.  (This after having had three sets of early viewings nationwide for diehard fans.)  Of course, I live in Dayton where no such cool thing would ever happen.

Still, I can enjoy some of the blog reviews here, here, here, here, here, and here.

This one here is a particularly interesting summary of the culture surrounding Serenity/Firefly.  Makes for good reading.

Now Playing: The B-52s — The B-52s.  My wife hates the B-52s, so I have to listen to them when she’s not around.  I’m brainwashing both my kids to love them.  It’s OK because she’ll get me back by playing lots of Nirvana for them.

Tuesday, September 27, 2005

Current Reading

July, August, and September were stuffed with me reading scads of technical books.  Among the titles I blasted through were, in no particular order:

  • Lean Software Development
  • Effective C#
  • Expert .NET Delivery With NAnt and CruiseControl.NET
  • Visual Studio Hacks
  • Writing Portable Code
  • The .NET Developer’s Guide to Windows Security
  • 19 Deadly Sins of Software Programming

Add to that frequent references to Building Applications and Components with Visual Basic.NET, Programming .NET Components, and Design Patterns.

Needless to say, I was pretty groggy after all that.  A break was in order, so I’ve spent the last ten or so days plowing through Halderman’s Forever series: Forever War, Forever Peace,  and Forever Freedom, plus re-reading Drake’s Counting the Cost.  (I’d given up on trying to re-read Anderson’s Harvest of Stars.  The story was OK, but I just couldn’t get over the hideously campy dialog.  Sorry.)  Also toss in a re-read of Scalzi’s fantastic Old Man’s War just so I could remain positive about the guy after his odd rants on Katrina and poverty.

Now, to steal a line from The Holy Grail, I’m feeling much better.  I think I’ll go for a walk.  Or at least get back to trying to get some decent writing and coding done, not to mention trying to get back into the study grove so I can knock off another MCSD test which I’ve been procrastinating for far too long…

Now Playing: Little Feat – Let It Roll.  Amazing how iTunes’s “Shuffle” feature will remind you about some great music you’d lost track of for a whole lot of years.

Sunday, September 25, 2005

Top 50 Sci-Fi Shows

The Boston Globe has posted a list of their top 50 science fiction TV shows. The list's somewhat psychotic, though. The Avengers, Batman, and Tales from the Crypt are listed. Tales from the Crypt and Batman fer cryin' out loud? Yeesh. They also left out the terrific UFO, a campy, terrific show from 1970. I think they've hit a lot of things spot on, so it makes a fun read despite the stupid crap they've got in a few spots.

Friday, September 23, 2005

Great Patterns WebCast

Talk about a timely find: Our Developers Group’s last meeting had Martin Shoemaker talking about Architecture Patterns in C#.  Today I finally got around to looking at this month’s webcasts on the MSDN DVD.  Whoopee!  I found that Craig Utley has a terrific webcast on Pattern Based Development using the .NET Framework.

It’s a 90 minute webcast and he gets into some great detail.  I’m only at the 40 minute point, but he’s gotten into great detail on Singleton patterns, even dealing with multi-threading issues.

You can find a copy of the webcast here.  It’s worth the download!

One note: the first 20 minutes are fairly introductory to patterns, so skip past that if you’re familiar with the background of patterns, the Gang of Four, and how Microsoft is working hard at pushing patterns and practices.

Thursday, September 22, 2005

Selling the Agile Concept to Customers

Ben Carey’s written a terrific post inspired from the “Advances in Agile” session he had at PDC.   Ben gives some great insight on how to deal with Statements of Work (SOWs) and companies which budget for Big UpFront Design (BUFD) or alternatively Big Design Up Front (BDUF).  Check out his thoughts on how to deal with this.

For an alternative view, read Joel Spolsky’s opinion of doing BDUF.  Alternatively to Joel’s alternative, these folks say Joel’s not doing BDUF, he’s doing EDUF (Enough Design Up Front).

Recipe Blogging: Ginger Oil Chicken

Several years ago a good friend took me out to Full Kee restaurant at Baileys Crossroads in Alexandria, VA.  We had an amazing meal there, part of which was a dish called scallion oil chicken.  It was a chicken perfectly poached in a lightly aromatic broth, then served with some finely minced ginger macerated in some oil.  The chicken was cut into bite-sized pieces which you nabbed with chopsticks and dabbed into the oil.  It was just amazing stuff: wonderful, subtle flavors, and an incredible texture brought about by cooking the chicken to exactly the right point.

I’ve thought about the dish occasionally, but never gave a shot at reproducing it — until Tuesday night.  This isn’t exactly what I had at Full Kee, but I hope it’s in the spirit of the recipe.  My family sure loved it.  I call my variant “Ginger Oil Chicken” simply because I could never figure out exactly where Full Kee used scallion oil in their recipe.

This recipe’s all about simplicity and subtlety.  Find as fresh a chicken as possible, preferrably free-range or organic.  Don’t get carried away with the aromatics in the poaching liquid.  Don’t gussy things up with soy sauce, hoisin, or any number of other things which are wonderful in other contexts.  Keep it simple and reap the benefits!

Ginger Oil Chicken

1 fresh chicken, 3 – 4 lbs.  (Use free range or organic if you can find it.)

2 carrots, scrubbed and split

2 stalks celery, cleaned

1 medium onion, skinned and cut in quarters

3 star anise

1 stick cinnamon, broken

4 – 6 cloves

2 coins ginger

Dipping Oil

2 Tbs finely minced ginger, including the skin (See Notes)

pinch kosher or sea salt

1/3 c. canola oil

  • At least one hour before serving, prepare the dipping oil.  Finely mince the ginger and scrape into a small bowl.  Mix in the salt and let sit for ten minutes.  Pour in the canola oil, stir well.  Set aside to steep as you cook the chicken.
  • Cut the skin between the thigh and body of the chicken.  Season the body cavity of the chicken with salt and pepper, then put in a few pieces of carrot, onion, and celery.  Place the chicken in a large pot.  Add the remaining vegetables, star anise, cinnamon, cloves, and ginger.  Cover with 1” of water and place on the stove over high heat.  Bring to a simmer.
  • Cover the pot, lower the heat and keep at a bare simmer.  Simmer for 45 minutes.  (A bare simmer here is critical to keep the chicken from getting too rubbery as it cooks.)  Turn off the heat and let sit for another 15 minutes.  Cut into the thigh and breast to check for doneness.  If the chicken’s cooked through, remove it from the pot and drain.  If not, bring back to a simmer and simmer another 15 minutes.
  • Remove the chicken from the pot and drain well.  Remove the vegetables from the body cavity.  Using shears, a heavy chef’s knife, or better yet cleaver (I ain’t got one.  Boo hoo.), cut the chicken into bite-sized pieces.  Place on a serving platter.
  • Serve the chicken with the oil.  Folks should lightly dip their pieces in the oil, getting a bit of ginger in addition to the oil.

NOTES:

I actually used five-spice powder in place of the cinnamon, cloves, and ginger; however, that powder stuck to the skin of the chicken, rendering it rather ugly.  Five-spice is based on star anise, fennel, ginger, cloves, and cinnamon and I’m pretty confident of my recommendation.

Make sure to include the skin when you’re mincing up the ginger.  Yes, yes, normally it’s shaved off, but it lends an interesting complexity in this context.  Do please scrub off the ginger first, though!

 

Now Playing: Jason Mraz, Mr. A-Z.  This isn’t anywhere near as good as his Curbside Prophet albumn which I absolutely love.  As a matter of fact, I’d say this albumn sucks, or I would say that if I hadn’t paid $12 on iTunes for it.  Bummer.

USB Issues Under XP

I’m running an ASUS P4P800 Deluxe motherboard in the system I built at home.  I installed XP Pro a couple weeks ago after having run Win2K for awhile.  XP wouldn’t recognize the USB ports as 2.0 and would only work with the sucky 1.0 slooooowwww format.  I put off investigating until now, and it turns out it was an idiotically quick fix.

Open up Device Manager, scroll down to the USB controller — whoops!  what’s that yellow question mark showing up?

Seems the USB controller wasn’t recognized during installation.  A quick right-click to select “Update” fixed things — after I let XP search for drivers.  The USB controller is now (correctly!) recognized as an Intel 8280 controller and I’m back up with the more better more better USB 2.0.  Whew.

Should have put the nail in that coffin earlier!

Wednesday, September 21, 2005

Newegg Rocks!

Yesterday I was whining about my crappy Linksys router dying.  I spent an hour or so trying to get sessions surviving long enough to get a new firewall router ordered through Newegg.  (They don’t take orders over the phone, only via their site.)

Thankfully I was finally able to get an order placed at about 5:30 Eastern.  Newegg’s got a “rush” option on their orders which will hopefully get your order out the door that day — as long as you get the order placed by noon Pacific.  I checked the rush option just in case; it was worth the $3 for a gamble.

Surprise, surprise, the new router and an external disk for backup showed up here today.  That’s just incredible work on Newegg’s part.

I’m finishing up preparation work for our .NET Developers Group meeting tonight, so I can’t play with my new toys.  Maybe after I get back home.

Again, I’m awfully impressed with Newegg’s terrific delivery times.  Way cool!

Blog for Federal Developers

Check out this blog if you're a developer working for, or on contract to, some branch of the federal government.

Tuesday, September 20, 2005

My Lousy Linksys Firewall Router

I’ve had a Linksys DSL firewall router (BESFX41 is the model, and no, I won’t link to the piece of junk) for three years now and I’ve had to replace it three times.  It’s an annual occurance, and it appears to be that time of the year again.  I’m having to power cycle the damned thing about every 20 minutes to keep it working long enough for me to research its replacement.  Criminy, what does it take for a company to build a moderately reliable device which lasts more than 12 months?

I’m not a fan of Belkin stuff, so now I’m looking at some of D-Link’s DSL firewall routers.  I’ve not had any experience with D-Link equipment, but Jerry Pournelle seems to be a big fan of them and I think he knows a thing or three about solid home networking.

I’m also not looking at any wireless routers simply because I’m a paranoid security freak.  Besides, I don’t have a wireless laptop so it doesn’t matter anyway.  I can always get wireless at some point down the road.

In the meantime, leave me a comment if you’ve got suggestions on firewall routers to use or avoid.  Minimum requirements for me: four ports, stateful packet inspection, DHCP server.

Saturday, September 17, 2005

I'm Published! (Sort of)

I’ve been asked to write occasional posts for James Avery’s Visual Studio Hacks website.  The first article, on Morrison Schwartz’s SharpTools, was just posted today.

If you’re a Visual Studio user and you haven’t read James’s book, well, go read it!

(BTW, I posted a review of James’s book on Slashdot.  Give the review and its comments a read.  Slashdotters are always loads of fun with their comments.  Or not…)

Recipe Blogging: Cinnamon Ice Cream

First off, if you’re not familiar with Penzey’s Spices do yourself a big favor and head over there for a looksee.  I’ve been using spices, herbs, and whatnot from Penzey’s for years.  They’re just plain amazing.

This ice cream is something I came up with four or so years ago as a side to a roasted pineapple (I’ll post that some other time).  It’s wonderful stuff, and really worth the effort to search out good vanilla beans and cinnamon.  Did I mention Penzey’s is a great place for spices?

Cinnamon Ice Cream

 3 c. Half-and-half

2 sticks cinnamon, broken

1 vanilla bean, split and seeds scraped out

1/2 tsp. cinnamon powder

3 egg yolks

3/4 c. sugar

  • Pour the half-and-half into a heavy saucepan.  Add both cinnamons, the vanilla seeds and the scraped bean husk.  Bring to a simmer over medium-high heat, stirring frequently to avoid scalding.  Remove from heat, cover, and let steep for 30 minutes.
  • In a medium bowl, whisk the egg yolks and sugar together until the eggs are pale yellow and form a ribbon when you drizzle the egg/sugar mix back into the bowl.  Set the bowl in a towel rolled into a ring.  (This keeps the bowl from scooting all over the place during the mixing which is about to occur.)  Bring the half-and-half back to a simmer, then very slowly pour 1/2 c. of the hot cream into the egg mix, stirring constantly.  After this initial bit is mixed in, slowly pour in the rest of the cream, whisking constantly.  Pour the mix back into the saucepan.
  • Return the saucepan to medium heat and continuously stir the custard.  Cook until it just begins to thicken — at the point where it leaves a clear strip when you draw your finger across the back of the spoon or spatula you’re using to stir.  Remove from the heat and pour through a strainer into a bowl set in an ice bath.
  • Cover with plastic wrap, pushing down onto the surface of the custard, and chill overnight.  This overnight resting is critical to the outcome of the ice cream.  The stuff will be very good if you skip this and go straight to freezing, but it will be wonderful if you’re able to do this the night before.  The additional resting time gives the proteins and other smart-sounding stuff time to bind.  I don’t know what really happens, I just know I followed Alton Brown’s suggestion from years ago on FoodTV and it makes a helluva difference in the final texture.
  • Process as usual in whatever ice cream maker you’ve got.  We’ve got an old Krups which has served us very well over the years.

Pictures:

Here’s a shot of the eggs at ribbon stage:

 Eggs and sugar at the ribbon stage.

Here’s the custard after it’s been cooked just enough:

Custard when it's been cooked enough.

 

Thursday, September 15, 2005

Development Philosophy and Long-Winded Software Pundits

Roy Osherove has a very interesting post on his frustration with folks who want to spend too much time blathering away about minutia instead of just rolling up their sleeves and getting coding. (That's my paraphrasing, not his exact words, BTW.) I'd have to put myself dangerously close to the group of folks who like to spend more time blabbing about something than actually getting it done -- but that's because I'd been stuck in lousy job positions for nearly five years where the majority of my tasking was, well, to spend loads of time blabbing about crap with customers and management. That's fixed now with my move to an independent consulting role. Now I get to do actual coding, or at least I will once I get steady work. :) Having just proven my point about blabbering, go read Osherove's post.

Wednesday, September 14, 2005

NHibernate and .NET 2.0 Nullables

UPDATE: I screwed up on this post.  See a correction here.

NHibernate is an object persistence system, enabling you to bypass oodles of data access layer and SQL code, directly storing objects in a database.  It’s a pretty slick concept, and I’ve been fooling around with getting some business entities stored via NHibernate.

The first problem I’ve run into is .NET 2.0 Nullables.  The BEs I’m working on use Nullables for various members, and NHibernate was most vexed with them since NHibernate only works for the 1.1 Framework.  However, all’s not lost.  Thankfully there’s a potential answer.  NHibernateContrib is modeled much like nAntContrib — a spot for handy tools which haven’t made it into the “real” release yet.  One of the tools in that project is support for Nullables.  Whoopee.

Ooops.  Not so fast.  The Nullables in NHibernateContrib are a custom type.  The examples show changing your BE’s public properties to these custom types.  That’s not so cool since it scatters a custom type throughout your code.  I’d rather stick with the native .NET 2.0 types.

No problem.  I can encapsulate everything inside the BE without too much trouble.

Here’s what one of my properties looks like before the change:

public Nullable<int> PersonID

{

get { return _personID; }

set

{

if (value != null)

{

if (value < 0)

{

throw new ArgumentOutOfRangeException("value", value,

"ID value < 0");

}

}

_personID = value;

_isModified = true;

}

}

My test for checking null functionality looks like so:

[Test]

public void CheckNullIDInputs()

{

PersonEntity pEnt = new PersonEntity();

pEnt.PersonID = null;

Assert.AreEqual(0, Nullable.Compare(null, pEnt.PersonID));

}

I got the BE’s property changed, but it took a bit of extra work since the Nullable types from NHibernateContrib use NullableType.Default for returning a particular null, i.e. NullableBoolean.Default.

Here’s what the BE property code looks like after my edits, with all tests running green:

public Nullable<int> PersonID

{

get {

// return _personID wasn't working correctly without this

// HasValue test due to apparent issues with how the

// NullableInt32 type is handled when it's Default.

if (_personID.HasValue)

{

return (int?)_personID;

}

else

{

return null;

}

}

set

{

if (value != null)

{

if (value < 0)

{

throw new ArgumentOutOfRangeException("value", value,

"ID value < 0");

}

_personID = (NullableInt32)value;

}

else

{

_personID = NullableInt32.Default;

}

_isModified = true;

}

}

So now everything’s green and shiny with my BE tests.  Now to press on and see about getting them successfully in the database!

 

Longhorn Install == Molasses

or maybe watching paint dry.

I’m putting Longhorn on a Virtual PC in order to try and nab the Consolas font out of it.  The install’s been running an hour now and it’s only ~ 50% done.  zzzzzzzzzzzzzz.  Things don’t appear to be hung because there’s still activity showing on the drive and the progress bar appears to be progressing, but boy, is this sloooooow.

nUnit Minor Diety Now Blogging

Charlie Poole, the current driving force behind nUnit, now has a blog. This is great stuff for anyone interested in any form of testing. Charlie's a big proponent of Test Driven Development and has lots of great insights. Check out his blog if you're at all interested in high-quality testing. (And you ought to be!)

Sunday, September 11, 2005

9/11 Memorial

Take a look at this online memorial to the people who died on 9/11/2001. Regardless of your feelings about the war, watch this and keep in your minds the heroes of the day: the first responders in NYC who continued climbing up the second tower after the first fell. (NOTE: It's a 7MB download, but it's worth it.) (Via Instapundit)

Saturday, September 10, 2005

Great Potential Addin for VS.NET!

Here’s something I’ve been dreaming of:  viAddin at GotDotNet.  “Native vi emulation in Visual Studio .NET,” says the description.  Wow, boy have I missed those vi command strokes!

Oh, wait.  There’s been zero file checkins and zero releases.  Rat farts.  Guess I’ll have to wait.

Maybe the folks at Vim will get their great editor wickered up so I can use it inside VS.NET!

(Seriously, folks, I love Vim [not vi] and have done quite a bit of development with it.  There’s no better lightweight POTE [Plain Ol’ Text Editor] around, especially if you’re looking to do quick regular expression hacks of a file.  Yes, I know, I’m a sick person.)

Wednesday, September 07, 2005

Recipe Blogging: Jim's Heretic Fusion BBQ Sauce

I call this “Heretic” barbecue sauce after my “Heretic Chili,” which is pretty much guaranteed to aggravate any chili purist. There are plenty of BBQ purists around too, and I’m sure some would be beaked about this.  Tough.  I really like the play of sweet and sour in this sauce, plus I enjoy the depth from the Chinese ingredients.

Jim’s Heretic Fusion BBQ Sauce

2 slices bacon, finely chopped

1/2 medium onion, finely chopped

2 cloves garlic, minced

1 small can (4oz?) tomato paste

3 Tbs hoisin sauce (Chinese sweet soy bean paste)

1/4 c. black Chinese vinegar

1/4 c. cider vinegar

2 c. port  (See Notes)

1 c. apple jelly

3 Tbs honey

  • In a tall saucepan over medium heat, saut�e the bacon until it begins to render its fat.  Raise the heat to medium-high and add the onion and garlic.  Saut�e for 3 – 5 minutes until the onion is starting to caramelize and turn brown.
  • Add the tomato paste and hoisin sauce.  Stir frequently and cook for 2 – 3 minutes.  (This caramelizes the tomato paste and hoisin sauce, really popping their flavors out.)
  • Add the two vinegars, port, jelly, and honey.  Lower heat and simmer for about 30 minutes.

NOTES:

  • Port: Avoid the dreck Gallo bottles as port.  Look for something like Sandeman’s Reserve, Warre’s Warrior, or Graham’s Six Grapes.  You only need part of the bottle for this sauce, so you’ll have plenty of nice port to sip on after you’re done grilling.
  • Usage: This sauce is killer on pork chops and great on burgers and chicken.  I wouldn’t get BBQ sauce anywhere near a steak just because I like my steak pretty basic so I can enjoy the flavor of the unadulterated beef.  Dunno how well it would work with goat.  Let me know if you try it.

UPDATE: Vlad in the comments mentioned using balsamic vinegar in place of the Chinese vinegar.  This really is a terrific substitution if you can’t find Chinese vinegar.  I’d meant to write exactly that in my original post but forgot.  Be sure you use a condiment grade balsamic — don’t waste your precious “real” stuff!  Check out this recipe post from the past for more info on balsamic vinegar.

Tuesday, September 06, 2005

The Only Good Katrina Blogging

Tired of Keith Olberman's, Geraldo's or much of the other media's lousy coverage of the devastation in New Orleans? Check out this clip from Ill Will Press. WARNINGS: 1) Skip this if foul language offends you. 2) Turn down your sound if you're in an environment where folks within earshot are offended by foul language. (Via Instapundit)

Housecleaning: Blogroll Update

For those of you still awake and reading my blog out there, I’ve updated my Blogroll off in the right margin.  No deletions, a few additions.  I still read Ben, James, Christian, Clemens, and the other folks I had previously.  I’ve added Hanselman, Sara Ford, James’ Visual Studio Hacks, and a couple other geek sites.  (What, you wanted hyperlinks in this post?  Go click on the sidebar you sluggards!)

For society stuff, check out John Scalzi’s Whatever.  Great stuff from a helluva author, although I’m disagreeing with him rather strongly on his post-Katrina content.

I still don’t waste time with Sullivan, Alterman, or Right-Thinking From the Left Coast.  So there.

UPDATE: Looks like some spambot found this post for comment spam. Dipshits. I'm shutting off comments for this post. Hopefully the SOBs will forget about me for other posts. Bastards.

Saturday, September 03, 2005

Hurricane Blogging

I’ve kept quiet about the catastrophe in New Orleans and along the gulf coast simply because there’s already enough being posted in the blogosphere already.  Do your own searching for idiotic, asinine commentary about who’s to blame — there’s plenty of stupid rants from all sides of the political/social spectrum.  There’s plenty of blame to go around.  (The one comment I’ll allow myself is that you should read this post on the buses of New Orleans before you go solely blaming the feds and Bush’s administration for the horrors in the Superdome and the convention center.)

Better yet, focus on something positive, like donating money and/or time to help those in need.  Instapundit has a huge list of charities focusing on hurricane relief, as does NZ Bear.  Bear’s also got a idea: log your contribution to show how much the blogosphere is contributing to helping relief efforts.

Thursday, September 01, 2005

Agile Podcasts

I’ve posted a review at Slashdot on Tom and Mary Poppendeicks’ Lean Software Development.  There’s been the usual mix of comments: many useless, many snarky (I even got called “clueless” and “dangerous” for my review!), and a few gems mixed in with the rest of the crap.

One of the gems was a pointer to podcasts on Agile topics from iTunes, plus an entire site dedicated to Agile podcasts.  As Keanu Reeves would say, “Whoa!”

The iTunes podcasts aren’t searchable from the iTunes Music Store browse/search bar.  You have to log onto the Music Store, then hit the “Podcasts” link on the left sidebar.  A podcast-specific searchbar there lets you search for the “real” stuff.

Right now I’m listening to Mary P.’s interview from the Agile 2005 conference.  Great stuff!

Subscribe (RSS)

The Leadership Journey