Monday, December 28, 2009

NerdDinner Tutorial - Learn ASP.NET MVC

The best way to learn a new framework is to build something with it. This tutorial, by Scott Guthrie, walks through how to build a small, but complete, application using ASP.NET MVC, and introduces some of the core concepts behind it.

The application is called "NerdDinner". NerdDinner provides an easy way for people to find and organize dinners online.

Let's jump right into the tutorial...


Download a free PDF version of this tutorial if you want to read the tutorial offline.

ASP.NET MVC Video Tutorial - Presented by Scott Hanselman at Mix'09.

Tuesday, December 22, 2009


We love to believe that willpower determines our actions. “If I just try harder,” we tell ourselves, “I can lose that last 10 pounds.” Or save $200/month. Or improve our time management.

The problem is, it doesn’t work.

Willpower is important, of course, but there’s more to behavioral change than just trying harder. Think about all the things we know we “should” do: Exercise regularly, eat healthily, max out our retirement accounts, save more, travel, call Mom....

In one study, researchers tried to understand why people weren’t investing in their 401(k)s. In the first example, less than 40% of people contributed to their 401(k). But after they made it automatic—in other words, the day you joined, you’re automatically contributing a small amount to your 401(k)— enrollment skyrocketed to over 90%.

We know we should fill out that paperwork—and it’s probably costing us a lot of money to not be investing— but we just can’t seem to get around to it.

It turns out we “know” we need to do all kinds of things, but we often need the right defaults—a small nudge—to actually change our behavior.

Can you help design the right defaults to help people in pro-social ways?

Source: Ramit Sethi is the author of I Will Teach You To Be Rich. He writes about personal finance, psychology, and entrepreneurship at

Monday, December 21, 2009

The Complete Guide to Google Wave

The first comprehensive user guide to Google Wave, written by Gina Trapani with Adam Pash

Google Wave is a new web-based collaboration tool that's notoriously difficult to understand. This guide will help. Here you'll learn the ins and outs of how to use Google Wave to get things done with your group. This entire book is available to read for free online, with an electronic and upcoming print version available for purchase.

gReAT rEaD!!!

Zappos Core Values

"As we grow as a company, it has become more and more important to explicitly define the Zappos core values from which we develop our culture, our brand, and our business strategies. These are the ten core values that we live by:"

What Matters Now: ebook by Seth Godin

Seth Godin has published a free ebook called What Matters Now.

He describes the inspiration for the book in this blog post:

Now, more than ever, we need a different way of thinking, a useful way to focus and the energy to turn the game around.

The book features a single page each by around seventy "big thinkers", each sharing an idea for you to think about as we head into the new year. From bestselling author Elizabeth Gilbert to brilliant tech thinker Kevin Kelly, from publisher Tim O'Reilly to radio host Dave Ramsey, there are some important people riffing about important ideas here. The ebook includes Tom Peters, Fred Wilson, Jackie Huba and Jason Fried, along with Gina Trapani, Bill Taylor and Alan Webber.

Get the book, read it, learn from it, share it, tweet it.

Books by Chip and Dan Heath (MUST READS)

Made to Stick
Rumor Mills: The Social Impact of Rumor and Legend

Switch: How to change things when change is hard (To be released in Feb, 2010)

Tuesday, December 1, 2009

Essential BizTalk Debugging Skills

On the topic of debugging skills, there are many things said and to be said, but I thought I’d take a moment to reflect on a few skills I believe BizTalk developers should develop to solve problems on their solutions effectively (in no particular order):

  1. Trace the execution of BizTalk processes end-to-end, covering both messaging and orchestrations. While this seems obvious at first, it can be tough on complex solutions that rely heavily on pub/sub and direct binding!
  2. Discovering the reasons why a service instance might be getting suspended. In particular, quickly finding any possible exception information coming from faulted instances.
  3. Using the orchestration debugger to figure out where a given Orchestration instance is getting suspended.
  4. Matching any receive shapes in an orchestration to the origin of messages coming for it. This might require matching logical ports with physical ports as well as possible direct-binding sources of messages.
  5. Tracking possible reasons for routing failures, particularly when correlations are involved. This includes being able to understand routing failure reports, checking the state of any required promoted property, comparing subscription information either directly on the message box as well as from reading orchestration code, and so on.
  6. Detecting and solving situations that stop flow/processing of messages, related to thread pool issues or thread starvation.
  7. Detecting zombie message instances and their possible consequences.
  8. Knowing how to enable the BAM tracing infrastructure to debug and solve issues with BAM not writing data to the BAM primary import database.
  9. Using the Visual Studio Debugger or WinDBG to debug BizTalk processes. This includes figuring out the right processes to attach to!
  10. Debugging assembly-loading/versioning issues. This includes how to use Fuslogvw.exe and friends.
(Source: Tomas Restrepo)