Today I tossed the idea of a developer book club out to the rest of my team.  They all seemed to be on board with varying degrees of enthusiasm.  I know that we won't be the first to try this and so I'm hoping some of you out there can share some stories/ideas of what worked for your team.

The goals are three-fold:

  • Team/community building
  • Common knowledge
  • Knowledge building/sharing

Specifically I'm looking for three things:

  • What books would be on your short list?  Which book should we start with?
  • What works well to keep people excited/enthusiastic?
  • What are the things we should absolutely stay away from, whether they be specific books or implementation details?

So let me have it, what advice can you share?  What can we do to make our book club a success?


 
Categories: Help

I understand floating point numbers can be somewhat imprecise but I'm a bit bothered today when I see the following evaluates to false:

   1: float f = .16f;
   2: double d = .16d;
   3:  
   4: Assert.That(f, Is.EqualTo(d))

Annoyingly I wanted to see what the two values are:

   1: Console.WriteLine((double)f)
   2: Console.WriteLine(d);

produces the following respectively:

.159999996423721

.16

What bothers me about this, and I'm hoping someone can eloquently explain this, the MSDN docs say this should be implicitly converted.  From the MSDN doc article on implicit numeric conversions:

  • From float to double.

Float is 32-bit and double is 64-bit, so why can't the float fit nicely inside the address space for the double?

Hell, if you're not going to respect the integrity of the number what's the point of the implicit conversion?


 
Categories: Help | Rant