.NET Developers Blog An aggregated blog of non-Microsoft .NET developers.

Welcome to the .NET Developers Blog

This is an aggregated blog of non-Microsoft .NET developers

I don't have a problem with Microsoft blogs and love reading them, but I feel that there is also need for a non-Microsoft blog site to see what the .NET community is buzzing about.

Another reason why I created this aggregator site is because I don't want blogs to be restricted to any specific domain. So, regardless of where you are hosting your blog, feel free to add your blog to this list.

The idea is to have a centralized website that aggregates all those .NET, C#, VB.NET, ASP.NET, Whidbey, Longhorn, WinFX blogs into one. Email me for any suggestions and feedback.

- Minh T. Nguyen

Add your blog

If you have a blog about Microsoft development add your blog here.

Syndication & Stats

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

Visual Studio .NET Tips and Tricks

Visual Studio .NET Tips and Tricks

Bloggers

.NET User Group Frankonia
   (5/5/2008 9:26 AM)
A Henry P. Erich III
   (11/22/2006 2:53 PM)
Aaron Junod
   (2/6/2007 12:31 PM)
Adam Beal
   (8/12/2006 11:05 AM)
Adam Kinney
   (5/21/2006 6:39 PM)
Adam Kinney
   (2/16/2007 2:37 PM)
Adam Weigert
   (4/30/2008 6:38 AM)
Adolfo Marinucci
   ()
Adrian Florea
   (5/9/2008 4:41 AM)
Adron Hall
   (5/16/2008 9:37 AM)
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
   (3/13/2008 2:23 AM)
Alexander Zeitler
   (5/19/2007 7:39 AM)
Alexandre Gomes
   (4/26/2008 7:36 PM)
ALTERthought
   (8/1/2007 4:18 PM)
Anand M.
   (3/26/2005 3:12 PM)
André Obelink
   (4/6/2008 2:42 PM)
Andrea Saltarello
   (5/16/2008 7:49 AM)
Andrej Budja
   (3/26/2005 3:12 PM)
Andres Aguiar
   (11/9/2007 11:43 PM)
Andrew Whitten
   (8/21/2007 8:08 PM)
Andy Smith
   (11/16/2006 10:54 PM)
Angry Hacker
   (5/1/2008 1:21 AM)
Anjana Ram
   (12/9/2007 12:43 AM)
Armand du Plessis
   (1/6/2008 11:29 PM)
Ashraful Alam
   (1/3/2007 2:58 AM)
Ashvil
   (8/9/2005 5:20 PM)
Avner Kashtan
   (4/16/2008 8:37 AM)
Axinom
   (4/21/2008 1:07 PM)
Barb Bowman
   (3/26/2005 3:14 PM)
Ben Hall
   ()
Ben S. Stahlhood II
   (1/4/2008 3:42 PM)
Bertrand
   (10/19/2006 12:03 AM)
Bil Simser
   (5/6/2008 11:45 PM)
Bill Evjen
   (5/15/2008 7:15 AM)
Bill Evjen
   (11/25/2007 5:34 PM)
Bill Wagner
   (2/18/2008 3:53 PM)
Bob Swart (aka Dr.Bob)
   (5/1/2008 5:55 AM)
Brendan Tompkins
   (5/29/2005 10:23 AM)
Brian Button
   (1/13/2008 7:53 PM)
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
   (1/24/2008 8:00 AM)
Bryan Reynolds
   (5/7/2008 5:38 PM)
Bryant Likes
   (5/12/2008 2:22 PM)
Carl Franklin
   (5/21/2006 7:33 PM)
Chris Hammond
   (4/28/2008 1:27 PM)
Chris Hammond
   (5/16/2008 8:33 PM)
Chris McKenzie
   (9/12/2006 4:12 PM)
Chris Stewart
   (5/5/2008 2:31 PM)
Chris Woodill
   (10/31/2007 6:28 AM)
Christian Nagel
   (5/21/2006 7:34 PM)
Christian Weyer
   (8/27/2006 11:54 PM)
Christoph Wille
   (5/1/2008 8:28 AM)
Christophe Lauer
   (6/5/2006 1:29 PM)
Christophe Menet
   (5/11/2008 12:06 PM)
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
   (5/16/2008 8:36 PM)
Craig Nicholson
   (1/3/2008 12:05 PM)
Damian Barrow
   (5/21/2006 7:35 PM)
Damir Tomicic
   (5/16/2008 7:56 AM)
Damir Tomicic on Architecture
   (2/1/2008 3:57 PM)
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
   (10/4/2007 11:06 PM)
David Brabant
   (5/14/2008 3:51 AM)
David Cumps
   (9/29/2007 9:11 AM)
David Douglass
   (5/4/2008 9:34 AM)
David Godwin
   (8/17/2007 10:34 AM)
David Truxall
   (2/6/2008 6:19 AM)
Dboy Smith
   (6/30/2005 12:41 PM)
Derek Hatchard
   (5/16/2008 12:33 PM)
Devdutt Patnaik
   (7/9/2007 10:26 AM)
devel.oping.net
   (4/24/2006 9:19 AM)
DevPinoy.Org
   (5/16/2008 11:37 AM)
Dion Hinchcliffe
   (4/8/2008 9:53 AM)
DnnCart.com
   (11/7/2005 12:18 AM)
DnnCart.com
   (8/25/2005 12:03 AM)
dodned.de (Damir Tomicic)
   (5/5/2008 8:42 AM)
Don Browning
   (5/21/2006 6:52 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
   (12/22/2007 1:20 AM)
Edgar Sánchez
   (5/5/2008 11:53 PM)
Emerging Technologies Group
   (8/21/2005 8:39 PM)
Erik Porter
   (2/12/2008 2:42 PM)
Ernst Kuschke
   (5/14/2008 10:24 AM)
Fabrice Marguerie
   (5/14/2008 5:42 PM)
Famil Jones
   (4/23/2008 4:12 PM)
fengzhimei
   (8/2/2006 10:27 PM)
Fons Sonnemans
   (3/25/2008 1:02 PM)
Forest Blog
   (5/9/2008 4:54 AM)
Frank Hileman
   (5/7/2008 11:48 AM)
Frans Bouma
   (5/1/2008 4:52 AM)
G. Gnana Arun Ganesh
   ()
Gaston Milano
   (4/30/2008 5:53 PM)
Gavin Donoho
   (8/27/2006 1:11 PM)
Gavin Stevens
   (4/26/2004 3:48 PM)
Giorgio Sardo
   (2/28/2008 2:26 AM)
Grant Killian
   (6/11/2005 3:23 AM)
Greg Hurlman
   (3/23/2007 10:31 AM)
Greg Robinson
   (3/28/2008 8:53 AM)
hammett
   (2/2/2006 9:57 AM)
Hannes Preishuber
   (5/9/2008 8:28 AM)
Holly Styles
   (5/15/2008 3:09 AM)
Huang
   (5/12/2008 4:53 PM)
Huw Collingbourne
   (5/15/2008 6:23 AM)
Igor Milovanovic
   (9/14/2004 9:01 AM)
Igor Milovanović
   (1/28/2008 4:01 AM)
Issam Elbaytam
   (10/29/2006 1:59 PM)
Iwan Taljaard
   (1/30/2005 9:42 AM)
J. Ambrose Little
   (5/21/2006 6:57 PM)
J. Frank Carr
   ()
James Avery
   (5/14/2008 9:20 AM)
James Steele
   (8/9/2007 3:47 PM)
Jan Tielens
   (5/8/2008 6:49 AM)
Jan-Cornelius Molnar
   (4/14/2007 10:41 AM)
Jason Alexander
   (11/16/2006 11:13 PM)
Jason Gorham
   (1/7/2007 6:27 PM)
Jason Haley
   (7/7/2005 12:48 AM)
Jason Nadal
   (1/30/2008 6:27 AM)
Jason Olson
   (4/13/2007 10:22 PM)
Jason Row
   (5/5/2008 9:11 PM)
Jason Salas
   (5/21/2006 6:59 PM)
Jason Stangroome
   (4/28/2007 10:00 PM)
Jason Stangroome
   (4/27/2008 4:24 AM)
Jay Kimble
   (7/6/2005 2:47 AM)
Jeff Julian
   (5/6/2008 1:51 PM)
Jeff Key
   (11/20/2006 10:47 PM)
Jeff Perrin
   (4/21/2007 7:35 PM)
Jeff Putz
   (5/15/2008 11:02 AM)
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
   (4/9/2008 1:45 PM)
JetBrains, Inc.
   (5/16/2008 8:11 AM)
Jim Cheseborough
   (8/22/2006 11:59 AM)
Jim Martin
   (5/10/2005 11:00 AM)
Joel Jeffery
   (4/26/2007 9:12 AM)
Johan Danforth
   (4/23/2008 4:26 AM)
John Papa
   (5/16/2008 2:34 PM)
John Qin
   (6/30/2005 1:21 AM)
John Sheehan
   (4/17/2008 7:12 PM)
John Tobler
   (1/23/2008 3:18 PM)
Jon Galloway
   (5/8/2008 4:55 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)
Justin Etheredge
   (5/15/2008 5:03 PM)
Justin Rogers
   (11/16/2006 11:18 PM)
Juval Lowy
   (2/16/2007 3:01 PM)
K. Scott allen
   (5/13/2008 8:02 PM)
Keith A. Barrows
   (5/12/2008 11:28 AM)
Keith Oliver Rull
   (5/18/2005 2:38 PM)
Keith Oliver Rull
   (4/17/2008 4:17 PM)
Ken Brubaker
   (5/2/2008 6:51 AM)
Kent Tegels
   (2/14/2007 12:26 PM)
Kevin Blakeley
   (7/6/2005 9:32 PM)
Kevin Daly
   (2/9/2008 1:16 PM)
Kevin Harder
   (12/23/2007 4:24 PM)
Kevin Potgieter
   (8/21/2005 11:17 AM)
Kiruthik Nandha Kumar
   (2/13/2008 11:04 PM)
Klaus Aschenbrenner
   (4/12/2006 9:20 AM)
Krishna Kumar
   (7/6/2005 9:32 PM)
Kyle Hebb
   (4/13/2007 8:44 PM)
Laimonas Simutis
   (2/4/2005 11:06 AM)
Laimonas Simutis
   (5/12/2008 8:32 PM)
Lamont Harrington
   (6/21/2005 3:00 PM)
Lance Hunt
   (3/27/2008 10:48 AM)
Lance Robinson
   (5/15/2008 10:09 AM)
Loren Halvorson
   (5/15/2008 8:57 AM)
Lorenzo Barbieri
   (7/9/2006 5:24 PM)
Luke Woodard
   (3/8/2007 7:09 PM)
Mack D. Male
   (5/6/2008 12:59 PM)
Mack D. Male
   (8/20/2005 9:53 PM)
Marcie Robillard
   (11/16/2006 11:23 PM)
Marco Russo
   (7/15/2006 1:59 AM)
Marcus Mac Innes
   (8/4/2005 9:45 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
   (5/13/2008 6:07 PM)
Marlon Ribunal
   (5/13/2008 10:09 PM)
Martin Spedding
   (5/21/2006 7:08 PM)
Mathew Nolton
   (5/25/2006 12:04 PM)
Matt Davey
   (5/21/2006 7:08 PM)
Matt Hawley
   (5/14/2008 10:39 PM)
Matt Watson
   (2/8/2008 8:53 PM)
Matthew Deiters
   (3/2/2006 2:30 PM)
Mauricio Scheffer
   (3/24/2008 9:55 PM)
Mehran Nikoo
   (4/24/2008 11:08 AM)
Memi Lavi
   (5/21/2006 7:09 PM)
Michael Freidgeim
   (5/16/2008 10:27 PM)
Michael Herman
   (11/2/2007 5:42 AM)
Michael Mello
   (9/15/2004 7:52 AM)
Michael Palermo
   (4/23/2008 4:30 PM)
Mickey Gousset
   (5/7/2008 9:07 AM)
Mike Diehl
   (5/24/2007 8:54 AM)
Mike Griffin
   (5/11/2008 8:51 AM)
Mike Kolitz
   (3/26/2005 4:04 PM)
Mike Richardson
   (3/13/2006 5:01 PM)
Milan Negovan
   (5/15/2008 5:55 AM)
Mitch Denny
   (5/13/2008 5:13 AM)
Mohammad Ashraful Alam
   (4/28/2008 2:07 AM)
Mohammad Hajjar
   (5/5/2008 9:26 PM)
Morten
   (5/15/2008 10:15 AM)
Morten
   (8/2/2006 4:58 PM)
Morten Abrahamsen
   (12/6/2007 5:36 PM)
Morten Christensen
   (8/8/2006 1:36 PM)
Morten Nielsen
   (1/30/2008 10:51 PM)
Nards Ocampo
   (2/1/2008 1:22 AM)
Nathan Maffeo
   (10/25/2006 11:00 AM)
Natty Gur
   (4/7/2008 3:44 AM)
Neno Loje
   (5/11/2008 4:11 PM)
Nick Grattan
   (5/5/2006 3:33 AM)
Nik
   (2/16/2007 5:37 AM)
Nikhil Kothari
   (5/6/2008 11:16 PM)
Notorious N.E.R.D
   (5/16/2007 7:26 AM)
odalet
   (10/25/2006 7:04 AM)
odalet
   (3/11/2007 4:41 PM)
Oddur Magnusson
   (2/2/2007 6:11 AM)
Oisin Grehan
   (5/8/2008 7:35 PM)
Oliver Sturm
   (5/16/2008 4:36 PM)
Ondrej Svacina
   (3/15/2008 11:55 AM)
P.J. van de Sande
   (4/22/2008 4:06 AM)
Paschal L
   (5/11/2008 7:03 AM)
Pasi Heinonen
   ()
Patrick Steele
   (5/16/2008 8:26 AM)
Patrick Tisseghem
   (2/26/2007 3:25 AM)
Patrik
   ()
Patrik Hägne
   (3/31/2008 2:12 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
   (4/30/2008 5:11 PM)
Paul Irwin
   ()
Paul Laudeman
   (6/15/2005 8:09 AM)
Paul Litwin
   (5/15/2008 2:21 AM)
Paul Louth
   ()
Paul Mendoza
   (2/10/2008 5:03 AM)
Paul Mooney
   (5/16/2008 10:19 AM)
Paul Wilson
   (3/12/2008 7:25 PM)
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/6/2008 11:12 AM)
Philip Rieck
   (12/18/2006 11:30 AM)
Pierre Greborio
   (4/4/2007 7:01 PM)
Pieter Germishuys
   (4/16/2008 10:31 PM)
Ralfs Sudelbücher
   (3/2/2008 2:25 PM)
Randy Holloway
   (3/26/2005 2:56 PM)
Ravikanth
   (3/10/2008 4:39 AM)
Raymond Lewallen
   (1/22/2008 6:13 PM)
Razor
   (7/6/2005 9:43 PM)
Reggie Burnett
   (3/4/2008 1:24 PM)
Reggie Burnett
   (5/13/2008 10:17 AM)
Richard Jonas
   (12/24/2006 12:21 AM)
Richard Jonas
   (10/17/2007 3:26 AM)
Rick Minerich
   (5/14/2008 12:04 PM)
Rick Smit
   (10/29/2004 12:46 AM)
Rickard Lindberg
   (5/7/2004 2:48 PM)
Rob Chartier
   (4/6/2008 5:23 PM)
Rob Tillie
   (2/2/2006 8:33 AM)
Robert Baiumann
   (5/7/2007 9:55 AM)
Robert Hurlbut
   (1/1/2008 4:27 PM)
Robert Lair
   (4/23/2008 5:15 PM)
Robert McLaws
   (11/15/2007 1:30 PM)
Robert McLaws
   (1/25/2008 11:37 AM)
Robert Sharp
   (2/16/2007 3:57 PM)
Roland Weigelt
   (4/12/2008 3:08 AM)
Ron White
   ()
Roy J. Salisbury
   (3/4/2006 4:38 PM)
Roy Osherove
   (5/15/2008 3:19 PM)
Russ Nemhauser
   (6/22/2005 11:03 PM)
Ryan Dawson
   (10/31/2007 12:45 PM)
Ryan Farley
   (9/12/2007 9:57 AM)
Ryan Rinaldi
   (4/26/2008 7:24 PM)
Sahil Malik
   (8/24/2006 7:42 PM)
Sam Gentile
   (7/16/2006 12:43 AM)
Sam Gentile
   (5/16/2008 8:33 AM)
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
   (5/6/2008 2:16 PM)
Scott Munro
   (3/9/2006 5:11 PM)
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
   (11/17/2006 5:44 AM)
Simone Busoli
   (8/6/2007 10:23 AM)
Softwaremaker
   (4/29/2008 4:29 AM)
Sriram Vaidyanathan
   (8/30/2007 1:42 PM)
Steele Price
   (5/12/2008 3:06 PM)
Stefan Cullmann
   (5/22/2005 4:27 AM)
stefan demetz
   (5/6/2008 11:31 PM)
Stefano Demiliani
   (6/16/2005 1:43 AM)
Stephen Kinsey
   (5/9/2008 5:24 AM)
Steve Eichert
   (6/20/2005 10:03 PM)
Steve Kapsinow
   (5/21/2006 6:33 PM)
Steve Schofield
   (5/14/2008 6:17 PM)
Steven M. Cohn
   (6/21/2007 6:00 PM)
Stuart Radcliffe
   (11/30/2007 1:28 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
   (3/13/2008 7:41 AM)
Sushila Patel
   (5/26/2007 11:02 AM)
Sven Cipido
   (5/5/2008 12:20 PM)
Team System Blog
   (4/29/2008 5:40 AM)
Tejas Patel
   (2/4/2005 3:45 AM)
Thea Burger
   (5/15/2008 7:01 AM)
Thom Allen
   (10/13/2004 2:15 PM)
Thomas Skovsende
   (7/10/2007 12:17 PM)
thomas woelfer
   (4/30/2008 9:33 AM)
Tim Hibbard
   (5/13/2008 9:27 AM)
Tim Murphy
   (3/6/2007 5:45 AM)
Tim Murphy
   (5/16/2008 1:07 PM)
Tim Weaver
   (5/14/2008 7:27 PM)
TK's Blog
   (2/18/2006 3:28 PM)
TOM_MUE
   (1/19/2008 9:28 AM)
uber
   (11/26/2007 8:39 AM)
Udi Dahan - The Software Simplist
   (5/16/2008 3:57 PM)
Vasanth Dharmaraj
   (11/9/2005 5:31 AM)
Victor Garcia Aprea
   (10/17/2007 10:53 PM)
Vijay
   (1/16/2005 10:18 PM)
VSTSBlog (by Neno Loje)
   (5/11/2008 10:07 AM)
Wallace B. McClure
   (5/16/2008 8:40 AM)
Warnar Boekkooi
   (11/23/2006 7:22 AM)
Wes Haggard
   (3/26/2008 10:18 PM)
Willem Odendaal
   (6/24/2005 12:38 AM)
Willy David Jr
   (4/21/2008 1:34 AM)
woaychee
   (5/4/2008 8:43 PM)
XAML Blogs
   (11/13/2004 11:20 AM)
Yezdaan Baber
   (5/2/2008 8:56 PM)
Yuri Gorobets
   (3/27/2005 5:06 PM)
Yves goeleven
   (4/16/2008 1:24 PM)

Ads


 
RadioButton with Image instead of text
Michael Freidgeim - 5/16/2008 10:27 PM PST
I want to have RadioButton with Image instead of text, that clicking on image the check-box will be selected
 
In the thread it is shown Radio button (without any text) and image on it's side.(but not inside radio-button)
<asp:RadioButton ID="RadioButton2" runat="server" GroupName="A1"
/><asp:image runat="server" id="Image2" /><br />
 
Radiobuttonlist Image Setting thread  suggests to use code
RadioButtonList1.Items.Add(New ListItem("<img src=""" + s + """/>", s))

It will be useful (TODO) to create derided from RadioButton control- RadioButtonWithImage, similar to what I've done previously : ASP.NET custom control HyperLinkWithImage and ASP.NET custom control CheckBoxWithImage
 
There is somehow related post and thread about creating custom control based on RadioButtonList.


Note on Customizing Content Query Web Part
Colt Kwong - 5/16/2008 8:36 PM PST

Content Query Web Part (CQWP) is a powerful feature in SharePoint, where users can create custom view of data that is queried from various sources, lists, libraries, and present all in one web part. One of my tasks yesterday is to create a content query web part, and query the contents from two sub-sites. Specifically, I have 2 calendars in 2 sub-sites and I have to query all events and combine into a master calendar in the top site (Of course I can make use of the great filtering, sorting and grouping features in CQWP).

After adding the CQWP, my next step is to customize the layout because the default one is too plain. I google and find all these useful articles:

One of the techniques in customizing CQWP layout is to make use of internal field name and modify CommonViewFields in the exported .webpart file. I follow all steps, modify the .webpart and xsl files as I wish, but I still can't display the content in my CQWP (I can see some other default fields like Title though).

Later, I find the bug is at the key element - CommonViewFields - It does not allow SPACE in the value string. For example:

Wrong:  <property name="CommonViewFields" type="string">Title, Text; Description, Note;</property>

Correct: <property name="CommonViewFields" type="string">Title,Text;Description,Note</property>

My note is that we developers cannot add SPACE when typing the value, or even anywhere in the tag. And, we should not add a semi-colon at the end of the string.

P.S. After customizing the layout and fields on the CQWP, we will most probably need to format the field, such as changing the time format of a DateTime field, number of decimal points etc, and here is a very useful reference article: Customizing the Content Query Web Part XSL


Welcome to Atlanta
Chris Hammond - 5/16/2008 8:33 PM PST
Short post, it's late, too much work to do, and I need to get to sleep soon. Nick and I made it to Atlanta, took 11.5-12 hours, too long, stupid traffic!

Oddities in F#/C# interaction
Oliver Sturm - 5/16/2008 4:36 PM PST
I have been working on getting a sample for using XPO from F#. My first sample was easily created back in January this year: #light open DevExpress.Xpo type Person = class inherit XPObject as base public new(session : Session) = { inherit XPObject(session); name = string.Empty } val mutable private [...]

7 Simple Questions for Service Selection
Udi Dahan - The Software Simplist - 5/16/2008 3:57 PM PST
“So, which services do I need?” This innocuous question comes up a lot. Usually I get this question after a short problem domain description. One of these came up on the nServiceBus discussion groups. Ayende took it and ran with it turning it into a nice blog post, An exercise in designing SOA systems. I’ve been [...]

Silverlight Consuming REST Services
John Papa - 5/16/2008 2:34 PM PST

I just finished writing the first draft of a sample I am including in my upcoming book tentatively titled Data Access with Silverlight 2 by O'Reilly. Without giving too much away yet since the final details of the contract are not set in stone, the application example consumes a REST service, manipulates it through LINQ to XML, and binds it to various controls and some composite controls. The interaction with the REST (REpresentational State Transfer) services is pretty slick and quite easy when using Silverlight and LINQ to XML. Of course there are always issues to deal with, but overall it works very nicely.

Why use REST? Well, REST services are becoming more abundant on the web. They do not expose a contract like WCF so when you deal with this type of data you can parse the XML using LINQ to XML or some other XML tools (though LINQ TO XML is so smooth why bother with anything else in this case). So this raw XML comes barreling into your Silverlight application asynchronously, LINQ to XML makes it fall in line, and its bound to where it needs to go via XAML.

Sending data back via REST is also very cool. I've got that working now too. I have to be careful not to go overboard fine tuning the examples though or the book will never get written :) Interacting with REST from Silverlight applications is just one piece of the data access puzzle, but its pretty cool.

 

Cross posted from johnpapa.net


Upcoming Chicago Architecture Group Presentation
Tim Murphy - 5/16/2008 1:07 PM PST

The Chicago Architecture Group will be holding a presentation on June 5th.  Below is the information and a link to register.  I hope to see you there.

Service Oriented Architecture Myth and Reality ; A Report from the Front Lines

by David Dickinson
Followed by open forum

http://chicagoarchitectsgroup.eventbrite.com/


New Podcast Episode
Derek Hatchard - 5/16/2008 12:33 PM PST
Posted at Derek Hatchard blogs on by Derek Hatchard (Go directly to post):
The latest of episode of Devcasting is posted (finally): http://devcasting.com/index.php/2008/05/16/devcasting-11-rob-windsor-on-many-things/
Go to post

Automatic Properties and Object Initializers in .Net 3.5
DevPinoy.Org - 5/16/2008 11:37 AM PST

With the release of .Net 3.5 alongside with Visual Studio 2008 , new enhancements was again introduced . Some maybe well pronounced such as the inclusion of WCF, WPF , LINQ in .Net 3.0 and some just came unnoticed. If you have been accustomed of using a particular method or technique in implementing a certain code in .Net 2.0 , because of backward compatibility , you may not even notice that there are new ways of implementing it in .Net 3.5.

Here are two new concepts in .Net 3.5 that a developer may not notice ( at least in my opinion ) : Automatic Properties and Object Initializers . To illustrate these two , I am going to present the pre-.Net 3.5 way (.Net 2.0) and the .Net 3.5 way in creating a simple class with simple properties.

Read More on this Article


Mobile Application Development Webcasts
Paul Mooney - 5/16/2008 10:19 AM PST
Reminder: Webcast Series on Mobile Application Development starting today

A 5-part Webcast series on Mobile Application Development is starting today at 2PM EST. An introduction into Mobile Application development.

Testing Environments
Adron Hall - 5/16/2008 9:37 AM PST
The new project is going to require multiple OS, Browser, and Office versions support.  This is just a list of my ideal platforms to test for.  In other words, "What I find acceptable to build modern platform tools to". OS - OS-X, Linux, Windows Vista, and Windows XP (In order of growing priority, with the later two possibly swapping spaces in the next year or two) Browsers - FireFox, Opera, Safari, IE (I'm not even touching the absurdity of IE6 though) Office 2003, Office 2007. ...(read more)

Follow me on Twitter
Wallace B. McClure - 5/16/2008 8:40 AM PST

As if we don't have enough things that waste our time, follow my comments about life and things upto 140 characters on twitter.  My twitter url is http://twitter.com/wbm and enjoy.

PS.  If you follow me, I'll follow you, assuming you aren't a twitter spammer.


SAML and Federated Identity - Part 3 Claims Links
Sam Gentile - 5/16/2008 8:33 AM PST

I am going to have to name this series something else but can't think of it right now. Anyhow, we're off into Claim-Based Security and I am writing a post, but until then some links:


Come to GANG next week!
Patrick Steele - 5/16/2008 8:26 AM PST

Next week, our local user group (GANG) is having Jason Beres -- INETA Speaker and Director of Product Management for Infragistics -- come and talk about building applications with Silverlight 2.0.  I'm really looking forward to this one since I haven't had time to dive into Silverlight myself.  Come on down to Microsoft's Southfield, Michigan offices on Wednesday, May 21st at 6:30pm.

PS: Sorry about the GANG website -- it's a little plain right now.  We're in the middle of re-working the website and should have the new one up before next weeks meeting.


ReSharper in Detail: Complete Statement Scenarios
JetBrains, Inc. - 5/16/2008 8:11 AM PST
One of new features provided in ReSharper 4.0 - Complete Statement - works in numerous coding scenarios. Some of them are listed in this post.

Strategien zu Branching und Merging in VSTS
Damir Tomicic - 5/16/2008 7:56 AM PST

Mein Kollege, Frank Zehelein, gab auf der "TeamConf 2008" in München seine Erfahrungen bei Branching und Merging mit VSTS in einem Vortrag weiter.

Hier möchte ich seine Vortragsfolien [1] zur Verfügung stellen, da die Inhalte sicherlich für viele, die sich mit VSTS in der täglichen Arbeit auseinandersetzen, sehr nützlich sein können.

[1] TeamConf_Branching_Merging.pdf (1,12 MB)


Compleanni... Virtuali
Andrea Saltarello - 5/16/2008 7:49 AM PST

Alessandro ricorda che ieri VMWare ha compiuto il decimo anno di età, e non posso che accodarmi agli auguri: considerando i miei ultimi 10 anni di "carriera professionale", "architettura" e "virtualizzazione" sono state le "folgorazioni" che più mi hanno segnato. So che ciò che sto per scrivere mi collocherà una volta di più nella casellina degli "uber geek", ma i feticci professionali cui sono più legato sono probabilmente proprio le fatture d'acquisto di VMWare 1.0 (datata 7 febbraio 2000) e Rational Rose (datata 18 maggio 2000).

Ricordo quanto tormentata fu la scelta di effettuare investimenti così onerosi (Rose lo pagai 3.830.000 lire +IVA, VMWare fortunatamente un bel po' meno e le versioni successive le ebbi gratis in qualità di MCT) per un freelance, ma a tutt'oggi sono soddisfatto della mia scelta e mi diverto un sacco a gestire il cluster ESX che ho installato in bottega, tampinando proprio l'amico Ale quando ho un problema che nessuno può risolvere (e non riesco a trovare l'A-team <g>).

E poi si sa: l'hypervisor fa parte delle invenzioni più determinanti nella Storia dell'Uomo, al pari di: ruota, fuoco e... Sedile reclinabile <g>


May Meet And Code Dinner
Justin Etheredge - 5/15/2008 5:03 PM PST

We are going to hold our third "Meet and Code" dinner ("Geek Dinner" if you will) on Thursday May 29th. SnagAJob.com is generously providing us with a meeting space. They are located at 4880 Cox Road, Suite 200 Glen Allen, VA 23060, which is in Innsbrook on Cox road just after you cross over Nuckols road.

The "Meet and Code" dinners are an open forum for developers to come and discuss anything any everything they want. You can give a mini-presentation if you want, or you could bring a problem that you have from work for other developers to take a look at. There will also be some food provided, some come hungry!

We have applied for an account on Microsoft's Click To Attend site, so we will add a signup link soon!


Typemock Isolator 4.2.4 is out
Roy Osherove - 5/15/2008 3:19 PM PST
Typemock Isolator 4.2.4 is out with some important fixes . More information here.


Anatomy of an ASP.NET site for amusement park fanboys
Jeff Putz - 5/15/2008 11:02 AM PST

This is a post I've meant to write for a very long time. Since 1998, my part-time job of sorts has been to maintain a number of community sites. One of those, started ten years ago, was Guide to The Point. "The Point" in this case is Cedar Point, an amusement park an hour west of Cleveland and about two hours from Detroit. It's home to more roller coasters than any other place on earth, and for people how grow up in the region, it's a summer ritual. In 2004, I joined forced with a friend doing another site, and we called it PointBuzz, inspired in name by my woefully neglected general coaster enthusiast site CoasterBuzz. These sites have become a business to a certain degree, since the ad revenue isn't exactly small coin. And if you can make money doing something you enjoy, why not?

Late last year we rebuilt the site. The old version was still running on v1.1 of .NET, and frankly a lot of the code was vintage 2001 stuff built on the beta of .NET. Our goals for rebuilding it were to concentrate on what we were good at: news, forums and photos. Our previous attempt ended up being a huge array of content that, frankly, was just as easily found on the official Cedar Point site and we didn't really have time to maintain it. A secondary goal was to boost performance (the site peaks around a million page views a month, sometimes as much as 100k a day) and get the code base into something maintainable. Let's face it, in 2001 I barely understood what OOP was, and even in 2004, prior to writing my book and having experience in a giant company, I had a lot to learn. The app as a whole was rather fragile when it came time to change something.

Naturally the first priority for me was rewriting POP Forums. The benefit of experience is that I know how many things I did poorly in the previous version from late 2003. I've tried to eliminate much of that legacy, but there are still things I find in my code, often inconsequential, that should be different, like checking for a string to be empty or null instead of String.IsNullOrEmpty(). I spent literally years trying to make it work with Membership and Profile in a way that I liked, and generally it did, but I abandoned that cause. You had to give stuff up too often when making efficient database calls, and that annoyed me. It's not that there aren't logical architectural solutions, it's that I was spending all kinds of time worrying about it, when I was the first and primary user of the app!

What was important to me was using a little AJAX where it made sense, and using the ASP.NET AJAX framework for any client script I had. The version you can download doesn't have it yet, but the version running on PointBuzz does, and I'm very pleased with the way you can encapsulate it and reuse it. The primary use is to load stuff into the page, like user profile data, dynamically. Most forums who you the user's name, number of posts, astrological sign and other useless shit that doesn't advance discussion, and I've always been annoyed by that. (Heck, you've been able to turn off signatures and profiles in my app, also annoying, since 2003.) So I just load that when a user chooses to view it. I also do first post previews this way, but not as tool tips the way vBulletin does (because I find that annoying too). Finally, I refactored the mess that is my rich text control, dating back to 2000 at least, so that it uses the AJAX framework.

The forum app does a whole lot of caching, but not to an extent that it isn't necessary. In old versions, I found that it wasn't holding on to much because the cache collection got enormous and it was always cycling items out. I also didn't cache on a paged basis, so if you viewed a topic with 1,000 posts, it read and cached the whole thing. That was silly. I've found that nearly all of the performance tweaks have to do with the database and caching, which I guess is certainly no surprise.

Custom controls were also a big part of it, using list controllers to handle UI elements based on the data they created. I had mixed success with this, because the thread page still has a lot of code in it because of all the stuff going on. On the other hand, the forum index page is pretty lean in code-behind. Doing custom templated controls also helps, because you can easily drop in an ad, for example, in between forums, topics or posts.

I prototyped a search engine for the forum way, way back in 2004, and after some tweaking I got something I'm pretty happy with. The SQL is incredibly ugly, but the performance isn't bad. Basically, when a post is updated, it's marked for indexing. A background thread on a timer dissects all of the words, throws out the junk and scores them on frequency and appearance in the title. I think the scoring formula needs some work, but most of the time I get pretty relevant results.

Honestly I could probably talk about the forum as a stream of consciousness forever, so I'll move on to photos. The truth is, we have too many. Walt, my partner on the site, went through a document everything phase, and we have over 6,000 photos to prove it. This is honestly not a totally solved problem. We have categories and albums as units of navigation, and we also have tags. The truth is that people generally go to photos of the roller coasters or to albums we link to from news items. We don't know if that's good enough, and we have thousands of photos untagged.

From a code standpoint, we started testing the photo app months before re-launching with live data. Contrary to the advice a lot of people gave me, I decided to store the photos in the database. My reasoning had mostly to do with ease of backing up. HttpHandlers serve the images and the thumbnails, and frankly I've not encountered any performance issues at all. I also kept permissions for editing the photo collection as abstract as possible. There's a simple HttpModule that does the required plumbing to map forum user data into the photo app. I can just as easily wire it up to anything else.

The news management is nothing special, and as such doesn't exist as its own project. The only interesting thing is that it will replace the first post of a special forum topic with a user control that has the news item in it, so essentially there are two views of it, either in the forum or the regular news page.

That's really the bulk of the site. The forum is used for all the member handling junk and e-mail.

Incidentally, I do hope to have another beta of the forum out soon. In addition to the items I listed on the PF site, I've also rewritten the private messaging.

A question I get a lot is, "Why not just use stuff that's already out there?" Aside from being my own code monkey, all of the stuff out there tries to be too many things to too many people. I don't have excessive database tables to deal with, superfluous UI, rigid style elements, etc. The forum is a lot of code, sure, but overall the rest of this stuff isn't hard to roll on your own. If you've got the skills, why not?


Spherical/Web Mercator: EPSG code 3785
Morten - 5/15/2008 10:15 AM PST

I just received an update from the EPSG mailing list:

New to Version 6.15 are (among other things): Added spherical Mercator coordinate operation method and associated CRS as seen in popular web mapping and visualisation applications.

It looks like they FINALLY added the spherical Mercator / Web Mercator projection used in Virtual Earth and Google Maps.

This is a big surprise. EPSG’s earlier statement whether to include it was this:

"We have reviewed the coordinate reference system used by Microsoft, Google, etc. and believe that it is technically flawed. We will not devalue the EPSG dataset by including such inappropriate geodesy and cartography.

guess they changed their mind, or they just devalued the dataset ?

Anyway, finally we get an official code for !

Here are the details of the entry:
COORD_REF_SYS_CODE: 3785
COORD_REF_SYS_NAME: Popular Visualisation CRS / Mercator   
AREA_OF_USE_CODE: 3544   
COORD_REF_SYS_KIND: projected   
COORD_SYS_CODE: 4499       
DATUM_CODE:
SOURCE_GEOGCRS_CODE: 4055   
PROJECTION_CONV_CODE: 19847   
CMPD_HORIZCRS_CODE:
CMPD_VERTCRS_CODE:
CRS_SCOPE: Certain Web mapping and visualisation applications.   
REMARKSUses spherical development. Relative to an ellipsoidal development errors of up to 800 metres in position and 0.7% in scale may arise. Some applications call this WGS 84. It is not a recognised geodetic system: see WGS 84 / World Mercator (CRS code 3395)   
INFORMATION_SOURCE: Microsoft.
DATA_SOURCE: OGP
REVISION_DATE: 3/14/2008
CHANGE_ID:
SHOW_CRS: TRUE
DEPRECATED: FALSE


Rock Star Software
Lance Robinson - 5/15/2008 10:09 AM PST

Charles Pyron at Stellar Media (a video production company in NC) on home audio recording software.


Evoluent Vertical Mouse now available in wireless model
Loren Halvorson - 5/15/2008 8:57 AM PST

I've praised this mouse before, but just discovered that the wireless model of the Evoluent Vertical Mouse is now available. I have the wired version, and it is without a doubt the most comfortable mouse I've ever used. I throw it in my bag and drag it back and forth between the office and home. (I wonder how long before the cord gets a short?).

The only modification I made was to physically disable the large bottom button closest to the desk by inserting a small rolled up piece of paper behind it because I kept hitting it inadvertently while just moving the mouse.

The wireless one would be nice if anyone wants to buy it for me, my birthday is coming up.  Anybody have one yet?  How does it work?  How is the battery life?


Wrox introduces new distribution model
Bill Evjen - 5/15/2008 7:15 AM PST

Ever want to get information for a reliable source then find what you need in a book but really not that interested in buying the entire book? Well, that is the type of customer Wrox is going after with the introduction of their new "Chapters on Demand" service.

image

You are now able to purchase individual chapters as a PDF file. Looking at the site, you will also find a lot of free chapters made available as well. Rather interesting to see how it goes - some people will love it and others will not.

Funny for me is that I still love to read so much on paper that I even still print out longer articles on the web to read/highlight/etc. I have a tough time getting into a long read of something on the screen .... maybe because I'm getting older now. ;)


Funny
Thea Burger - 5/15/2008 7:01 AM PST

Sorry Steven, stole this from you, but I found it very funny and applicable...

 
 


The Book Of Ruby - free in-depth Ruby eBook
Huw Collingbourne - 5/15/2008 6:23 AM PST
The Book Of Ruby is a free 400-page-plus eBook which will be released one chapter at a time over the next few months. It comes with hundreds of ready-to-run Ruby programs all of which are also supplied as free downloads.
I first started work on The Book Of Ruby over two years ago. The book was, in fact, written in parallel with the development of the Ruby In Steel IDE. To be frank, we felt we needed a comprehensive ‘test suite' of programs that would explore every facet of Ruby, (...)

The Easiest Thing to Do Should Be the Right Thing to Do
Milan Negovan - 5/15/2008 5:55 AM PST

If you haven’t read Michael Nygard’s book Release It!, you absolutely need to! It’s heavy on the infrastructure side of things, which isn’t my strength, but it’s an eye-opener to a lot of real-world issues I never considered. It’s also just fun to read.

Michael’s recent blog post caught my attention:

“Normal attrition means that the largest population of developers will always be the youngest and least experienced. This is not a training problem: in the post-commoditization world, the majority of code will always be written by undertrained, least-cost coders. That means we need platforms where the easiest thing to do is also the right thing to do.”

I fully agree with his statement that the easiest thing to do should be the right thing to do. The reason I’m growing so frustrated with Microsoft is that they do just the opposite.

ASP.NET AJAX (read UpdatePanel) is the easy thing to do, but it’s also the wrong thing to do from the standpoint of performance and resource hogging.

LINQ to SQL is the easy thing to do, but also the wrong thing to do because it’s meant for the RAD crowd. I often hear the misleading assertion that what the designer surface gives you, once you drag tables on it, is your domain model (which is incorrect). At the same time, the Entity Framework project has been on the ropes for god knows how long.

The Enterprise Library creates an illusion of easily applied building blocks, but it’s a horrible monstrosity I prefer not to even touch anymore. EntLib is definitely not “the right thing to do.”

Frameworks need to do the right thing out-of-the-box, not pander to the incompetent crowd.


Information Overload
Holly Styles - 5/15/2008 3:09 AM PST
The email server is refusing to get out of bed today, it's having a 'duvet' day :) Personally I won't be complaining about that. In modern times I often feel there are too many ways to demand my attention. Email, SMS Text, IM ...

Once upon a time you had to husband cattle and fish for squid before you could contact anybody with the written word. (Before paper, calf skin was used.) So nobody tried to get hold of you unless it was *really* important.

My Eugene Marathon Experience
Paul Litwin - 5/15/2008 2:21 AM PST

Race Day
Sunday, May 4th came for me at 5:30 AM. I awoke before the two alarms I had set went off, which was good because I managed to get up, dress, eat, and leave without waking the kids. And with only waking Suzanne briefly before she dozed back off to sleep. The four of us were sharing a hotel room at the Shilo Inn in Springfield, 3 miles north of the marathon start. I poured my Nature’s Path Optimum Slim cereal into the hotel bowl along with some milk and closed the bathroom door as I ate my race day breakfast (plus a banana) and finished getting dressed. Shoes -- check. Shirt, shorts, socks, hat -- check. Water bottle and belt -- check. Garmin GPS watch and heart rate strap -- check. Glide slathered on my chaff points (where my shorts hit the inside of my thighs) -- check.  Race number, timing chip, and bag to check at the start -- check. Okay, say goodbye to Suzanne and time to go.

Getting There
Suzanne and the kids weren’t planning on attending the start. So my plan was to go down to the lobby and try to tag along with other people going to the race. Or, if that didn’t work, call a cab. Fortunately, just before I was to call for a cab, three women wearing race numbers and marathon gear walked through the lobby. I asked them if they were headed to the marathon and if they had room for me and they said sure though they were running in the half. Even better, they were planning on stopping off at Starbucks on the way! So to thank them I paid for their drinks—I got a tall non-fat latte—and we drove off to Autzen stadium where the marathon was set to finish. From there, we caught a bus to the start.

While walking to the starting line, I noticed a bunch of runners heading into a building. I instantly followed into the law school building. Racing tip: It’s always preferable to use the bathrooms inside of a building instead of the porta-potties. Real bathrooms usually have less of a wait (in fact, there was no line), are warmer, and frankly a lot nicer than the porta-potties. Score!

After warming up for about a ¼ mile, I went back into the law school building and stretched, followed by one final potty break. I then proceeded to the bag dropoff just past the starting line and then got to the starting line (or as close as I could to it) with about 15 minutes until the scheduled start.

Thankfully, I ran into Peter (my brother) and his friend Gerry at the start. The start was pretty crowded; it was a single combined start for both the marathon and half marathon on a somewhat narrow street which made it worse. I was planning on trying to run with Krista from ChuckIt but could not locate her in the crowd so I lined up with Peter and Gerry and figured I’d be running most of the race alone. 10 minutes prior to the hour, I downed a Gu per my fuel and hydration plan. Eleven minutes later, the gun went off and the race had begun.

Compared to other shorter running events, the marathon is less of a race and more like a contest or battle. I say this because in most other races, the results are much more predictable. Take a 5K, for example. You pretty much know at the start that you will finish and even if you go out too fast (like I did at this year's resolution run in Seattle), you can always slow down and jog it in. Same goes for the 10K and even a half marathon. Not so for the marathon. Take my last two marathons, for example. In 2003, I was cruising at around 7:40 per mile for the first 17 or so miles and then quickly fell apart and hit the wall around mile 22. So in 2004, I decide to go out slower and I still managed to hit the wall around mile 22 or so.

Let’s face it. The marathon is a formidable opponent. Things may go as planned, or they just as easily (perhaps more easily) may not. You may do everything right and you still hit the wall or bonk. And how do you decide pace? Based on your half marathon or 10K time? Well that may work, but then again, it may not (it was a poor predictor for me in 2003 and 2004). The point I am trying to make is that as much as you can strategize, it isn’t a race. It’s a contest between you and the marathon. A battle of sorts to see if you have what it takes. And it had been 4 years since my last try.

No matter how many articles and blog posts I had read, no matter how many discussions with runner friends I had had, I still had no idea what was going to happen that day. A lot of effort had gone into getting me to the starting line on race day but that saying about “the best laid plans” was doubly true for a marathon. I hoped for a good race because I frankly didn’t know how (and I still don’t know) how many more marathons I had in me.

The Plan
The race began at 7:00 AM next to Hayward field. My basic plan was this: run the first 13 miles at about 8:10 pace and the last 13 miles at 7:50 pace. This would give me a finishing time of 3:30. My Boston Marathon qualifying cutoff time was 3:25:59 so that gave me 6 minutes of slack time above my goal time. Most importantly, I was not to start out too fast. A little slower than 8:10 was okay but not faster; after all there was slack built into the plan and was determined not to bonk.

The Start
The gun went off at 7:01 AM. I ran most of the first mile with Peter and Gerry. I tried to relax as I chatted with Peter and Gerry and joked around. Mile 1 included the most significant hill in the race which went on for a couple of blocks. Nothing too bad for someone who trains in Seattle. Overall, the first mile went well at 8:31. The second mile included a significant down hill so the 7:53 time wasn’t anything to be concerned about. Around this time I came up upon two young women (in their early twenties) dressed identically with matching pink tops and shorts, white socks, the same shoes, and pink ribbons in their hair. I asked them if they were twins; they were not. I hung behind them for a little while but eventually let them go ahead as well as many other runners. I was determined to stick to my race pla, not theirs. Mile 3 clocked at 8:00, followed by 8:06, 8:01, and 7:59 for mile 6. Okay, I was running closer to 8:00 pace for those first few miles but that was no cause for concern. Just stay relaxed and it would work out.

For those interested, here is a map of the course.

For the first 7 miles we were running south of the University of Oregon (U of O) and then looping back through the U of O, through downtown, and then finally across the Willamette river. During mile 6 at around 50 minutes into the race I downed another Gu per my plan and finished the water in my bottle. Suzanne and the kids were supposed to be at or near the mile 7 water stop but I didn’t see them. The idea was that they would swap out my water bottle at miles 7 and 17. This would save me from having to stop at the water stops to drink and increase the quantity of water I could consume. So far the plan was working nicely since I was able to down the first bottle of water without having to stop once. Now where were they?

The Potty Stop
About this time I realized that I had to go to the bathroom again. Never mind the fact that I had used the bathroom at least 3 times prior to the start. There’s just something about gravity. Enough said. Anyway, at about 7.5 miles into the race I saw a unoccupied porta-potty on the right side of the road and made the executive decision to go now and be done with it rather than put it off un