Is it possible for book to have a more niche title? Interestingly to broaden the market appeal examples are in both C# and VB.Net; I find it hard to believe anyone interested in reading a book on Generics cannot read C#.

You have already read about Generics in Jeff Ricters’ CLR via C# and possibly Jesse Liberty’s Visual C# 2005 too. Today the standard developer quote about Generics is that they are easy; just use List<T> and be on your merry way. Amazingly just that one BCL Generic has removed almost all type-unsafe code from our assemblies.

Recently IĀ  as binding a GridView to a custom collection. Naturally the collection implements List<T>, but I wished to sort the GridView on several columns. After expecting auto-magic in GridView to do the sorting for me, it was disappointing remembering about ObjectDataSource – this means we still need to do manual labor so I looked for a reusable solution. Long story short after pinging GridView whiz Marcie 60 seconds later this book was on my desk.

ReadingĀ  of chapters 1->7 is required reading for anyone wishing to remain a senior .Net developer/ architect. This readability book is not on par with work by say Richter or Esposito, and where is the bold highlighting in code samples that point us towards the salient snippets? Other than these complaints, the book fulfilled its purpose and I now have a much deeper knowledge of generics. Until my comfort level increases
List<T> the mainstay of my Generic usage, but I suspect that as time progresses we as a community will leverage them much more.

Before Marcie kicks me in the face I must return her book. Hence I’ll be putting an order into Amazon for my own copy, as I need to revisit a few of the more technical areas to solidify my knowledge. IMO $25 with free shipping is a bargain for this knowledge, please buy via my link
and put another $2 into the Lockwood retirement fund, LOL

Programmer diseases

Posted: May 27, 2006 in Other

It seems many people have not run across these posts yet, I particularly loved this
one:

4. RealEstateStockMarketitis: Usually occurs in
patients around the age of 25 with about 3-4 years of post college experience. The
sudden rush of a few ten thousand dollars in the bank prompt them to set high aims
and expectations and a definite fool proof plan for retirement before the age of 30.
Of course they are working here only because its a favor on us, and we should be thankful
to be friends with a future Warren Buffet. Usually found shouting stock symbols over
the cubicle walls – a sure shot symptom is someone who never lost a dime in the stock
market. This disease frequently occurs in groups and his highly communicable with
possibly dire consequences.

Prepare to laugh your ass off:
http://codebetter.com/blogs/sahil.malik/archive/2005/06/07/64255.aspx

http://codebetter.com/blogs/sahil.malik/archive/2004/12/28/39389.aspx

Slides: Testing for Developers

Posted: February 27, 2006 in Atlanta, Presentations

That was another enjoyable night. I must give a big thanks to all the hundred or so
people that showed up to hear me talk again. If anyone would like the slides please
click here
.

All you really need to know is the following

  • This is one of the best written technical books I have ever read, and is an excellent introduction to Team System
  • If you have been working with Team System for some time this book is unlikely to teach you much, it is purely an introduction

The approximately 300 pages are filled with riveting content (disclaimer: I am a big fan of formal processes), and only uses screenshots where necessary. The book is far from another big font/ screenshots-on-every-page Barnes and Nobel shelf filler. As you may expect the book begins with an introduction to Team System, Test Server and its related Client Applications. Beyond these chapters, things get really interesting as Richard explains the different major roles in team system, which as we know related to different skus of Visual Studio. For each major role Richard covers the tools provided in that area, and major features. It was interesting to see that Testers do not get much in this release of Team System – this did not surprise me given Mercury’s dominance in this area. It was interesting to read in the latter parts of this book that Mercury are planning add-ins for VS2K5. Note: Developers are looked after in the testing department, but your SQA team does not get much.

Part three of the book covers MSF 4.0, MSF-Agile and MSF-CMII. Personally I think this material is better suited to a classroom, as I found it difficult to keep up with all precise terminology used by each approach. After re-reading the first pages again and again I ended up skim reading most of part three.

Interestingly the best part of the book is the only part I can criticize. Appendix A is ‘A Day in the Life of Team System’; it presents a summary of using Team System on a three month long project. This section was very helpful to me in tying the whole process together, but I just feel it was not presented in the best manner. With a pen I highlighted the key terms in the storyboard to show what part of team system was used when, but I feel the waffle outweighed talk about team system. Most people reading this book with have experience with many projects already and we just want a rapid summary.

All-in-all this is possibly the best technology book I have read since Code Complete and Writing Secure Code. Much of the material in this book will be out of date sometime next year when I expect we’ll see the second version of Team System, but I believe Richard is capable of writing a classic book that will stay on our bookshelves alongside Steve McConnell’s work.

See you at Mix06

Posted: February 22, 2006 in Other

Mix means developers, designers and business professionals at the same conference.
Most devs I know are waiting for TechEd/ PDC, but I jumped at the chance to ‘win’
my ticket at the Architect’s meeting today (It will cost me about $400 for the flight +
hotel room). Taking a full week off week is too costly, and I am not quite networked
enough to justify attending PDC or TechEd. Most people I know only go to
them network, and barely see a presentation. I think I’ll enjoy the smaller gathering
in Vegas, where I hope to see some great people speak including the following who
are either major stars or I follow their web blog. Maybe unlike the bigger events
I’ll get have a beer with one or two of them.

http://mix06.com/

Superstar speakers: Hopefully I’ll get in the same room as them!
 William (Bill) H. Gates

 Tim O’Reilly

Famous among the geek set:
 Nikhil Kothari
 Rob Howard
 Jeffrey MacManus
 Joe Stegman
 Brad Abrams
 Scott Guthrie
 Doug Purdy
 Clemens Vasters
 Jeremy Zawodny

I’ll be sure to Google MSN-oogle [Paul remembers which company gave
him the ticket] everyone else speaking and see what I could otherwise be missing out
on.

It is over three months since I last presented anywhere, so it is time to do it again:

http://www.atlantadotnet.org/

This is brand new material with only one slide carried from my NUnit presentations.
The subject is testing, and on my first dry run it was utterly boring. Since
then I rewrote the slides, and am quite happy that most developers will enjoy
it.

The material is mostly high level covering:

  • Extremes of development methodologies
  • Different test practices, and when each one makes sense
  • Automated Testing in Team System

It will not be as much fun as last
year’s code camp
, but I think it is worth attending for any developer wishing
to become more methodical. This will be the primary presentation that I hawk at code
camps this year, so feedback after the event is very much appreciated.

Kicked OpenOffice to the curb (for now)

Posted: February 14, 2006 in Other

For the last month or so I have using OpenOffice. It is part of my long term plan
to try moving my personal Laptop (email/ web browsing machine mainly) to Linux. The idea
is to find open source software that exists in both Windows and Linux. I am checking
out the tools on Windows, before making the switch to Linux.

Well OpenOffice looked good while I was used it for making minor changes to Word
documents, and editing my Excel based project-plans. Yesterday and today I have
been brushing up my resume which uses a large number of tables. Several times
open office moved chunks of text around!
I do not mind missing a few features,
but this bug is too serious.

What I did not know is that Sun still holds tight control of OpenOffice’s reigns.
This is why we have not seen the likes of IBM or Google really pitch into its
development. I heard on a podcast today that Sun is being urged to give up control of
OpenOffice. Maybe if they do then version 3.0 will swing the balance to using Linux
on the Desktop?

So will I be giving on .Net anytime soon? Are you crazy! I foresee .Net as the major
business development platform for the foreseeable future – I will be amazed if anyone
can challenge Microsoft in the new ten years. Other than Open Source .Net that is: It
has been two years since I used Mono (successfully) in the workplace, and Scott tells
us mono is far more mature today. I know I am always recommending podcasts, but if
know little about Mono you should really checkout Hanselminutes show 5, <The
State of the Mono Project./>:

http://www.hanselminutes.com/ 

or this link will go directly to episode here when Scott gets off his lazy ass and
updates his website (only kidding Scott, you rule!):

http://www.hanselminutes.com/default.aspx?showID=5

Today I looked at the Atlanta job boards for the first time in a good while. It
appears even Microsoft is having a hard time finding people in this mini tech-boom,
I say this because they have resorted to public job postings.

Salary is $80->130K + stock/bonuses, which I expect are the ranges for a high GPA,
few years out of college grad, to the 15+ years of IT experience guy. The candidate must
be willing to travel
which is why the ceiling about $15K higher than most
others in town.

It does not interest me because of the travel, but I’ll be a good few
Atlanta based readers are interested. If you apply try to ask a local Microsoft
DE/ consultant what the interview may entail – they have a few recurring themes/
questions from what I hear. You might want to ask them how demanding their job is
too ;)

So are you interested in selling your soul to the devil, and forgetting what your
wife and kids look like? I thought so.. Start
by clicking here
.

.Net Gotchas by Venkat Subramaniam

Posted: February 12, 2006 in Other

Let’s start by saying that I loved this book. While in a speakers lounge once I picked
it up from the sky-high give-away pile, started reading, got engrossed and well…
it ended up travelling the 500 miles back home with me!

This is a book that would have been very useful when starting my .Net career. It is
‘simply’ a collection of nasty traps that .Net can lead you into. The book contains
75 separate gotchas organized into related sections.

Some gotchas are just that, but others explain tricky areas such as COM interop. Of
particular interest to me was garbage collection and the Dispose()/ Finalize() coverage.
I already knew everything that was written in these chapters but the concise manner
in which they were written helped me collect my disjointed knowledge together. After
reading chapter 5 I can confidently say that I understand garbage collection basics
and the relative merits of dispose and finalize. The COM interop was of particular
interest too. I had done this on a previous project, but was simply copying example
code from newsgroups. This book gave a better idea of what happens with memory beyond
us calling into the .Net RCW.

It is difficult for me to say how much of the book is out of date because of .Net
2.0 because I only have three months 2.0 experience. From what I have seen so far
in 2.0 it looks like most of the gotchas are still valid. A gotcha does not mean that
it was a flaw with the .Net design, just that somethings are tricky/ unexpected such
as exceptions thrown from thread pools are lost. As you can guess I recommend people
at least borrow this book. When (if?) a v2.0 of .Net Gotchas hits the shelves
I recommend checking it out. The only bad thing I will say is that if you are experienced
with .Net do not expect much of this material to be brand new, you will have heard
of most issues before but probably not seen them documented quite so well.

Visual C# 2005 by Jesse Liberty

Posted: February 12, 2006 in Book Review

This book is aimed at developers already experienced with .Net 1.0 and 1.1. It aims to offer a quick introduction to what is new in .Net 2.0 and VS 2005.

The first chapter in the book covers C# 2.0 and the book is very much worth buying for this chapter alone. Features covered by the chapter are as you would expect: Generics, partial types etc. We have been hearing and reading about them in the MSDN magazine for over a year. Still, it was very useful spending a couple of hours reading this chapter and nailing down each topic. It was also great to see the new covariance support for delegates covered, which I imagine is included to keep us hardcore happy.

It was a shame to spot a simple technical error: the book states that static classes cannot have a constructor. How this was not picked up proof-readers I have no idea. Just in case the CLR team has started taking mind altering drugs while designing 2.0,
I knocked up a quick sample with a static class + static constructor and it worked fine.

So on to the rest of the book. Well there are lots and lots of page filling screenshots covering the new Visual Studio, WinForms, WebApps and Data Binding etc. These may be of use to less experienced developers, but I would have preferred simple short
sections covering new features. Walking an experienced developer through how to setup a masked text box (>4 pages!) was not useful to me.

Summary: If you are just about to embark on your first .Net 2.0 project I recommend buying this book first chapter alone. It won’t take long to read, and then you can pass it to another team member. I do expect this to be a book you will use for reference.