When In Doubt, iisreset

November 14th, 2008

Verbum sapienti satis est.

“WPF Unleashed” by Adam Nathan is THE definitive starter book for Windows Presentation Foundation. I can’t sing praises for it enough but in summary, IMHO, no one who did not write WPF itself should be writing WPF applications without having read this book.

Book Club Update February 2008

February 21st, 2008

I finished “About Face” sometime around the turn of the month. In desperation I grabbed “The Pragmatic Programmer: From Journeyman to Master” by Andrew Hunt and David Thomas soon thereafter and fortunately so; that very evening my commute home (and my commute the following morning to work) was delayed when my bus broke down on the expressway. I’ll spare you the Chicagoan sentiment for the Chicago Transit Authority. Also as foretold I’ve been reading this book in parallel with a fiction work in the StarCraft universe, alternating daily. I’ve already finished both Gabriel Mesta’s “Shadow of the Xel’Naga” and Christie Golden “StarCraft: The Dark Templar Saga: Firstborn”.

My Book Club of One

January 27th, 2008

In my last post I mentioned that I’d just started “Patterns of Enterprise Application Architecture” and planned to read “Refactoring” after that. I have since read them both and at least 1.5 others. I’d actually started my next post when I finished Patterns but due to the aforementioned coupling it never saw the light of day.

After Refactoring I decided to finish another book that I’d skimmed “The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity” by Alan Cooper. The book makes a lot of good points about the fundamental disconnect between the mental models of the end users and software developers (I know I’ve been guilty of projecting my own level of comfort unto my users). The book makes a strong case for the need of “Interaction Designers” and “Goal-Directed Design”. So much so that after finishing it I went and grabbed a copy of “About Face 3: The Essentials of Interaction Design” by Alan Cooper et al. While I’m still reconciling some of the principles of Goal-Directed Design with Domain-Driven Design (and Test-Driven Development, Object-Oriented Programming, Service-Oriented Architecture, and several other acronyms) About Face reinforces the arguments made by Inmates and really brings to light some of the dunderheaded user interaction decisions we programmers can make.

Recently I’ve taken to reading books on software patterns. A few months ago I started the legendary “Design Patterns” aka “Gang of Four”.

Working on the .NET platform, reading books from the C++/Smalltalk/Java dominated time period is amusing in that often such books emphasize some patterns which we take for granted in .NET because the infrastructure supports and encourages them so transparently. As an example, the Observer pattern (GoF) has been really simplified with .NET delegates and events, and the Mediator pattern (GoF) is almost a given in WinForms development. In some cases the CLR allows a more flexible and elegant implementation and this is true on other platforms where different constructs are given first-class status. In other cases it’s just cool to see how patterns are simply manifested in the framework e.g. Iterator (GoF) -> IEnumerable.

The Visitor pattern takes the common orientation of polymorphism and turns it on its side.

I was Never Much Good at Hello’s

September 26th, 2007

Windows Presentation Foundation is a major paradigm shift that, frankly, intimidates me. But lately I’ve been digging in around the edges trying to understand what these changes could mean for the future of .NET solution designs.

I finally caved and got myself a copy of VS2008 Beta 2 and am really excited about it. Particularly, I’ve gotten to play with cool new language features in Visual Basic 9.0. Now, I’d move to VB9 for local type inference and object initializers alone but this weekend another feature piqued my interest: XML Literals.