<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en-gb" xmlns="http://www.w3.org/2005/Atom">
  <title>Daniel McAdam</title>
  <link rel="alternate" type="text/html" href="http://daniel-mcadam.com/blog/" />
  <link rel="self" href="http://daniel-mcadam.com/blog/SyndicationService.asmx/GetAtom" />
  <icon>favicon.ico</icon>
  <updated>2009-11-17T03:00:30.3095+00:00</updated>
  <author>
    <name>Daniel McAdam</name>
  </author>
  <subtitle>Life of the software engineer</subtitle>
  <id>http://daniel-mcadam.com/blog/</id>
  <generator uri="http://dasblog.info/" version="2.3.9074.18820">DasBlog</generator>
  <entry>
    <title>When Boris Met Dave</title>
    <link rel="alternate" type="text/html" href="http://daniel-mcadam.com/blog/2009/11/17/When-Boris-Met-Dave.aspx" />
    <id>http://daniel-mcadam.com/blog/PermaLink,guid,05b1c2bd-cbeb-4b4e-b307-da0902a8cb52.aspx</id>
    <published>2009-11-17T03:00:30.3095+00:00</published>
    <updated>2009-11-17T03:00:30.3095+00:00</updated>
    <author>
      <name>Daniel McAdam</name>
    </author>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Had to share this photo:
</p>
        <p>
          <a href="http://daniel-mcadam.com/blog/content/binary/WindowsLiveWriter/WhenBorisMetDave_2A4C/boris_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Boris Johnson smokes a cigar" border="0" alt="Boris Johnson smokes a cigar" src="http://daniel-mcadam.com/blog/content/binary/WindowsLiveWriter/WhenBorisMetDave_2A4C/boris_thumb.jpg" width="499" height="360" />
          </a>
        </p>
        <p>
Yes it's Boris Johnson smoking a cigar. Ok, it's not really Boris, it's an actor,
but good all the same. 
</p>
        <p>
Lifted from the truly brilliant <a title="When Boris Met Dave" href="http://www.channel4.com/programmes/when-boris-met-dave/4od#3009995" target="_blank">When
Boris Met Dave</a> on Channel 4; The story of Boris and David Cameron when they were
at Eton and Oxford together.
</p>
        <img width="0" height="0" src="http://daniel-mcadam.com/blog/aggbug.ashx?id=05b1c2bd-cbeb-4b4e-b307-da0902a8cb52" />
      </div>
    </content>
  </entry>
  <entry>
    <title>My First Loaf</title>
    <link rel="alternate" type="text/html" href="http://daniel-mcadam.com/blog/2009/11/07/My-First-Loaf.aspx" />
    <id>http://daniel-mcadam.com/blog/PermaLink,guid,bf2f875d-3153-401f-a0bc-3e3ca5ee8f55.aspx</id>
    <published>2009-11-07T22:57:37.577125+00:00</published>
    <updated>2009-11-07T22:57:37.577125+00:00</updated>
    <author>
      <name>Daniel McAdam</name>
    </author>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
I am very excited! Today, for the first time ever, I successfully made a loaf of bread.
</p>
        <p>
          <a href="http://daniel-mcadam.com/blog/content/binary/WindowsLiveWriter/MyFirstLoaf_142DF/loaf1_4.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="loaf1" border="0" alt="loaf1" src="http://daniel-mcadam.com/blog/content/binary/WindowsLiveWriter/MyFirstLoaf_142DF/loaf1_thumb_1.jpg" width="516" height="458" />
          </a>
        </p>
        <p>
You might think that putting some ingredients in a bread machine and selecting 'program
2' would be very easy and consistently produce bread. However, several previous attempts
were not successful at producing bread. They were successful at producing building
materials though..
</p>
        <p>
          <a href="http://daniel-mcadam.com/blog/content/binary/WindowsLiveWriter/MyFirstLoaf_142DF/loaf2_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="loaf2" border="0" alt="loaf2" src="http://daniel-mcadam.com/blog/content/binary/WindowsLiveWriter/MyFirstLoaf_142DF/loaf2_thumb.jpg" width="516" height="311" />
          </a>
        </p>
        <p>
Although it looks a little odd and is flat on top, I am very proud of my bread.
</p>
        <img width="0" height="0" src="http://daniel-mcadam.com/blog/aggbug.ashx?id=bf2f875d-3153-401f-a0bc-3e3ca5ee8f55" />
      </div>
    </content>
  </entry>
  <entry>
    <title>User Display Text For Enums</title>
    <link rel="alternate" type="text/html" href="http://daniel-mcadam.com/blog/2009/11/05/User-Display-Text-For-Enums.aspx" />
    <id>http://daniel-mcadam.com/blog/PermaLink,guid,8d1e4c96-edef-4405-b462-b36fb16cdda1.aspx</id>
    <published>2009-11-05T21:53:44.627+00:00</published>
    <updated>2009-11-05T22:00:55.721375+00:00</updated>
    <category term="General Programming" label="General Programming" scheme="http://daniel-mcadam.com/blog/CategoryView,category,GeneralProgramming.aspx" />
    <author>
      <name>Daniel McAdam</name>
    </author>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Enums are great for fixed lists of options, including things like user configurable
application options. But what do you do in cases like this with the UI? You could
just hard code it, which sounds fine, enums are hard coded too. However this isn't
so fine when you need to add another value later; You have to go back and adjust the
UI, and if you have lots of screens which display the same options there is always
the chance you will miss one. 
</p>
        <p>
Wouldn't it be nice to get a list of values for an enum, with some display text included
that you could bind to UI control, or iterate over to create things like radio buttons
dynamically? You could just write some code to parse each enum and give you what you
want, but that's a bit tedious too. What you really want is to be able to attach display
text to the enum values right where they are defined and have a common function to
get a list for you. And that's exactly what you get here:
</p>
        <p>
        </p>
        <div style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:7a373cd5-1e14-4713-ba66-956b37432ae7" class="wlWriterEditableSmartContent">
          <p>
          </p>
          <div>
            <a href="http://daniel-mcadam.com/blog/content/binary/WindowsLiveWriter/UserDisplayTextForEnums_1132A/EnumUtil.dll" target="_blank">Download
- Binary</a>
          </div>
          <p>
          </p>
        </div>
        <p>
        </p>
        <p>
        </p>
        <div style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:e71b6fd8-0f6a-4531-b7c0-57fb379d9f3d" class="wlWriterEditableSmartContent">
          <p>
          </p>
          <div>
            <a href="http://daniel-mcadam.com/blog/content/binary/WindowsLiveWriter/UserDisplayTextForEnums_1132A/EnumUtil_3.zip" target="_blank">Download
- Source</a>
          </div>
          <p>
          </p>
        </div>
        <p>
        </p>
        <h4>How To Use It
</h4>
        <p>
Reference EnumUtil.dll in your project and EnumUtil in your namespace. Add an EnumDisplayText
attribute to each item in your enum. The first parameter takes the text you want to
display and the second takes an integer which defines the display order. Items with
the same display order will be grouped and sorted alphabetically by display text.
If an item does not have an attribute it will get the item name as its display text
and 0 as its display order.
</p>
        <pre class="code">
          <span style="COLOR: blue">public enum </span>
          <span style="COLOR: #2b91af">DemoEnum </span>{
[<span style="COLOR: #2b91af">EnumDisplayText</span>(<span style="COLOR: #a31515">"Hello,"</span>,
0)] a, [<span style="COLOR: #2b91af">EnumDisplayText</span>(<span style="COLOR: #a31515">"This
is"</span>, 1)] b, [<span style="COLOR: #2b91af">EnumDisplayText</span>(<span style="COLOR: #a31515">"a
lovely"</span>, 2)] c, [<span style="COLOR: #2b91af">EnumDisplayText</span>(<span style="COLOR: #a31515">"list."</span>,
3)] d }</pre>
        <p>
To get a list containing the enum items with their display text use the static method
GetList() from the generic class Enums&lt;T&gt;, where T is the enum you want.
</p>
        <pre class="code">
          <span style="COLOR: #2b91af">List</span>&lt;<span style="COLOR: #2b91af">EnumListItem</span>&lt;<span style="COLOR: #2b91af">DemoEnum</span>&gt;&gt;
enumList = <span style="COLOR: #2b91af">Enums</span>&lt;<span style="COLOR: #2b91af">DemoEnum</span>&gt;.GetList(); </pre>
        <p>
 
</p>
        <p>
You'll get back a generic list of type EnumListItem. The EnumListItem has the following
fields:
</p>
        <ul>
          <li>
EnumValue – An item from your enum 
</li>
          <li>
Name – The name of the item 
</li>
          <li>
DisplayText – The display text you specified in the item attribute 
</li>
          <li>
DisplayOrder – The display order you specified in the item attribute</li>
        </ul>
        <p>
So, for example, to bind the list to a winforms list box you could do this:
</p>
        <pre class="code">
          <span style="COLOR: #2b91af">List</span>&lt;<span style="COLOR: #2b91af">EnumListItem</span>&lt;<span style="COLOR: #2b91af">DemoEnum</span>&gt;&gt;
enumList = <span style="COLOR: #2b91af">Enums</span>&lt;<span style="COLOR: #2b91af">DemoEnum</span>&gt;.GetList(); <span style="COLOR: blue">this</span>.listBox1.DisplayMember
= <span style="COLOR: #a31515">"DisplayText"</span>; <span style="COLOR: blue">this</span>.listBox1.ValueMember
= <span style="COLOR: #a31515">"EnumValue"</span>; <span style="COLOR: blue">this</span>.listBox1.DataSource
= enumList;</pre>
        <p>
 
</p>
        <p>
If you just want to get the display text for a specific enum item use GetDisplayText(T
item).
</p>
        <pre class="code">
          <span style="COLOR: blue">string </span>displayText = <span style="COLOR: #2b91af">Enums</span>&lt;<span style="COLOR: #2b91af">DemoEnum</span>&gt;.GetDisplayText(<span style="COLOR: #2b91af">DemoEnum</span>.a);</pre>
        <p>
 
</p>
        <p>
There is a little demo application included with the source that shows all this stuff
in use.
</p>
        <p>
 
</p>
        <h4>How It Works
</h4>
        <p>
I'll walk through the GetDisplayText method, GetList does the same thing in a loop..
</p>
        <pre class="code">
          <span style="COLOR: blue">public static string </span>GetDisplayText(<span style="COLOR: #2b91af">Enum </span>item)
{ <span style="COLOR: #2b91af">Type </span>type = item.GetType(); <span style="COLOR: #2b91af">MemberInfo</span>[]
memberInfo = type.GetMember(item.ToString()); <span style="COLOR: blue">if </span>(memberInfo
!= <span style="COLOR: blue">null </span>&amp;&amp; memberInfo.Length &gt; 0) { <span style="COLOR: blue">object</span>[]
customAttributes = memberInfo[0].GetCustomAttributes(<span style="COLOR: blue">typeof</span>(<span style="COLOR: #2b91af">EnumDisplayText</span>), <span style="COLOR: blue">false</span>); <span style="COLOR: blue">if </span>(customAttributes
!= <span style="COLOR: blue">null </span>&amp;&amp; customAttributes.Length &gt; 0)
{ <span style="COLOR: blue">return </span>((<span style="COLOR: #2b91af">EnumDisplayText</span>)customAttributes[0]).DisplayText;
} } <span style="COLOR: blue">return </span>item.ToString(); }</pre>
        <p>
          <a href="http://11011.net/software/vspaste">
          </a>First up, we get the type of the enum,
then we query the type to get the details of the enum item we are interested in. Next,
we get the custom attributes for the item (only attributes of type EnumDisplayText).
If we find an attribute of the right type, access the DisplayText field and return
it, otherwise return the name of the item.
</p>
        <p>
That's it!
</p>
        <p>
Thanks to Abhinaba Basu for his <a href="http://blogs.msdn.com/abhinaba/archive/2005/10/20/483000.aspx" target="_blank">blog
post</a> which inspired this / did all the hard work..
</p>
        <p>
Enjoy!
</p>
        <img width="0" height="0" src="http://daniel-mcadam.com/blog/aggbug.ashx?id=8d1e4c96-edef-4405-b462-b36fb16cdda1" />
      </div>
    </content>
  </entry>
  <entry>
    <title>VBTV – Video Download</title>
    <link rel="alternate" type="text/html" href="http://daniel-mcadam.com/blog/2009/10/06/VBTV-Video-Download.aspx" />
    <id>http://daniel-mcadam.com/blog/PermaLink,guid,f1bcf10c-719a-414b-bae0-09150088edf8.aspx</id>
    <published>2009-10-06T07:29:33.37675+01:00</published>
    <updated>2009-10-07T02:55:08.25175+01:00</updated>
    <author>
      <name>Daniel McAdam</name>
    </author>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://daniel-mcadam.com/blog/content/binary/WindowsLiveWriter/VBTV_6945/vbtv_4.jpg">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="vbtv" border="0" alt="vbtv" src="http://daniel-mcadam.com/blog/content/binary/WindowsLiveWriter/VBTV_6945/vbtv_thumb_1.jpg" width="244" height="137" />
          </a>
        </p>
        <p>
Anybody remember VBTV from when .net 1.0 first came out? I was just going through
some old backups and found the files. They don’t seem to be on MSDN anymore, and Google
doesn’t seem to offer any help finding them either. So, for your viewing pleasure,
here they are:
</p>
        <p>
(Right click and save target)
</p>
        <p>
          <a href="http://daniel-mcadam.com/blog/content/binary/vbtv/VBTV001_300k.asf">Episode
1</a>
        </p>
        <p>
          <a href="http://daniel-mcadam.com/blog/content/binary/vbtv/VBTV002_300k.asf">Episode
2</a>
        </p>
        <p>
          <a href="http://daniel-mcadam.com/blog/content/binary/vbtv/VBTV003_300k.asf">Episode
3</a>
        </p>
        <p>
          <a href="http://daniel-mcadam.com/blog/content/binary/vbtv/VBTV004_300k.asf">Episode
4</a>
        </p>
        <p>
They’ll play in Media Player, but seem to use some obscure audio codec. If you don’t
get any sound these should sort you out:
</p>
        <p>
          <a href="http://daniel-mcadam.com/blog/content/binary/vbtv/Vista_Install_AcelpNet.exe">Acelp
audio codec for Vista and Windows 7</a>
        </p>
        <p>
          <a href="http://daniel-mcadam.com/blog/content/binary/vbtv/acelp_net.exe">Acelp audio
codec for Windows XP</a>
        </p>
        <p>
 
</p>
        <p>
          <a href="http://daniel-mcadam.com/blog/content/binary/WindowsLiveWriter/VBTV_6945/vbtv2_2.jpg">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Chris &amp; Ari" border="0" alt="Chris &amp; Ari" src="http://daniel-mcadam.com/blog/content/binary/WindowsLiveWriter/VBTV_6945/vbtv2_thumb.jpg" width="244" height="173" />
          </a>
        </p>
        <p>
          <a href="http://daniel-mcadam.com/blog/content/binary/WindowsLiveWriter/VBTV_6945/vbtv1_2.jpg">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Head in The Box" border="0" alt="Head in The Box" src="http://daniel-mcadam.com/blog/content/binary/WindowsLiveWriter/VBTV_6945/vbtv1_thumb.jpg" width="244" height="192" />
          </a>
        </p>
        <img width="0" height="0" src="http://daniel-mcadam.com/blog/aggbug.ashx?id=f1bcf10c-719a-414b-bae0-09150088edf8" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Who is Daniel McAdam?</title>
    <link rel="alternate" type="text/html" href="http://daniel-mcadam.com/blog/2009/07/05/Who-Is-Daniel-McAdam.aspx" />
    <id>http://daniel-mcadam.com/blog/PermaLink,guid,a958abd8-3a50-44b9-857f-1fd8934919f4.aspx</id>
    <published>2009-07-05T16:36:55.0771618+01:00</published>
    <updated>2009-07-05T16:37:34.5771618+01:00</updated>
    <category term="About Daniel" label="About Daniel" scheme="http://daniel-mcadam.com/blog/CategoryView,category,AboutDaniel.aspx" />
    <author>
      <name>Daniel McAdam</name>
    </author>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’ve been getting a bit distressed recently about what Google comes up with when you
search for ‘Daniel McAdam’. Seems there are lots of pretenders out there who share
this great name. 
</p>
        <p>
It is time to set the record straight. 
<br /><em>I do not</em>:
</p>
        <ul>
          <li>
Collect Mexican stamps. 
</li>
          <li>
Have long blond hair and wear a baseball cap – That’s dodgy Dan on Facebook.</li>
          <li>
Work as a sales director.</li>
          <li>
Study at South Carolina University.</li>
          <li>
Have a middle name starting with P or J.</li>
        </ul>
        <p>
If you are looking for any of these Daniels go back to Google. This site belongs to
the only real ‘Daniel McAdam’. 
<br /><em>I do</em>:
</p>
        <ul>
          <li>
Work as a software engineer / architect.</li>
          <li>
Focus mainly, but not exclusively, on Microsoft technologies.</li>
          <li>
Have an interest in encouraging other software engineers to broaden their horizons
by thinking about language, literature, culture, philosophy and how these things can
relate to what they do.</li>
          <li>
Like to help charities out with their technology from time to time.</li>
          <li>
Like to read great works, particularly from Russian authors.</li>
          <li>
Like to ski.</li>
          <li>
Like good architecture (buildings and software).</li>
          <li>
Have a motorbike license (no bike at the moment).</li>
          <li>
Live in the North West of England.</li>
          <li>
Travel as often as I can.</li>
        </ul>
        <p>
          <a href="http://daniel-mcadam.com/blog/content/binary/WindowsLiveWriter/WhoisDanielMcAdam_E4FF/Daniel%20McAdam_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Daniel McAdam" border="0" alt="Daniel McAdam" src="http://daniel-mcadam.com/blog/content/binary/WindowsLiveWriter/WhoisDanielMcAdam_E4FF/Daniel%20McAdam_thumb.jpg" width="481" height="350" />
          </a> <br />
This is me. In Mexico City. No Stamps.
</p>
        <img width="0" height="0" src="http://daniel-mcadam.com/blog/aggbug.ashx?id=a958abd8-3a50-44b9-857f-1fd8934919f4" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Broken Computers Make Life Miserable</title>
    <link rel="alternate" type="text/html" href="http://daniel-mcadam.com/blog/2009/07/05/Broken-Computers-Make-Life-Miserable.aspx" />
    <id>http://daniel-mcadam.com/blog/PermaLink,guid,59ec3011-2271-462a-bf2a-fe7acab04949.aspx</id>
    <published>2009-07-05T16:18:00+01:00</published>
    <updated>2009-07-05T17:18:12.7802868+01:00</updated>
    <category term="Poetry" label="Poetry" scheme="http://daniel-mcadam.com/blog/CategoryView,category,Poetry.aspx" />
    <author>
      <name>Daniel McAdam</name>
    </author>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Last night I was at a barbeque with a few people on Claudia’s roof. 
<br />
After midnight and a lot of drinks we got to reciting poetry. Here’s one by Ralph
that I want to share:
</p>
        <p>
          <font face="Georgia">Yes, I will grab the world by it’s horns and shake it until it
gives me what I want!<br />
Not wasting any time anymore.<br />
No! Proactive and full of power and energy, making the best of my life and my current
situations.<br />
And as the last shirt has no pockets, lets give it all now.<br /></font>
          <font face="Georgia">Already by 9am I start.<br />
In front of my computer, ready for action.<br />
When it crashes and freezes all my personal and professional documents.<br />
Leaving me in utter disbelief, helplessness, despair and finally panic.<br /></font>
          <font face="Georgia">10 hours later by 7pmish – no progress!<br />
I am shattered, but on the way to a meditation workshop in Wales.<br />
Driving through heavy rain and snow in a tiny car with no heating and a very tired
windscreen wiper.<br />
Maharishi talks about the absolute and relative aspect of life.<br />
And the beauty of a flower and other manifestations of this higher intelligence.<br />
And I meditate.<br />
On anti-virus software, firewalls and frozen computer screens.<br />
So much for taking my destiny by it’s horns!</font>
        </p>
        <p>
Ralph is a rock star, poet and yoga teacher. He spends most of his life touring the
world. In his spare time he is a GP.
</p>
        <p>
Software engineers, what can we take from this? The software we produce can have profound
effects on the lives of the people who use it. Always remember this. By taking the
time to make it robust, resilient, effective and pleasant to use, we can improve in
part the lives of others.
</p>
        <img width="0" height="0" src="http://daniel-mcadam.com/blog/aggbug.ashx?id=59ec3011-2271-462a-bf2a-fe7acab04949" />
      </div>
    </content>
  </entry>
  <entry>
    <title>N-Tier Design Article</title>
    <link rel="alternate" type="text/html" href="http://daniel-mcadam.com/blog/2009/07/03/NTier-Design-Article.aspx" />
    <id>http://daniel-mcadam.com/blog/PermaLink,guid,f75b184a-a083-4828-afb5-87f8c9f67d48.aspx</id>
    <published>2009-07-03T02:23:47.311625+01:00</published>
    <updated>2009-07-03T02:25:03.046+01:00</updated>
    <category term="Patterns and Software Design" label="Patterns and Software Design" scheme="http://daniel-mcadam.com/blog/CategoryView,category,PatternsAndSoftwareDesign.aspx" />
    <author>
      <name>Daniel McAdam</name>
    </author>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’ve just read a great article in MSDN Magazine online:
</p>
        <p>
          <a href="http://msdn.microsoft.com/en-gb/magazine/dd882522.aspx" target="_blank">Anti-Patterns
To Avoid In N-Tier Applications by Daniel Simmons</a>
        </p>
        <p>
It does claim to be about building applications that use the Entity Framework, but
forget about that, it’s a great article that applies to any n-tier design.
</p>
        <p>
Six ‘anti-patterns’ are covered:
</p>
        <ol>
          <li>
Tight Coupling</li>
          <li>
Assuming Static Requirements (i.e. the customer knows what they want in advance)</li>
          <li>
Mishandled Concurrency</li>
          <li>
Stateful Services</li>
          <li>
Two Tiers Pretending To Be Three</li>
          <li>
Undervaluing Simplicity</li>
        </ol>
        <p>
So what is an anti-pattern? It’s just an example of a bad way of doing things.
</p>
        <p>
I’ve witnessed countless horrible situations which could have been avoided by avoiding
each of these anti-patterns.
</p>
        <p>
          <strong>Tight coupling:</strong> Systems where every bug fix generates new bugs (sometimes
hundreds). Dev teams end up in an endless cycle chasing their tails and everyone with
an interest in the product from the developers to the customer gets upset.
</p>
        <p>
          <strong>Assuming Static Requirements:</strong> There are so many situations where
it is obvious that a change in the spec is likely to happen at some point the future.
Designing a system to be tolerant of change reduces the risk of having to do some
serious reworking, or even binning the whole thing and starting again. Sometimes this
can be as simple as just storing lists in a database that can be added to instead
of hard coding them.
</p>
        <p>
          <strong>Mishandled Concurrency:</strong> This can be a nightmare. Customers start
complaining that their data disappears or isn’t right – sometimes. A related and even
harder to track down issue is mishandled threading. This is a big area, but here is
one tip: do not wrap database connections in a singleton in a multithreaded app. It
will break.
</p>
        <p>
          <strong>Stateful Services:</strong> Complicated and time consuming to build, don’t
scale. Enough said.
</p>
        <p>
          <strong>Two Tiers Pretending To Be Three:</strong> I have seen so many systems which
started out with grand 3-tier intentions and after about five minutes the business
logic is spread out all over the place. Some of it is in the middle where it should
be, some of it is in the UI and some of it is in stored procedures in the database.
And there is SQL in the UI. And there are pieces of UI in the database (as is stored
procedure gets some data, applies some business logic to it and returns HTML which
goes through the middle, possibly getting modified along the way and inserted into
the rest of the UI). Nasty to debug. Nasty to change. Nasty.
</p>
        <p>
          <strong>Undervaluing Simplicity:</strong> I just cannot face another complex solution
to a simple problem. I get the feeling that some developers like to create complex
solutions to somehow prove that they are smart. The smart thing to do is keep the
simple simple. Here’s a quote from Tony Hoare (the creator of QuickSort): “The pursuit
of complexity is easy, and the implementation of complexity can safely be delegated
to competent managers. But the pursuit of simplicity is one of the most difficult
and challenging activities of the human mind.” - Challenge yourself every day.
</p>
        <img width="0" height="0" src="http://daniel-mcadam.com/blog/aggbug.ashx?id=f75b184a-a083-4828-afb5-87f8c9f67d48" />
      </div>
    </content>
  </entry>
  <entry>
    <title>The Art Of Speed Reading</title>
    <link rel="alternate" type="text/html" href="http://daniel-mcadam.com/blog/2009/07/02/The-Art-Of-Speed-Reading.aspx" />
    <id>http://daniel-mcadam.com/blog/PermaLink,guid,708f38f0-e9b1-4561-943f-1b269034b916.aspx</id>
    <published>2009-07-02T22:56:00+01:00</published>
    <updated>2009-07-03T00:04:23.092875+01:00</updated>
    <category term="Speed Reading" label="Speed Reading" scheme="http://daniel-mcadam.com/blog/CategoryView,category,SpeedReading.aspx" />
    <author>
      <name>Daniel McAdam</name>
    </author>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
About a year ago I went to London with Claudia for the weekend to attend a conference.
We stayed with another doctor Claudia knew and her husband Naoise (pronounced NEE
sha). 
</p>
        <p>
On Saturday Naoise got a delivery from Amazon containing about five books. He told
me that he gets a similar delivery most days and is having trouble getting into his
office it’s so full of books. I wondered why he would spend so much money on all these
books. Now I do love reading, and think everyone should read as much as they can,
but he couldn’t possibly get through 25 to 30 books a week. 
</p>
        <p>
However, he was adamant that he could. He went on to tell me about a speed reading
course that he had taken years ago, the effect it had had on him and strongly encouraged
me to book a place on one as soon as I got home. 
</p>
        <p>
On getting back to the lovely north west of England I soon discovered that such courses
are only available in the south of England.. However my search results for a course
included a link to Amazon. A few days later I had a copy of The Speed Reading Book
by Tony Buzan.
</p>
        <p>
          <a href="http://daniel-mcadam.com/blog/content/binary/WindowsLiveWriter/TheArtOfSpeedReading_150E2/The%20Speed%20Reading%20Book_2.jpg">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="The Speed Reading Book" border="0" alt="The Speed Reading Book" align="left" src="http://daniel-mcadam.com/blog/content/binary/WindowsLiveWriter/TheArtOfSpeedReading_150E2/The%20Speed%20Reading%20Book_thumb.jpg" width="152" height="240" />
          </a>
        </p>
        <p>
        </p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
 <a href="http://www.amazon.co.uk/Speed-Reading-Book-Revolutionary-Comprehension/dp/1406610216/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1246569310&amp;sr=8-1" target="_blank">Amazon
UK Page</a> | <a href="http://www.amazon.com/Speed-Reading-Third-Tony-Buzan/dp/0452266041/ref=pd_sim_b_4" target="_blank">Amazon
US Page</a></p>
        <p>
The book describes itself as a revolutionary approach to increasing reading speed,
comprehension and general knowledge. Would I say that it is revolutionary? No. Did
it increase my reading speed, comprehension and general knowledge? Yes.
</p>
        <p>
It’s got some good reviews on Amazon and some not so good. I find myself agreeing
with both to a degree. However, if you follow it through to the end it will definitely
have a very positive effect. I have been a fairly slow reader for most of my life.
Now I get through a page in a novel in just under a minute (currently reading The
Gulag Archipelago by Aleksandr Solzhenitsyn – brilliant, buy it - <a href="http://www.amazon.co.uk/Gulag-Archipelago-Abridged-Harvill-Editions/dp/1843430851/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1246574275&amp;sr=8-1" target="_blank">Amazon
UK Page</a> | <a href="http://www.amazon.com/Gulag-Archipelago-Harvill-Press-Editions/dp/1843430851/ref=sr_1_1?ie=UTF8&amp;qid=1246574327&amp;sr=8-1" target="_blank">Amazon
US Page</a>). It can take a while for speed reading to feel natural, and it can feel
like it’s taking away from the enjoyment of reading the book – at first. But after
a bit of practice it will make reading books for pleasure much more satisfying. 
</p>
        <p>
Speed reading makes a bit difference to your life as a developer. You can effectively
skim through 800 page tombs like Code Complete (essential material for any developer,
if you don’t have it buy it - <a href="http://www.amazon.co.uk/Code-Complete-Practical-Handbook-Construction/dp/0735619670/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1246575080&amp;sr=8-1" target="_blank">Amazon
UK Page</a> | <a href="http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1246575010&amp;sr=8-1" target="_blank">Amazon
US Page</a>) in a day and detailed blog entries in seconds and retain a surprising
amount. If you combine this with listening to podcasts on the way to work you will
dramatically increase the range of tools and techniques you have available to tackle
projects at work. Your work will become more satisfying, the quality of your work
will increase and eventually you’ll be worth more to your employer – and hopefully
they’ll recognise this and pay your more.
</p>
        <p>
So there you have it. Change your life with one pink book. I’m off to buy some shares
in Amazon.
</p>
        <img width="0" height="0" src="http://daniel-mcadam.com/blog/aggbug.ashx?id=708f38f0-e9b1-4561-943f-1b269034b916" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Daniel McAdam's Podcasts For Software Developers List</title>
    <link rel="alternate" type="text/html" href="http://daniel-mcadam.com/blog/2009/07/01/Daniel-McAdams-Podcasts-For-Software-Developers-List.aspx" />
    <id>http://daniel-mcadam.com/blog/PermaLink,guid,53242be5-7e7d-4432-9f4e-44edfbb8a794.aspx</id>
    <published>2009-07-01T01:13:01.186+01:00</published>
    <updated>2009-07-05T15:24:05.9365368+01:00</updated>
    <category term="Podcasts" label="Podcasts" scheme="http://daniel-mcadam.com/blog/CategoryView,category,Podcasts.aspx" />
    <author>
      <name>Daniel McAdam</name>
    </author>
    <content type="html">&lt;p style="line-height: normal; margin: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class="MsoNormal"&gt;
&lt;span style="font-family: 'Verdana','sans-serif'; color: #003300; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;Podcasts
are great for keeping up to date, getting new ideas and generally helping you to feel
connected with the rest of the geek community. Much less effort than reading a book,
particularly with subjects that you're not even sure you're interested in yet, and
you can listen to them on your way to work.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class="MsoNormal"&gt;
&lt;span style="font-family: 'Verdana','sans-serif'; color: #003300; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;The
quality of some of the podcasts out there is truly fantastic. Here's what you'll find
on my iPod:&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-outline-level: 4" class="MsoNormal"&gt;
&lt;b&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: #003300; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;.net
General Programming&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;ul type="disc"&gt;
&lt;li style="line-height: normal; margin: 0cm 0cm 10pt; color: #003300; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l3 level1 lfo1; tab-stops: list 36.0pt" class="MsoNormal"&gt;
&lt;span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;.NET
Rocks! - The original .net show. Been around for years and still one of the best.&lt;br&gt;
&lt;a href="http://www.dotnetrocks.com/"&gt;&lt;span style="color: blue; mso-bidi-font-size: 11.0pt"&gt;http://www.dotnetrocks.com/&lt;/span&gt;&lt;/a&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt; 
&lt;li style="line-height: normal; margin: 0cm 0cm 10pt; color: #003300; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l3 level1 lfo1; tab-stops: list 36.0pt" class="MsoNormal"&gt;
&lt;span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;Hanselminutes
- From the great Scott Hanselman.&lt;br&gt;
&lt;a href="http://www.hanselminutes.com/"&gt;&lt;span style="color: blue; mso-bidi-font-size: 11.0pt"&gt;http://www.hanselminutes.com/&lt;/span&gt;&lt;/a&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="line-height: normal; margin: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-outline-level: 4" class="MsoNormal"&gt;
&lt;b&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: #003300; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;.net
UI and UX&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;ul type="disc"&gt;
&lt;li style="line-height: normal; margin: 0cm 0cm 10pt; color: #003300; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo2; tab-stops: list 36.0pt" class="MsoNormal"&gt;
&lt;span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;pixel8
- Craig Shoemaker focuses on the user end of development.&lt;br&gt;
&lt;a href="http://community.infragistics.com/pixel8/default.aspx"&gt;&lt;span style="color: blue; mso-bidi-font-size: 11.0pt"&gt;http://community.infragistics.com/pixel8/default.aspx&lt;/span&gt;&lt;/a&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="line-height: normal; margin: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-outline-level: 4" class="MsoNormal"&gt;
&lt;b&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: #003300; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;General
Software Engineering&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;ul type="disc"&gt;
&lt;li style="line-height: normal; margin: 0cm 0cm 10pt; color: #003300; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo3; tab-stops: list 36.0pt" class="MsoNormal"&gt;
&lt;span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;Stack
Overflow - Jeff Atwood and Joel Spolsky the creators of stackoverflow.com discuss
Stackoverflow (a lot) and everything else that effects the life of a developer.&lt;br&gt;
&lt;a href="http://blog.stackoverflow.com/category/podcasts/"&gt;&lt;span style="color: blue; mso-bidi-font-size: 11.0pt"&gt;http://blog.stackoverflow.com/category/podcasts/&lt;/span&gt;&lt;/a&gt;
&lt;br&gt;
It's not very obvious how to subscribe to the podcast, so here's the feed link:&lt;br&gt;
&lt;a href="http://rss.conversationsnetwork.org/series/stackoverflow.xml"&gt;&lt;span style="color: blue; mso-bidi-font-size: 11.0pt"&gt;http://rss.conversationsnetwork.org/series/stackoverflow.xml&lt;/span&gt;&lt;/a&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt; 
&lt;li style="line-height: normal; margin: 0cm 0cm 10pt; color: #003300; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo3; tab-stops: list 36.0pt" class="MsoNormal"&gt;
&lt;span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;Software
Engineering Radio - Can get a bit hard core, but there is a lot of good stuff here.&lt;br&gt;
&lt;a href="http://www.se-radio.net/"&gt;&lt;span style="color: blue; mso-bidi-font-size: 11.0pt"&gt;http://www.se-radio.net/&lt;/span&gt;&lt;/a&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="line-height: normal; margin: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-outline-level: 4" class="MsoNormal"&gt;
&lt;b&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: #003300; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;Technology
News&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;ul type="disc"&gt;
&lt;li style="line-height: normal; margin: 0cm 0cm 10pt; color: #003300; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo4; tab-stops: list 36.0pt" class="MsoNormal"&gt;
&lt;span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;PRI's
The World: Technology - Not just another latest gadget show. This one covers things
like innovative use of technology in the third world and how technology is effecting
politic and vice versa.&lt;br&gt;
&lt;a href="http://www.theworld.org/technology-podcast"&gt;&lt;span style="color: blue; mso-bidi-font-size: 11.0pt"&gt;http://www.theworld.org/technology-podcast&lt;/span&gt;&lt;/a&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="line-height: normal; margin: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-outline-level: 4" class="MsoNormal"&gt;
&lt;b&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: #003300; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;Non
Programming (but still essential for the well rounded programmer)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;ul type="disc"&gt;
&lt;li style="line-height: normal; margin: 0cm 0cm 10pt; color: #003300; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l4 level1 lfo5; tab-stops: list 36.0pt" class="MsoNormal"&gt;
&lt;span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;In
Our Time With Melvyn Bragg - Melvin discusses some of the biggest ideas that have
shaped humanity, including philosophy, science, literature and religion.&lt;br&gt;
&lt;a href="http://www.bbc.co.uk/radio4/history/inourtime/"&gt;&lt;span style="color: blue; mso-bidi-font-size: 11.0pt"&gt;http://www.bbc.co.uk/radio4/history/inourtime/&lt;/span&gt;&lt;/a&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt; 
&lt;li style="line-height: normal; margin: 0cm 0cm 10pt; color: #003300; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l4 level1 lfo5; tab-stops: list 36.0pt" class="MsoNormal"&gt;
&lt;span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;Lingua
Franca - Devoted to language and communication (between people). 
&lt;br&gt;
&lt;a href="http://www.abc.net.au/rn/linguafranca/"&gt;&lt;span style="color: blue; mso-bidi-font-size: 11.0pt"&gt;http://www.abc.net.au/rn/linguafranca/&lt;/span&gt;&lt;/a&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt; 
&lt;li style="line-height: normal; margin: 0cm 0cm 10pt; color: #003300; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l4 level1 lfo5; tab-stops: list 36.0pt" class="MsoNormal"&gt;
&lt;span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;TedTalks
(audio version) - Talks from some of the most brilliant and influential people of
our time.&lt;br&gt;
&lt;a href="http://feeds.feedburner.com/tedtalks_audio"&gt;&lt;span style="color: blue; mso-bidi-font-size: 11.0pt"&gt;http://feeds.feedburner.com/tedtalks_audio&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; 
&lt;li style="line-height: normal; margin: 0cm 0cm 10pt; color: #003300; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l4 level1 lfo5; tab-stops: list 36.0pt" class="MsoNormal"&gt;
&lt;span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;Life
Habits – General self help, covering things like staying positive, anger management,
leadership skills and so on.&lt;br&gt;
&lt;a title="http://lifehabits.podbean.com/" href="http://lifehabits.podbean.com/"&gt;http://lifehabits.podbean.com/&lt;/a&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="line-height: normal; margin: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class="MsoNormal"&gt;
&lt;span style="font-family: 'Verdana','sans-serif'; color: #003300; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0cm 0cm 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class="MsoNormal"&gt;
&lt;span style="font-family: 'Verdana','sans-serif'; color: #003300; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: en-gb"&gt;That's
all I can manage on my commute to work. If you've got any suggestions let me know
and (if I like them enough to subscribe myself) I'll add them to the list.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 10pt" class="MsoNormal"&gt;
&lt;o:p&gt;
&lt;font color="#000000" size="3" face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://daniel-mcadam.com/blog/aggbug.ashx?id=53242be5-7e7d-4432-9f4e-44edfbb8a794" /&gt;</content>
  </entry>
</feed>