Tuesday, March 07, 2006

Gnocchi With Venison Ragu

Nino’s post on the Four Things Meme mentioned gnocchi as one of his favorite foods.  That kicked me in the pants and reminded me that I hadn’t fixed any gnocchi since last winter.  Unacceptable!!

We were lucky enough to have about a pound of venison hamburger given to us by a hunter friend, so I thought that would make a killer sauce.  (Plus my daughter had just watched Bambi.  How could I resist??)  Enough tangential blabbering.  On to the good stuff.

Potato Gnocchi With Venison Ragu

Ragu

  • 1 lb venison hamburger (ground lamb makes a killer ragu, too)
  • sea salt
  • freshly ground pepper
  • 3 cloves garlic, chopped
  • 1 small onion, peeled and finely chopped
  • 1 carrot, peeled and finely chopped
  • 1 stalk celery, finely chopped
  • 2 x 28oz cans whole tomatos (See Notes)
  • 1/2 bottle decent red wine  (See Notes)
  • 2 bay leaves
  • 3 large sprigs thyme

Gnocchi

  • 3 large russet potatoes  (NO Yukon golds or other starchy spuds!)
  • 2 eggs
  • flour

Making the Ragu

Brown the venison with a bit of olive oil in a heavy pot over medium-high heat. (I’ve got a Le Creuset Dutch I mean French Oven which I bought years ago and has been worth every penny.)  Season with the salt and pepper as you go.  After the meat is browned, add the garlic, onion, carrot, and celery.  Continue cooking until the vegetables are softened, then add the crushed tomatoes.

(Here’s a trick for hand-crushing tomatoes without making a huge mess as the tomatoes explode: Drain the juice from the tomatoes into the cooking pot, leaving the tomatoes in the can.  Use a long knife and poke all the tomatoes in the can — this will let the internal juice come out through the holes without exploding when you squeeze them.  Now invert the can over your pot, stick one hand up in the can, and crush the tomatoes into goop, letting crushed bits fall out around your hand.  Figured this one out all by myself.)

Pour in the red wine, add the bay leaves and thyme springs.  Cover and cook for at least two hours.  Crack the lid off the pot and cook for another hour until the ragu is thick and wonderful.

Serve with pasta or whatever.  Leftovers around here get vacuum packed with our FoodSaver and tossed in the freezer for later use.

Making the Gnocchi

Keep in mind that I’m a California Farm Boy, so authenticity on these may be lacking.  My technique comes from having watched Molto Mario twice a day when my daughter was younger.  Food TV had his show on right as I was fixing her lunch and dinner, so we’d watch his show as we were getting ready to eat.  One of her earliest phrases was “Ciao, Mario!”

Cut the russets in half and put in a large pot, covered with 2” water.  Bring to a boil, lower to a simmer and cook for 30 – 45 minutes until the potatoes are soft when pierced with a fork.  Remove from the pot and peel as soon as you’re able to work with them.  Immediately pass the potatoes through a food mill or potato ricer, mounding the processed potatoes on the counter.  Try to work the potatoes before they cool too much — the texture of the gnocchi will be much better.

Clear a hole in the middle of the potato pile.  Break the two eggs into the center and stir them up with a fork.  Spread a couple handfuls of flour over the potatoes, then start mixing up the pile.  This is sort of like mixing bread dough on the counter: just keep gathering it up and kneading it a bit.  Add more flour as needed.  The mix should still be sticky, but workable.  A dough scraper is invaluable for this process!  You’ll end up with a smooth ball of dough after five to ten minutes of kneading.

Get a large pot of water on to boil.  Get a *large* bowl of water with a bunch of ice cubes in it.  Put a strainer over the bowl so the strainer is in the water.  Put a bunch of lint-free towels on a counter or kitchen table (not on a wood table!).  Scrape off the counter you’re working at and sprinkle a bit of flour over the working area.

Start to make gnocchi by cutting off a hunk of the dough.  Roll it out into a rope about the thickness of your thumb.  (OK, I’ve got marginally big thumbs.  Maybe 3/4” thick?)  Use your scraper or a knife and cut the rope into pieces roughly 3/4” long.  Using your thumb, flick the pieces off the back of a fork, rolling them along the tines and smooshing them a bit with your thumb to make a bit of a dimple.

Working in batches of 15 – 20 gnocchi at a time, drop them into the boiling water.  You’ll need to tinker with the heat a bit to maintain the water at an aggresive simmer, not a rolling boil.  A rolling boil is a Bad Thing because the gnocchi will fall apart!  I leave my lousy electric burner on high heat, but pull the pot partway off.  Cook the gnocchi for 3 – 5 minutes until they’ve all released from the bottom of the pot and have been floating for a minute or two.

Remove from the pot with a skimmer and transfer to the ice water bath.  Let rest there while you cook the next batch, then remove with the skimmer and spread out on the cloths to drain.

At this point you can divide up the gnocchi into meal-sized portions.  Continue as below for cooking.  Place the unused gnocchi on cookie sheets and freeze overnight.  Vacuum seal, or tightly seal in Ziplock bags, and store in the freezer for a couple months.  If you can wait that long.

To finish cooking the gnocchi you’re about to eat, float them in gently boiling water for a few minutes to reheat.  Put some sauce in a non-stick skillet over medium heat.  Remove the gnocchi from the water and place in the simmering sauce.  Gently stir to coat and cook for a few moments — this final touch of cooking in the sauce, rather than just coating, is critical because you’re getting the sauce’s flavors into the gnocchi instead of just on them.

Serve on plates dusted with good Parmesan cheese and drizzled with a bit of top-notch olive oil.  (I’m talking the $25 per bottle stuff you use in sparing amounts as a finishing oil, not the stuff you use for frying and sauteeing.)

Notes:

Tomatos.  Use imported San Marzanos if you can find them.  They’ll be more expensive than your standard Hunt’s ‘maters, but this is one of those cases where you really, REALLY want to spend the extra bucks.  Italian San Marzanos have a depth of flavor that’s just amazing.

Wine.  Cooking wine is evil dreck.  You wouldn’t drink the garbage, so why put it in a nice dish?  You don’t need to pour in half that bottle of ‘85 Tiganello, but use something you wouldn’t fall over dead from if you found it in your glass. 

Friday, March 03, 2006

"Getting Real" About 37signals

37signals is the great bunch of folks behind some amazing stuff: Basecamp, Backpack, Writeboard, and even Ruby on Rails.  I haven’t used Ruby/ROR, but I’ve been really, really impressed with Basecamp and Writeboard.  These folks are golden.

They’ve just released a PDF-only book titled “Getting Real” about the process and mindset they use to push out all this amazing stuff.  I haven’t bought it yet, but I’m definitely putting it on my booklist.

OK, That Was Strange

Not sure what happened to cause Blogger’s corrupted RSS ATOM feed, but I needed to kick Blogger in the pants.  It wasn’t tough — reset Blogger’s site feed “Descriptions” field to “Short,” republish the blog, reset it back to “Full” and republish again, then head over to Feedburner.com and resync the feed there.

Looks to be working more better more better now.

Screwed Up RSS Feeds -- Working

Josh was kind enough to point out that my feed was tossing out junk instead of full content. 

Bear with me while I chase down what looks to be an odd problem with Blogger.

More Gold on LUA and Installing As Admin

From Jamie Cansdale’s TestDriven.NET blog, pointers on how to install TestDriven.NET and NCover to run as an LUA (Limited User Account).  The quick fix?  Grab a couple command files from Aaron Margosis’ blog.  (“Command Files” is waaaay more impressive-sounding than “batch files.”  Batch files are for goobers.  Command Files are for Real Developers.)

Margosis has some great text on why running as an Admin is a Bad Thing.

You Know It's A Bad Day

… when UPS delays shipment of your unroasted espresso beans, leaving you without your afternoon fix. 

Ugh.

Thankfully, I’ve got a moka pot like this one which will tide me over with near-espresso quality coffee.

Thursday, March 02, 2006

Hint: A 79 Cyclomatic Complexity Score is Not Good

I don’t mean to pick on DotNetNuke, but there’s a reason to run metrics checkers on your code.  There’s a reason to avoid having single methods with 432 lines of code.  There’s a reason to avoid having methods with cyclomatic complexity scores of 79.  There’s a reason to avoid methods with a Maintenance Complexity measurement of 3,176.  There’s a reason to review and refactor code, somehow, anyhow, to avoid this kind of stuff.

I’ve got one method in NUGSoft which has a CC of 26 or something, but that’s a comparison method for a moderately complex business entity and it’s stuffed with a bunch of statements like if (left.FName != right.FName) return false;, so there are a passle of paths and conditioinals in it.  (That pattern is straight out of Wagner’s book, so don’t give me grief, either!)

(The shiny toy is CR_Metrics from CR_Plugin, a DxCore plugin.)

Lunch at St. Martin

Here’s part of what I had for lunch on the last day of the trip I blogged about earlier.

This beast provided enough meat to give 15 hungry folks a couple forkfulls each.  Whoof.   Caught the morning of lunch by one of the Pastor’s friends.

Yeah, life sucks sometimes.

Tuesday, February 28, 2006

Dual Monitors -- Whoopee!

I splurged and bought myself a Samsung SyncMaster 730B 17” LCD monitor last week.  It was about $250 after a $50 rebate.  I’ve got it paired up with my nearly five-year old Dell Trinitron CRT monitor.  The comparison is horrific.  I had no idea how bad off my Dell had gotten after a few years.

I’ll have to try and knock out a couple extra articles for VisualStudioHacks.com this month in order to build up a slush fund to replace the Dell and run two Samsungs at the same time.

The Waterfall Approach is BACK!

Via On Be(com)ing Agile’s blog: The Waterfall 2006 conference.  Be sure to take a good look at the amazing lineup of topics for this conference, including “Avoiding the Seven Pitfalls of Lean by Mary Poppendieck” and “Pair Managing: Two Managers per Programmer by Jim Highsmith.”  I’d love to attend Ron Jeffries’s keynote: “Extreme Programming Uninstalled.”

Looks to be a great conference!

Make sure you note the conference’s date on the left sidebar and keep that day free on your calendar.

The Joys of IE's CSS "Support"

Not.

I’ve redone the look of the Dayton .NET Developers Group’s website, thanks to inspiration from Lee Sledge, the son of our group’s treasurer.  I never claimed to have any graphic skills, and it showed.  Lee’s concept is a lot cleaner — but I needed to move it from table-based layout to CSS.

Shiny when you’re working with Firefox, sucky when you’re dealing with IE.

Good fixes I found on the net:

Also, watch for elements bouncing out of IE’s display when heights aren’t large enough.  Firefox deals with it nicely, IE craps out.

Boy, am I glad I don’t have to deal with this on a daily basis!

Looking for Palm Syncing Software

I’ve used Documents To Go from DataViz for a number of years now, starting when I purchased my Palm 500 five years ago.  I recently had to purchase a new copy of DtG to support my Palm Treo 650 because my older version wouldn’t run on the new OS.  Note that DataViz wouldn’t give me an update price; I had to pay full ticket.

DtG’s latest version appears to be a piece of junk, at least as it relates to my Treo.  I’ve never been able to get PowerPoint slides synced, and DtG occasionally freaks out and loses all links to files loaded on my phone.

I’ve had an open support ticket with them for nearly four weeks now and it’s been an absolutely crappy experience.  Regurgitation of FAQ items, repitition of already asked questions, and two gaps of over a week with no response from DataViz’s support folks.

I am at the point where I’m considering dumping this piece of junk software and moving to something else.  Does anyone out there have any suggestions on alternative document syncing software? 

My minimum requirements:

  • Support Windows XP
  • Support Office 2003
  • Support syncing and editing of PowerPoint, Excel, and Word

Drop me a note in the comments section, or contact me directly via the contact link on the right sidebar.  Your feedback would be greatly appreciated!

(I’ve purposely left out any links to DataViz.  Find them yourselves if you think it important.  Grumble.)

Interesting Comments on Microsoft's Security

Dana Epp has an interesting line of thoughts on Microsoft’s security mindset/initiatives, prompted by some grousing at nCircle’s blogs

I’m a bit neutral about Microsoft’s security stance.  They’ve done some really stupid things in the past, but it’s absolutely not OK to simply regurgitate old crap about them without acknowledging the significant sea change in their culture and products over the last couple years.

Take a look at Dana’s ten points and see what you think.

(Or if you want a completely different take on security at Microsoft, go see the rantings of tinfoil master Steve Gibson [who I used to respect for his product Spinrite] and then follow up with the response from Stephen Toulouse.)

CoolCommands Updated

Gaston Milano just dropped me a note letting me know that his CoolCommands add-in for Visual Studio has been updated.  You can find the updated packate here.  His note was prompted by my article on CoolCommands at VisualStudioHacks.com several months ago.

Check out the updated version.  I haven’t, but the older version was great stuff!

Monday, February 27, 2006

Screencasts Now on Visual Studio Hacks

James had the great idea to do screencasts at VisualStudioHacks.com.  His first one is on CodeKeep, Dave Donaldson’s terrific snippet management system.

Check the ‘casts and the new forums (fora?) at VisualStudioHacks.com.  James has really moved his site forward in a great direction, and I’m not just saying that because I write regular articles there!

Need a Better Snippet?

… then check out Dave Donaldson’s CodeKeep.  Access snippets from over 5500 folks via a browsable website.  Better yet, install Dave’s shiny new plugins for VS2005 and VS2003 and you’ll be able to manage your snippets within VS’s IDE.

Terrific stuff.

Threat Modelling Blog

Part of my gig at last week’s DevGroup meeting covered threat modelling.  It’s a difficult, arcane, involved process which you really need to be smart on if you’re dealing with critical information.  Check out Microsoft’s new addition to the Blogosphere: the Threat Modelling Blog.

[Via Robert Hurlbut's .NET Blog]

Four Things Meme

OK, generally I detest these kinds of things, but James tagged me so here goes.

Four Jobs I’ve Had…

  • Field hand
  • Photo studio darkroom tech
  • Wine retail clerk
  • Airborne Radar Technician on one of these

Four movies I can watch over and over…

  • Lord of the Rings
  • Serenity
  • Holiday Inn
  • Madagascar (hey, I’ve got a five year old daughter)

Four TV shows I love to watch…  (Weirdness disclaimer: I only watch one regular show due to absolutely no time for TV.  My TV watching is usually once a week catching a single episode of a DVD series at 11:00pm.)

  • Firefly
  • Grey’s Anatomy (the only regular show I watch…)
  • UFO
  • Battlestar Galactica (the new, not the old!)

Four places I’ve been on vacation…

  • Tiers, Italy
  • Alsace, France
  • Krackow, Poland
  • Echo Lake, California

Four favorite dishes

  • Liver paté at the Winds Cafe
  • Frog legs at Le Beurheisel in Strassbourg, France
  • Master sauce ribs at my place
  • My wife’s waffles or pancakes on Sunday mornings with my family

Four websites I visit daily:

Four places I’d rather be

  • Asleep (I take care of two kids and work from home.  Go figure.)
  • Hiking in the Südtirol
  • Wine touring in Alsace or the Mosel
  • Eating clam dip with my family on the porch at our cabin on Echo Lake in the Sierra Nevadas near Lake Tahoe.

Four bloggers I’m tagging (the only four I know who might be even remotely reading my blog!)

Tips for Crusing With An Infant

Our family took a Disney cruise in December, 2004, when Zeke was only three months old.  We hadn’t planned things that way, but several emergencies required rescheduling the cruise.  Twice.  Ugh.

I was looking through our Passporter Guide To Disney Cruises and found a sheet with notes on having a good cruise with an infant.  OK, so it’s 14 months late, but here are some things scratched out for posterity in case somebody out there is googling around for tips on taking an infant on a cruise.

Strollers.  By all means take one when you’ve got an infant.  It’s a critical piece of equipment which we used for any number of, uh, uses:

  • Naps.  (For Zeke, not us).  Recline that thing, put a couple blankets over the hood and let that tyke sleep.
  • At dining tables.  Zeke was too small to sit in a high chair, so the stroller served as a great place to park him during mealtimes.
  • Beach machine.  We dragged the stroller out onto the beach which wasn’t that much of a pain.  It gave us a place to let Zeke snooze while we played.
  • One big con: elevators aboard ship.  The center elevators were always packed.  Use the fore/aft lifts if you’re wheeling your stroller around.
  • Tip: store the stroller in the split bathroom in your stateroom.  Great out of the way spot.

Pack ‘n Play / Crib. Ask for a crib/Pack ‘n Play when you make your reservations.  Also specifically ask for sheets.  One would think…  Also, be careful if you have your own blankets because we had one go missing during sheet changing day.  Stowe your personal baby blankets each morning to avoid that.

Rice Cereal.  Zeke was still too young for pureed vegetables, so we took scads of rice cereal and a few Tupperware (tm) bowls to feed him.

Baby Sling.  We got a Baby Bjorn when Lydia was born and have gotten terrific use out of it with both kids.  The BB is compact and easily fits in a suitcase with all the tons of other baby gear.  Vital for shipboard carrying of a not-so-little infant.

Onboard Nursery.  The staff at the nursery was just terrific — the first time we’d left Zeke at any form of daycare, so my wife was a bit nervous at first.  Do some careful scheduling of daycare so you can hit Palo’s for a great meal or just get a bit of quality time with your mate.

 

Job Security

Dave Thomas over at PracticalProgrammer.com has an absolutely terrific slideshow on keeing your job as the global economy changes. 

Think you’re safe because overseas developers cut crappy code and don’t have any processes in place?  Take a look at the eye-opening slides on the percentages of companies certified as CMM level 3 and 5.  Think you’re safe because overseas programmers aren’t as smart as you and don’t keep up with the latest technology?  Re-evaluate your position. Back when I was writing frequently on NHibernate, my sitemeter.com global map showed the majority of queries on “nhibernate” and the like coming from India, Indonesia, and other places where “poor-quality, backwards developers” hang out.  Get a grip, baby!

Thomas’s gist?  Pull yourself together, create a plan, educate yourself, and don’t rely on the government or companies to take care of you.  (You shouldn’t have been in the first place, but that’s just my libertarian-leaning bias.)

Good stuff.  Read the whole thing.

(Via Coding Horror)

Saturday, February 25, 2006

Great iCalendar Plugin for Outlook

I’m using the terrific-looking Basecamp for collaboration for a really, REALLY cool project I’m starting work on.  (Details later once I get a contract actually in hand.)  One of Basecamp’s nifty features is an iCalendar feed, which lets you track milestones by subscribing to a feed.

The only hitch is that Outlook doesn’t support iCalendar subscriptions (which have been around for years but won’t get wrapped in until Office 12).  However, some smart folks tossed together RemoteCalendars on SourceForge which is a COM plugin enabling iCalendar subscriptions.  There are versions for .NET 2.0 and 1.1 Frameworks.  I had no luck with the 2.0 version, but there’s a workaround version for 1.1 here.

This is way slick because I can automatically update my Outlook from my Basecamp, then get all those milestones on my Treo 650.  I’m lovin’ it.

Thursday, February 23, 2006

Security Training Modules from Keith Brown

Keith Brown blogs about some interesting-sounding security training modules he created which are now available at Microsoft’s Patterns and Practices. 

Don’t know who Brown is?  Go check out his amazing book The .NET Developer's Guide to Windows Security which is freely available via a Wiki.  Look over the Wiki, and if you find it useful then be sure to spend some $$ and support both Addison-Wesley, the publisher who let him put the content out for free, and Brown himself.

[Via Keith Brown]

Iconomania

Check out the great note on very sucky icons over at Coding Horror.  His shot of Word with all its toolbars turned on is pretty funny.  Be sure to follow the link to the blog post on the new Office 12 ribbons.  I haven’t looked at this concept, so I’m not sure whether I like it or not, but at least it’s some form of change.

My Speaking Gig at Dayton

Last night I gave a talk on “Intro to Security” at the Dayton .NET Developers Group.  The talk went well and folks seemed genuinely happy with my mix of content — mostly talking with some diving into example code.

An intro security talk is really, really tough to lay out!  There’s so much to talk about, and how do you decide to filter down to what you can reasonably cover in 90 minutes?  I ended up being pretty happy with my mix, but I did get some good feedback for fine-tuning the presentation for future gigs.

I also used a mix of styles from Lessig, Hardt, and Takahasi.  My audience seemed pretty happy with the format, and several were happy not to have oodles of lousy bullet points tossed their way.  So I got that going for me.

You can find my slide deck and example code here.  There’s a lot of extra content slides in the deck which were hidden for last night’s gig.

Monday, February 20, 2006

Hate My Blog? Use Net Disaster to Blow It Up

Finally, something useful on the Internet, because all the tech blogs I’ve gotten answers from really aren’t all that useful…

Check out NetDisaster.com if you have some free time and want to shoot paint balls at your favorite blog.  I also thought the “Bloody Gun” was interesting…

(Via Scobleizer)

Saturday, February 18, 2006

Back In The Saddle Again...

I’m back from the trip I mentioned last week, exhausted but quite happy.  Loads of work, loads of quiet time to reflect, loads of fun times with folks I met on the trip (both on my team as well as folks on St. Martin).

You can see the photos I took at my Flickr site here.  There are a whole lot of photos just of the streets in Marigot, the city we stayed in — that’s because I badly want my kids to understand how fortunate we are here in the US.  The shed in our back yard is leaky, mouldy, and squirrel-infested, but it’s better than many of the shacks the Haitian escapees live in.  (And it’s tough to imagine the conditions they left in Haiti…)

I’m fortunate things worked out in where Pam could take a week off work to take my place as caregiver for our kids.  I don’t know when I’ll be able to go on another trip, but wow, what a great experience this one was!

Friday, February 10, 2006

Offline For The Next Week

I am leaving tomorrow morning, dark and early, for a week’s trip to St. Martin on a mission with my church.  I’ll be working hard building pews and finishing up odds and ends at a newly-built Nazarene church in Marigot on the French side.  (“’Working hard?’ Yeah, right.  Dude, you’re in St. Martin.”)

Heading off on a mission to submerse myself in working for others is something I’ve wanted to do for a long, long time but never could.  Things fell together, and here I am, packing up my bags for this trip.  I think the week will be fantastic for many, many reasons.

See y’all on the flip side!

More ReSharper 2.0 Goodness

Small things in life make a great difference.  The block highlighting in Version 2.0 of ReSharper for Visual Studio 2005 is something that I find really sweet.  It’s a small thing, but visually it makes a big difference for me.

You can configure ReSharper to do either this block style or just highlight the bordering braces, but I like this style.

ReSharper 2.0’s Early Access Program has plenty of hitches, but it’s still a terrific product even in Alpha form.  I’m soooo looking forward to the final release when it arrives.

Thursday, February 09, 2006

Well, At Least They're Thinking About It

From Dan Fernandez’s blog: Microsoft will be releasing the first service pack for Visual Studio 2003 … In Q2 of 2006.

Check out the new Visual Studio Servicing Site, where you can see timeframes for upcoming service pack releases.  Don’t count on having any of the various bugs in VS2005 fixed before Q3 of 2006.

Wednesday, February 08, 2006

Another Good Tech Company Blog

Our DevGroup gets great support from telerik (yes, a small “t”), makers of some nifty ASP.NET controls.  I’m just getting into ASP, but I can already see great value in telerik’s packages.  I also think the company has their head screwed on the right way, as evidenced by the various communications I’ve had with them.

More evidence along that line: their company blog.  Lots of interesting stuff there on technology and mindsets involved in creating great code.  telerik has bought off heavily on the AJAX concept, so you can get some good info on that topic there.

(Disclaimers: as noted, telerik supports our DevGroup with giveaway software, and they’ve also provided me a copy of their controls as part of my interraction with them.  I’m not unbiased, but I think my bias is due to their great toolset.)

Monday, February 06, 2006

How Not To Present

Jeff Atwood at Coding Horror has a snide and spot-on post on how not to do presentations.  I have sat through far too many presentations and briefings which hit the majority or all of his rant points.

Do yourself a favor if you’re presenting: be familiar with some of the presentation best practice tips out and around.  Look at great presentations by folks like Hardt or Lessig.  Spend time at Beyond Bullets.  Understand Atwood’s great points.  Grok out the stuff at PresentationZen.

Perhaps most important: think about the bad presentations you’ve been to, and why you thought they sucked — and then do something better.

Saturday, February 04, 2006

January Reading

Here’s a list of things I was reading in January:

Finding Serenity : Anti-Heroes, Lost Shepherds and Space Hookers in Joss Whedon's Firefly, various authors.  A really interesting collection of short pieces from llitarary analysis to spoofs.  I love the analytical pieces which discuss everything from Zöe’s place as a warrior woman on the ship to theories (pre-Serenity) on the origins of the Reavers.  Most of the pieces are great, one or two stink, but overall a fun book.

Martha’s Rules, Martha Stewart. I wrote about this already in another post.  A very good, concise read for business owners/entrepreneurs.

Designated Targets, John Birmingham.  A nice second book in the Axis of Time trilogy.  Good sci-fi of the alternate history type.  I very much enjoy the culture clash between the folks from the future and the “contemporaries” of 1942.

Time Management for Sytem Administrators, Limoncelli. Very good book on time management from a sysadmin's perspective. Nice bit on tools to help a sys admin, nice bit on customer service for those pesky users. Nothing earth-shattering if you've already read something like Getting Things Done, but still a good read. And it's short!

Things I referenced off and on in January:

Programming ASP.NET, 4th ed., Liberty.  Very nice intro for me to use as I finally get my feet into ASP.NET.

Core C# and .NET, Perry.  Haven’t looked at this much, but it already answered a couple tough questions for me, so it’s got that going for it.

19 Deadly Sins of Software Security, Howard, et. al.  An absolutely killer book for understanding the worst, common security offenders.  Skimpy on nitty-gritty implementation details, but that’s OK because such is not its focus.  Indespensible for me as I’m working on my security presentation for this month’s DevGroup meeting.

Writing Secure Code, 2nd ed., Howard & LeBlanc.  Whoof.  Now here is a massive tome which gives you impelemtation details missing in 19 Deadly Sins.  A perfect hand-in-hand companion to 19 Deadly Sins.

The .NET Developer’s Guide to Windows Security, Brown.  Very practical cookbook-style of nuts and bolts issues for dealing with developing secure code.  Runs the gamut from not developing using an Admin account to how to use the various Principle objects.

Wednesday, February 01, 2006

Killer Code Coverage Tool

Jamie Cansdale has done it again with his latest version of TestDriven.NET, his terrific tool which lets you run (and more importantly debug!) unit tests right within Visual Studio.

Now TestDriven.NET includes code coverage metrics via a nifty window with clearly arranged stats:

Code Coverage from TestDriven.NET

Holy smokes, what a killer addition to an already great tool!

Update: Yes, I know those metrics suck and I’m trying to figure out why they show up so poorly.  I may have grabbed a snap from a run where I only executed a portion of tests.

Firefly Resurrection? (Again?)

Interesting siteInteresting site from a group of folks looking to push Firefly into a second season, possibly over digital distribution.  Dunno if it will work, but it’s a neat thought.

(Via Instapundit)

Tuesday, January 31, 2006

Lose the Sheet Music

About a billion years ago I was a young punk playing a bugle in the Blue Knights Drum and Bugle Corps at Keesler Air Force Base.  I got into the Corps by sheer luck — I hadn’t picked up a horn since elementary school, but the brass section was way undermanned so they took me in.  My past horn experience was in a concert band, and the Knights did marching, so I had a big hill to climb.

I learned how to not make a fool of myself and screw up performances while marching, and I even got my music memorized.  Despite memorizing the songs, I kept hanging on to my sheet music as a security blanket.  The sheets were actually a distraction because our horns didn’t have any attachments for clamps, so you had to contort your hands around to hold the music while playing the horn.  Not the best thing when you need to focus and get in the zone for a performance.

One night at practice our Music Director, Hal Doyle, finally got fed up with my sheet music distracting me.  He grabbed my music holder and winged it across the parking lot and yelled something along the lines of “You know this stuff. Lose the music and step up to the plate!”  That was the last time I used the music, and guess what? My playing and marching noticably improved.

OK, so you’ve been patient with me so far and are wondering where the hell I’m going with this.

I’m finally tossing off my metaphorical sheet music in regards to our .NET group and am putting on a presentation at next month’s meeting.  I’ve got a fairly long background of speaking in various venues on different topics, but have held off on talking anything about development or .NET at our group just because I felt insecure about it.  I’ve done a couple Grok talks, but those were a short ten minutes. 

Now it’s time to lose the music and step up to the plate for a full presentation.  My topic’s nothing earth-shattering (Introduction to Security), but it’s a good way for me to get into the swing of things for “real” presentations.

Too often, getting comfortable means getting stale.  I’m looking forward to knocking out this talk.  Hopefully it doesn’t suck.  “Heh,” as Instapundit would say.

Back to Normality

Whew!  I’m finally recovered from the effort involved with putting on the Dayton-Cincinnati Code Camp and have gotten back somewhere near my normal level of productivity.  (Note I didn’t say how productive that was, just that it was my normal level…)  I’m still amazed at how wiped out I was after the event, but holy smokes, what great fun the whole day was.

So now it’s back to the regular routine, of which I’ve knocked off a couple items already:

  • Gotten back into the swing of things with writing regular articles for James’s site
  • Scored a killer speaker for our .NET DevGroup’s June meeting: Sam Gentile
  • Began working on a presentation I’ll put on for DevGroup’s February.  More on that separately.
  • Started making some good job hunt contacts for when I return to the workforce full-time in April/May

I’ve also knocked off several tasks around the house, mostly centering around what seems to involve a never-ending stream of paint cans, rollers, and brushes.  Thankfully, the bedroom is (finally!) almost complete, needing only a final coat on the ceiling and the new baseboard to get tacked up.  The office is still a mess, though, and I’ve got wood flooring to get down and plenty of paint to get on the walls.  Ick. 

Those PITA paint chores are balanced off by my view out the window: spring is not far off, and we’re seeing tulips and daffodils poking their heads out from the flower beds.  That also means it’s not too many more months before we’ll have pear and apple blossoms, followed shortly thereafter by billions of rose blossoms.

Friday, January 27, 2006

Slashdot Security Q&A With Microsoft's VP for Security

Mike Nash, Microsoft’s VP of the Security Technology Unit, has a great Q&A with, brace yourselves, Slashdot readers.

There are some great questions, and very blunt, non-PR answers from Nash.  It’s a great insight into Microsoft’s security approach.  Good reading!

Code Camp Pictures

We’ve got a few photos from the Code Camp posted up on the Camp’s site.  Be sure to check out the Mountain of Swag(tm).

Thursday, January 26, 2006

Visual Studio 2005 Losing its Find & Replace Mind

Funky.  VS 2005 decided it didn’t want to let me use the Find and Replace dialog any more.  Hitting Ctrl-H knocked the IDE into the background (pale title bar), but no dialog would come up.  Losing the find and replace functionality sucks, to say the least.  I restarted VS, no help.  Now this is getting really irritating.

I finally fixed the issue by resetting VS’s settings via Tools -> Import and Export Settings -> Reset All Settings.  Whew.

Wednesday, January 25, 2006

Metrics From our Camp

I just finished compiling results from our Dayton-Cincinnati Code Camp and I’m pretty pleased!  Attendees rated speakers on a 1 to 5 scale on the speaker’s skill, the topic’s content, the topic’s interest, and whether the presentation was at the right level.

Overall, if my statistical approach was close to correct, the combined rating of our speakers was 4.04 out of 5.0.  I think that shows what great speakers we’ve got in the region, and how lucky we were to have so many terrific presenters.  At least six of the presenters were Microsoft MVPs of one ilk or another, and many are highly respected folks in their corners of the industry.  Wow.

We also benefitted by having the Camp on a Saturday, too.  This meant our audience was giving up a day off to come do geeky things — only motivated, interested geeks will get up at 8:00am on a Saturday for a day-long conference.

We asked three questions on whether the Camp met attendees’ expectations, if it was educational, and whether they’d attend another one. Answers to those were 4.42, 4.45, and 4.55, respectively.  Way cool.  Way, way cool!

Perhaps the best feedback I read was from one person who said "Very well organized.  I've been to similar things that we had to pay for that weren't as well organized."  That made me feel almost as good as hearing all the energized folks coming out of the various sessions.

Saturday, January 21, 2006

Dayton-Cincinnati Code Camp a Big Success!

Holy smokes, things at today’s Dayton-Cincinnati Code Camp couldn’t have turned out much better!  Somewhere between 130 and 140 folks showed up for 24 sessions presented by a passle of great speakers.  We had a couple minor hitches, but nothing that our backup plans couldn’t handle.  For the most part, all the attendees seemed very happy with the Camp.

Events like this are exhausting to organize, but wow, what a great reward to step into a session room and see a bunch of folks fired up about expanding skills and knowledge.  Every session I stopped by today seemed that way, and I really fed off all that energy.

This event was a success for any number of reasons, but it was particuarly made successful by the help and support of a lot of folks.  In no particular order, that list would include John Hopkins, president of the Great Lakes .NET Users Group, who drove four hours down here not to attend sessions, but to hang out and help with everything from registration to moving whiteboards around — dude, you rock! Matt and the folks at Pillar Technology who paid for the great facility; James Avery, who really helped form the vision of the event and convinced me that swinging for the fence (four tracks of six sessions!!) was the way to go; Drew Robbins and Microsoft who bought lunch for everyone and gave us plenty of other support as well; Dave Donaldson, who stepped up to help fill in part of the funding hole we were in; all the amazing speakers we had who did a fantastic job presenting topics ranging from Python/Iron Python to Architecture in .NET.

There are plenty of other folks and sponsors who I’ve left off the list and I apologize.  I’ll use exhaustion as an excuse for missing you.  Suffice it to say I am incredibly happy at how well things turned out and it’s all due to the great help I had from a large number of folks.

I’ll get started on organizing another Code Camp sometime after I wake up in a couple weeks.

Friday, January 20, 2006

TabPage Danger

Careful with that “Remove Tab” option on Visual Studio’s TabPane control — it removes the current TabPage and all controls on it without any sort of warning or confirmation.  Edit -> Undo will restore the TabPage, but not any buttons or other controls which were on it.  That’s more than a bit sucky.  Something so drastic ought to either have a 100% undo option or a confirmation/warning.

Good thing I have a fairly recent version in SubVersion.

Monday, January 16, 2006

Dayton-Cincinnati Code Camp Is SOLD OUT!

Holy smokes, I’m blown away that we’ve filled up 200, count ‘em, 200 slots for the Dayton-Cincy Code Camp!

If you’ve tried registering and couldn’t because it’s full, please drop me a note (contact form on right side of the blog).  We’ve had some drop offs and I can most likely fit you in.

The Camp’s going to be a terrific event!

Saturday, January 14, 2006

DataGridViewButtonColumn.Text Silliness

I’ve just started fooling around with the DataGridView in .NET 2.0.  It’s awfully slick, but very convoluted in some ways.  One can use a DataGridViewButtonColumn to display buttons in the DataGridView, which is nice.

What’s not nice about the DataGridViewButtonColumn are the silly steps you have to go through in order to get text displayed on the button.  Instead of just setting the Text property, you also have to set the UseColumnTextForButtonValue boolean to true, like in the snippet below. 

DataGridViewButtonColumn checkin = new DataGridViewButtonColumn();

checkin.HeaderText = "Check In";

checkin.Text = "Here!";

checkin.UseColumnTextForButtonValue = true;

checkin.Width = 45;

checkin.DisplayIndex = 0;

dgvRegistrants.Columns.Add(checkin);

Now why in the world does one have to take this extra step?  If I set a button’s Text property to some non-null value, wouldn’t that generally mean I want to, well, use that value?  This is completely non-intuitive.  Perhaps there’s a case for this behavior around somewhere, but I didn’t run across anything when Googling around.

I was fortunate enough to hear Scott Myers speak at the Software Development Expo back in ‘03 and he was all over this kind of foolishness.  “Make it hard to use your components incorrectly” was something he repeatedly said.

Friday, January 13, 2006

Rhapsody Performance Stinks

I love having Rhapsody music service, but their RealPlayer interface sucks.  Badly.  This piece of junk takes up 30% CPU when it’s just sitting there not even playing music.  I get constant hangs and pauses between songs, and Rhapsody will often hang my entire system for several minutes (like five to ten) when moving from one album in a playlist to another.

My system’s an old Dell with a 1.3GHz machine and 512MB RAM, but I don’t think any app should beat up this configuration so badly.  Besides, what’s up with the 30% utilization when the damned app is idle ??

Rhapsody’s answer to my trouble ticket?  Bump up Rhapsody’s priority to Realtime.  Great.  Now I’ve got a lousy app which sucks up too much CPU time already, plus I get to degrade all other apps while I’m running the thing.

Yeesh.

Thursday, January 12, 2006

New PocketMod Widget

PocketMod is a killer, killer tool.  Take an 8.5 x 11 sheet of paper, divide it into eight separate cells, put all kinds of goodness in those cells, say calendars or to-do lists or contact lists or notes or lines or create your own stuff and put it in there.  Fold up that sheet with one clever cut, and Poof! you’ve got a PDA in a pocket. 

You can build your mods on PocketMod’s website, or download a tool and build your sheets offline.  There are a number of extremely useful templates for the things I listed above, plus you can create your own templates if you like.  I used a PocketMode sheet when I went to the Detroit Visual Studio / SQL Server Launch and got tremendous value out of it. 

PocketMod came to mind as a great resource to hand out to attendees at our Code Camp: I could put the Camp’s schedule, Camp info, and list all our sponsors who supported the Camp, create a PocketMod sheet and hand that out to each attendee as they checked in. 

The only problem with PocketMod is that custom templates have to be built in Flash.  Ick.  I don’t know Flash and I don’t have experience with Flash (no, no, that thing at that party in Anchorage was years ago and it was a completely different flash and nobody got any photos anyway). Besides, I don’t have any Flash tools and the one freeware I tried was so confusing I gave up.

Chad Adams, the sole brainchild behind PocketMod, solved that problem.  He created a widget to convert PDF files to PocketMod format.  It’s pretty dang simple.  Use any editor to create an eight-page layout, then print that off to PDF.  (See PDFCreator for a killer GPL app which works as a printer.)  Use PDF2PocketMod and Poof! you’ve got a single sheet with each PocketMod sheet properly oriented.

Check out PocketMod.  It’s really a cool thing.

Plextor 716A Slowness

Last month my Plextor 716A CD/DVD +–awholelottaletters all of a sudden started burning DVDs at the speed of molasses.  It was taking me nearly 30 minutes to burn a 4GB DVD.  This sucked considerably since I had to burn 50–ish DVDs for our DevGroup’s Visual Studio 2005 Launch last month. 

Today I finally got around to taking a closer look at the problem.  Everything in Device Manager looked shiny, and the drivers for the drive and bus were both up to date.  However, I found a new firmware version (1.0.9) on Plextor’s site.  That’s since been installed and now everything’s back up to snuff.  DVDs are taking only six to eight minutes to burn.  Much nicer!

Monday, January 09, 2006

Past Reading, Catching Up

Here, mostly for my record-keeping in case I want to look this up some time in the future, are a few more books I read last year and forgot to write about.

Joe Haldeman’s Forever series: Forever War, Forever Peace, Forever Free. Very good, and each one was markedly different.  Interesting, provoking books on war, the costs of peace, and liberty in the future.

The DaVinci Code.  I really like fiction with a good dose of history in them.  This has lots of interesting odds and ends about Christianity’s foundations scattered in with a hefty dose of conspiracy theory.  Much easier to read than Ecco’s Foucalt’s Pendulum which I found so captivating that it took me ten years to actually get through.

Lamour’s Last of the Breed. Great jail break and chase through Siberia with a US Air Force officer of American Indian descent working his way to freedom while persued by a tracker of some native tribe in Siberia.  Nothing earthmoving, but just a plain good read.

Orphan's Destiny by Robert Buettener.  Good ol’ shoot-em-up sci-fi.  A good read.

Huxley’s Brave New World.  Wow, what a terrific book.  Hadn’t picked this up in a bunch of years, most likely since the lousy TV movie back in 1980.  Almost as good as…

Orwell’s 1984.  A wonderful classic in so many aspects.  The theme, the style, the execution.  Star Trek: Next Generation’s Chain of Command had a great nod to Orwell’s torture sequences with Picard trying to fend off a monstroush Cardassian’s attempts to get Picard to see five lights where only four existed.

Birmingham’s Weapons of Choice.  First in the Axis of Time series.  Interesting premise that part of a task force from 2021 is zapped back into 1942, right in the middle of the Midway battle.  Great technobabble stuff, but I found the dramatic clash of the cultures to be the real highlight of the book.

Carnival of the Recipes is Up!

Technogypsy hosts this week’s Carnival of the Recipes (with the Chocolate Nemesis recipe I posted last week).  Check out the neat Eastern Orthodox theme to it, complete with some nice family traditions thrown in.

Friday, January 06, 2006

Code Camp Survey

Are you registered for the Dayton-Cincinnati Code Camp?  If so, you should have gotten an e-mail from me with a link to a survey about the Camp.  I really, REALLY need registrants to fill that out since it will directly drive how many meals I purchase for the event.  Remember, this is a non-commercial event and I’m scrambling to hold expenses to a minimum.  Plus, I hate the idea of having a bunch of extra lunches going to waste…

What?  You’re in the central/south Ohio or northern Kentucky regions and you haven’t registered for the Camp?  The deuce you say!  Go register now if you’re at all interested in a day-long event loaded up with great topics!

Tangentially, if you’re at all interested in sponsoring the event I’d love to hear from you.  Please use the contact link on the right sidebar and drop me an e-mail.

Thursday, January 05, 2006

The Martha Rules

I’m not particularly a big fan of Martha Stewart’s various shows, simply because I don’t care for her style.  She seems more concerned with impressing her guests, where I’m more concerned with making them feel welcome.  (Or at least as welcome as they can feel with two small axe murderers running rampant in the house and me in my sweat pants.)

Regardless of that, I’ve always had great admiration for the amazing empire she’s built though vision, hard work, and sheer determination.  It’s also interesting to see her efforts at an image makeover following her prison and house arrest terms.

So all this leads to her latest product.  I’m very impressed with her book The Martha Rules: 10 Essentials for Achieving Success as You Start, Grow, or Manage a Business. This is a great book with concise, clear ideas on how you need to look at starting and/or running a business.  She does a great job pointing out the need for balancing passion for your project with realism to avoid biting off more than you can chew.  She’s got very good concise thoughts on steps you ought to consider when starting or running your own business, and she hits hard the work you need to do in researching and focusing your product/service.

The book is fairly short (190 or so pages) and is an easy read.  It’s been very thought-provoking for me so far.

Wednesday, January 04, 2006

Blogroll Updated

Long overdue, but I've updated my blogroll. This is pretty much what I skim through every day. Lots of good stuff from a lot of very smart folks!

Star Wars III DVD -- Great Extras

I love good extras on DVD movies.  I’m fascinated by the amazing work hundreds of folks do to bring together a great film, and I love it when a DVD dives down into the details of cinematography, production, and of course special effects.  The platinum extended DVDs of Lord of the Rings are just amazing with their six or eight hours of real behind-the-scenes stuff for each volume.

Star Wars III, Revenge of The Sith’s DVD has a great set of extras, one in particular which is completely different than anything I’ve ever seen: Within A Minute takes one minute of the film, the amazing lightsaber fight on the lava moon, and breaks that segment down to an amazing depth.  They cover how each department was involved with producing that segment, starting with scripting and running through production, filming, post-production, sound, and final screening.  They show the catering department, accountants, carpenters, stunt coordinators, secretaries and assistants, gaffers (woo hoo!  Finally I learn exactly what a gaffer is!), and everyone else.  They even list every name in every department, which is a wonderful bit of recognition for folks in the trenches.

I despise the Entertainment Tonight-style behind the scene extras and love good detailed ones, so this segment was pure gold for me.  The movie itself sucks, but this one extra alone was worth the price of the DVD.

Verizon Wireless: Polite but Clueless

My new Treo 650 from Verizon has been a nifty, nice gadget, except for one really annoying issue: there it always displays a voicemail waiting icon, and the device’s voicemail menu always shows one message waiting, regardless if I’ve gotten a second or third message.  This sucks because I can’t tell if I’ve ever got new voicemail without dialing up and checking my mail — and that costs me minutes from my allocation and is a pain in the butt. 

I’ve now spent nearly four hours on the phone trying to get the problem resolved and haven’t gotten anywhere.  The worst part of my experience with Verizon’s various tech support folks is the rediculous amounts of time I have to spend on hold while the current tech rep either looks up information which should have already been on their screen, or waiting to transfer to another department who will inevitably put me on hold again while they look up the same stupid crap the first department was looking up.

Verizon’s staff is, without fail, very polite and calm — but completely clueless as to how they can fix my problem.  I spend far too much time on hold with nice folks who repeat the same exact steps as the person before.  Verizon’s support system also seems incapable of carrying one ticket between various departments through an entire incident.  I’ve had at least four separate tickets filed on this one incident.  This is horses#it as far as I’m concerned.

I’m near the point where I’d just like my damned first phone (a four year old Motorola v60 with few capabilities) back.

Tuesday, January 03, 2006

Beam Me Up Scotty -- There's No Intelligent Life Here

Or at least there’s most likely not when the Wedding Crashers is the #1 selling DVD on Amazon.com.

Monday, January 02, 2006

Hate PowerPoint Presentations?

If you’re a fan of Cliff Atkinson’s Beyond Bullets or if you just hate lousy death-by-PowerPoint presentations in general, check out Dick Hardt’s great presentation on Identity 2.0 at OSCON 2005.  Completely different than any other presentation I’ve seen, it’s a terrific mesh of great visual style and what seems to be Hardt’s fluid, relaxed, humorous speaking style.

Sunday, January 01, 2006

My Music Finds for 2005

I can’t be as creative as others and do a top ten list of albums which knocked me over.  Instead I’ll just plunk down some of the best stuff I’ve stumbled across last year.

Life Changers:

  • iPod — My wife gave me one last Christmas and it’s changed my life.  No kidding.  In years past I always had some music on when I was at home or in the car.  I enjoyed running across new stuff and re-hearing old favorites.  Life changed and I drifted away.  The iPod and iTunes were a great kick in the pants and got me back to where I’ve nearly always got some form of music on.  My iPod and iTunes also broadened my music horizons to places I’d never been. What a joy!  My Griffin iTrip moderately sucks, but at least I can use my iPod in the car without it completely sucking.
  • RhapsodyJames Avery turned me on to this great online music service. (Good thing, too, because all his recommendations were killing me with iTunes purchases!)  I’m using their $10/month streaming plan which gives me open access to billions (ok 1.5 million) songs.  I’ve rediscovered lots of old friends and run across killer stuff I’d never think to check out even from iTunes.

OK, on to some specific things I was entranced with in 2005, many of which had nothing particular to do with 2005 other than I found or rediscovered them then.

  • Ned’s Atomic Dustbin.  Great alternative/punk/Brit Pop music.
  • Guster.  Wow, what killer lyrics, melodies, and vocals.
  • Coldplay.  See above.  Seems to be a very similar style to me, and I likes it!
  • Blink-182.  182, 181, whatever it takes.  Good stuff.
  • Bruce Springsteen.  I never listened to The Boss much as I was growing up, but I’ve sure been hitting The Rising hard for the last several months.
  • Webb Wilder.  A great rediscovery!
  • Green Day.  What a dork I was to not know how much great music these guys have put out.
  • Elvis Costello.  ‘nuff said.
  • The Who.  More ‘nuff said.
  • Death Cab for Cutie.  More odd punk/alternative with great vocals.
  • Ashley MacIsaac.  Great Irish modern fiddler.
  • Crosby, Stills, Nash, and Young.  American Dream is great stuff.  Screw those pompous foreigners.  I like my anti-Americanism home grown, damnit!
  • Jason Mraz.  Mr. A-Z sucks, but I love Waiting for my Rocket to Come.
  • Matisyahu.  No clue how to pronounce his name, but I love his Hasidic Jew reggae thing.
  • The Stax/Volt Collection.  I bought this years ago and forgot it.  Nine discs of amazing goodness from the likes of Booker T and the MGs, Sam and Dave, and the Mar-Kays.
  • Off-Kilter.  Bagpipes, guitars, drums, traditional Scottish tunes, modern snappy stuff too.  Makes me want to go get in my kilt, or at least think about it if I had 15 pounds less around my waist. (OK, OK, 20 pounds less.)
  • The La’s.  More Brit pop with great vocals.
  • Jamiroquai.  Amazing jazz/pop/blues/idunnowhat.  Stevie Wonder morphed into modern day hipster stuff.
  • Anything from Rhapsody’s Afro-Pop sampler.  I’ve been interested in Afro-Pop for a long time, but never knew what to try.  Rhapsody lets me dive right in.  Love that!

Saturday, December 31, 2005

Recipe Blogging: Chocolate Nemesis

My wife found this one in this month’s issue (December, ‘05) of Good Housekeeping.  It’s quite easy to make, and it is simply an amazing cake to eat.

Chocolate Nemesis Cake

  • 1/2 c. water
  • 1 c. sugar, divided!
  • 1 Lb. bittersweet chocolate, chopped (See Notes)
  • 2 sticks unsalted butter, cut up
  • 7 large eggs, at room temperature
  • softly whipped cream or creme fraiche (See Notes)
  • fresh raspberries for garnish

Preheat oven to 325F.  Grease bottom and sides of 9–inch springform pan.  Line bottom of pan with parchment paper (See Notes).  Dust side of pan with flour.  Set pan on sheet of heavy-duty foil and wrap foil up the sides of pan to prevent water from leaking in during baking.  (You may need to double-seam fold two sheets together to make a very wide piece of foil — you want the foil at least halfway up the sides of the springform.)

In a heavy saucepan over medium-high heat, disolve 1/2 c. sugar in the water, stirring occasionally.  Add chocolate and butter, stir until completely melted and mixed.  Remove pan from heat and cool chocolate 15 – 30 minutes.

Meanwhile, beat eggs wtih remaining 1/2 c. sugar at high speed until mixture thickens and roughly triples in volume, about 6 – 8 minutes.  Using a wire whisk, gently fold in the melted chocolate mixture, completely blending in.  Take care to not deflate the whipped eggs.  (See note)

Pour batter into springform pan and set inside a large roasting pan.  Set an oven rack at the middle height in the oven and place the roasting pan on the rack.  Pour enough boiling water in the roasting pan to come halfway up the side of the springform pan.  (I angle a large pot lid over the springform to protect the cake from splashes or bad aim.  School of hard knocks there, folks.)

Bake the cake for 25 – 35 minutes until the edges just begin to set and a thin crust forms on the top.  Carefully remove the springform from the water bath and let cool on a rack.  Cover and refrigerate overnight.

About 30 minutes before serving, remove from refrigerator, run a knife around the edges to loosen the pan, then remove the foil and side of springform.  Invert on a plate, remove the parchment paper and turn cake right side up on a serving plate.

NOTES

  • Use pre-cut parchment paper circles if you’ve got ‘em.  If not, start with a square (more or less) sheet of parchment and fold it in half.  Now fold it in half along the seam.  Fold the paper over the closed corner several times until you’ve got a narrow wedge.  Set the tip of the wedge in the center of the pan and cut it with scissors at the edge of the pan.  Unfold it and Poof! you’ve got a more-or-less circle which should fit right inside the pan.  Thank Jacques Pepin for this cool trick!
  • I used the best quality chocolate I could get my hands on easily — Ghirardelli.  It’s nothing extraordinary, and I’m looking forward to trying this cake again with Valhrona or some other really special chocolate.
  • Folding with a whisk is really fairly easy and it’s nothing to get wigged out about.  Pour the chocolate into the eggs in small batches and use the whisk to lift the mixture from the bottom of the bowl up through the middle.  You’re not using the whisk to beat the eggs, you’re using it to gently raise the heavier chocolate which has sunk to the bottom of the pan and distribute it through the rest of the mix.  It sounds a lot more complex than it really is.  Folding seems to have an undeserved mystique around it.  Just do it.
  • I didn’t do it on when cooking this cake, but I think a trick from my cheesecake baking would work really well here.  I remove my cheesecakes when they’re still very soft in the center.  I put the pan on a cooling rack, then invert a large bowl over the top of the rack and cover that bowl with several layers of towels.  The residual heat in the cake will finish off the cooking in a very, very gentile fashion.  For cheesecakes this helps mitigate the nasty cracks which form when a cake is overcooked or cooled too rapidly.  It also helps keep the creamy, beautiful texture in the cake.  I will try this same trick with this Nemesis cake the next time and I expect some good results!
  • Creme fraiche would be a perfect foil to this very rich, heavy cake.  Unfortunately creme fraiche is tough to find in this corner of Dayton.  We made due with Cool Whip.  Philistines R Us.

Friday, December 30, 2005

Code Camp Links Fixed

It’s always good to remember that one is fully capable of shooting oneself in the foot.  Apropos: My move of our .NET group’s site to ASP.NET 2.0.  It’s slick to move everything over to neat master pages which really make life a lot easier, and I’m having fun playing with menus and general ASP.NET 2.0 features.

Of course, if one’s moving from HTML pages to ASP.NET pages, then one ought to leave a few.htm files up on the server which redirect folks to the new locations of important stuff like our upcoming Code Camp

Now fixed.

Duh.

Thursday, December 29, 2005

Latest Reading List

It’s been quiet with blog posts this last week, but hey, it was Christmas so give me a break!

Here are a few things off of my reading list this last month:

Tech Stuff

Bauer’s and King’s Hibernate In Action.  I’ve been doing a modest amount of work with NHibernate and this book is often referenced in the NHib community.  It’s a great book for Object/Relational Mapping concepts, and NHibernate is a pretty close port of Java’s Hibernate so things seem to clearly map over so far — at least in the first quarter of the book I’ve read so far.

Troelsen’s Pro C# 2005 and the .NET 2.0 Platform, Third Edition.   A bit too wordy, and definitely not targeted at graduate students as he says on the back cover — the material’s deep, but also starts out at the introductory level.  Despite the wordiness, it’s a terrific read with great details on a lot of different topics.  He is the first author who has made a clear case why going into IL is a Good Thing.  (On a side note, how can it be the third edition for the .NET 2.0 platform??)

DeMarco’s & Lister’s Peopleware.  Published something like 20 years ago and it amazes me how little management has learned about how to feed and nourish creative tech staff.  The same mistakes are being made now as two decades ago.  Read this book if you’re interested in how to set up a productive environment for your staff, or if you need ammunition to convince your management on how to do things the right way.

Liberty’s Programming ASP.NET , 3rd Ed.  Lots of shiny stuff on doing ASP.NET well.  Not even close to a reference for all the goodness in v2.0 of ASP.NET, but there’s a tremendous amount of goodness therein.  My primary source for learning ASP.NET.

Fiction

DeCandido’s novelization of Serenity.  What a piece of ghosa. By far the worst novelization I’ve ever read.  DeCandido tries to write in the folksy manner that Joss Whedon’s characters speak in — and fails miserably.  It’s clunky, schizophrenic, and scattered.  DeCandido even manages to foul up the gobs of one-liners Whedon had in the movie.  Inept treatment of terrific material.

King’s and Straub’s Black House.  The usual over-long King story, although Straub appears to have kept him somewhat in check.  Some interesting concepts and neat writing style.  Got this as a gift, so the price was right.

Rowling’s Fantastic Beasts and Where To Find Them.  Toungue-in-cheek book about the beasts of Harry Potter’s world — cast as a schoolbook, complete with margin scribblings from Harry, Ron, and Hermione.

Mignola’s Hellboy Volume 1: Seeds of Destruction.  I love the movie Hellboy, but got hooked on it without having read any of Mignola’s work.  This graphic novel is just stunning.  Amazing colors, amazing art, amazing story, and quite different character interactions than how things go in Del Toro’s movie universe.  I’m happy, happy, happy I got this as a gift!

Non-Fiction

Kimmel’s Grace-Based Parenting.  Sensible, funny, calm writings on how to raise kids who are strong enough to stand up to the many problems they’ll face as they grow from brats I mean young children through teens to adulthood.  It’s written from a Christian standpoint, but there’s a lot to appeal to any parent (or potential parent) regardless of your religious beliefs.  I like that Kimmel comes from the viewpoint that overprotection is a patently Bad Thing, and that extremism in any area of parenting is a recipe for raising children who will head off on destructive paths.  It’s sort of like a kinder, gentler Rosemond before Rosemond went completely psycho.

Thursday, December 22, 2005

Dayton-Cincy Code Camp Session Abstracts Posted

Continuing with my iterative development of the Dayton-Cincinnati Code Camp’s page, you can now find abstracts linked from the Camp’s schedule page.

What?  You’re a .NET geek who lives in the Dayton/Cincy/C-Bus region and you’re not registered?  The deuce you say!  Go sign up right now.

More Code Camp Updates

The Dayton-Cincinnati Code Camp’s schedule is now updated to show each session’s presenters.

Wednesday, December 21, 2005

Dayton-Cincinnati Code Camp Schedule Final!

The schedule for the Dayton-Cincinnati Code Camp is finalized!  We’ve got a killer lineup of sessions, but then I may be biased…

Register for the camp via Microsoft’s service.  Find general information about the camp at its home page.

Right now I have just the session titles posted; I’ll have abstracts and speakers linked in tomorrow, but for now I’m off to bed.

Great Presentation Blog

Jim Weirich, one of the presenters at our Dayton-Cincinnati Code Camp, referenced Garr Reynolds’ Presentation Zen blog in passing.  Holy smokes, what a neat find!

Check out Reynolds’ post on “naked” presentations, and his very interesting post on the Takahashi Method, where slides contain only one or two words in absolutely huge text.  This is kind of like Beyond Bullets on steroids.  Talk about having things stripped down to their bare essence!

The “naked” presentation post gets a bit mystical and touchy-feely, but the essence of it is terrific: strip down your presentations and cut loose all the cruft one hides behind.

I haven’t dug through much of Reynolds’ writing yet, but it looks to be very thought-provoking.

Building the Case For Moving to .NET 2.0 / VS2005

I find it interesting that few folks in our .NET Developers Group are even evaluating Visual Studio 2005 or the .NET 2.0 Framework for adoption of the IDE or Framework.  Adoption of new technologies in a larger company isn’t (and shouldn’t be!) a trivial matter.  Companies need to figure out the cost/benefit of such a move; it’s a business after all, and as much as we’d like to, we can’t always head off into a new area just because it’s cool.

I’ve been doing a very small bit of work looking around for articles talking about productivity gains from moving to the next generation of Visual Studio, the .NET Framework, or SQL Server.  I haven’t been working that hard at researching, but Jason Haley’s Interesting Finds pointed out this series of Case Studies.  I looked at a few of them and found them interesting, but they’re Microsoft marketing kool-aid rah rah BS, so read them with several large grains of salt.

I’d love to come across non-marketing bullcrap articles from IT folks on the benefits (or bad impacts!) they’ve found from moving to VS2005, SQL2005, or the 2.0 Framework in general.

Please pass on any links or experiences you’ve had yourself.  All this may eventually find its way into an article over at VisualStudioHacks.com where I post a weekly clip on odds and ends.

Tuesday, December 20, 2005

Amazing Ruby Online Tutorial

I just did my first-ever Ruby code, courtesy of this online tutorial.  It’s quick, it’s simple, it’s cool.

Go check it out.

(via Jim Weirich)

Developing as a Non-Admin

I'm finally trying to kick the crutch of developing using an account with admin privileges. That same account was my regular account for day to day use, too. I’ve always known it’s a really, really stupid thing to be doing (see LeBlanc and Howard, Brown, or talk with any long time Unix user who will rightfully heap scorn upon you), but I just went with the path of least resistance.  Hey, I quit a two-pack a day smoking habit.  How hard can it be to kick this admin account thing?

Today I ran into my first small hitch while trying to get finicky NCover working for something I’m writing.  NCover’s very tempermental with its command-line parameters, so you really need to run it from a batch file or NAnt task.  I was trying to get an old NAnt build file working and was running into issues where everything appeared to work nicely, but no coverage report was being generated.  Arrgghhh.

I’d run into this in the past where NCover’s support library CoverLib.dll would lose its mind and require re-registration.  It was so nasty that I just added an exec for registering that library into my NAnt task — it re-registers itself every time the dang coverage runs.

So back to the admin/non-admin issue: regsvr32 will appear to execute just fine to register a DLL if you’re running as a non-admin account, it just doesn’t really do anything.  The DLL wasn’t successfully registered, and I got no feedback that the process failed.

Quick answer?  Use the “runas” to spawn another command window for executing my NAnt task.  This second window was spawned as one of my admin accounts.  Voila!

Monday, December 19, 2005

Reading: Peopleware

One of our DevGroup’s members gave me an extra copy of DeMaro’s and Lister’s Peopleware. I’ve had it on my reading list for quite some time and was happy to get my mitts on a copy.  (Thanks, Steve!) 

I just finished reading it and it’s wonderful stuff.  The book is formed by a bunch of short articles about particular aspects of how to form a productive, nourishing environment for your creative engineers.  It’s easy reading with a lot of head nodder momements.

The book is also discouraging in some aspects — many of the sheerely stupid ways management treats their folks haven’t changed at all since the book was written in 1987.  Thankfully, while there are plenty of horror/war stories throughout the book, it’s much more focused on the positive things which can be done to foister a great environment where good workers want to gather and get great things done.

It’s only about 180 pages long, and can most likely be gotten from your local or regional library system — but it’s such a great book that you might think about adding it to your library.

Friday, December 16, 2005

Converting VS2003 Web Projects to VS2005

Today’s Interesting Finds from Jason Haley’s blog has a link to an article on converting VS2003 web projects to VS2005 from the C# team.  A question about this came up in Wednesday’s meeting of our DevGroup, so hopefully a few attendees might actually be reading my blog and see this!

Other solution/project conversion blurbs on the net:

 

Saturday, December 10, 2005

Life As A Single Parent

No, my wife and I aren’t splitting up, rather I’m happy to report she’s back from a two-week biz trip, which means I get to close another chapter in my life as a frequent single Dad.

Pam travels extensively; she’s normally gone on travel at least twice a month, often three, and sometimes four times a month — but those trips are usually two or three days with the occasional four or five day tossed in.  I’m fortunate that as much as she travels she’s still around quite a bit to help out with parenting. 

This two week period as a single parent was the longest stint I’ve had since starting a stay-at-home/work-from-home Dad job five or so years back when our daughter Lydia arrived on the scene.  Self-deprication aside, I count myself as a pretty good Dad who can handle pretty much anything while my wife’s away.  For all my experience as a parent over the last five years, this two week period was an eye-opener and gave me even more appreciation for the many single parents who do this constantly.

My schedule and workload the last two weeks was pretty normal.  The daily routine runs something like: wake up and let out the cats who won’t sleep until my normal wake up time, go back to sleep, wake up (again), make coffee, read some RSS feeds if my son’s decided to sleep in, get the kids up, get breakfast made, get kids dressed/cleaned/brushed, drive daughter off to school, drive back home, stop by Kroger or Meijer to load up on veggies and bananas, get back home, start laundry, get a snack for son who is chewing my leg off, finally sit at computer to get a bit of writing done, handle e-mail correspondence for my DevGroup and small biz, get son down for a nap, take care of chores I can’t do when Zeke’s mobile and in the way (unload/load dishwasher), FINALLY get a shower, sit down at computer and get 30 – 45 minutes of quiet studying or coding done while Zeke’s asleep, wake Zeke up, drive to school to get my daughter, get home and fix lunch, head off to piano lessons if it’s Monday, get back from piano, back to the computer for some more e-mail and perhaps knock off a bit of writing, get afternoon snacks done, change laundry out, start dinner, get kids fed, get son into bath, play with kids for a few minutes, get son off to bed, change laundry again, get daughter into bath, unload/load dishwasher again, get daughter out of bath, have an argument about doing chores before goofing off, get daughter into jammies/teeth brushed/hair brushed, get daughter into bed and settle down to read a book or two with her, sit on couch to watch a bit of Firefly/LOTR/Hellboy/STNG/Battlestar Galactica/Band Of Brothers to wind down a bit, kick myself again for holding myself to not having any vino/whisky/other alcohol while my wife’s off on travel, head back to computer where I sit down at 9pm and work at getting into a zone to knock out some software or semi-intelligent sounding prose for an article for the VisualStudioHacks.com website.2

I’ve left out various non-stop chores which don’t fall into set chronological moments, such as the innumerable toys and books which land on my keyboard, tossed there by my 15 month-old son who is a constant, joyful interruption; intervention between son and daughter who love each other dearly, never more so as when they’re screetching at each other while trying to settle who gets to play with what; constant diaper changes (I’ll leave out graphic descriptions because I love my readers); rushing into the next room because my son’s in there and it’s been too quiet for too long, and any number of other varied errands and disturbances.

I also had several other events to deal with these last two weeks including painting two rooms (primer + two coats), fixing two busted toilets, dealing with the very nice but not so good at killing bugs guy from Orkin who has been telling me for five months that we should be seeing a decrease in carpenter ant activity “right after I put down this new stuff”, a follow up doctor’s appointment for my carpal tunnel-like problem which is now thankfully resolved, and finally two busted fillings to get repaired while the dentist talks about a possible root canal to fix another tooth.  Thank God the cars work.

I’m not throwing out that list as a lure for your sympathy (well, not too much, at least).  I only had to do this for two weeks and I really don’t deserve accolades for getting through that short stint.  Rather, I’m documenting for myself what my daily routine looks like — so that I can reaffirm just how blessed I really am.  I’m blessed with two kids who are, despite my numerous jokes, really terrific and low-maintenance kids.  How many 15–month and five-year olds love, and I mean love, all their vegetables? (“Kale?  YUM!”)  How many actually help out on occasion with chores around the house?  They’re also healthy (knock on wood), sharp as tacks, and are both endowed with a wonderful sense of the rediculous.  Laughter and giggles are thankfully a constant part of life around here.  I’m also blessed with a wife who is, occasional grumbling aside, a great help around the house and a great Momma.  I’m blessed with a terrific neighbor who has helped out in a pinch when I’ve had a short-notice meeting or two pop up.  Add to that a grandmother who lives 1.4 miles away and takes my daughter off my hands once a week.

How in the world does a single parent get this stuff done 24x7, 365 days a year on their own?  I’m amazed that any single parent manages to 1) stay moderately sane and 2) avoid stringing their kids up by their toes in the garage.

You want to do something to get yourself some seriously good Karma, or perhaps help balance out some of the negative things on the list you’ll need to present at the Pearly Gates?  Find a single parent and do something special for them.  Buy ‘em a couple sessions of Merry Maids.  Give ‘em gift certificates for a couple take out dinners.  Take their kids off their hands and send them off to a movie.  Or just take their kids off their hands so they can have a quiet hour to themselves.

You’ll probably never understand just how appreciated your effort would be.

Friday, December 09, 2005

Federal Spending

Interesting post by Angry Bear on what federal spending looks like over the last 30 years.  You might be surprised (as I was) that the rate of spending hasn’t exploded in non-Defense areas — but he doesn’t cite any sources for his information.

Possible Firefox Exploit

A lot of hay has been made in the past about how secure Firefox was -- and then such claims rapidly fell off as more folks took a harder look at the browser.  Here's another potential exploit, this one for the recently released version 1.5.  Funny how this topic pops up more and more as Firefox’s user base increases…

One of the biggest problems I had with Just Say No To Microsoft was author Tony Bove’s calling non-Microsoft products more secure while brushing over the fundamental concept that such products don’t have the user base Microsoft’s products do.  Bad Guys aren’t interested in doing Really Bad Things to software used only by a small percentage of folks.

(via Slashdot)

Now Playing: Bloc Party — Silent Alarm

Tuesday, December 06, 2005

Tentative Code Camp Schedule Posted!

Check out the tentative schedule we’ve got posted for the Dayton-Cincinnati Code Camp!

This is only a preliminary schedule, so don’t be bummed if you’ve submitted topics which didn’t make it onto the schedule.

Register for the Camp at Microsoft’s registration page.

Submit topics to me or James as noted on the Camp page.  Submission deadline is 12/21/05, but it would be a big help if you get things in sooner.

Now Playing: Elvis Costello — When I was Cruel

The Woes of Good Espresso

My flow during the day isn’t found in software development; development flow time is usually an hour or two late at night after the family’s asleep and I can work on getting into the coding zone.

My flow time during the day is found in the few moments where I can concetrate on pulling a shot of espresso.  I don’t count myself as a great barista, but I think I pull a consistently good shot.  There’s something flow-like about getting a shot just right: getting the equipment properly prepped, dosing out the right amount of beans, tamping the grounds just right (surprisingly difficult and very critical to the process), getting the temperature/time surfing down, and finally seeing the reward as espresso of a liquid honey texture drips out the spouts of my machine.  All this will sound absolutely nuts to readers who don’t care about espresso; just take away from this that I really enjoy this short time during the day where I can focus on doing one thing pretty well.

Why the “Woes” in the post title?  Because my two kids who have developed quite an affinity for my shots.  All my work results in… not much espresso left for me.  I’m lucky to have one sip left after my 16 month old son slurps up the crema and when I can get the demitasse back my five year old daughter.

Bah.

Still, there are a lot worse things in life than to have to share one’s espresso with kids who enjoy their small bit…

Now Playing: Ned’s Atomic Dustbin — God Fodder

Sunday, December 04, 2005

Construction Sort of Done

Well, that went quicker than expected.  It would have gone a bit quicker except for the various stuffed animals and books my son decided needed to live on my keyboard…

I like the wider display — the narrow content column in the previous template had been driving me nuts for a long time.  (But not so nuts I was willing to sit down and fix the dang thing.)  I’m also much happier with the white background for reading the snippets I post up.

I’ll give this a spin for a bit, perhaps tweaking a few fonts and sizes.  Leave me a comment if something about the changes drive you completely apes#it.  I may even pay attention.

Under Construction

Y’all may notice that the blog looks like crap right now.  No kidding.

I’m in the process of stealing bits and pieces of the template from Jason Follas’s blog and things are going to be ugly here for a bit while I iron out the kinks.

The end result should be much purtier than my initial template from Blogger.  White background (easier to read code snippets), and wider columns, again for easier reading of the many earth-shattering revelations I post up here.

Have a bit of patience with me while I noodle this all out.

New Microsoft Security Portal

Paul Maher announces a “Developer focused Security website” via Microsoft.  It looks to be more a portal than a resource site — there isn’t a whole lot of content directly on the site.  Intead it’s a link farm and you’ll need to troll other sites for information.  That’s not necessarily a bad thing, but I tend to agree with Ian Smith who comments on Paul’s post “ if those behind this initiative, with a specific passion around this area, couldn't be bothered to check the content they're linking to, why should the developers it's aimed at be any different?”

I’ll get around to jumping through all those links some day, just not today.

Saturday, December 03, 2005

NHibernate Many-To-Many Confusion

More NHibernate learning tonight, this time with many-to-many relationships.  We’ve been using Simon Green’s killer NHibernate templates for CodeSmith to generate business entities and mapping files.

I found one hitch, though, via my unit tests: I was losing all entities of a similar type when deleting one of them.  ‘Tis a puzzlement.  Using the debugger and peering at the database while stepping through, I found deleting the first entity resulted in the remaining entities getting deleted too.

Background: the entities are Person types with names, e-mails, etc., but also hold an IList defining a many-to-many relationship with a PersonType entity which stores, well, the type of person we’re dealing with.  (Member, speaker, sponsor, etc.)

My unit test looks like so:

Person p1 = TestFactory.CreateDefaultMember();

Person p2 = TestFactory.CreateDefaultMember();

p2.FName = "Bubba";

Person p3 = TestFactory.CreateDefaultMember();

p3.FName = "Goober";

p1.Save();

p2.Save();

p3.Save();

// cruft elided

p1.Delete();

p2.Delete();  //mass ugliness here!!

p3.Delete();

My test died out at the p2.Delete() statement.  By using the debugger I noticed that the PersonType record was deleted at the statement p1.Delete().  Hmmm…  A quick dig into the mapping file for the Person entity shows the collection defined so:

<bag name="PersonTypes" table="PersonTypeLink" inverse="false" lazy="false" cascade="all">

   <key>

      <column name="PersonID" sql-type="int" not-null="true"/>

   </key>

   <many-to-many class="nUGSoft.Entities.PersonType, nUGSoft.Entities">

      <column name="PersonTypeID" sql-type="int" not-null="true"/>

   </many-to-many>

</bag>

Whoops!  Note that portion “cascade=’all’” ?  Hibernate’s documentation (forget NHibernate’s dox) says cascading shouldn’t usually be used when dealing with many-to-many or many-to-one relationships.  I changed that option to “none” and things look much better now.

I’ll follow up with Simon and see if he’s got some specific reason for having had cascade=”all” set.  I’ll post a follow up here if there’s something of interest which comes out of that.

Subscribe (RSS)

The Leadership Journey