Monday, March 31, 2008

ArcReady: Architecting for Scalable and Usable Web Applications

Get ready for the next round of ArcReady sessions!  Brian Prince and the other evangelists will be putting on another great ArcReady event this quarter.  Events are all over the central region -- check out the calendar at ArcReady.com.

Two different sessions are offered during this half-day, FREE event: Architecting for scalability, and architecting for usability.

I'll be attending the one in Columbus on 4/29.  Hope to see you there!

Friday, March 28, 2008

See You At the MVP Summit?

I am very excited that I'll be attending the MVP summit in Redmond in a few weeks!  I was not able to attend the last one so it's a thrill that I'll be out there drinking the Kool-Aid for this one.

There are a passle of things I'm looking forward to getting involved with during the summit, and I'm stoked that I'll be able to connect with a bunch of folks who I've read about, but haven't had the opportunity to meet before.  (And catch up with friends like Sara, Phil, and a few others.)

Drop me a line via the contact link if you're going to be in Redmond that week and would like to hook up!

Sunday, March 16, 2008

Day of .NET Session List Posted!

The Central Ohio Day of .NET is being held 19 April at the Roberts Center in Wilmington, on I-71 just south of I-35.

Check out the killer list of sessions for this free event!

What?  You’re STILL not registered?  Go register right now!  (Share the love with your friends, colleagues, and neighbors via this easy-to-remember Shrinkster link: http://www.shrinkster.com/udg.)

I’ll be giving my Story Driven Testing gig, once again spouting my love for Fitnesse.

Thursday, March 13, 2008

Tech Night: ASP.Net MVC Framework

Quick Solutions puts on monthly Tech Nights which are open to all interested folks.  Tech Nights are not sales events -- they're put on by geeks, for geeks.

This month's event will cover the ASP.Net MVC Framework.  Tim Wingfield will be discussing what the MVC framework's about, why you should care, and how to go about running with it.

If you're not familiar with the goodness of the MVC/MVP approach to cutting code, you really should attend.  MVC/MVP is a fantastic way of improving your software's flexibility, maintainability, and testability.

If you are familiar with MVC/MVP then you ought to attend and see what's new, as well as lending your $0.02 from your experiences.

Details on the event:

Where: QSI Training Center
    440 Polaris Parkway, Suite 500
When:      Wednesday, March 26, 2008
    5:30 – 7:00 p.m.
RSVP: Natalie Marsch --  nmarsch AT quicksolutions DOT com

You can also ping me via the contact link on the right sidebar of my blog.

Friday, March 07, 2008

DevCare Slide Deck

I mentioned earlier that I presented at a DevCare last week.  The topics were How Hackers Hack (and How to Stop Them) and Building Office Applications with Visual Studio 2008.  A number of attendees asked for everything from the slide deck to the entire VPC used for the demos.

I've asked what I can release, but I haven't gotten official word yet.  Therefore, I'm taking the "Forgiveness is easier to get than permission" tack, ergo I've posted the slide deck up at my website.

I'll pass on the word when I find out about the demo code and other example materials.

MOSS Search Setup Errors

I was running in to a problem configuring the Search Service on a MOSS install today.  Trolling through the logs showed an error "The call to SearchServiceInstance.Provision <xxxxxxx> failed."

Stupidly, I'd forgotten to qualify the account names for the Search Service and Search Content Access with the local system's name, i.e. "MossSystemName\MossSearchSA".  Yet another case of idiotic error handling in SharePoint helping me to shoot myself in the foot.

What's ironic is that just a couple months ago I had to keep reminding a client to add that system name to this field -- and here I am doing the same thing today.  Duh.

(And of course Sahil posted on this too some time back.)

Shout Out: New PowerShell Book

Hristo Deshev, one of the contributors to my book, has just gotten his own great-looking PowerShell book published: Pro Windows PowerShell.

I’ve not read the book yet, but I can heartily recommend it despite that because the articles Hristo wrote for Windows Developer Power Tools were sheer gold: great technical content and an amazingly clear style. (How can a Bulgarian writing in a non-native language understand the subtleties of semicolons, for crying out loud?!?)  Also, the table of contents for Hristo’s book looks to cover a broad range of terrific topics.

Congrats, Hristo!  I look forward to digging through the book!

Thursday, March 06, 2008

DevCare Security & Office Development Follow Up Info

Last Friday I gave a DevCare presentation in Columbus on How Hackers Hack (and How to Stop Them) and Building Office Applications with Visual Studio 2008.

Several folks asked me for the deck and demo code -- I'm still waiting on word for release of that.

In the meantime, here are the Shrinksterized links I mentioned in the talk:

Blogs

Thanks to everyone who attended!

Tuesday, February 26, 2008

Want a Copy of VS 2008? Attend the DevGroup Meeting on 2/27!

We're giving out 52 copies of Visual Studio 2008 at tomorrow's meeting (2/27) of the Dayton .NET Developers' Group.  These are eval copies; HOWEVER, you'll get a key which you can use to unlock the software, turning it into a full blown copy of VS 2008 Pro.

Meetings are held at Max Training's Miamisburg facility and start at 6pm.  I look forward to seeing you there!

Friday, February 22, 2008

Speak Up at the Central Ohio Day of .NET!

The Central Ohio Day of .NET is 19 April, which isn't all that far away!  If you've got a topic you're smart on, passionate about, or interested in, I encourage you to grab a submission form and toss your hat in the ring for one of the presentations. 

If you're interested, but are holding back because you've not spoken before, then consider this: Code Camps / Days of .NET are a great venue for folks to get their feet wet.  The crowd's friendly, the audience is interested in helping you succeed with your presentation, and you've got a bunch of other speakers who've been there and done that and are happy to share their experience with you.

What are you waiting for?  Go and submit an idea!

(Feel free to contact me via the sidebar link if you need to bounce some ideas off someone or are looking for help/advice in writing up your abstract.)

How Does A Tools Nerd Pack?

In response to Brian's challenge, here's how a tools nerd would pack for a move:

Packing is so 2000.  You have stuff.  There are tools to help you move that stuff, and you're likely to find that the right set of tools will enable to you to completely forego packing, bringing higher productivity and lower maintenance costs to your move.

First, your tiny little trinkets you've collected over the years.  I'm talking stuff like those Dot Net Rocks! mugs you picked up at various spots, or the nearly useless USB-crappy-writing-pen combo kits, or the stupid pokey things you use to hang stuff on the wall of your Dilbert cubicle.    Think consolidation.  Think compression.  There must be eight or ten tools which let you smash all those little trinkets together.  Find the first three from Google or download.com and install them.  All three, and maybe a fourth written by some guy in Uzbekistan just because his name sounds cool and the widget integrates into Explorer shell's context menu and it's the cat's ass when your Explorer context menu is 57 lines long.

Next, let's move on to memorabilia.  I'm talking those AttaBoy! certificates, test certification certificates, "Praise Him Because He Saved Us From Certain Death at the Hands of Pygmy Frogmen Headhunting Managers" certificates, etc.  Think filing utilities.  SourceForge and Tigris must have at least three each.  Pick the first hit from SourceForge, the second from Tigris, and generate a random prime number higher than 1,252,183 to select where you get your third.  Deinstall that last one because you find it doesn't play nicely with 64-bit Vista.  Now that you're thinking about it, go back and remove that Uzbekistani archiving utility because you're noticing Explorer seems to be crashing with alarming regularity.

After that, look to your geek gear.  Your computer, your monitors, your mouse (because you work for a cool company that actually buys you a mouse instead of making you buy your own), and possibly your external hard drive.  While any sap can grab bubblewrap, I'd say there's got to be at least 3.2 suppliers of Sorbothane geek device cushioning packs.  Look 'em up and get quotes from the 3.0.  Drop the second quote, because it's your friend from Uzbekistan who has given up on writing Explorer shell add-ins and is looking to expand into a new line of tools.  Manufacturing tools.

Finally, the righteously important stuff: your furniture.  My once skinny butt sits in an Aeron chair which I paid my own $$ for.  You may envy me.  Maybe not, because you've likely got more cash in your pocket after not springing for an Aeron.  Regardless, you need to transport that baby to the new office, but you first must ensure your transport layer's working properly.  Go download a packet sniffer.  Find some stub drivers that you'll need to ensure your NIC is properly smacked into promiscuous mode for working with that sniffer. 

Now you realize that maybe that wasn't such a good idea because your system is completely locked up, the activity light on your system's solid red instead of the occasionally orange blinking state, and the usually incredibly pleasant network lady is running up and down the hall yelling "Hey, which of you jackasses is fooling around with a packet sniffer and a promiscuous mode driver?"  You're also realizing that that Uzbekistani guy left the Sorbothane gig (Something about missing supply locker supplies.  That and the missing donut fund money, plus there was the whole thing about the Russian Mafia hanging out in the parking lot, too, but that was overblown) and has had his nefarious fingers on the keyboard that was involved in that promiscuous mode driver.

At this point your system, overloaded with cool tools, has become about as productive and unstable as a blogger writing a post at 12:30am when he's due to get his kids out of bed for the school bus in 5.5 hours.  The only recourse is to repave and install fresh from new media.

You can start that right after you finish packing for the move.

(Did I mention that Uzbekistan guy used to work in the plant where your Vista DVDs were burned?)

Sunday, February 17, 2008

The Problem With Dynamic Labels

LinkedIn has no business telling me whether or not I know Christ.  My Christianity (despite the occasional profane rant here on this blog) certainly isn’t the business of some social networking group. 

Oh, wait.  That’s not what they meant.

Maybe having that label’s text dynamically generated wasn’t all that great an idea…

Book Review: SharePoint 2007, The Definitive Guide

SharePoint 2007: The Definitive Guide, by James Pyles, Christopher Buechler, et al.  O'Reilly, ISBN 0596529589.

This book's very broad in its coverage of SharePoint 2007 and sacrifices depth for that breadth.  While there are several chapters on development-related topics, development isn't the book's forte.  Rather, the book's really targeted to giving a lot of background and foundational information for folks wanting to implement Windows SharePoint Services (WSS) or Microsoft Office SharePoint Server (MOSS).

11 different contributors make some parts of the book difficult with their wide range of voices, and there are a number of clunky parts and some flat-out errors.  (One minor example: A diagram of server topology switched the labels between the web front ends and application servers.)

Those nits aside, the book's well done and a solid resource for folks moving in to the WSS/MOSS arena.  The sections on architecture, installation, and topology are all fine bits for discovering the broad strokes.  The remaining chapters hit functional jobs like site design, managing workspaces/discussions/groups/libraries, etc. as well as mid-level views of business intelligence, Excel Services, Forms Services, and security.

Each chapter does a nice job of covering its topic with good introductory passages and a nice summary.  Most chapters have a plethora of well-done, targeted screen shots backing up the content for that chapter.  From time to time the particular author will call out pitfalls (nicely denoted with a trap graphic) and discuss issues surrounding that problem.  I also like that the authors didn't try to push "Best Practice!" fluff throughout the book.  (My biases come up here since 1) I hate the phrase "Best Practice" since it may be "Best" for you but completely "Suck" for me and 2) MOSS/WSS is too new to have solid, industry-wide guidance anyway.)

Overall, I've gotten some very good value out of the book and wouldn't hesitate to recommend it to others, aside from making sure it's understood that the book's not one for understanding the mid-level or more complex areas of WSS/MOSS.

Saturday, February 16, 2008

Shout Out: Looking for IoC/DI References

I had a reader contact me asking if I knew any good books on Inversion of Control/Dependency Injection.  I don’t, so I thought I’d see if any of you readers knew good reading materials on IoC/DI.

Don’t limit yourselves to books — I’d love to see what blogs or other reading material you’ve found useful for IoC/DI.  Also, don’t limit it to .NET stuff.  I’d be happy to get good content references regardless of language!

O'Reilly Webinar on LINQ with LINQPad

O’Reilly’s putting on a good-sounding webinar on LINQ.  More details here.  The webinar’s on 20 Feb at 5pm Pacific (2200 GMT).

Tuesday, February 12, 2008

Lost Your Virtual PC Console?

It seems like two or three times a year I run into this problem where the Virtual PC Console won't display when you start VPC.  It may or may not display on the task bar, but regardless you can't get the little rat where you can use it.

Thankfully Jason Follas figured this out some time ago and has the answer.  His fix has always worked when VPC decides to go apes#it on me.

Free eBook on Virtualization

Realtime Publishers is offering up a free copy of The Definitive Guide To Virtual Platform Management.  Hit the link above, then enter your e-mail address to register.  You'll be able to download a copy of the eBook.

I've not read through much of the book, just skimmed the intro chapters and table of contents.  I like what I see in the TOC so far, and hey, the price is right.  Tough to argue with $Free.95...

(Pointed out to me by my boss.)

Friday, February 08, 2008

Displaying Items in the MOSS Table of Contents Web Part

I ran across a silly configuration issue today when creating a Wiki page library for our group's collaboration site.  We don't use the Quick Launch left nav sidebar, instead favoring the Table of Contents web part.  I created the Wiki library, but it didn't appear in the web part -- it should have shown up under the "Documents" section below.

What's up here?  A quick check of the navigation settings (under library settings -> Title, description, and navigation)

...revealed the silly error I'd made.  I mistakenly set the display on Quick Launch to "No" instead of "Yes."  I flipped that switch:

... and things are now displaying as they should.

Just because you don't use the Quick Launch doesn't mean you shouldn't make items available via it...

Why I Wear My Car for 2.5 Hours A Day

In case you didn't know, I am an aspiring crusty old fart.  I've been in the workforce for a fairly long time, and I've been through the wringer (several times) we all go through as we're figuring out what we want to do when we finally grow up.  I've had a number of very cool opportunities open up to me over the last several years, and I've had a bunch of great choices to make for career direction. 

So with those opportunities in mind, why do I drive back and forth between Dayton and Columbus each day?  As my 3.5 year old son would say, "Lemme tell you."

I joined Quick Solutions back in April, 2007 because I'd long wanted to work for Brian Prince and all the smart folks he's rounded up in his posse.  Smart folks like Alexei, James, Jon, Arnulfo, Monish, and all the others who I'm not listing because I'm too lazy.  I was of the opinion that the environment at Quick must be a great one because those folks are all smart and accomplished enough that they could work anywhere in Columbus, yet have been at Quick for some time now.

The last several months have only confirmed that opinion, and have cemented in my feeling that commuting 2.5 hours back and forth each day to work is a Good Thing when you're driving to a company with a supportive, enthusiastic environment.  While things like Quick's amazing support of CodeMash and the developer community in general carry great weight with me, the absolute nail in the coffin has been the backing and help I've had while trying to rescue a project gone badly wrong.

If you've worked on more than one project in your career you've likely had some variant of the same situation: difficulties communicating with the client, changing expectations, technical issues on the delivery side, etc., etc., etc.  All those add up to a bad spiral.  You get in a spot where you and your team are working as hard as possible but still can't get things on the track needed to satisfy the customer.  (Be clear: as with all death spiral projects, problems were on both sides of the aisle here.)

Things on this project were at a point where the client relationship was, at best, uh, difficult.  I was working exceptionally long hours trying to meet a moving target and get the technical side of things back on schedule and it was wearing me down.    Neither the PM nor I were having any success trying to get the relationship with the client calmed down, and it finally got to the point where we needed to escalate and get higher-level involvement.

That involvement came in a form I never expected: management immediately assembled a team to jump in and give us exactly the help we needed to get the project back on track.  A high-level director took over all client communication, giving the PM and I a much-needed respite from a nearly poisonous environment.  He also insisted on concrete direction from the customer, enabling us to focus on a clear goal instead of shifting expectations.  When things were calming down he handed off all communication and PM responsibilities to our delivery manager who kept things clear and on track.

Additionally, a group of QA folks were handed off to us, filling a bad gap since the client hadn't been fulfilling their responsibilities in that area.  The QA folks nailed down user and acceptance testing, helping us devs to shore up weak technical areas.  (Never, ever let anyone tell you that good unit testing eliminates the need for a solid QA team.  Ain't so.)

It took a couple months of hard work, and there were a number of difficult sacrifices made, but we got things nailed down and back on track.  The client got back in Happy Face mode.   The dev team finally got a commitment to a firm, unchanging set of features and was able to complete them well ahead of our estimates.   The system, a complex technical manual viewer, got finished and rolled out to the pilot phase.  That last point is especially important to me since years ago I was on a multi-year technical manual viewer effort which ended up getting shelved because of politics at the client's organization.  (There's a long story around that one, and why I was so emotionally invested in it, but I'll save that for a different venue.  Like over a beer if you're interested some day.)

Yesterday one of the devs and I had a successful handoff of the last bits for this phase.  My sales manager forwarded on a mail from the client indicating they've accepted the system and are closing out this phase.  That's just huge.

So here's one of the biggest things about all this:  Not once, not once, was any blame ever directed at anyone on my team.  Management, all the way to the top, simply said "Mistakes have been made on both sides.  Move past that, get the job done."  

I have no doubt that at several prior employers I would have been thrown under the bus.  Instead, what I got was calm and rational support, with never even a hint of finger pointing.

So there you have it.  Companies like this are few and far between.  That's why I drive 167 miles round trip each day.  I wish it was less, but I'm happy to make the drive when I go to work with and for such great folks.

(While this post wasn't meant as a recruiting pitch, contact me via the sidebar link if you're interested in working at Quick.  Especially if you work in Dayton and want to carpool...)

NUnit Snippets for Visual Studio

In James's and my book Windows Developer Power Tools we included a great snippet collection for NUnit tests written by Scott Bellware.  Scott compiled a bunch of very useful snippets for everything from adding NUnit attributes to existing classes to creating individual tests.  He also paid attention to small details like cursor placement after the snippet expansion.  Very cool.   Scott had wrapped all those snippets in a Visual Studio Installer package and posted this to his blog on CodeBetter.com some time ago.  I think this was one of the more useful contributions he'd made to the community.

For whatever reason Scott decided to delete his entire blog from CodeBetter.  Not just stop blogging or deactivate it, but completely delete it.  Ergo, no more snippets.

Until now, that is, because I uploaded the package complete with a snap of his great documentation to my website.  Go grab the zip if you're interested in some great snippets to speed your NUnit development.

Scott didn't include any copyright or licensing with his original package, so I'm uploading this on the assumption that it's public domain because he'd originally shared it on his blog.  If you use or reference these files, please make sure to give full attribution to Scott.

Subscribe (RSS)

The Leadership Journey