Professional .NET 2.0 Generics

Book Review-Professional .NET 2.0 Generics

I was trying to post a comment today to check out a book — a book that I had read and thought I had blogged about but apparently I blogged about it in a dream.  (Yea, I know sick)

The book is Professional .NET 2.0 Generics while I can certainly tear apart some of the mechanics of the book, overall it’s a thorough coverage of the topic both from a breadth and from a depth perspective.  I remember learning more about how the CLR works and the impact of a compile time vs. run-time type generation than I thought possible.

If you’ve got more than a passing interest in generics you should check it out.  You never know, you may just become the generics expert at your organization.

forge

Getting Jr. Developers to Review Sr. Developers Code

Ben Fulton was at a recent presentation I gave on the Impact of Coding Standards and Code Reviews on Quality while reviewing some of my referrers I came across a link to his blog.  (Yes, I do occasionally go into my referrers, mainly to thank people for the link — thanks Ben.)

The one question that he raised on his blog that I didn’t fully understand during the presentation was “How do you get a Jr. Developer to review a Sr. Developer’s code?”  Here are a few of my thoughts on this…

1) It’s a lot about personality and relationship.  If you make the developer understand that it’s not about experience or position and is just about working together as a team it gets easier.  I find that it starts to become natural after the culture shifts towards people doing reviews as a habit.  Trying to make the Jr review the Sr developers work as the first thing is a bad idea.

2) It doesn’t have to be a formal code review to have value.  I can’t say that the majority of times that I hand code over to a Jr developer that they do a full code review.  However, I do make it clear that it’s their name that’s checking it into source control so they’re responsible for it.  If I make a mistake they will be held to fixing it by their peers.  It’s a part of the team commitment.  So they may not send me back a complete set of comments, however, my hope is that they at least read the code.

3) If you can’t get comments at least get a read.  Code reviews seem to work based on a whole bunch of factors.  Simply reading each other’s code makes everyone better.  It helps you understand what the other members of the team are working on and exposes potential descrepancies between your interpretation or understanding and theirs.  This is a good thing.

At any rate.  Good luck with getting code reviews to work in your organization.

Micro ISV: From Vision to Reality

Book Review-Micro-ISV

When I blogged about Software that Sells: A Practical Guide to Developing and Marketing Your Software Project I commented that there wasn’t much information that was in the book that I didn’t already know.  The guide was really very light on details.  Micro-ISV: From Vision to Reality is a very different story.  I found all kinds of things in the book that were interesting.

I rarely “dog ear” a book these days.  I make it a point to have a pad of paper and pen with me when I’m reading a book.  That’s mostly so I can record my thoughts.  Sometimes I’ll stop reading and start frantically scribbling notes.  Anyway, it’s lead to a lot of books that don’t get “dog eared.”  I even have tape flags that I use to mark what page I’m on — thus no “dog earing.”

However, I haven’t even made it through all of the pages I “dog eared” in Micro-ISV.  There seemed to be a new web site or product that I didn’t know about on every page.  Admittedly Micro-ISV will have a relatively short shelf-life in terms of it’s value because web sites change and companiese go out of business.  However, for now, it’s a great reference for those who are struggling to get a product company going.

The other interesting thing about the book is that it has a great number of interviews in it.  Real people with real problems not unlike your own talking about them.  All in all, a good read.  (I suppose it doesn’t hurt that the author is a former reporter.)

forge

Retrospective – Media

Recently I decided to take a photo for a presentation about information overload.  I’ve submitted it to IStockPhoto.com when (and if) it’s accepted it will be in my profile.

The interesting part was looking back at the media I’ve used over the years since a lot of it made it into the photo…

  • 5.25“ Floppy disks (Commodore 64, PCs, etc.) [Didn’t make the photo]
  • QIC Tape (Of a dozen or so capacities — remember Jumbo?) [Didn’t make the Photo]
  • 3.5“ Floppy disks
  • 4 MM tapes (2GB, 4GB, 8GB, 12GB, 20GB, etc)
  • ZIP Drive
  • Jaz Drive
  • 8MM tapes (5GB, 7GB, etc.)
  • CD-ROM/CD-RW
  • DVD/DVD-+R
  • Magneto-Optical (1GB, called MO)

I also enjoyed cleaning up wondering why I was even bothering to keep the ZIP disks since I carry a 1GB miniSD card with me in my phone at all times and generally have 512MB of USB thumb drives too.  The MO is cool to have around since it’s rare, but there’s positively no reason I can think of to use the ZIP drive in today’s market.

The only reason I kept the floppies was because occaisionally I have to flash a motherboard BIOS.  How about you what are you holding on to?

forge

GROK – A Definition

While giving a recent presentation (I did two this week), I mentioned the word GROK and I mentioned I didn’t know where it came from only that it seems to be “hip”.  (A word which is no longer “hip” itself.)  My working definition was that it was to completely understand, to take into one’s self.

One of the gentlement in the audience was kind enough to mention that it came from a Robert Heinlein book, Stranger in a Strange Land. A quick search and I came up with this.  It’s a much more complete definition than the one I was using.

Was I the only one on the planet who didn’t know where GROK came from?

forge

DLLCache Folder

I’ve run into the DLLCACHE folder twice in the span of three weeks so I thought I’d post a link so that people can find out where they can find out more about it, and particularly more about containing it’s size.

http://www.techspot.com/tweaks/wfp/print.shtml

DLLCache is designed to protect you but it has on occaision chosen to take up nearly every available byte of free hard drive space.

Rob

forge

Beta: Active Directory Redirect Web Part

I just completed a web part that will redirect a user to the URL located in their Web Page property of their active directory account.  (wWWHomePage)  This is useful for directing users to their personal home site on SharePoint.  You can create a site called home, drop the web part on the site and then when users hit the page they are sent to their home.

Send me an email if you want to beta test it.

forge

Presentation: The Impact of Coding Standards and Reviews on Quality

For those of you who were at the Indianapolis Quality Assurance Association (IQAA) meeting tonight, you can find the presentation at the link below:
forge

Article: Exploit SharePoint List Definitions to Maximize Your Brand

You can customize site definitions and add functionality to list editing tools, but if your branding and tools strategies aren’t implemented in your list definitions, then your site isn’t completely following those strategies. Find out how list definitions work, what their relationship is to site definitions, and how to change the appearance and the structure of the list.

When you’re trying to change the way that SharePoint appears and operates to something more in-line with what your organization needs, you’ll find that modifying the site definition to change the appearance is a good first start. As you get more advanced, you may decide that you need to add functionality to the SharePoint list editing tools, or make other changes that impact how the user edits data in SharePoint. Ultimately, however, pushing branding or your additional tools down and into the site whenever a list is created means changing the list definition.

While you can create site templates with changes bundled in to implement your specific branding and tools, when a new list is created, it is created using the rules stored in the list definition. If your branding and tools changes aren’t in that list definition, then the new list that the user creates won’t follow your branding or tools strategy.

List definitions also allow you to define new fields in a list—but not just new fields to store data, which can be done from the user interface, but also the ability to define new types of fields that behave in new ways. For instance, it is possible to create a variant of the links list that allows you to specify whether you want the links to open up in a new window or not. This additional flexibility can be essential to implementing enhanced list types.

http://www.devx.com/dotnet/Article/30548

forge

Article: The best developers are built not bought

When you get right down to it, the best way to acquire the most talented developers for your project may be to build them, not buy them.

In reading about agile development, I’ve been struck by the fact that both traditional software development techniques and agile methods rely upon highly skilled developers to ensure success. It’s no wonder that there’s a focus on the best developers given that it’s generally accepted that the level of performance for developers with similar experience can differ by a factor of ten or more. A great deal of development is still done in what is called “hero mode” development, where a developer or a small group of developers essentially will the software into existence through their dedication and tenacity.

So while the evidence is overwhelming that you need good developers, the question remains, where do you get them?

http://www.techrepublic.com/article/the-best-developers-are-built-not-bought/