3 days until Party with Palermo. RSVP now. Guests welcome

At PDC, 500 people showed up, but only 350 had RSVPd.  I have the entire upstairs of Jillian’s this time, so we will have plenty of room, but please RSVP so I have a good count.  Guests/spouses are welcome.  Remember to bring your business card.

Party with Palermo: Alt.Net/MVP Summit 2009 Edition

March 1, 2009 – Seattle, WA – 7:00PM – 10:00PM

Jillian’s: http://www.jilliansbilliards.com/
731 Westlake Ave N, Seattle, WA 98109
Ph: 206-223-0300
Cover charge is 1 business card.  This will get you in the door and register you for the grand prize drawings.

  • Free to attend
  • Free fingerfood
  • Free drink
  • Free swag

Sponsors: (find out how to become a sponsor)


Subscribe to the Party with Palermo newsletter

Feel free to blog and link back to this site. 

NHibernate users mailing list going strong – Almost 10,000 posts and 1322 members

Since March of 2008, the“nhusers” google group mailing list has been going strong full of discussion by NHibernate users.  Merely searching the archives provides a wealth of information on solutions to various challenges.  If you have an NHibernate question, come visit the list and ask it.  Also, hang around.  You might be able to help someone else out who is just getting started with NHibernate.

Anecdotally, I started using NHibernate version 0.8 on .Net 1.1, so I’ve seen it grow and mature over the years.  It is a terrific Object-Relational Mapper.  If you want some more structured information, go get the NHibernate in Action book.

CodeCampServer Logo & CSS Skin Contest – winner picked on March 30th

The Code Camp Server (www.CodeCampServer.org) project is holding a Logo & Skin Contest. We are looking for submissions for a logo to represent the project and a CSS skin to be the default for the project. What will you get for all of your hard work?

· Recognition on the project website.

· A copy of Manning’s ASP.NET MVC in Action book.

· A FREE registration to Headspring Systems ASP.NET MVC Boot Camp (3 Day) training course.

To submit your entry:
Send an web ready logo (jpg/png) and css skin as a tortoise svn patch of the Code Camp Server trunk to the Code Camp Server Discussion list ( http://groups.google.com/group/codecampserver-developers ) with the subject: Contest Entry.

The winner will be picked by the project team on March 30th.

MvcContrib Logo Contest – winner picked on March 30th

The MvcContib (www.MvcContrib.org) project is holding a logo contest. We are looking for submissions for a logo to represent the project. What will you get for all of your hard work?

· Recognition on the project website.

· A copy of Manning’s ASP.NET MVC in Action book.

· A FREE registration to Headspring Systems ASP.NET MVC Boot Camp (3 Day) training course.

To submit your entry:
Send an web ready logo (jpg/png) as an attachment to the MvcContrib Discussion list (http://groups.google.com/group/mvccontrib-discuss) with the subject: Logo Contest Entry.

The winner will be picked by the project team on March 30th.

Mvc Contrib – Version 1.0 preparation / project restructuring

The following message has been posted to the MvcContrib discuss list.  Please join the thread with feedback.

As we get close to the release of the Asp.Net mvc framework it is time to
take a look at what the contrib project has grown into organically and match
that up with what we want to get out of the project to make sure everything
is aligning.

The goals of the project:

*Ease of use/adoption:* We want to position the MvcContrib project so that
it is easy for someone new to the ASP.Net MVC framework to include and use
the MvcContrib functionality.    The goal here is for frictionless and
painless adoption.

*Drive to conventions:* We want to provide some opinions on how we think the
framework should be used.   This means making the conventions easy to
discover and use.

*Provide nice to have functionality: *We are also willing to allow for some
features that are infrequently used to still be easy to access, but this
must be balanced with the first two goals.

So, that leads us to the question of why are we bringing this up and what
does that mean?

We do see the MvcContrib project site being a central place to look for
alternative implementations.  We may not host all of these in our project,
but we could at least list all of them, view engines and IoC, than have
links to their project homepages.  I see a lot of value in maintaining a
complete list of known extensions.

Here is a list of actions we want to take on the code base to support the

1.       Consolidate the existing mvc projects/assemblies down to four (4)

·         MvcContrib

·         MvcContrib.Extras

·         MvcContrib.TestHelpers

·         MvcContrib.UnitTests

2.       Add a dependency on the CommonServiceLocator to replace all of the
IoC containers in the MvcContrib project.

3.       Remove old dependencies that are available in their home projects:

·         Ninject

·         StructureMap – provide links to the CSL implementation

·         Unity – provide links to the CSL implementation

·         Castle / Windsor – the Controller register could be pulled into
documentation on the contrib project website.

·         Spark – It is being maintained as a separate project, we should be
pushing developers to it home page to get the most recent version of the

4.       Deprecate and remove the following projects:

·         Xslt View Engine

·         Nvelocity

·         Brail

·         Spring

At this point I would like to open up the discussion. Please make it know if
you are relying on any of the functionality that is planned for removal.

Eric Hexter –  MvcContrib Co-founder
Jeffrey Palermo – MvcContrib Co-founder

Party with Palermo Alt.Net/MVP Summit 2009 Edition is 9 days away!

RSVP while it’s hot!


March 1, 2009 – Seattle, WA – 7:00PM – 10:00PM

Jillian’s: http://www.jilliansbilliards.com/
731 Westlake Ave N, Seattle, WA 98109
Ph: 206-223-0300

This will be the third time Party with Palermo has come to Seattle, and Jillian’s has been a great host.  This time, since the party has grown and grown, we have the entire upstairs reserved.  For those who have been to this party before in Seattle, we will have much more space, and we will have dedicated pool table, and a lot of bar space.  This is a 3-hour party, so don’t be late!  This is a chance to connect with old friends and meet new ones.

Cropper now works on Vista x64 – new release posted today

Brian Scott made me a committer on the Cropper open source project, so I have committed a fix for Vista x64 and made an incremental release that contains this fix.

With Cropper 1.9.1, Cropper would run as a .Net Framework x64 application, but because some of the necessary libraries are Win32 libraries, the utility would crash when used on Vista x64.

The fix for this problem is to tell .Net that this needs to be a .Net Framework x86 application since it depends on Win32 APIs.  For those who have never had to worry about this particular distinction, the setting is in project properties.  Setting x86 explicitly instead of “any cpu” gives the .Net Framework more guidance when creating the AppDomain and loading assemblies.


Software Consulting Customer’s Bill of Rights

I enjoy working with a diverse set of customers in the software consulting business.  Large, small, government, private, start-up, publicly-traded, etc.  Working with this diverse set of customers has given me the opportunity to see different worldviews at work.  Different sets of assumptions cause me to work differently with different customers.  One thing is the same, however.  Customers want me to help them alleviate pain.  If there was no pain, they wouldn’t be a customer.  Regarding custom software, customers buy for two reasons:  Pleasure, and Pain Reduction.

Buying for pleasure:  In this case, a company is doing well, but management has a strong drive for excellence.  They reach out for that extra bit of help to get them operating at the next level.   This reason for buying is not as common as the next.

Buying for pain reduction:  Pain is a powerful force.  Just like in the physical form, it can  surpass other causes for action.  Here, a customer might be losing market share because they can’t react to the marketplace.  With our coaching business, the internal development organization might not be moving as quickly as management requires in order to keep up with the market or launch new products.  Most of the time, management knows that they are frustrated but can’t identify the specific causes.

When customers come to Headspring, all they know to expect is what they have experienced in the past.  For instance, if other software venders have delivered low quality deliverables, they will be conditioned to negotiate regarding defects up front.  If they have had to wait for months for releases of the software product, they will want to focus on schedule of delivery because they are keen on avoiding similar pain in the upcoming project.  Different customers come to the table with different experiences.  All in all, customers don’t know what is reasonable to expect because there are no widely accepted standards around this. 

Here, I present a rough draft of a Customer’s Bill of Rights when working with software consulting companies.  I will focus on rights when a customer is buying a custom software implementation.  Please feel free to comment on the individual rights, but I am a very strong advocate for the customer.  In my opinion, the customer is going to drive improvement in the software industry.  The more the customer demands, the more we will be forced to deliver for them. . . the more software professionals will be forced to improve.

A Software Consulting Customer’s Bill of Rights

  • A customer has the right to know and interact with the people building the software in question.  The vendor should not hide the software team behind a local front man.
  • A customer has the right to the source code he is paying for.  The vendor should not leverage control over the source code as a negotiation point.
  • A customer has the right to working software on a consistent basis throughout the project.  The vendor should not deliver a written status report in lieu of working software
  • A customer has the right to high quality software at all times.  During feature development, existing feature should continue working.  Calling a screen with ten defects a “feature” is not acceptable.  The vender should do whatever it takes to maintain defect-free software every step of the way.
  • A customer has the right to know relative costs of possible alternatives and make the decision among them.  The vendor should present alternatives when less expensive courses of action exist.  Doing nothing is always an option.
  • A customer has the right to a software demo at any time.  The last good build should always be available for evaluation.
  • A customer has the right to frequent builds.  During active development, this would typically be several times per day.
  • A customer has the right to be challenged.  If a customer gets exactly what was asked, but it does not solve the problem, the customer still has nothing.  The customer should expect the vendor to challenge assumptions when the requested solution will not solve the target problem.
  • A customer has the right to an estimate for how long the software in question will live.  The customer typically has life expectancy assumptions.  This should be discussed opening.  A customer should not have to accept a software rewrite without planning for it.
  • A customer has the right to be materially involved with the project every step of the way.  He should not be forced to go away and way for a long period of time before seeing some results of the project.

I welcome discussion around these and proposals for more.  This might seem like I have jumped to the other side of the fence since I’m in the business  of delivering software.  I feel it is in my best interest for software customers everywhere to begin expecting more from software providers.   This is how the software industry as a whole will improve.