.NET Developers Blog An aggregated blog of .NET developers. Bookmark and Share

Welcome to the .NET Developers Blog

This is an aggregated blog of .NET developers.

If you have a blog about Microsoft, .NET, XAML, WPF, Silverlight, etc... development add your blog here. Email me for any suggestions and feedback.

Minh T. Nguyen

Syndication & Stats

Blogs - 395
OPML (list of bloggers)
RSS (list of posts)



Bloggers

.NET User Group Frankonia
   (10/20/2008 12:22 PM)
A Henry P. Erich III
   (7/21/2008 1:14 AM)
Aaron Junod
   (7/21/2008 1:14 AM)
Adam Beal
   (8/12/2006 11:05 AM)
Adam Kinney
   (7/21/2008 1:15 AM)
Adam Kinney
   (2/16/2007 2:37 PM)
Adam Weigert
   (1/3/2009 2:31 AM)
Adolfo Marinucci
   ()
Adrian Florea
   (5/21/2009 2:22 AM)
Adron Hall
   (9/12/2008 3:37 PM)
Adron Hall
   (6/30/2009 10:56 PM)
Adwait Ullal
   (7/2/2005 9:38 AM)
aharvey
   (4/21/2008 7:33 PM)
Akshay Luther
   (3/6/2005 3:57 AM)
Alex Campbell
   (5/31/2009 3:49 AM)
Alexander Zeitler
   (5/19/2007 7:39 AM)
Alexandre Gomes
   (6/28/2009 10:59 AM)
ALTERthought
   (6/19/2009 12:24 PM)
Anand M.
   (3/26/2005 3:12 PM)
Anand Patel
   (6/28/2009 9:32 PM)
André Obelink
   (4/6/2008 2:42 PM)
Andrea Saltarello
   (6/3/2009 5:20 AM)
Andrej Budja
   (3/26/2005 3:12 PM)
Andres Aguiar
   (7/2/2009 10:57 AM)
Andrew Whitten
   (8/21/2007 8:08 PM)
Andy Smith
   (11/16/2006 10:54 PM)
Angry Hacker
   (6/29/2009 6:43 PM)
Anjana Ram
   (7/21/2008 1:19 AM)
Armand du Plessis
   (7/21/2008 1:19 AM)
Ashraful Alam
   (4/10/2009 8:44 AM)
Ashvil
   (8/9/2005 5:20 PM)
Avner Kashtan
   (2/10/2009 8:08 AM)
Axinom
   (6/18/2009 2:58 PM)
Barb Bowman
   (3/26/2005 3:14 PM)
Bartek
   (11/4/2008 8:55 PM)
BCS
   (4/8/2009 12:19 PM)
Ben Hall
   ()
Ben S. Stahlhood II
   (1/3/2009 2:36 AM)
Bertrand
   (10/19/2006 12:03 AM)
Bil Simser
   (7/2/2009 7:31 PM)
Bill Christenson
   (6/17/2009 6:29 PM)
Bill Evjen
   (5/28/2009 7:45 PM)
Bill Evjen
   (11/25/2007 5:34 PM)
Bill Wagner
   (12/12/2008 6:53 PM)
Bob Swart (aka Dr.Bob)
   (6/22/2009 3:23 PM)
Bojan Resnik
   (6/21/2009 12:39 AM)
Brendan Tompkins
   (5/29/2005 10:23 AM)
Brian Button
   (4/9/2009 9:18 AM)
Brian Desmond
   (11/16/2006 10:58 PM)
Brian Nantz
   (10/25/2005 7:31 AM)
Brian Nantz
   (10/6/2005 6:53 AM)
Brian Scott
   (7/31/2008 6:45 PM)
Bryan Reynolds
   (8/9/2008 3:11 PM)
Bryant Likes
   (3/24/2009 5:49 PM)
ByteMyCode CSharp
   (3/23/2009 5:13 AM)
ByteMyCode VB.NET
   (4/30/2009 5:15 AM)
Carl Franklin
   (5/21/2006 7:33 PM)
Carsten Unterberg
   ()
Chris Hammond
   (6/29/2009 3:44 PM)
Chris Hammond
   (11/25/2008 11:41 PM)
Chris McKenzie
   (9/12/2006 4:12 PM)
Chris Stewart
   (10/6/2008 5:46 PM)
Chris Woodill
   (6/28/2009 7:41 AM)
Christian Engel
   (2/15/2009 6:05 AM)
Christian Nagel
   (5/21/2006 7:34 PM)
Christian Weyer
   (8/27/2006 11:54 PM)
Christoph Wille
   (6/9/2009 1:59 AM)
Christophe Lauer
   (6/5/2006 1:29 PM)
Christophe Menet
   (3/19/2009 3:44 AM)
Christopher Frazier
   (5/25/2007 1:41 PM)
cialis
   ()
cialis
   ()
Claudio Perrone
   (10/10/2006 1:16 AM)
Clint Caraway
   (7/19/2007 10:32 AM)
Clinton Ruivivar
   (11/23/2006 1:36 AM)
Colt Kwong
   (10/8/2008 9:31 AM)
Courtois Sébastien
   (5/5/2009 2:05 AM)
Craig Nicholson
   (12/4/2008 4:58 PM)
Craig Roffers
   (7/28/2008 8:41 AM)
Damian Barrow
   (5/21/2006 7:35 PM)
Damir Tomicic
   (7/1/2009 9:43 AM)
Damir Tomicic on Architecture
   (2/16/2009 4:16 AM)
Dan Bright
   (5/21/2006 7:36 PM)
Dani Meier
   (12/1/2007 6:42 AM)
Daniel Cazzulino
   (3/18/2007 11:42 PM)
Daniel Zeiß
   (4/14/2008 2:24 AM)
Darrell Norton
   (7/1/2005 9:17 PM)
Darren Neimke
   (5/21/2006 6:49 PM)
Dave Balzer
   (5/13/2008 7:46 PM)
Dave Bettin
   (5/23/2005 11:58 PM)
Dave Burke
   (5/21/2006 6:50 PM)
Dave Donaldson
   (9/6/2006 5:12 PM)
Dave Konopka
   (11/10/2008 4:23 PM)
David Brabant
   (1/22/2009 5:12 AM)
David Cumps
   (9/17/2008 5:10 AM)
David Douglass
   (6/4/2009 1:36 PM)
David Godwin
   (8/17/2007 10:34 AM)
David Truxall
   (1/9/2009 7:29 AM)
Dboy Smith
   (6/30/2005 12:41 PM)
Derek Hatchard
   (1/3/2009 2:49 AM)
Devdutt Patnaik
   (1/3/2009 2:49 AM)
devel.oping.net
   (4/24/2006 9:19 AM)
DevPinoy.Org
   (6/30/2009 11:14 PM)
Dion Hinchcliffe
   (6/6/2009 3:55 PM)
DnnCart.com
   (11/7/2005 12:18 AM)
DnnCart.com
   (8/25/2005 12:03 AM)
dodned.de (Damir Tomicic)
   (10/20/2008 11:42 AM)
Don Browning
   (5/21/2006 6:52 PM)
Donald Hughes
   (6/27/2009 11:09 PM)
DonXML
   (3/26/2005 3:20 PM)
DonXML Demsak
   (5/22/2006 2:29 PM)
Doug King
   (11/16/2006 11:07 PM)
Doug Seven
   (3/30/2006 3:59 PM)
Douglas Reilly
   (6/17/2006 8:01 AM)
Duane Laflotte
   (1/27/2007 12:03 PM)
Dusty Davidson
   (3/3/2009 11:51 PM)
Edgar Sánchez
   (3/12/2009 10:41 PM)
Emerging Technologies Group
   (8/21/2005 8:39 PM)
Entrance Software
   ()
Erik Porter
   (2/16/2009 1:28 PM)
Ernst Kuschke
   (2/21/2009 11:40 PM)
Fabrice Marguerie
   (6/29/2009 9:39 AM)
Famil Jones
   (1/3/2009 2:58 AM)
fengzhimei
   (1/3/2009 2:58 AM)
Fergal Reilly
   ()
Fons Sonnemans
   (6/23/2009 7:48 AM)
Forest Blog
   (2/6/2009 5:39 AM)
Frank Hileman
   (5/7/2008 11:48 AM)
Frans Bouma
   (6/25/2009 1:54 AM)
Fredrick J Sahaya
   (6/30/2009 11:19 PM)
Freek Leemhuis
   (5/26/2009 6:57 AM)
G. Gnana Arun Ganesh
   ()
Gareth
   (7/2/2009 12:30 AM)
Gaston Milano
   (4/16/2009 1:40 PM)
Gavin Donoho
   (8/27/2006 1:11 PM)
Gavin Stevens
   (4/26/2004 3:48 PM)
Giorgio Sardo
   (2/17/2009 12:43 AM)
gojko
   (6/23/2009 6:47 AM)
Grant Killian
   (6/11/2005 3:23 AM)
Greg Hurlman
   (3/23/2007 10:31 AM)
Greg Robinson
   (2/6/2009 8:31 AM)
hammett
   (2/2/2006 9:57 AM)
Hannes Preishuber
   (1/22/2009 2:19 PM)
Hernan Garcia
   (6/21/2009 9:32 PM)
Hieu Pham
   (3/21/2009 6:04 AM)
Holly Styles
   (8/19/2008 5:14 AM)
Huang
   (7/2/2009 10:03 AM)
Huw Collingbourne
   (6/30/2009 7:09 AM)
Igor Milovanovic
   (9/14/2004 9:01 AM)
Igor Milovanović
   (6/16/2009 2:58 PM)
Issam Elbaytam
   (1/3/2009 3:06 AM)
Iwan Taljaard
   (1/30/2005 9:42 AM)
J. Ambrose Little
   (5/21/2006 6:57 PM)
J. Frank Carr
   ()
James Avery
   (5/10/2009 8:45 PM)
James Steele
   (8/9/2007 3:47 PM)
Jan Tielens
   (7/2/2009 5:28 AM)
Jan-Cornelius Molnar
   (4/14/2007 10:41 AM)
Janiv Ratson
   (7/1/2009 4:00 PM)
Jason Alexander
   (1/3/2009 3:07 AM)
Jason Gorham
   (1/7/2007 6:27 PM)
Jason Haley
   (7/7/2005 12:48 AM)
Jason Nadal
   (1/3/2009 3:07 AM)
Jason Olson
   (6/9/2009 5:50 PM)
Jason Row
   (6/4/2009 1:44 PM)
Jason Salas
   (5/21/2006 6:59 PM)
Jason Stangroome
   (4/28/2007 10:00 PM)
Jason Stangroome
   (5/19/2009 11:10 PM)
Jay Kimble
   (7/6/2005 2:47 AM)
Jeff Julian
   (6/26/2009 2:42 PM)
Jeff Key
   (1/3/2009 3:09 AM)
Jeff Perrin
   (4/21/2007 7:35 PM)
Jeff Putz
   (6/30/2009 11:28 PM)
Jeroen van den Bos
   (8/2/2007 8:56 AM)
Jerry Coder
   (6/16/2005 1:18 AM)
Jerry Dixon
   (6/22/2005 7:13 AM)
Jesse Ezell
   (10/9/2008 1:18 PM)
JetBrains, Inc.
   (5/18/2009 3:07 PM)
Jim Cheseborough
   (8/22/2006 11:59 AM)
Jim Martin
   (5/10/2005 11:00 AM)
Joe Sroczynski
   (1/26/2009 8:37 PM)
Joel Jeffery
   (4/26/2007 9:12 AM)
Johan Danforth
   (5/13/2009 2:00 AM)
John Papa
   (5/22/2008 7:40 AM)
John Qin
   (6/30/2005 1:21 AM)
John Sheehan
   (7/1/2009 10:08 PM)
John Tobler
   (7/2/2009 5:28 PM)
Jon Galloway
   (4/9/2009 2:54 AM)
Jon Yates
   (5/21/2006 7:01 PM)
Jørn Aakre
   (2/22/2007 9:55 PM)
Jose Lamas Rios
   (2/21/2007 5:27 AM)
Joseph Cooney
   (3/29/2005 9:02 PM)
Josh Evitt
   (11/16/2005 2:17 PM)
Josh van Eikeren
   (4/8/2009 11:10 AM)
Joydip Kanjilal
   (5/1/2009 12:43 AM)
Juozas
   (3/2/2009 1:58 PM)
Justin Etheredge
   (6/30/2009 8:02 PM)
Justin Rogers
   (11/16/2006 11:18 PM)
Juval Lowy
   (2/16/2007 3:01 PM)
K. Scott allen
   (7/2/2009 6:46 PM)
Keith A. Barrows
   (11/24/2008 3:04 PM)
Keith Oliver Rull
   (5/18/2005 2:38 PM)
Keith Oliver Rull
   (3/18/2009 8:46 AM)
Ken Brubaker
   (7/25/2008 2:45 PM)
Kent Tegels
   (2/14/2007 12:26 PM)
Kevin Blakeley
   (7/6/2005 9:32 PM)
Kevin Daly
   (1/3/2009 3:15 AM)
Kevin Harder
   (12/23/2007 4:24 PM)
Kevin Potgieter
   (8/21/2005 11:17 AM)
Kiruthik Nandha Kumar
   (6/9/2009 2:25 PM)
Klaus Aschenbrenner
   (4/12/2006 9:20 AM)
Kouroushi Bros Ltd
   (12/19/2008 2:59 AM)
Krishna Kumar
   (7/6/2005 9:32 PM)
Kyle Hebb
   (1/3/2009 3:17 AM)
Laimonas Simutis
   (2/4/2005 11:06 AM)
Laimonas Simutis
   (2/9/2009 4:21 PM)
Lamont Harrington
   (6/21/2005 3:00 PM)
Lance Hunt
   (3/11/2009 11:14 AM)
Lance Robinson
   (6/30/2009 11:30 AM)
Loren Halvorson
   (1/3/2009 3:18 AM)
Lorenzo Barbieri
   (7/9/2006 5:24 PM)
Luke Woodard
   (3/8/2007 7:09 PM)
Mack D. Male
   (6/30/2009 8:56 AM)
Mack D. Male
   (8/20/2005 9:53 PM)
Marcie Robillard
   (1/3/2009 3:19 AM)
Marco Russo
   (7/15/2006 1:59 AM)
Marcus Mac Innes
   (10/7/2008 9:57 AM)
Mark Brown
   (8/14/2004 7:22 PM)
Mark Frantz
   (4/25/2007 6:40 PM)
Mark Levison
   (6/10/2005 6:50 AM)
Mark Nilsen
   (2/19/2007 12:04 AM)
Marlon Ribunal
   (6/30/2009 6:13 PM)
Marlon Ribunal
   (3/9/2009 8:50 AM)
Martin Spedding
   (5/21/2006 7:08 PM)
Mathew Nolton
   (5/15/2009 11:49 AM)
Matt Davey
   (5/21/2006 7:08 PM)
Matt Hawley
   (1/3/2009 3:21 AM)
Matt Watson
   (3/1/2009 8:25 PM)
Matthew Deiters
   (3/2/2006 2:30 PM)
Matthew Marksbury
   ()
Mauricio Scheffer
   (6/8/2009 11:59 PM)
Mehran Nikoo
   (6/29/2009 4:25 AM)
Memi Lavi
   (5/21/2006 7:09 PM)
Michael Ceranski
   ()
Michael Freidgeim
   (6/19/2009 6:15 PM)
Michael Herman
   (11/2/2007 5:42 AM)
Michael Mello
   (9/15/2004 7:52 AM)
Michael Palermo
   (4/13/2009 5:49 AM)
Mickey Gousset
   (6/3/2009 8:13 AM)
Mike Diehl
   (10/6/2008 7:07 PM)
Mike Griffin
   (6/28/2009 7:03 PM)
Mike Kolitz
   (3/26/2005 4:04 PM)
Mike Richardson
   (3/13/2006 5:01 PM)
Milan Negovan
   (6/24/2009 11:50 AM)
Minh T. Nguyen
   (5/19/2009 8:14 PM)
Mitch Denny
   (6/30/2009 9:01 AM)
Mohammad Ashraful Alam
   (7/2/2009 12:54 AM)
Mohammad Hajjar
   (5/5/2008 9:26 PM)
Morten
   (5/9/2009 7:16 PM)
Morten
   (8/2/2006 4:58 PM)
Morten Abrahamsen
   (5/26/2009 12:53 AM)
Morten Christensen
   (8/8/2006 1:36 PM)
Morten Nielsen
   (1/30/2008 10:51 PM)
Mugambar
   ()
Nards Ocampo
   (6/23/2008 3:58 AM)
Nathan Maffeo
   (10/25/2006 11:00 AM)
Natty Gur
   (6/27/2009 3:09 AM)
Neno Loje
   (2/6/2009 10:06 PM)
Nick Grattan
   (5/5/2006 3:33 AM)
Nik
   (2/16/2007 5:37 AM)
Nikhil Kothari
   (6/19/2009 3:47 PM)
Notorious N.E.R.D
   (5/28/2009 2:01 PM)
odalet
   (10/25/2006 7:04 AM)
odalet
   (5/13/2009 5:14 PM)
Oddur Magnusson
   (1/3/2009 3:28 AM)
Oisin Grehan
   (5/22/2009 3:46 PM)
Oliver Sturm
   (6/24/2009 4:03 AM)
Ondrej Svacina
   (3/15/2008 11:55 AM)
P.J. van de Sande
   (2/24/2009 2:16 AM)
Paschal L
   (6/14/2009 4:40 PM)
Pasi Heinonen
   ()
Patrick Steele
   (6/30/2009 3:08 PM)
Patrick Tisseghem
   (1/3/2009 4:59 AM)
Patrik
   ()
Patrik Hägne
   (4/21/2009 3:21 PM)
Paul Bartlett
   (4/25/2007 6:24 AM)
Paul D. Murphy
   (6/26/2006 10:35 AM)
Paul Edwards
   (4/21/2006 10:20 AM)
Paul Fallon
   (6/14/2009 10:36 AM)
Paul Irwin
   ()
Paul Laudeman
   (6/15/2005 8:09 AM)
Paul Litwin
   (3/30/2009 9:54 PM)
Paul Louth
   ()
Paul Mendoza
   (10/17/2008 9:28 PM)
Paul Mooney
   (5/31/2009 2:12 PM)
Paul Wilson
   (9/26/2008 11:36 AM)
Peter Jausovec
   (4/25/2006 7:15 AM)
Peter Koen
   (5/21/2006 6:25 PM)
Peter Van Ooijen
   (5/16/2005 2:16 AM)
Phil Winstanley
   (5/14/2009 10:35 AM)
Philip Rieck
   (6/11/2009 2:21 PM)
Pierre Greborio
   (4/4/2007 7:01 PM)
Pieter Germishuys
   (5/20/2009 5:22 PM)
Ralfs Sudelbücher
   (9/17/2008 12:42 AM)
Randy Holloway
   (3/26/2005 2:56 PM)
Ravikanth
   (4/28/2009 9:38 AM)
Raymond Lewallen
   (1/3/2009 5:06 AM)
Razor
   (7/6/2005 9:43 PM)
Reed Copsey, Jr.
   (5/20/2009 5:23 PM)
Reggie Burnett
   (6/16/2009 3:29 PM)
Reggie Burnett
   (3/4/2008 1:24 PM)
Richard Jonas
   (12/24/2006 12:21 AM)
Richard Jonas
   (10/17/2007 3:26 AM)
Rick Minerich
   (6/21/2009 7:29 PM)
Rick Smit
   (10/29/2004 12:46 AM)
Rickard Lindberg
   (5/7/2004 2:48 PM)
Rob Chartier
   (5/23/2009 6:39 PM)
Rob Tillie
   (2/2/2006 8:33 AM)
Robert Baiumann
   (5/7/2007 9:55 AM)
Robert Hurlbut
   (10/28/2008 6:40 AM)
Robert Lair
   (6/21/2008 4:08 PM)
Robert McLaws
   (1/3/2009 5:11 AM)
Robert McLaws
   (1/25/2008 11:37 AM)
Robert Sharp
   (2/16/2007 3:57 PM)
Roland Weigelt
   (6/1/2009 2:19 AM)
Ron White
   ()
Roy J. Salisbury
   (3/4/2006 4:38 PM)
Roy Osherove
   (6/30/2009 3:17 PM)
Russ Nemhauser
   (6/22/2005 11:03 PM)
Russell East
   (6/15/2009 5:59 AM)
Ryan Dawson
   (10/31/2007 12:45 PM)
Ryan Farley
   (4/28/2009 6:04 PM)
Ryan Rinaldi
   (2/26/2009 4:00 PM)
Sahil Malik
   (8/24/2006 7:42 PM)
Sam Gentile
   (7/16/2006 12:43 AM)
Sam Gentile
   (7/2/2009 5:55 PM)
Sanjeeb Sarangi
   (11/16/2006 10:40 PM)
Scott Cadillac
   (10/5/2006 9:52 AM)
Scott Cadillac
   (10/12/2007 6:34 PM)
Scott Kuhl
   (2/16/2009 11:11 PM)
Scott Munro
   (1/3/2009 5:16 AM)
Scott Sargent
   (7/17/2007 3:02 PM)
Scott Schecter
   (11/20/2007 7:16 AM)
Sean McCormack
   ()
Sebastian Weber
   (5/21/2006 6:31 PM)
Senkwe
   (5/17/2006 4:04 AM)
Sergey Zhikharev
   (10/22/2008 7:36 AM)
Simone Busoli
   (8/6/2007 10:23 AM)
Softwaremaker
   (5/4/2009 8:29 PM)
Sriram Vaidyanathan
   (6/29/2009 10:12 AM)
Steele Price
   (7/1/2009 9:20 AM)
Stefan Cullmann
   (5/22/2005 4:27 AM)
stefan demetz
   (5/5/2009 9:02 AM)
Stefano Demiliani
   (6/16/2005 1:43 AM)
Stephen Kinsey
   (7/16/2008 2:53 AM)
Steve Eichert
   (6/20/2005 10:03 PM)
Steve Kapsinow
   (5/21/2006 6:33 PM)
Steve Schofield
   (7/2/2009 4:41 PM)
Steven M. Cohn
   (6/21/2007 6:00 PM)
Stuart Radcliffe
   (1/3/2009 5:19 AM)
Stuart Radcliffe
   (5/27/2004 12:17 AM)
StuartGunter
   (6/23/2005 9:36 PM)
Sudhakar Sadasivuni
   (5/21/2006 6:34 PM)
sumit gupta
   ()
Suresh Behera
   (6/25/2009 9:50 AM)
Sushila Patel
   (5/26/2007 11:02 AM)
Sven Cipido
   (7/1/2009 11:58 PM)
Team System Blog
   (10/7/2008 6:38 AM)
Tejas Patel
   (2/4/2005 3:45 AM)
Thea Burger
   (9/19/2008 7:00 AM)
Thom Allen
   (10/13/2004 2:15 PM)
Thomas Skovsende
   (7/10/2007 12:17 PM)
thomas woelfer
   (6/26/2009 12:36 PM)
Tim Hibbard
   (3/23/2009 9:51 PM)
Tim Murphy
   (3/6/2007 5:45 AM)
Tim Murphy
   (6/30/2009 6:33 AM)
Tim Weaver
   (6/4/2008 5:57 PM)
TK's Blog
   (1/6/2009 5:01 AM)
TOM_MUE
   (1/19/2008 9:28 AM)
uber
   (1/3/2009 5:24 AM)
Udi Dahan - The Software Simplist
   (6/29/2009 6:10 AM)
Vasanth Dharmaraj
   (11/9/2005 5:31 AM)
Victor Garcia Aprea
   (2/4/2009 4:39 PM)
Vijay
   (1/16/2005 10:18 PM)
VSTSBlog (by Neno Loje)
   (6/29/2009 6:11 AM)
Wallace B. McClure
   (6/24/2009 7:47 AM)
Warnar Boekkooi
   (1/3/2009 5:26 AM)
Wes Haggard
   (4/7/2009 8:13 PM)
Willem Odendaal
   (6/24/2005 12:38 AM)
Willy David Jr
   (7/25/2008 2:35 AM)
woaychee
   (6/5/2009 1:27 AM)
XAML Blogs
   (11/13/2004 11:20 AM)
Yezdaan Baber
   (6/9/2008 7:16 PM)
Yuri Gorobets
   (3/27/2005 5:06 PM)
Yves goeleven
   (7/2/2009 1:29 PM)



 
Fill out a survey, win a chance for a SharePoint Conference 2009 pass
Bil Simser - Posted 7/2/2009 7:31 PM

Free? Sure, why not? Yeah, title says all. Mindsharp, Nintex, and Combined Knowledge are sponsoring a Global SharePoint Survey. This is an independent survey that you can fill out to let them know about your experience with adoption and usage of SharePoint from your perspective. The survey is quick (only 15 questions) and most questions are multiple choice. You could probably let your cat or two year old fill it out (I did) but also consider taking a few minutes to put some thought behind it (unlike what I did).

In the end, you get a chance to win a conference pass to the Microsoft SharePoint Conference 2009 (October 19-22) in Las Vegas. This pass is worth $1,119 USD if purchased with real money. A winner will be drawn randomly after the closing of the survey July 17th then notified by email and/or phone. Note the contest is *only* for the conference pass. You still need to provide a way to get there and pay for your hotel, mini-bar, and pub crawl expenses (and trust me, when you hang with SharePoint dudes, the bar bill can get pretty hefty). Still, it’s a short slice out of your life for a chance to make it big in the city that never sleep.

You can fill out the survey here. Enjoy and good luck!


Pretty Code #1 – Building SelectListItems
K. Scott allen - Posted 7/2/2009 6:46 PM

In ASP.NET MVC, you can use a collection of SelectListItems to help build an HTML <select>. Just watch out for the HTML helper overloads. The question is – what is the prettiest code that can change a list of Products into a collection of SelectListItems?

Tonight, you’ll be the judge in this first contest of charm, grace, and readability.

Contestant #1 hails from the System.Web.Mvc namespace. It likes pina coladas and string literals, but is turned off by tattoos that look like programming symbols. Let me introduce the SelectList class:

var products = GetProducts();
var selectItems = new SelectList(products, "ID", "Name");

Contestant #2 lives in the System.Linq namespace. It likes whips and method chains. Functional programmers call it “map”, but in .NET we call it "Select":

var selectItems = from product in GetProducts()
                  select new SelectListItem 
                  {
                      Text = product.Name,
                      Value = product.ID.ToString()
                  };

… or (from the backside) …
var selectList = GetProducts().Select(product =>
                    new SelectListItem
                    {
                        Value = product.ID.ToString(),
                        Text = product.Name 
                    });

Contestant #3 lives in the MvcContrib project. It’s turned on by pointy things and practices yoga for extensibility. Introducing the ToSelectList method:

var selectItems = GetProducts().ToSelectList(product => product.ID,
                                             product => product.Name);

Personally, I like #2. While the name of #3 makes its purpose obvious, it sometimes takes a moment to be 100% clear about what property becomes Text, and what property becomes Value. In #2 the Text and Value assignments are obvious, even though the code is a little longer. Setting the Selected properties with either approach is trivial.

What do you think?


Windows Azure and Cloud Computing Posts for 6/15/2009+
Sam Gentile - Posted 7/2/2009 5:55 PM

Roger Jennings has his latest excellent links.


Your Company's Next Senior Software Architect???
John Tobler - Posted 7/2/2009 5:28 PM
I would *love* to join a new and exciting software development team that has a single-minded focus on delivering high-quality software products to great customers. Perhaps that team is working in your company! Please have a look at my resume (http://weblogs.asp.net/jtobler/articles/48839.aspx) to find out if my skills match your customers' needs! If interested, contact me by email so I can get to work with you as quickly as possible! I currently live in San Diego, CA, but would consider relocating to Las Vegas, NV, or the Miami Ft. Lauderdale area, FL, to join the right company with the right challenge!

UNC content with IIS 7 and Samba
Steve Schofield - Posted 7/2/2009 4:41 PM

Here is another thread on forums.iis.net that discusses UNC content, IIS 7 and Samba. 

http://forums.iis.net/p/1158781/1909100.aspx

Great stuff!

Steve


Azure - My head in the cloud
Yves goeleven - Posted 7/2/2009 1:29 PM
You might have noticed it already over the past few months, the focus of my blog is starting to shift, even though I haven't blogged to much... Ever since Azure, Microsoft's cloud platform, has been announced at PDC last year, I have been playing with this new environment. I've been in a learning mode mostly as I try to figure out how to best build systems in an endlessly scalable world where some of the staple products, such as databases, don't exist or don't make sense.

One of the biggest enablers for learning more about this product has been a special interest group that I've set up internally at Capgemini. In this SIG quite a few of my colleagues teamed up with me to discuss various questions and play around with the bits as new CTP's came out. Some of the most important questions that have been discussed are e.g. 'what kind of enterprise would benefit from cloud computing?', 'how do you deploy a system that has scaled so much that you can't possible take everything down at once?', 'How do I store data if there is no concept of a database?', 'How to maintain integrity if the platform isn't going to support distributed transactions?', 'What kinds of architectures are suitable for such an environment?' and so much more.

Even though I have been in this learning mode mostly, now on I believe I know enough about it to start sharing some of the knowledge I gained during these SIG's and my personal experiments. So expect yourself to see some more blog posts around here on the topic of Azure in the upcoming months...

Note: this also means that I'm very eager to hear any question you might have about the Azure platform. So in case you have any, send me a mail on yves ad goeleven dot com.

Client App Dev MVP for 2009!
Andres Aguiar - Posted 7/2/2009 10:57 AM

I'll be an MVP for Client App Development for 2009!

I want to thank to all the people in Microsoft Uruguay and Latinoamerica that kept inviting me to talk in their events.

Here is my almost-empty MVP Profile. I'll complete it during the following days.

Thanks!


世界最强电脑病毒Conflicker愚人节再变种
Huang - Posted 7/2/2009 10:03 AM
世界最强电脑病毒Conflicker愚人节再变种

SharePoint Search-as-You-Type with jQuery
Jan Tielens - Posted 7/2/2009 5:28 AM

Already since a long time I’ve been thinking about a web part that would search-as-you-type using SharePoint’s search engine. The idea behind this concept is that while you’re typing a query in the search box, asynchronously the query is already executed and the results are being displayed. Every time the query is changed, the results will be updated dynamically. This will allow users to see the results without going to the Search Results page, and even more: they don’t have to go back to alter their query. In such a scenario you want to avoid full page postbacks of course, so AJAX-techniques have to be used to accomplish this. A while back my first approach would be to make use of ASP.NET AJAX to build the necessary functionality in a web part for example. But during the last couple of weeks I’ve become a really big fan of using jQuery Javascript Library in SharePoint sites, and it happens to be that the search-as-you-type functionality can be created with the help of jQuery very easily. The beauty of this solution is that everything is happening on the client (in the web browser), so there is absolutely no requirement to deploy something to the server (nowadays this seems to be called ‘Assembly Free’).

Before you get too excited; it’s quite obvious that when you use this sample on a production server with lots of users, the SharePoint Search component can be hammered with lots of requests (which can be bad for the performance). So use it wisely! To minimize the impact on the performance of the server, the code will only execute a search query when (by default) three characters are entered, and while the user is still typing no queries are executed at all (there’s a configurable delay).

So how is all of this implemented? Well the idea is to display an HTML textbox in a Content Editor Web Part. Using the jQuery library, an eventhandler is added to that textbox for every keypress. When there are more than three characters (value is configurable) entered in the textbox, jQuery will make an asynchronous call to the Search web services (/_layouts/search.asmx). The resulting found items are displayed in an HTML div element which is positioned right below the textbox, on top of all other HTML elements. The user can select a result using the arrow keys, or by hovering the mouse over a result. When a result is selected by pressing the enter key or by clicking on it, the user is redirected to the corresponding page or document. You can see the code working in a web part in the following animated screenshot.

 

If you want to try this out yourself, just follow these steps. Once again, there is absolutely nothing you need to tweak and/or deploy on your server. You can do all of this through the web user interface of SharePoint.

  1. Download the code file here.
  2. Add a new Content Editor Web Part, which is available in SharePoint out-of-the-box, to a page.
  3. Modify the newly added web part, use the Source Editor button in the properties task pane to add the downloaded code.
  4. Optionally you can give the web part a meaningful Title in the Appearance group (e.g. Quick Search).

When you check out the code, notice that the first line is a reference to the jQuery library, hosted on Google’s servers. If you plan to use this in production, I’d recommend you to host the jQuery library in your own environment so you have to update the reference with your own URL.


My MVP Award is Renewed!
Mohammad Ashraful Alam - Posted 7/2/2009 12:54 AM

mvp_logo

Yesterday I’ve been informed that I’ve gained the Most Valuable Professional award again for next year, in ASP.NET category. This is the third time I have received this award, which is pretty exciting.

Here is my MVP profile: https://mvp.support.microsoft.com/profile/Ashraful

Special thanks to few Microsoft employees including Technical Fellow Brain Harry, Sr. Program Manager Joe Stagner, Lead Product Manager Dan Fernandez and South Asia MVP Lead Abhishek Kant who encouraged and supported me in several ways last year.

Thanks Microsoft for this recognition, which will encourage me to keep my passion on MS products continued with more optimization and greater efforts.

Technorati Tags: ,,


SQLite for C# – Part 6 – SQLite Connection String Definitions
Gareth - Posted 7/2/2009 12:30 AM
Alright – so we are now ready to get started in earnest. The first thing we need to do when connecting to a database is setup the connection string. This article covers the various connection string parameters available for the .Net version for SQLite. Most Simple – Data Source Format: “Data Source=[DBFileName]” Example: @”Data Source=C:\CSharpHackerDemo.db3″ This connection string will [...]

New (Beta) Patterns & Practices from Microsoft released
Sven Cipido - Posted 7/1/2009 11:58 PM

Microsoft just released their latest addition to the P&P library.  This time it's a guidance about Acceptance test (Vol 1).

The book was previously already announced in beta 1, now it's the Beta 2 release.

Find all the info at the Codeplex site : http://codeplex.com/TestingGuidance



My thoughts, shares,... with .Net and Microsoft - The blog of Sven Cipido

The Killer Twitter App Hasn’t Been Built Yet
John Sheehan - Posted 7/1/2009 10:08 PM
Imagine an application that acts as a super proxy for your Twitter account. The server acts as the client, pulling updates from the API. Updates are relayed to your iPhone and desktop clients in near real-time1 with XMPP. No more multi-device API limitations getting in your way. Add in analytics, trends (specific to your follow [...]

WPF Localization Guidance
Janiv Ratson - Posted 7/1/2009 4:00 PM

When you limit your product's availability to only one language, you limit your potential customer base to a fraction of our world’s 6.67 billion population. If you want your applications to reach a global audience, cost-effective localization of your product is one of the best and most economical ways to reach more customers.
It is imperative to define a globalization strategy early in the development lifecycle, in order to more quickly accommodate demands for future product releases that can reach global markets.

Application localization is not a trivial task for any type of application scenario. The process is based on a few core principles that apply to WPF as they do to any other type of client application with a user interface.
It is important for developers to understand the basic concepts of regional data display, locale-specific user interface customization and how to serve localized resources in both static and dynamic fashion. These concepts are very similar for most client applications but the actual process of localizing the static user interface components tends to vary between environments and WPF introduces yet another approach to resource localization for XAML resources.

Rick Strahl & Michele Leroux Bustamante have published a Localization Guidance whitepaper (June 2009). It starts with a quick review of general localization considerations for completeness, discusses how the .NET Framework handles resources for all applications, and then focuses specifically on localization scenarios for WPF explaining some of the trade-offs within each approach.
This whitepaper is complete and may be updated according to YOUR feedbacks.
Download it (and some source code) here: WPF Localization Guidance Whitepaper.

You may also be interested in Microsoft's WPF Globalization and Localization Overview, which has a lot in common with RIck and Michele's guidance.
And how would you implement the the translation of application resources into localized versions for the specific cultures that the application supports?
When you localize in WPF, you use the APIs in the System.Windows.Markup.Localizer namespace. These APIs power the LocBaml Tool Sample command-line tool, which was developed by Microsoft to present a sample that uses some of the localization APIs and illustrates how you might write a localization tool.

There is also the CodePlex WPF Localizationan Extention project which is a (FREE) stable extension project to localize any type of DependencyProperties on DependencyObjects.

As you can see, there are many (and good) ways to implement localization in WPF project. If you know any other great localization tools, please share it with us.
Thanks,
J.


MVP Award 2009
Damir Tomicic - Posted 7/1/2009 9:43 AM

Gerade erreichte mich eine sehr erfreuliche Nachricht:



"... Sehr geehrter Herr Tomicic, herzlichen Glückwunsch! Wir freuen uns, Ihnen den Microsoft® MVP Award 2009 verleihen zu können! ..."

Da freue ich mich aber auch. Vielen herzlichen Dank!

Die MVPs sind eine begeisternde Truppe von Technologie-Enthusiasten. Ich genieße die Treffen mit den MVPs und die Diskussionen, wie zuletzt beim Software Strategy Summit in Köln [2].

Und ich bin froh und fühle mich wirklich geehrt ein weiteres Jahr dazu zählen zu dürfen. Klasse! :-)

[1] http://mvp.support.microsoft.com
[2] http://blogs.msdn.com/mvpawardprogram/archive/2009/05/18/german-mvp-interviews-steve-ballmer.aspx


Tweeps List: Visual Basic Influencers
Steele Price - Posted 7/1/2009 9:20 AM

Antonio has put together a great list of VB Influencers to follow on Twitter

Antonio Chagoury - Tweeps List: Microsoft Visual Basic MVP’s

While his title says MVPs, there are some other influencers listed


304 Your images from a database
Jeff Putz - Posted 6/30/2009 11:28 PM

I was reading somewhere about some anecdotal evidence that Google doesn't like to index images that don't have some kind of modification time on them. When I relaunched CoasterBuzz last year, I moved all of my coaster pr0n to the database, and I've since noticed that none of the images are in fact indexed. Bummer.

This also pointed out to me that I was doing something annoying. I was reading the data out every time for every image request. Not exactly the most efficient use of resources. Static files come down with information in the headers indicating when they were last modified (IIS, and presumably any other Web server does this), so the next time the browser makes the request, it the server compares the time in the request header with that of the file, and returns a 304 "not modified" response, and no file.

That seemed like an obvious thing to do, even if it has no impact on Google indexing. Fortunately, it just required some refactoring of the IHttpHandler I had doing the work.

Sidebar: This is probably the point at which some people will make a big stink about serving images out of a database, and how it's bad for performance or scalability. That's a fine argument to make, but outside of doing obviously stupid things, this is not an issue here. I'd prefer to address performance and scalability problems if I have them, not when I might have them, or never have them. Seriously, this is a site that does somewhere between a half-million and a million page views a month depending on the season. There are no performance issues here.

So anyway, assuming for a moment that "photo" is a business object in this code, and it was determined by a query value to the handler, this is the meaty part of the ProcessRequest() method of the handler:

if (!String.IsNullOrEmpty(context.Request.Headers["If-Modified-Since"]))
{
    CultureInfo provider = CultureInfo.InvariantCulture;
    var lastMod = DateTime.ParseExact(context.Request.Headers["If-Modified-Since"], "r", provider);
    if (lastMod == photo.SubmitDate.AddMilliseconds(-photo.SubmitDate.Millisecond))
    {
        context.Response.StatusCode = 304;
        context.Response.StatusDescription = "Not Modified";
        return;
    }
}
byte[] imageData = GetImageData(photo);
context.Response.OutputStream.Write(imageData, 0, imageData.Length);
context.Response.Cache.SetCacheability(HttpCacheability.Public);
var adjustedTime = DateTime.SpecifyKind(photo.SubmitDate, DateTimeKind.Utc);
context.Response.Cache.SetLastModified(adjustedTime);

Yes, it probably needs to be refactored, and yes, it should probably be used in an IHttpAsyncHandler. But let's go through what's happening, starting at the bottom.

The last few lines write out the actual bytes of the image (MIME type was set in previous code), then set the cacheability and the modification time of the image, which in my case is stored with the bits. The goofy part is where we create a new DateTime to make its kind known. If you don't explicitly state that it's a UTC time, the SetLastModified() method apparently adjusts it. I happen to store most times as UTC, so that was one less thing to worry about. This adds a header in the response called Last-Modified, and gives it a value that looks something like "Sun, 22 Jun 2003 16:27:19 GMT" (note that it truncates milliseconds and ticks, as you may expect).

Now, on subsequent requests for the same image, the browser adds an If-Modified-Since header to the request, with the same date and time as the value. Here we're checking to see if the value is present on the request, and if so, let's see if we should do a 304. If it's there, we parse it into a DateTime and compare the time with the one stored in the business object. We're stripping off the milliseconds because the database will fill them in on our DateTime, and the incoming request doesn't have the same high resolution. If we have a match, we send out the 304 and return, not sending any more data or reading the bytes from the database.

You can do this pretty easily in ASP.NET MVC as well.

public ActionResult Image(int id)
{
    var image = _imageRepository.Get(id);
    if (image == null)
        throw new HttpException(404, "Image not found");
    if (!String.IsNullOrEmpty(Request.Headers["If-Modified-Since"]))
    {
        CultureInfo provider = CultureInfo.InvariantCulture;
        var lastMod = DateTime.ParseExact(Request.Headers["If-Modified-Since"], "r", provider).ToLocalTime();
        if (lastMod == image.TimeStamp.AddMilliseconds(-image.TimeStamp.Millisecond))
        {
            Response.StatusCode = 304;
            Response.StatusDescription = "Not Modified";
            return Content(String.Empty);
        }
    }
    var stream = new MemoryStream(image.GetImage());
    Response.Cache.SetCacheability(HttpCacheability.Public);
    Response.Cache.SetLastModified(image.TimeStamp);
    return File(stream, image.MimeType);
}

Let me start by saying that this was something I just prototyped. It's in dire need of refactoring, as much of the logic isn't stuff you'd normally put in a controller action. I think there's a method for returning nothing on the Controller base, but I don't remember off the top of my head. If there is, you'd use that instead of Content() in the 304 case.

I hope this helps someone out!


Microsoft Community TechED
Fredrick J Sahaya - Posted 6/30/2009 11:19 PM
June 27, 2009 Keynote: Preethi Narayanan Director,iSOFT Session I What’s New in Silverlight 3 Session II Infragistics Session III Windows 7 for Developers Session IV Welcome to ASP.NET 4.0 with VS 2010 Session V Introduction to Microsoft Exchange Server 2010 Session VI Virtualization 360 Session VII Windows Server 2008 R2 End Note: Ravickumar M Senior Technical Manager, iSOFT Photographs: Posted in Microsoft Community Tech ED

VisualStudio.ImmediateWindow = Eclipse.Display
DevPinoy.Org - Posted 6/30/2009 11:14 PM

I had a lot of things to blog during the past 3 months but I just couldn't get myself to write any of them online.

Well, since I've been using the Visual Studio.Net immediate window a lot lately so I thought it would be useful for fellow eclipse users to know that an equivalent tool exist in Eclipse.


I don't have to write what's already written, right? Just follow the link below, it's pretty much self-explanatory.

http://askville.amazon.com/debugging-Eclipse-Visual-Studio-equivalent-Window-interactive-top-level/AnswerViewer.do?requestId=9072383


@cloudcamppdx
Adron Hall - Posted 6/30/2009 10:56 PM

Attended Cloud Camp PDX today.  Great overall conversation, with a lot of familiar faces & people of the Portland brain trust participating.

The conference started off with a large group gathering in the main cafeteria room.  There was an unpanel put together with a few cloud gurus.  After a round of questions the main sessions where laid out and everyone started out to the break out session.  Open session conference topics ranges from couchdb to cloud security, to the glorious tips and tricks of Amazon.  Overall a great bunch of discussions really breaking down what a cloud is and what a cloud does.

Overall a lot of fun, great food, and good people with great minds.  One has to love to Portland tech scene.  If there was ever a reason for a company to locate in Portland, this room full of talent discussing the bleeding edge of technology is a prime reason.

After that we all broke into second set sessions.  I went to the "Is Cloud Computing a return to the time share, maintenance model, and what does that mean?".  I have to say, I don't think it will ever be an honest return to truly dumb terminals and server focus, it will continue to be mixed.

That was it for me, being the host I had cleanup and such, so hope all had fun.  I had a blast as I tend to at nerd events.  All in all, a good day.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

What is Unit Testing?
Justin Etheredge - Posted 6/30/2009 8:02 PM

The title of this post actually isn’t a question that I get asked very often. I think the reason that I don’t get asked this very often is because of two different reasons. The first reason is that people (and programmers especially) are embarrassed to admit when they don’t know something that they feel like they should know. Secondly, many developers out there think they know exactly what you are talking about when someone says “unit testing”.

Of those developers who think they know what unit testing actually means, I would be willing to bet that only about 10% really do. You see, the problem is that when most developers are asked to define unit testing they will say something like “tests that are run against a project using a unit testing framework”. That is kinda right… well… not really. It isn’t really right at all. In fact, calling frameworks like NUnit, xUnit, MbUnit, MSTest, etc… “unit testing frameworks” is inaccurate. They are instead “automated testing frameworks” which can be used to execute any number of kinds of tests. One of these kinds of tests just happens to be unit tests. There are also integration tests, performance tests, load tests, etc…

Okay, so what exactly is a unit test? It is a test which verifies a “unit”, or the smallest piece of an application which is able to be tested. Ideally, when writing a unit test in C#, you’d want to isolate an individual class and write tests against only its functionality. The developers doesn’t want to pull in external dependencies and doesn’t want to access external processes or services. Unit testing is all about testing small pieces in isolation.

So why would we want to write tests like this? Many reasons…

They are fast. Have you ever worked in a system that mixes unit tests and integration tests? How long did they take to run? I have worked in a handful of systems that weren’t very large and still had suites of tests that took 10+ minutes to run. How often do you think that developers are going to run these? Not very often at all, and being able to run your unit tests quickly and easily is very important to having quick feedback while developing. Forcing developers to sit through minutes of tests will guarantee that your tests will rarely get run. A broken test found after a developer has moved on to another task will take them substantially longer to fix than one they find right away.

They are reliable. If all of your tests only operate in memory and don’t touch the disk, go across the network, query from a database, etc… then we can be assured that these tests will, for the most part, run smoothly. You won’t have to deal with numerous different settings, connection strings, external processes, etc… Tests which don’t run reliably, or can break frequently will merely frustrate developers and keep them from running them. Remember, tests are useless if they aren’t run.

They are accurate. By this I mean that since they only test very small pieces of functionality it is often quite easy to tell what has broken when the test fails. In a test that crosses a wide swatch of the application, it can often be much harder to figure out where the breakage actually occurred. Having pinpoint tests makes sure that you can find your regressions quickly.

They are flexible. Applications are full of unexpected events. But if they are unexpected, then how can we make them happen in a reliable manner? How can we force a database to throw an exception during a query? Well, in many cases we probably can’t. These are the cases where unit tests allow us to fake dependencies in order to raise exceptions or to cause situations that would otherwise not likely come up during normal execution. Sometimes we don’t care about these events, but sometimes we do, and when we do we need to have some way to force them so that we know how our application is going to respond.

Does this mean that if we are writing integrations tests then we don’t need to write integration tests? Of course not! What it does mean is that integration tests need to be separated out from your unit tests so that they can be run in a single environment away from the developer’s desktop. Ideally this would occur on the build server. This way the developer doesn’t have to worry about long running or brittle tests. If all of the unit tests passed, but the integration tests didn’t, then the developers can take the time to figure out why these tests are executing correctly.

This is all great, why isn’t everyone writing unit tests? Well, unfortunately unit tests aren’t a cure-all. Many people complain that writing unit tests is a burden that they just don’t have time for. In fact, I came across a post today that said just that. I think that this is a myth that is generally driven by poorly designed software. Now I know that this is a generalization that is made quite frequently, and one that is even harder to back up, but I really think that this is the truth.

In an ideal system you would be writing unit tests as you are writing your classes, and then you would writing your integration tests as you integrate them in with the rest of the system. In some larger systems, units tests can be unavoidable. Often different pieces of the system are being written before their dependencies have even been created. Or they are created by separate teams that are simply developing against an interface. In these cases the unit tests would be written long before integration tests are even possible.

Another complaint that I often see is people complaining about brittle unit tests because they are using facilities such as MSTest’s accessors which allow developers to directly tests private methods (which I personally think is very bad practice, but that is another rant). Either that or they haven’t factored out methods in classes enough and they are trying to test way too much. Getting used to testing public interfaces of classes and not relying on internal implementations will go a long way toward having less brittle tests.

Automated testing is an indispensible tool, and unit testing is just one of the tasks that you should be performing with it. Testing your application from top to bottom is very important, but making sure that the individual pieces of your application work in isolation is often the only way to reliably and quickly exercise