Thursday, June 29, 2006

Book Review: Extreme Programming Pocket Guide

Extreme Programming Pocket Guide, by "chromatic". O'Reilly Books, 2003. 90-ish pages of pocket-sized XP love.

I've had my nose stuck to the grindstone working on the book James and I are writing, but badly needed a bit of time away doing something else, so I pulled this tiny work off the stack of review books (now 30 books high) and blasted through it in a short hour.

It’s short, sweet, to the point, also injected with the occasional XP Dogma Line such as if you don’t implement all 12 practices then you’re not doing XP and your manhood will shrivel or your womb will be barren.  I get tired of that line, but the rest of the book is truely golden.

It’s concise and lays out great sections on why one should consider XP, roles in XP, artifiacts, and a few others.  The real wealth is the section on XP practices where the 12 tenets are laid out in concise, reasonable fashion.  These practices are clear and understandable without a bunch of mystical handwaving or badly-written example scenarios I’ve suffered through in a couple other XP books.  (Roodyn’s Extreme .NET comes to mind as a painful example of that.)

The book’s conciseness and focus makes it a perfect tool if you’re trying to sell XP to your management, team, or co-workers.

(Standard Book Review Disclaimer)


Standard Book Review Disclaimer

Here’s my standard (as of this moment) disclaimer about some of my book reviews.  I’ll try to link to it when I review a book I’ve gotten as a review copy.

I get a lot of books free as review copies.  I write about most of them if I’ve time to read them and they’re interesting topics.  Just because I got them for free doesn’t mean I feel obligated to give fawning reviews of them.  I write about what I like and don’t like without any feeling of obligation to the publishers — who you should know never ask or imply that such a thing should be done.

Regardless, you ought to know when I’ve gotten a book for free.  So there.

(Not valid in the states of Nevada, Ohio or the other 48.5 states.  Your mileage may vary.  Some settling may occur during shipment.  Don’t use heavy machinery after reading due to risk of drowsiness.  Avoid contact with water.  Keep away from children under 43.)

Great Indigo Presentation

The famous (infamous?) Sam Gentile spoke on Indigo and SOA last night at our .NET group here in Dayton.

Sam’s quite a character (the expression “he’s strong coffee” comes to mind), wicked smart on Indigo, and obviously passionate about what he does.  He’s also not afraid to vent his opinions on everything from VB.NET developers to various decisions Microsoft’s made about various pieces of technology.

You should definitely take advantage of seeing Sam speak if you have the opportunity.  Hanging out with him afterwards is also quite an adventure…

(His vents on VB.NET folks were tongue in cheek.  I think.)

Wednesday, June 28, 2006

OR/M == Vietnam?

Jeff Atwood can’t write a blog post to save his heinie.  His stuff is never interesting, it’s poorly written, and it’s never germane. 

Oh, wait.  I have that completely inverted.  All of his stuff is provoking, well-written, and mostly always pertinent.  But I digress.

If you’re using or considering using object relational mapping to handle business object persistence then you need to read his post today which really refers to another one by Ted Neward.  A buddy of mine is adamantly in the “O/RM rulz the woild!” camp.  I remain a fence sitter, simply because I don’t have time to actively think out both sides.  Maybe after I finish work on the book and sleep for a week or two.

I haven’t gotten through all of Neward’s original post, but both are good reads.

(Cool.  I got both “germane” and “pertinent” in a post.)

Monday, June 26, 2006

Seriously Good Webcasts

Michele Leroux Bustamante (AKA “Das Blonde”) is putting on three MSDN webcasts this week.  She’s a brilliant lady and knows her stuff, particularly for security and Windows Communication Foundation.

Check ‘em out.  The price is right, after all.

Sunday, June 25, 2006

A Quiet Sunday Morning for Editing

…Or maybe not so much.  Two cats providing entertainment with a yeowling, sibling-rivalry dustup.  One 23–month old giggling and laughing while fishing near your feet, plus bashing on a couple old pots and pans.

Good thing Child #1 and Momma are still asleep, otherwise there’s no telling what they’d be adding to the cacophonous mix.

Me?  OK, I’m listening to Longwave’s There’s a Fire which is some seriously good stuff.

Friday, June 23, 2006

Sniveling Grubs (Semi-Politics)

Charles Krauthammer has a wonderful article on why Australia is such a good friend of our nation, and why we like them so much in return.  One reason?  Australian House of Representative members like Julia Gillard who express their distaste for opponents in rather plain terms: “I move that that sniveling grub over there be not further heard.''

Regardless of your politics, the article’s quite a good read.

(Krauthammer admits some bias to Aussies, having married one.)

[Via Instapundit]

Wednesday, June 21, 2006

Hire Me!

James and I will be finishing up work on our book in a few weeks, and I’ll be looking to transition to a full-time job shortly thereafter.  I’ve already started the job hunt process, but thought I’d put a post here as well.

I’m looking for a position doing development, project management, or solutions development in a customer-facing role.  I’ve had a very wide range of experience and can help you and your company out with just about anything from network managment to development to testing.  (I’ve also done retail wine sales, so I can help you figure out what you should drink with your salmon…)

Location preferences would be the Dayton/Cincinnati/Columbus area.  Relocation’s an option, but only after September and it would need to be a pretty compelling opportunity.  I am, however, available for remote/virtual/telecommuting work and have five years productive experience in such a slot.

I’ll be available for work starting the first week in August.

If you’re interested, feel free to have a gander at my resume, or contact me via the link on the right sidebar.

Touring a Book Printing Plant

Chris Sells and his two sons take a great tour of a printing plant as Sells’ book is being produced.  Neat stuff, and very interesting photos.

(Via Kate Gregory)

Another Presentation

I gave my “Intro To Security” spiel at the Cincinnati .NET User Group tonight.  (Whoops!  Look at the hour!  I mean last night.)  Nice crowd, good folks, only a couple started snooring on me.  Thanks to James for inviting me and the rest of the Cincy group for making me welcome!

You can find links to the updated slide deck and code over at my company’s site.

(And thanks to my wonderful little daughter who turned six years old today and didn’t complain when her Momma left on biz travel and her father abandoned her with the babysitter.  An ice cream cake from Ritter’s at lunch might have had something to do with that…)

Monday, June 19, 2006

Book Status

Still no update on when our book will get on to O’Reilly’s Rough Cuts, which is bringing me down.  James and I are holding off announcing details until that point, and I’m having a helluva time keeping my yap shut.

In the meantime, I’m feeling a bit like the folks at Weta Digital in the final weeks of Return of the King: loads of work, and we keep adding new things to write about.  This isn’t bad, because we want the book to be a killer tome, but it does mean I get a bit of a glazed look in my eyes from time to time.

Final milestone for 100% first-draft delivery is 4 July, which is (Holy Smokes!) just 15 days away.  Whoof.

Jim.Mode = NoseToGrindstone;

Saturday, June 17, 2006

More ReSharper Goodness

Small things matter.  Like being able to quickly open up a file somewhere in your solution when you run across a reference to it in your code.  I’m still not in a complete transcendental existential plateau with ReSharper, but I do on occasion come close to Maslow’s fifth level with goodies like this:

  • Find a reference to a file in the code you’re looking at (CSS Friendly ASP.NET 2.0 Control Adapters, BTW)
  • Hit Ctrl-Shift-N
  • Start typing a few characters of the filename
  • ReSharper gloms through all files in the solution and starts listing files, filtering out as you type more characters in
  • By the fourth character I’m to a set of files like so:
  • By the fifth character I’m down to two choices, enabling me to use the arrow key and Enter
  • The desired file pops into my editor.


Sodas and Mentos -- Kids, Don't Try This At Home

From Greg Hughes's blog, a science experiment gone oh so wrong. The horror!

Friday, June 16, 2006

Good Stuff on Obfuscation

Jason Haley has been posting up a series of articles on obfuscation.  He’s got a post on String Encryption and Renaming.

Good reading!

Thursday, June 15, 2006

Good Customers, Bad Customers

Customers are and should be the top priority in any line of work, but customers also need to know that there are borders beyond which they may not pass.  It’s not OK to get abusive, it’s not OK to go nuclear and dump venom on a customer-facing representative just because your issue wasn’t addressed Right Friggin’ Now! 

Furthermore, if you as a customer cross those lines then you deserve to have that rep’s manager, in a polite and professional manner, put you firmly back in perspective.

Josh Ledgard has a very thoughtful post on just this topic as relating to Microsoft: scooblog by josh ledgard : Anyone but you again. Be sure to read the first comment, as it’s a great example of someone who’s over the line.  What a hysterical affirmation of Josh’s point.

Security Goodness: Drag & Drop to MakeMeAdmin Command Prompt

I use Aaron Margosis’s MakeMeAdmin.cmd to give myself admin privileges when needed.  That command file (real developers don’t use batch files) gets you a command prompt running in an administrator’s context, enabling you to launch new Explorer sessions, programs, etc., all from an Admin’s context.

Last night I stumbled across something that I’d no idea was possible: You can drop a shortcut into that command prompt window, at which point the shortcut’s full path will appear in the prompt.  Hit “Enter” and Poof! you’ve got a shiny app running in the Admin context.


I’m embarassed to say that I can’t even credit the place I ran across this tip at.  I read the blog post or comment and moved on to do other things.  What I’d read really didn’t even sink in until I climbed out of bed this morning and sat down at the computer…

Wednesday, June 14, 2006

Tutorials Done the way Tutorials Should Be (Anthem.NET)

I’ve been trolling through a lot of open source and freeware tools over the last six or eight months.  I’ve seen some great documentation (Varszegi’s NSpring’s API dox rock!) and I’ve seen utter crapware.  Most projects suffer in the tutorial/implementation area even if their API dox are up to snuff. 

Let’s be honest: what’s fun about writing up that implementation/tutorial stuff?  Nutin’, but it’s critical if you want users of your stuff to be able to jump right in and get rolling.

Anthem.NET’s tutorials/demos are the best I’ve run across since I started brushing against open source a number of years ago.  The example web project in Anthem.NET’s distribution has 43 separate examples.  43!  With code.  And they’re well-written!  Additionally, Howard Richards has a great walkthrough on Code Project.

I know the effort involved in getting this level of quality of documentation up, and I’m happy the Anthem.NET team did it.  I’ve done very little with ASP.NET, so I’m learning about AJAX, Anthem.NET, and ASP.NET fundamentals all at the same time.  This documentation makes it oh so much more pleasant.

Well done, folks!

Confused about the WinFx/.NET 3.0 Idiocy? Some Clarifications

Roy Osherove passes on information from various folks at Microsoft who are trying to clear up the confusing mess they’ve created surrounding .NET 3.0/WinFx/LINQ.

This is actually a pretty clear, helpful post.

I Have a LOT of Work To Do

…before I’m able to catch up to these folks: Top Reviewers.  Top reviewer has posted 11,500–ish reviews?  Yeesh.  Guess I’ll have to work hard to get up from my current 27.

Jeff Atwood on Steve McConnell on Estimating

I reviewed a couple chapters of Steve McConnell’s Software Estimation: Demystifying the Black Art as he was writing it.  (Now that I sound like I am sooo cool, let me point out that he opened the review process up to hordes of folks via his website, so it’s not like I’m all that cool.)  What I read was solid gold, although I’ve not had time to buy and read the entire book yet.

Jeff Atwood over at Coding Horror has a nice extract and bit of commentary on why estimations are so often horribly wrong.

Just another kick in the pants that I need to get and read a copy of this book.

Monday, June 12, 2006

Editing Non-English Speaking Writers

I’ve been working through a number of articles for our book written by non-native English speakers.  Frankly I’m stunned and a bit embarassed at how amazingly well-done the vast majority of the articles are.

I lived and worked in Germany for about 3.5 years and was nicely conversant in German.  Far from fluent, but I was able to get across just about any concept I needed to both at work and at the Gasthaus after a couple beers.  Just don’t ask me to do the genative and other cases, which always killed me.

Back to the point.  I never would have considered writing an article in German for a publication, so I’m amazed at the great pieces I’m getting from our contributors.  I realize English tends to be a common business and technical language, but regardless… Russian, Israel, Germany, Brazil, Austria, China, Switzerland, Italy.  I’ve had pieces from all of these nations across my screen.  I’ve only had one which needed massive edits, and frankly I’ve had more thanone native English speaker who I had to do significantly more editing on!  One foreign writer even had down the proper usage of semicolons and commas in extended lists.  If that ain’t a subtle piece of work I don’t know what is.

I have no idea where I’m going with this blog post.  I’ve just been knocked over at how cool it is and thought to share my blatherings with my three readers.

More Great Stuff on the Internet

My wife and I were avid fans of Northern Exposure when it was on. We especially loved the episodes where Chris Stevens did anything with his "Fling", a huge tebuchet.  I remember several various things getting the Fling: a car (perhaps?), a piano, his dead buddy Tully  still in his coffin.  Imagine my happiness when I found a reference to this today: trebuchet - Photobucket.

(Via Hugh Hewitt)

Interesting Counterpoint to Benefits of Agile Development

Via Ron Jeffries's blog, a ten-point critique of evidenciary claims made in Craig Larman's Agile and Iterative Development: A Manager's Guide": Misstating the Evidence for Agile and Iterative Development, Chapter 6, Evidence.

I haven't read Larman’s book, but the article’s author, Isaac Gouy, gives specific quotes out of Larman’s work, then does a handy job refuting those points based on evidence Larman himself cites.

It should be noted I am not jumping in on Gouy’s side.  I’ve a huge distrust of short snippets of quotes taken from larger works.  We see our lousy media doing a great job of handily, purposely distorting the gist of an argument via Dowdification.  (Note that’s done on either side, not just via MoDo.)

Regardless of the Dowdification factor, Gouy’s article makes for interesting reading.  Do be sure to read Jeffries’s commentary on Gouy’s background on  Jeffries emphatic non-committal says something on its own.

Friday, June 09, 2006

Making a Political Difference

You may not care about politics and that's fine. Skip on past if that's the case.

If that's not the case, then plop by Captain Ed's blog and read about how the Porkbusters movement helped cut the Senate's asinine appropriations bill by an imense $13.5 billion. That's billion with a "b".  According to Capt. Ed, that works out to $45 for every man, woman, and child in the USA.

The blogger-driven Porkbusters movement is responsible for much of the momentum for cutting out rediculous crap like Trent Lott’s $700 million railroad and a $200 million bailout for Northrop Grumman (whom I used to work for).

Polemics like Ann Coulter and the moonbats at Daily Kos aren’t good for much, but grass roots level movements like Porkbusters can indeed make a difference.

How cool is that?

(Via Instapundit)

Thursday, June 08, 2006

Social Engineering, the USB Way

From Keith Brown's blog, a frightening look at how simple it is to get careless folks to do your hacking for you. Security isn't only about SQL injections, buffer overflows, or running FxCop to find the stuff you missed. Security is about policies, procedures, and perhaps shutting down USB ports on systems.

Dark Reading - Host security - Social Engineering, the USB Way - Security.

(And oh, by the way, take your regular account out of the Administrators group, you fool!)

The Joys of MSDN's Fluid Locations

MSDN has some great stuff on it.  The API documentation is helpful, the knowledge and transparency of the scads of bloggers there is simply incredible (and EXTREMELY helpful when searching for answers), and there’s just some Plain Cool Stuff.

Until they move it.

This seems to be an ongoing problem at MSDN.  Get some good content up, then six or eight months later move stuff around so all the links don’t friggin’ work.  Case in point, the following spot from MSBuild’s front page:

Of the four links circled in red, three get Page Not Found errors.

Not overly helpful.

Wednesday, June 07, 2006

So You Think You're an RC Pilot?

I’ve watched my Dad do neat things with his R/C airplanes, but nothing like this: Amazing R/C airplane demo.

Just amazing.

My Office Window View

There are certain advantages to being at my desk at home during the day.  One would be the view out my “office” window.

Such things help balance out the grey hair I’ve gotten while staying at home to take care of two small children…

Windows PowerShell Blog

I’m just starting to explore the Windows PowerShell, plus the exciting-looking PowerShellIDE.  I ran across the PowerShell Team’s blog and it’s absolutely worth adding to your agreggator, if only to read messages like this one from Dean Tsaltas which starts off:

"We’ve heard that some of you think our PowerShell sample scripts on the TechNet Script Center stink. Do you have any idea how much that hurts? We slave over hot keyboards day in and day out trying to help you ungrateful scoundrels learn more about scripting. And how do you repay us? Nasty emails and smear campaigns, that’s how….just a sec…what’s that?...what do you mean they have a point? Really? Oh. OK."

That post only gets better, especially since it’s an open admission that they’ve work to do.  All the other posts on that blog look to be filled with lots of goodness as well.  But I digress. 

PowerShell looks way cool, and I’m looking forward to playing around with it.

Monday, June 05, 2006

JetBrains' Killer Tools Blog

I just ran across this today: the JetBrains .NET Tools Blog. How cool is this?  Tips, tricks, and neat stuff from the folks who bring you ReSharper, .Trace, Omea Reader, and a host of other slick tools.

Today’s post is a great walkthrough on using the Go To Type feature.  Most excellent.

Book Review: Programming .NET Components, 2nd ed

This one got bounced from Slashdot some time back and I forgot to post it up here.

Looking for a concise, well-written book covering everything from interface-based design and development to the nitty-gritty on remoting in .NET? If so, you ought to give Juval Löwy’s Programming .NET Components, 2nd ed. some consideration. His book, focused on the benefits of getting software into well-defined components, does a great job of hitting the details on tough implementation issues while clearly laying out fundamentals needed to understand the problems.

Löwy, recognized as a Software Legend by Microsoft (which may instantly disqualify him as a Smart Guy on Slashdot), nicely covers general .NET topics such as the Just-In-Time compiler and garbage collection. Thankfully he doesn’t spend hundreds of pages on this, instead moving on to the main gist of the book: how to go about creating component-based systems.

The beginning parts of book aren’t a theoretical mess on design; rather Löwy’s kept it to how one goes about laying out functionality in different assemblies and how you can best accomplish that using by interfaces to structure that functionality. He nicely introduces interface-based programming for developers who might not be familiar with that approach. There’s also good coverage of using generics in interfaces, particularly some of the trickier bits such as derivation and constraints.

The remainder of the book gets into more complex concepts for getting your components to function together. Löwy has some very good coverage on asynchronous calls and event-handling. His sections on multithreading/concurrency and remoting are very detailed and provide solutions to difficult problems.

One thing I liked a lot about the book is Löwy’s strong emphasis on dealing with potential errors which may occur. Every section is rich with practical advice on identifying and handling error conditions that might pop up. Löwy’s also very good in pointing out where you’ll need to make tough decisions, for example when deciding on whether to use Enterprise Services (DCOM), remoting, or web services for communication between components.

Generics, new to the .NET 2.0 Framework, get a lot of coverage in this book. Löwy’s done a lot of other writing on the usefulness of generics. Each major section includes a discussion on how generics might benefit a particular scenario, plus there’s a separate appendix serving as an introduction to generics.

A good friend of mine feels that Löwy tends to favor complexity in his approach to design and implementation, but I didn’t get that from this book at all. Löwy lays out a clear case for what he’s talking about, plus he gives you the pros and cons to make an informed decision about how you’ll design and implement your code.

iPod Woes

Well this just plain sucks: my iPod has decided to eat its young and refuses to talk to the computer holding my music library.  The thing’s also skipping songs and just generally behaving in a quite rude fashion.

The iPod Updater software won’t even talk to the thing, which is making it tough to try and reset the iPod.  I’m not very pleased.

I’ll have to spend some time digging back through my copy of iPod & iTunes: The Missing Manual, Fourth Edition, but I really wish this thing had waited a bit to crap out.  Not like I’ve scads of time to fool with this at the moment.  Grumble.

Sunday, June 04, 2006

Ron Jeffries on Focusing on Value

If you can focus your work on the 20% of a system which brings 80% of the system’s total value to your customer, then what should you do with the remaining 80% of work? 

Ron  Jeffries has a great article, The "Eighty-Twenty" Rule, with a pretty stunning graph and conclusion: forget the remaining 80% and go find another four projects in which you spend 20% of the time hitting the 80% mark on each project.

As Instapundit would say, read the whole thing.

Friday, June 02, 2006

First Rose Pix of the Year

The roses are exploding and doing quite nicely this year.  The New Dawn in the front continues to do its best to eat the house:

The canes over the entryway tend to darken things a bit, but the aroma from the blooms is worth it.

The Kirsten Poulsen and Marie Pavie roses in the wildflower bed are doing very well too.

There are several other rose beds doing nicely, but this was it for today’s pix.

Favorite Developer-Oriented Utilities?

UPDATE: I completely forgot to mention a critical factor: These tools need to be freeware or open source (FOSS).  There are a ton of great utilities around which you can drop money on, but we’re focusing on FOSS toys.

One of the parts in the book James and I are writing covers miscellaneous Windows Utilities.  This chapter covers miscellaneous utilities developers find handy, but don’t fit easily in other categories like Troubleshooting, Build, Editing, etc.  We’re already writing about a good list so far: Cygwin (more than a utility, but a good fit), Cropper, SlickRun, TaskSwitchXP, ZoomIt, VMWare and Magnifixer. 

However, we’re always interested in more cool tools to write on.

Do you have any other developer-oriented utilities you think are the bee’s knees?

Subscribe (RSS)

The Leadership Journey