Sunday, April 30, 2006

Off for a Week

Blogging will be light, if not non-existant, for the next week.  We’re off on a long-overdue vacation.

I’ll be spending my time chasing and splashing kids, trying to get a bit of writing done, and with any luck, catching up on some reading in a hammock — which really means I’ll be napping.

Saturday, April 29, 2006

One of the Several Reasons I'm No McCain Fan

(Political Rant.  Hide your children’s eyes.)

John McCain, father of the so-called Campaign Finance Reform Bill on the Imus Show speaking on how he feels about your first amendment rights: “I would rather have a clean government than one where quote First Amendment rights are being respected, that has become corrupt.”

Forget prosecuting corrupt politicians and those who buy them, let’s just knock off everyone’s ability to exercise a fundamental principle of our Republic.

Via Instapundit.

More Book News

Holy smokes!  I’m sitting here looking at an O’Reilly sell sheet being drafted on our book.  Sell sheets go out to Barnes and Noble, Borders, Amazon, and other booksellers in order to market our book.

Borders and Amazon, fer cryin’ out loud!  I’m just amazed that this is all coming together.

James is off on vacation in Hawaii until mid-May.  I think we’ll be letting out details of the book shortly after his return, plus we’ll be unveiling the first iteration of the book’s companion website in early June.  (“This Site Under Construction.”  NOT!)

Thursday, April 27, 2006

Intro To Security Presentation

I gave my Intro to Security presentation tonight at the Central Ohio .NET Developers Group in Columbus.  It went nicely and folks politely stayed awake through what can be a pretty dry topic…  I got good feedback on the format and content, which was a nice validation for me.  I’d given this same gig at the Dayton .NET Developers Group, but that’s my home turf; they humor me a lot there.  I also got a couple great feedback items which will help me tune the presentation for the next time.

I had a couple folks ask about the font I used in my slide deck.  It’s the P22 Typewriter font available from the International House of Fonts.  No clue if they spawned or were spawned from IHOP

Regardless, the font is a great one for presentations.  I got the font idea and general style of my presentation from Larry Lessig’s talk at OSCON.  Dick Hardt also has a great talk on Identity 2.0 from his OSCON presentation.

Code and slides from my presentation can be found at my website.

Getting Explorer to Launch in Admin Context

I run and develop as a basic user, not as an Admin.  (You ought to seriously consider this if you’re still developing as an Admin user, but I digress.)  I use Aaron Margosis’s MakeMeAdmin command file to fire up an Admin command session, and from there I can launch Explorer windows if I need to do something GUI-related.  I use Margosis’s PrivBar to highlight Explorer windows running in the Admin context to help me avoid doing something Really Stupid.

So today I’m working on configuring the nice Tablet PC I bought from James the other day, and I was having difficulty getting Explorer to launch correctly from an admin command line session.  Every Explorer window I launched was showing up in the regular user context.  What’s up with that?

A quick Google on Margosis’s PrivBar and Explorer came up with the answer: I’d forgotten to tell Explorer to launch each instance in new process.  Oops.  Quick fix.

Aaron Margosis' WebLog : RunAs with Explorer.

Take a good look at Margosis’s tools if you’re working as an Admin.  His widgets make life as a LUA developer smooth and productive.

Great Stuff from Bill Wagner

Bill Wagner, author of the incredible work Effective C#,was kind enough to drive all the way down from Ann Arbor (or close by) to talk at the Dayton .NET Developers Group last night.

He gave a great presentation on, well, effective C#.  It was a terrific talk covering everything from architectural choices to good idioms to why developers really, really need to push their management to move on from the 1.1 Framework and start using goodness out of the 2.0 Framework — his practical examples of how generics can go beyond just collections was terrific.

I hope to have Bill’s slide deck and example code up on the group’s homepage soon.

Many thanks to Bill for spending seven hours on the road yesterday to talk here for a bit under two hours!

Wednesday, April 26, 2006

Good Stuff on Automated Testing With Watir

More good stuff from the very smart folks at telerik, this time an article on how to use Watir for testing complex controls:  Automating Complex JavaScript-rich Controls with Watir.

Telerik makes great software, and their folks are really sharp.  The article’s worth reading and filing away if you’re in need of automating some web tests.

Official ReSharper 2.0 Keymap

The folks at JetBrains have released an official keymap for ReSharper 2.0.  I’ve been doing ReSharper 2.0 thing during the EAP run and it’s great stuff!

Thursday, April 20, 2006

Subversion Online Book

I’ve been using Subversion in a very simplistic fashion, but am gradually learning more about it.  Folks who have used Subversion a long time are likely aware of the great Version Control with Subversion book available online.  It’s pretty neat that O’Reilly allowed the content of this book to get put freely out on the web, so consider plunking down money for a copy of the book if you find it useful.

More Notepad2 Goodness

Notepad2 is wonderful stuff, but I didn’t realize it did automatic highlighting of Patch files:

That’s pretty cool!

Oi! Writer's Block Stinks

For the most part, I’m having a great working on my book, but I’ve already run into writer’s block a couple times.  The latest round has been while working on a piece about AnkhSVN, a great plugin for Visual Studio which brings the whole Subversion flow right into your VS IDE.  AnhkSVN is nice and it’s got a lot of nice features, but I’m just completely blocked on knocking out the piece.

I’ve fallen back to the most basic of writing steps: building a skeleton via outlining, then moving on from there.  Over the years I’ve been writing I’ve gotten to the point where I do this in my head and don’t have to scratch it out on paper.  This AnhkSVN piece has forced me to revert back to fundamentals.  I’m also going to get the initial draft finished off and leave it alone for a few days to give myself a break from it.

I am SO looking forward to putting the nail in this coffin later today and getting the piece off out of my writing queue!

Wednesday, April 19, 2006

Happiness is...

the doctor at the Emergency Room telling you at 2am the intense difficulty your son is having breathing is just the croup instead of some life-threatening mess.  More happiness is your son breathing more easily and laughing with the nurses after having woken up 30 minutes earlier sounding bad enough that a 911 call was seriously considered.

(Croup can be very dangerous for small ones with other health issues.  Thankfully Zeke’s a robust tyke.)

Tuesday, April 18, 2006

(Politics) Divided Government May Be The Only Way

Via Instapundit, a blog post which pretty much sums up how I feel about the Republicans these days: Voting for Democrats in the hopes of wresting control of Congress from the GOP may be the only way to get spending back under control.

Do You think the GOP is in trouble?.

Saturday, April 15, 2006

A Little Documentation Would Have Been Nice...

Every once in awhile I run across a snippet of code which makes absolutely no sense to me.  This snippet from SharpZipLib’s BZipOutputStream.cs file is one of those:

if (!(nHeap < (BZip2Constants.MAX_ALPHA_SIZE+2))) {

    Panic();

}

Keep in mind that this source code is part of the examples to help newcomers understand how to use the library, so the odds are high that a reader will not understand the intricacies of the library.

OK, so a test is being done and things panic if the heap size is smaller than the MAX_ALPHA_SIZE plus two.  Sure, that’s shiny and clear.  But what the h3|| is MAX_ALPHA_SIZE, and why is two added to it?  Maybe the help file will tell us something.  Here’s what the documentation for that constant’s field says: “Backend constant.”  Ah, OK, that’s perfectly clear. 

I’m also happy that the developer took a moment to tell everyone why two was added to the test condition.  Oh, wait.  They didn’t.  Maybe that value is added because the developer had two left feet?  Maybe it’s the number of cheeseburgers they had for lunch.

I wonder if the developer who wrote that would themselves remember why the value is added six months down the road.  Most likely not without some serious head scratching effort.

Do yourself and those who come after you a favor: help out a bit by describing why you’re altering a basic test condition.  Better yet, note what constants and other field members are really supposed to do for a living.

Or maybe you just like to live by the principles of Unmaintainable Code.

I don’t mean to pick on the very nice SharpZipLib, this is just a pet peeve rant of mine and they happend to be in front of my nose today.

CORRECTION: This is from SharpZipLib’s source code, not the example files.  Regardless, an explanation would have been really nice.

NOW PLAYING: The Stone Roses — Love Spreads.  Man, what a great bunch of guitar and bass going on in this track.  Replayed it twice already and it’s most likely gonna get hit again.

Friday, April 14, 2006

Ah, the Joys of Being Edited

James and I have some great help at O’Reilly for our upcoming book.  We’ve just gotten our first two submitted chapters back with comments and edits, and I’m finding just how much grammar I’ve forgotten or never really knew in the first place.  I am, after all, a product of Jerry Brown’s California educational system — which is to say at the start of sixth grade my parents pulled me out of public school and sent me to a Catholic school where I repeated fifth grade because I could barely read or write.

Things have improved over the years, and I’m a pretty good writer now — but I’m completely clueless about most grammar beyond nouns, verbs, adverbs, adjectives, and conjunctions.  (“Conjunction junction, what’s your function? Hooking up verbs and phrases and clauses.”  Go back and rewatch your Schoolhouse Rock if you don’t know that one.) 

My success in the large amounts of writing I’ve done in my career has been due to a voracious reading habit I developed after getting the crap knocked out of me a few times in the Catholic school.  I write well because I’ve read a lot and remembered a lot of things I liked.

So now I’m at the place in life where I’m having to pull out and REALLY read the Chicago Manual of Style so that I’m able to moderately understand what my editors are telling me when they’re recommending a gerund style of heading versus an imperative one.

Oi vey.  My head hurts.

At least I haven’t been told my participles are dangling.  Yet.  Anyways, that usually only happens when I’m wearing my kilt in traditional fashion.

Thursday, April 13, 2006

Good Looking Bread Baking Site

My wife pointed this bread baking community out to me.  I haven’t dug through it much, but it sure looks like a great place to check out.  I didn’t bake anywhere near as much bread this winter as I usually do, and my bread baking season is pretty much over.  Having a 550 degree oven on in the house just isn’t very attractive now that temps are moving up to the 80s and above…

Welcome to the Fresh Loaf | The Fresh Loaf.

Great Security Article from Josh Holmes

Josh Holmes, a good buddy but not a relation, is now a published author — and on Visual Studio Magazine’s website, none the less.  He’s co-authored a terrific article on how to reduce your software’s code vulnerability.  He and co-author Gabriel Torok do a great job on laying out some good fundamentals.

Give it a read!

Visual Studio Magazine – Getting Started – Reduce Your Code Vulnerability.

Best Buy Doesn't Buy Software

From Gunderloy's Daily Grind, another reason to dislike Best Buy. It seems their Geek Squad plays loose with copyright laws.

ABC News: Best Buy Hit With Restraining Order.

Wednesday, April 12, 2006

ReSharper 2.0 Key Shortcuts

ReSharper 2.0’s EAP is just killer.  Wonderful, wonderful stuff and I’m barely scratching the surface with it.  One of the few downers is the lack of a keyboard shortcut file.  Somebody on the EAP newsgroup asked about one, which prodded me to stop whining about the lack of one and just make the dang thing. 

Voila!  In shiny PDF if you’re interested:

http://www.iterativerose.com/Misc/ReSharper2.0Shortcuts.pdf

Or an Excel version if you don't like the format and want to change it yourself:

http://www.iterativerose.com/Misc/ReSharper2.0Shortcuts.xls

Errors are my fault, not JetBrains’.  Feedback welcome.

Gardening Notes

Notes to myself so I can Google them next year instead of having to beat my head against the wall trying to find my @#^%!! gardening journal my kids have absconded with.

Ground corn gluten meal as a pre-emergent at forsythia bloom time.  ~20lbs per 1000 ft2, setting 12 on Scott’s AccuGreen drop spreader.  Checked dispersal rate by marking out two 50 x 10 areas and putting down 10lbs in each, tweaking spreader setting until the rate was right.

Ringers lawn restore organic fertilizer.  10lbs per 1000ft2, setting 12.5 on spreader. (Pellets vs. CGM meal, so this setting really works.)

Dormant/horticultural oil on pear and apple tree right after bud break.  7Tbs / gal of water.  Soak the trees to hopefully prevent the #%^T#@!! scales that made last year’s crop miserable.  Bummer.

Started spraying roses with Cornell organic spray to control black spot:

  • 2 tbsp. of ultrafine horticultural oil (such as Sunspray™ oil)
  • 1 heaping tbsp. of baking soda
  • 1 tbsp. of fish oil/seaweed emulsion
  • 3-5 drops of Superthrive®

(Spray recipe from GardenWeb’s FAQs)  (I don’t bother with the Superthrive and my roses have done really, really well.)

Subscribe (RSS)

The Leadership Journey