Friday, December 22, 2006

Congratulations Jim and James

Jim Holmes has posted that his book (Windows Developer Power Tools, co-authored with James Avery), is now out!

I've read an early version of the book, and I can say that it is definitely a must-have.  Get your copy today (and then bring it to CodeMash in January to have it signed).

Thursday, December 21, 2006

Dan Ciruli's Pushup Challenge

Doh!  I've been called out:

Dan Ciruli (that grid computing beast on the west coast) took on a New Year's resolution last January to do one pushup (and one sit-up/crunch) for each the day of the year.  For example, on Jan. 1, 2006, he did one pushup.  January 2, he did two pushups.  Today, being the 355th day of the year, he did 355 pushups!

What an animal.

And then, he had to go off and name a bunch of internet personalities (myself included) to take on this same crazy challenge for 2007.

Hmmmm.  Perhaps I will, my friend.... Perhaps I will....

CodeMash Update

CodeMash: January 18-19, 2007 at the Kalahari Resort in Sandusky, OH

The Early Bird rate of $99 has expired (fellow procrastinators: I'm sorry!).  The new registration fee is $149.

However, the Kalahari Resort has allowed us to continue the great deal on the hotel rooms ($88/night + tax for a "Hut" room) until 12/28, unless the hotel sells out before then.

So, for $325 + tax, you get to stay two nights at an indoor waterpark resort in the middle of January, plus attend CodeMash, which is looking to be THE EVENT of 2007 that you don't want to miss! 

In fact, two people from London, England (that's like this whole other country that's an ocean away from us) thought the same thing, and they are flying over just to attend!  Why?  One primary reason cited was because there is nothing like this event in Europe.

Jim Holmes, fellow conference organizer, user group leader, and friend of mine, summed the event up quite nicely in the following (which I have permission to plagerize):

I’m making one last pitch to you in the hopes of convincing you to register and attend this terrific event.

Why is CodeMash something you should consider attending?  You should strongly consider attending because you’ll have the opportunity to attend sessions and keynotes from some of the software development industry’s finest minds.  We’ve three keynote addresses from luminaries who have been motivating forces behind some of the most significant products, methodologies, and changes in the development industry:


  • Bruce Eckel – Internationally Recognized Speaker and Author of “Thinking in Java”
  • Neal Ford – Application Architect at ThoughtWorks, Recognized Speaker on Languages and Compilers.
  • Scott Guthrie – General Manager, Microsoft Developer Division. 

Other internationally-recognized speakers include:


  • Scott Ambler – Internationally Recognized Speaker and Author on Agile Development and Database Refactoring. 
  • Marry Poppendieck – Recognized Expert on Lean Development Methodologies. 
  • Jay Pipes – North American Community Relations Manager at MySQL. 
  • Bill Wagner – Expert on all things C# and author of “Effective C#”

If that’s not enough then consider that we’ve 40 sessions covering an immense range of technologies including .NET, PHP, Java, Ruby, and other platforms.  We’re holding sessions on design, architecture, testing, agile methodologies, and deep dives into areas of the technologies I just mentioned.  Some of the session topics include:


  • Curry Favor with Closures: An Introduction to Functional Programming in C# and VB.NET (Bill Wagner, Microsoft Regional Director, Microsoft MVP and author of “Effective C#”)
  • SOA as a Conversation (Ken Faw, Regional Practice Director, Perficient, Inc.)
  • The Productive Programmer (Neal Ford, editor “No Fluff, Just Stuff”)
  • Let NHibernate Be Your Data Access Layer (Dave Donaldson, Microsoft MVP)
  • Lean Software Development (Mary Poppendeick, internationally recognized expert on agile/lean development and author of “Lean Software Development”)
  • Maximum Velocity MySQL (Jay Pipes, North American Community Relations Manager, MySQL)
  • EJB3 – What’s New? (Joseph Faisal Nusairat, author of “Beginning JBoss Seam”)
  • Ruby on Rails for Java Developers (Rob Stevenson, Quick Solutions, Inc.)

CodeMash is a terrific opportunity for developers of all ilk in this region.  I encourage you to register and attend.  It’s a conference that should not be missed!


Also see Jim's post on the value proposition for management to send developers to events like this:

Saturday, December 16, 2006

New Type of Blog Comment Spam?

I'm starting to get comment spam like the following:

I see you put a lot of work into this one A. I respect it!! Good luck and keep up the good work. bruxelles hotel de previsioni tempo estate distillation de l alcool

(The underlined parts in spanish link to *.es websites)

I just thought it was an interesting tactic that they used....

Friday, December 15, 2006

Book Review: Foundations of WF

Windows Workflow Foundation (WF) is a key component of the .NET Framework 3.0, and comes from the collection of API’s that were previously known as WinFX. It provides a robust framework that can be incorporated directly into a .NET application in order to provide workflow capabilities that would otherwise be complex and time consuming to develop.

On more than one occasion in the past, I have had to build custom workflow capabilities for my applications to use. So, when it was announced that WF was to become part of the .NET Framework, I became very interested in figuring out how to use it instead of always reinventing the wheel.

Foundations of WF: An Introduction to Windows Workflow Foundation by Brian R. Myers is the first book that I have read through on the topic. Brian has a conversational style of writing that I found easy to follow. He includes a lot of screenshots and source code snippets to break up the text into smaller, more palatable bites. This book is sure to become one of my standard reference manuals on the topic.

One good thing about this book is that there are examples in both VB.NET and C#, so you do not need to translate syntax in your mind if you know only one of these languages. But, this also becomes a bad thing when trying to use this book as a reference.

I personally prefer a single language version of books because I find it distracting to repeat sections of content for the sole purpose of displaying a different language’s syntax. In addition, I recall a couple of places in this book where the C# section refers you to something that was described in detail in the VB.NET section. If you tend to read a technical book sequentially from front to back, then this might be acceptable. I, on the other hand, tended to skip over the VB.NET sections of each chapter since the C# sections were found immediately after.

Aside from the dual code issue, and some minor stylistic/creative decisions that he made in creating the demo source code (i.e., his method of padding a purchase order number with leading zeros makes me cringe every time that I see that snippet of code), I found this book to be a great companion to step me through the “Hello World” and beyond of WF.

You will not only learn what is required to use WF in your application, but you will also become exposed to the different types of workflow provided by WF, the various out-of-the-box Activities, how to create your own custom Activities, and how to deploy your workflow-enabled application. As a bonus, Brian also includes a chapter on using WF with Office 2007 and SharePoint (chiefly by means of a single example scenario using an InfoPath form).

Full Disclosure: A review copy of this book was provided to me by Apress.

Look for Auroras Tonight and Tomorrow

We're currently at the Solar Minimum, or the point in the 11-year solar cycle where the Sun doesn't really do too much.  However, there has been some strong activity over the past few days that have caused geomagnetic storming here on Earth.

A Coronal Mass Ejection (CME) passed by Earth yesterday, which started a strong GM storm.  This resulted in the Northern Lights being seen in lower Michigan and Ohio, and possibly even further away.

Another CME that resulted from a X1 solar flare on Dec 14 will reach our planet some time in the next day.  This will most likely enhance the storm levels again to the Strong, Severe, or possibly even Extreme levels.

For those of us not worried about keeping satellites in orbit, or maintaining a working electric power grid, this usually means that we can go somewhere dark (away from city lights) and look to the North for an absolutely beautiful display of nature.  Be advised that during particularly strong storms, you may need to look up, or even to the South (depending on your latitude) because the Auroras would have been pushed that far away from the magnetic poles.

Disclaimer: I have seen instances where an incoming CME completely halts all GM activity, so don't be surprised if nothing at all happens.  It's important to be patient when hunting the Aurora.  It's well worth the wait if you find an active display in session.

Tuesday, December 05, 2006

Blog about CodeMash and Win a Zune!

Help us spread the word about CodeMash using your blog, and you could win a Zune!

There's about two weeks left to register and take advantage of the early bird pricing. $99 for the conference, and $88/night (+ tax) for the rooms. That's just an awesome price for an event like this, so don't miss out.

Besides the conference, you also get admission to the indoor waterpark at the Kalahari Resort in Sandusky, OH. In fact, many people are planning to take advantage of this by bringing their families for a little vacation in the middle of January!

Don't know what CodeMash is? Check out the site for information and a list of keynote speakers and sessions:

UPDATE: Note that CodeMash is not just a conference for people in Ohio and Michigan. Sandusky is located between Toledo and Cleveland, Ohio, and both of these cities have airports serviced by major carriers. CodeMash is a full-blown, multi-day conference with nationally-known speakers, and is not to be confused with a Code Camp or other similar event.

Hope to see you there!


Friday, December 01, 2006

SQL Server Date Trick

Need an easy way to truncate a SQL Server DateTime to just the date part (i.e., midnight of the day that is represented)?

You can cast a DateTime as a float, take the floor value of that in order to get an unrounded integer, and then cast that back to a DateTime. 

cast(floor(cast(@fromDate as float)) as datetime)

This works because almost any modern platform's datetime value is a floating point value that represents a number of days since an epoch date (with the fractional part representing the time of day).  Negative numbers are days prior to the epoch, etc.  So, trim off the fraction, and you have just days.

This is much cleaner than another way that I found in some stored procedure code which essentially subtracts the hours, minutes, seconds, and fractions of a second from a given DateTime...