<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Kirk Jackson's Page of Words - Software</title>
    <link>http://pageofwords.com/blog/</link>
    <description>Run the ink across this page of words</description>
    <language>en-us</language>
    <copyright>Kirk Jackson</copyright>
    <lastBuildDate>Tue, 31 Mar 2009 22:23:21 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>kirkj@paradise.net.nz</managingEditor>
    <webMaster>kirkj@paradise.net.nz</webMaster>
    <item>
      <trackback:ping>http://pageofwords.com/blog/Trackback.aspx?guid=fb6780fc-9da1-4510-887b-f7553e50a1ca</trackback:ping>
      <pingback:server>http://pageofwords.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://pageofwords.com/blog/PermaLink,guid,fb6780fc-9da1-4510-887b-f7553e50a1ca.aspx</pingback:target>
      <dc:creator>Kirk Jackson</dc:creator>
      <wfw:comment>http://pageofwords.com/blog/CommentView,guid,fb6780fc-9da1-4510-887b-f7553e50a1ca.aspx</wfw:comment>
      <wfw:commentRss>http://pageofwords.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=fb6780fc-9da1-4510-887b-f7553e50a1ca</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Deleting your POP3 mailbox using telnet, since Gmail doesn't do it properly :)
</p>
        <p>
 
</p>
        <p>
I'm using Gmail to check and download my Paradise (ISP) email. This means I can read
(almost) all of my personal email in one place.
</p>
        <p>
Gmail appears to only have one option for deleting mail: "Leave a copy of retrieved
messages on the server". If you set this option it immediately deletes your mail
from the POP server after downloading it to Gmail, which means that you can't check
it with an alternate client.
</p>
        <p>
Other mail clients allow you to leave mail on your mail server for a number of days,
so I normally set this to 7 days so that if I need to fire up a different client or
use my ISP's mail, then I can see recent email. Gmail doesn't have this option, which
means if you don't delete mail from your POP account, it will eventually fill up.
</p>
        <p>
For completeness, the sequence of commands to type into telnet to delete a bunch of
your mail:
</p>
        <blockquote>
          <pre>&gt; telnet pop3.paradise.net.nz 110

USER &lt;username&gt;  // Your POP username
PASS &lt;password&gt;  // Your POP password

STAT                        // Lists the number of messages (e.g. +OK 1108 19255723, which means 1108 messages)

// Then for each message
DELE 1
DELE 2
...                         // I used a spreadsheet to quickly generate a list of DELE's from 1 to 1108)</pre>
        </blockquote>
        <p>
Mission accomplished. An empty POP mailbox without installing (or writing) any extra
code :)
</p>
        <p>
Kirk
</p>
        <img width="0" height="0" src="http://pageofwords.com/blog/aggbug.ashx?id=fb6780fc-9da1-4510-887b-f7553e50a1ca" />
      </body>
      <title>Being a geek is...</title>
      <guid isPermaLink="false">http://pageofwords.com/blog/PermaLink,guid,fb6780fc-9da1-4510-887b-f7553e50a1ca.aspx</guid>
      <link>http://pageofwords.com/blog/2009/03/31/BeingAGeekIs.aspx</link>
      <pubDate>Tue, 31 Mar 2009 22:23:21 GMT</pubDate>
      <description>&lt;p&gt;
Deleting your POP3 mailbox using telnet, since Gmail doesn't do it properly :)
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
I'm using Gmail to check and download my Paradise (ISP) email. This means I can read
(almost) all of my personal email in one place.
&lt;/p&gt;
&lt;p&gt;
Gmail appears to only have one option for deleting mail: &amp;quot;Leave a copy of retrieved
messages on the server&amp;quot;. If you set this option it immediately deletes your mail
from the POP server after downloading it to Gmail, which means that you can't check
it with an alternate client.
&lt;/p&gt;
&lt;p&gt;
Other mail clients allow you to leave mail on your mail server for a number of days,
so I normally set this to 7 days so that if I need to fire up a different client or
use my ISP's mail, then I can see recent email. Gmail doesn't have this option, which
means if you don't delete mail from your POP account, it will eventually fill up.
&lt;/p&gt;
&lt;p&gt;
For completeness, the sequence of commands to type into telnet to delete a bunch of
your mail:
&lt;/p&gt;
&lt;blockquote&gt; &lt;pre&gt;&amp;gt; telnet pop3.paradise.net.nz 110

USER &amp;lt;username&amp;gt;&amp;#160; // Your POP username
PASS &amp;lt;password&amp;gt;&amp;#160; // Your POP password

STAT                        // Lists the number of messages (e.g. +OK 1108 19255723, which means 1108 messages)

// Then for each message
DELE 1
DELE 2
...                         // I used a spreadsheet to quickly generate a list of DELE's from 1 to 1108)&lt;/pre&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
Mission accomplished. An empty POP mailbox without installing (or writing) any extra
code :)
&lt;/p&gt;
&lt;p&gt;
Kirk
&lt;/p&gt;
&lt;img width="0" height="0" src="http://pageofwords.com/blog/aggbug.ashx?id=fb6780fc-9da1-4510-887b-f7553e50a1ca" /&gt;</description>
      <comments>http://pageofwords.com/blog/CommentView,guid,fb6780fc-9da1-4510-887b-f7553e50a1ca.aspx</comments>
      <category>Software;Web</category>
    </item>
    <item>
      <trackback:ping>http://pageofwords.com/blog/Trackback.aspx?guid=adcc2103-1fc6-43b3-9e45-451bf6a4a225</trackback:ping>
      <pingback:server>http://pageofwords.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://pageofwords.com/blog/PermaLink,guid,adcc2103-1fc6-43b3-9e45-451bf6a4a225.aspx</pingback:target>
      <dc:creator>Kirk Jackson</dc:creator>
      <wfw:comment>http://pageofwords.com/blog/CommentView,guid,adcc2103-1fc6-43b3-9e45-451bf6a4a225.aspx</wfw:comment>
      <wfw:commentRss>http://pageofwords.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=adcc2103-1fc6-43b3-9e45-451bf6a4a225</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Well done to the SilverStripe team for getting into the new Microsoft Web Platform
installer:
</p>
        <p>
          <a href="http://pageofwords.com/blog/content/binary/WindowsLiveWriter/SilverStripeinwebplatforminstaller_B942/image_2.png">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="328" alt="image" src="http://pageofwords.com/blog/content/binary/WindowsLiveWriter/SilverStripeinwebplatforminstaller_B942/image_thumb.png" width="440" border="0" />
          </a>
        </p>
        <p>
The installer helps people get web applications up and running in a flash, and it's
great to see SilverStripe alongside 9 other big-named web apps. This should be great
for the initial out-of-the-box experience for their users, and for exposure to new
users.
</p>
        <p>
See <a href="http://blogs.msdn.com/nigel/archive/2009/03/10/silverstripe-free.aspx">Nigel's
blog</a> for more details.
</p>
        <img width="0" height="0" src="http://pageofwords.com/blog/aggbug.ashx?id=adcc2103-1fc6-43b3-9e45-451bf6a4a225" />
      </body>
      <title>SilverStripe in web platform installer</title>
      <guid isPermaLink="false">http://pageofwords.com/blog/PermaLink,guid,adcc2103-1fc6-43b3-9e45-451bf6a4a225.aspx</guid>
      <link>http://pageofwords.com/blog/2009/03/19/SilverStripeInWebPlatformInstaller.aspx</link>
      <pubDate>Thu, 19 Mar 2009 00:10:30 GMT</pubDate>
      <description>&lt;p&gt;
Well done to the SilverStripe team for getting into the new Microsoft Web Platform
installer:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://pageofwords.com/blog/content/binary/WindowsLiveWriter/SilverStripeinwebplatforminstaller_B942/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="328" alt="image" src="http://pageofwords.com/blog/content/binary/WindowsLiveWriter/SilverStripeinwebplatforminstaller_B942/image_thumb.png" width="440" border="0" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
The installer helps people get web applications up and running in a flash, and it's
great to see SilverStripe alongside 9 other big-named web apps. This should be great
for the initial out-of-the-box experience for their users, and for exposure to new
users.
&lt;/p&gt;
&lt;p&gt;
See &lt;a href="http://blogs.msdn.com/nigel/archive/2009/03/10/silverstripe-free.aspx"&gt;Nigel's
blog&lt;/a&gt; for more details.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://pageofwords.com/blog/aggbug.ashx?id=adcc2103-1fc6-43b3-9e45-451bf6a4a225" /&gt;</description>
      <comments>http://pageofwords.com/blog/CommentView,guid,adcc2103-1fc6-43b3-9e45-451bf6a4a225.aspx</comments>
      <category>Software;Web</category>
    </item>
    <item>
      <trackback:ping>http://pageofwords.com/blog/Trackback.aspx?guid=cab93ad2-f266-4af5-a72d-25b5b7e56cbe</trackback:ping>
      <pingback:server>http://pageofwords.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://pageofwords.com/blog/PermaLink,guid,cab93ad2-f266-4af5-a72d-25b5b7e56cbe.aspx</pingback:target>
      <dc:creator>Kirk Jackson</dc:creator>
      <wfw:comment>http://pageofwords.com/blog/CommentView,guid,cab93ad2-f266-4af5-a72d-25b5b7e56cbe.aspx</wfw:comment>
      <wfw:commentRss>http://pageofwords.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=cab93ad2-f266-4af5-a72d-25b5b7e56cbe</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ewan Tempero, a lecturer and supervisor of mine from my days at <a href="http://www.vuw.ac.nz">VUW</a> (now
at Auckland Uni) is part of a <a href="http://sefolklore.com/welcome.html">survey</a> to
find out what we actually practice in software engineering, so that they can compare
it to what is being researched and taught:
</p>
        <p>
          <a href="http://sefolklore.com/welcome.html">sefolklore.com</a>
        </p>
        <p>
Fill in the survey, it will take less than 10 minutes.
</p>
        <p>
(Watch out for the 'rank the following 6 statements' question -- you can only put
a rank against one statement)
</p>
        <p>
Kirk
</p>
        <img width="0" height="0" src="http://pageofwords.com/blog/aggbug.ashx?id=cab93ad2-f266-4af5-a72d-25b5b7e56cbe" />
      </body>
      <title>Software engineering survey - what do we actually do in industry?</title>
      <guid isPermaLink="false">http://pageofwords.com/blog/PermaLink,guid,cab93ad2-f266-4af5-a72d-25b5b7e56cbe.aspx</guid>
      <link>http://pageofwords.com/blog/2009/03/16/SoftwareEngineeringSurveyWhatDoWeActuallyDoInIndustry.aspx</link>
      <pubDate>Mon, 16 Mar 2009 21:10:01 GMT</pubDate>
      <description>&lt;p&gt;
Ewan Tempero, a lecturer and supervisor of mine from my days at &lt;a href="http://www.vuw.ac.nz"&gt;VUW&lt;/a&gt; (now
at Auckland Uni) is part of a &lt;a href="http://sefolklore.com/welcome.html"&gt;survey&lt;/a&gt; to
find out what we actually practice in software engineering, so that they can compare
it to what is being researched and taught:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://sefolklore.com/welcome.html"&gt;sefolklore.com&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Fill in the survey, it will take less than 10 minutes.
&lt;/p&gt;
&lt;p&gt;
(Watch out for the 'rank the following 6 statements' question -- you can only put
a rank against one statement)
&lt;/p&gt;
&lt;p&gt;
Kirk
&lt;/p&gt;
&lt;img width="0" height="0" src="http://pageofwords.com/blog/aggbug.ashx?id=cab93ad2-f266-4af5-a72d-25b5b7e56cbe" /&gt;</description>
      <comments>http://pageofwords.com/blog/CommentView,guid,cab93ad2-f266-4af5-a72d-25b5b7e56cbe.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://pageofwords.com/blog/Trackback.aspx?guid=d4202889-601d-411c-8de5-3c64f3bae87b</trackback:ping>
      <pingback:server>http://pageofwords.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://pageofwords.com/blog/PermaLink,guid,d4202889-601d-411c-8de5-3c64f3bae87b.aspx</pingback:target>
      <dc:creator>Kirk Jackson</dc:creator>
      <wfw:comment>http://pageofwords.com/blog/CommentView,guid,d4202889-601d-411c-8de5-3c64f3bae87b.aspx</wfw:comment>
      <wfw:commentRss>http://pageofwords.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=d4202889-601d-411c-8de5-3c64f3bae87b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">I seem to spend less time in Virtual PC
and more time in (nested) remote desktop sessions these days. I'm not a huge mouse
fan, and when using the keyboard I need to do this when I'm in a windowed remote-desktop
session:<br /><ul><li>
ALT+PgDn / ALT+PgUp - cycle through programs (ala ALT-TAB)</li><li>
ALT+Home - display start menu (ala CTRL-ESC)</li></ul>
My fingers still do the regular ALT-TAB / CTRL-ESC the first time round, but after
a while I remember to use the alternate shortcuts.<br /><br />
Thanks to <a href="http://www.crsw.com/mark/Lists/Posts/Post.aspx?List=c0001cfc%2Dd84a%2D4be0%2Db437%2D6a625925a9d5&amp;ID=28">Mark
Wagner</a>.<br /><p></p><img width="0" height="0" src="http://pageofwords.com/blog/aggbug.ashx?id=d4202889-601d-411c-8de5-3c64f3bae87b" /></body>
      <title>Remote desktop / mstsc shortcuts</title>
      <guid isPermaLink="false">http://pageofwords.com/blog/PermaLink,guid,d4202889-601d-411c-8de5-3c64f3bae87b.aspx</guid>
      <link>http://pageofwords.com/blog/2007/11/08/RemoteDesktopMstscShortcuts.aspx</link>
      <pubDate>Thu, 08 Nov 2007 08:36:14 GMT</pubDate>
      <description>I seem to spend less time in Virtual PC and more time in (nested) remote desktop sessions these days. I'm not a huge mouse fan, and when using the keyboard I need to do this when I'm in a windowed remote-desktop session:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
ALT+PgDn / ALT+PgUp - cycle through programs (ala ALT-TAB)&lt;/li&gt;
&lt;li&gt;
ALT+Home - display start menu (ala CTRL-ESC)&lt;/li&gt;
&lt;/ul&gt;
My fingers still do the regular ALT-TAB / CTRL-ESC the first time round, but after
a while I remember to use the alternate shortcuts.&lt;br&gt;
&lt;br&gt;
Thanks to &lt;a href="http://www.crsw.com/mark/Lists/Posts/Post.aspx?List=c0001cfc%2Dd84a%2D4be0%2Db437%2D6a625925a9d5&amp;amp;ID=28"&gt;Mark
Wagner&lt;/a&gt;.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://pageofwords.com/blog/aggbug.ashx?id=d4202889-601d-411c-8de5-3c64f3bae87b" /&gt;</description>
      <comments>http://pageofwords.com/blog/CommentView,guid,d4202889-601d-411c-8de5-3c64f3bae87b.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://pageofwords.com/blog/Trackback.aspx?guid=e51324bc-b2e2-4a9c-b42e-8c422cf8c902</trackback:ping>
      <pingback:server>http://pageofwords.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://pageofwords.com/blog/PermaLink,guid,e51324bc-b2e2-4a9c-b42e-8c422cf8c902.aspx</pingback:target>
      <dc:creator>Kirk Jackson</dc:creator>
      <wfw:comment>http://pageofwords.com/blog/CommentView,guid,e51324bc-b2e2-4a9c-b42e-8c422cf8c902.aspx</wfw:comment>
      <wfw:commentRss>http://pageofwords.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=e51324bc-b2e2-4a9c-b42e-8c422cf8c902</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://jamesnewkirk.typepad.com/">James
Newkirk</a> and <a href="http://www.agileprogrammer.com/dotnetguy/">Brad Wilson</a> have
cooked up a new testing framework for .NET development: <a href="http://www.codeplex.com/xunit">xUnit.net</a>.<br /><br />
In his blog post <a href="http://jamesnewkirk.typepad.com/posts/2007/09/announcing-xuni.html">announcing
xUnit.net</a>, James outlined the reasons why they have created a new framework --
primarily to bake best practice techniques into the test framework, and leverage some
of the newer .NET features.<br /><br />
The <a href="http://www.codeplex.com/xunit/Wiki/View.aspx?title=Comparisons">Comparison
between Nunit, MSTest and xUnit.net</a> page on the site lists some of the differences
between xUnit.net and Nunit / MSTest. Removing setup and teardown, and providing aspect-like
functionality are both interesting angles which I want to spend some time with.<br /><br />
Here's a couple of examples from the samples download. First, an example of usage
of BeforeAfterTestAttributes, which let you add behaviour before and after the execution
of a test (ala AOP):<br /><br /><font face="Courier New">[Test, TracingSplicer]<br />
public void TestThis()<br />
{<br />
}<br /><br />
...<br /><br />
public class TracingSplicerAttribute : BeforeAfterTestAttribute<br />
{<br />
    public override void Before(MethodInfo methodUnderTest)<br />
    {<br />
        Console.WriteLine("Before : {0}.{1}", 
<br />
            methodUnderTest.DeclaringType.FullName,
methodUnderTest.Name);<br />
    }<br /><br />
    public override void After(MethodInfo methodUnderTest)<br />
    {<br />
        Console.WriteLine("After : {0}.{1}", 
<br />
            methodUnderTest.DeclaringType.FullName,
methodUnderTest.Name);<br />
    }<br />
}<br /></font><br /><br />
Here's an example of test method extensibility:<br /><font face="Courier New"><br />
[RepeatTest(5, Timeout=500)]<br />
public void RepeatingTestMethod()<br /></font><br />
You can create your own attributes that inherit from the TestAttribute base class,
and define what will happen when the test runs (in this example, the test will run
5 times).<br /><br /><br />
Good work guys, looks useful!<br /><br />
Kirk<br /><img width="0" height="0" src="http://pageofwords.com/blog/aggbug.ashx?id=e51324bc-b2e2-4a9c-b42e-8c422cf8c902" /></body>
      <title>xUnit.net test framework - looks xInteresting</title>
      <guid isPermaLink="false">http://pageofwords.com/blog/PermaLink,guid,e51324bc-b2e2-4a9c-b42e-8c422cf8c902.aspx</guid>
      <link>http://pageofwords.com/blog/2007/09/21/xUnitnetTestFrameworkLooksXInteresting.aspx</link>
      <pubDate>Fri, 21 Sep 2007 10:03:26 GMT</pubDate>
      <description>&lt;a href="http://jamesnewkirk.typepad.com/"&gt;James Newkirk&lt;/a&gt; and &lt;a href="http://www.agileprogrammer.com/dotnetguy/"&gt;Brad
Wilson&lt;/a&gt; have cooked up a new testing framework for .NET development: &lt;a href="http://www.codeplex.com/xunit"&gt;xUnit.net&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
In his blog post &lt;a href="http://jamesnewkirk.typepad.com/posts/2007/09/announcing-xuni.html"&gt;announcing
xUnit.net&lt;/a&gt;, James outlined the reasons why they have created a new framework --
primarily to bake best practice techniques into the test framework, and leverage some
of the newer .NET features.&lt;br&gt;
&lt;br&gt;
The &lt;a href="http://www.codeplex.com/xunit/Wiki/View.aspx?title=Comparisons"&gt;Comparison
between Nunit, MSTest and xUnit.net&lt;/a&gt; page on the site lists some of the differences
between xUnit.net and Nunit / MSTest. Removing setup and teardown, and providing aspect-like
functionality are both interesting angles which I want to spend some time with.&lt;br&gt;
&lt;br&gt;
Here's a couple of examples from the samples download. First, an example of usage
of BeforeAfterTestAttributes, which let you add behaviour before and after the execution
of a test (ala AOP):&lt;br&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;[Test, TracingSplicer]&lt;br&gt;
public void TestThis()&lt;br&gt;
{&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
...&lt;br&gt;
&lt;br&gt;
public class TracingSplicerAttribute : BeforeAfterTestAttribute&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public override void Before(MethodInfo methodUnderTest)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine("Before : {0}.{1}", 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; methodUnderTest.DeclaringType.FullName,
methodUnderTest.Name);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public override void After(MethodInfo methodUnderTest)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine("After : {0}.{1}", 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; methodUnderTest.DeclaringType.FullName,
methodUnderTest.Name);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
}&lt;br&gt;
&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;
Here's an example of test method extensibility:&lt;br&gt;
&lt;font face="Courier New"&gt;
&lt;br&gt;
[RepeatTest(5, Timeout=500)]&lt;br&gt;
public void RepeatingTestMethod()&lt;br&gt;
&lt;/font&gt;
&lt;br&gt;
You can create your own attributes that inherit from the TestAttribute base class,
and define what will happen when the test runs (in this example, the test will run
5 times).&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Good work guys, looks useful!&lt;br&gt;
&lt;br&gt;
Kirk&lt;br&gt;
&lt;img width="0" height="0" src="http://pageofwords.com/blog/aggbug.ashx?id=e51324bc-b2e2-4a9c-b42e-8c422cf8c902" /&gt;</description>
      <comments>http://pageofwords.com/blog/CommentView,guid,e51324bc-b2e2-4a9c-b42e-8c422cf8c902.aspx</comments>
      <category>.NET;Software</category>
    </item>
    <item>
      <trackback:ping>http://pageofwords.com/blog/Trackback.aspx?guid=1d4bd9d7-f752-4e86-9c6f-aa9d41e547bb</trackback:ping>
      <pingback:server>http://pageofwords.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://pageofwords.com/blog/PermaLink,guid,1d4bd9d7-f752-4e86-9c6f-aa9d41e547bb.aspx</pingback:target>
      <dc:creator>Kirk Jackson</dc:creator>
      <wfw:comment>http://pageofwords.com/blog/CommentView,guid,1d4bd9d7-f752-4e86-9c6f-aa9d41e547bb.aspx</wfw:comment>
      <wfw:commentRss>http://pageofwords.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=1d4bd9d7-f752-4e86-9c6f-aa9d41e547bb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So true: "It's so easy to write, but not always easy to read". <a href="http://www.youtube.com/watch?v=Mxk5RMQF6Js">Perl
5 in a nutshell</a></p>
        <object height="350" width="425">
          <param name="movie" value="http://www.youtube.com/v/Mxk5RMQF6Js" />
          <param name="wmode" value="transparent" />
          <embed src="http://www.youtube.com/v/Mxk5RMQF6Js" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425">
          </embed>
        </object>
        <p>
I've spent many happy hours spent writing perl code :) 
</p>
        <p>
          <i>"Help, help, I'm trapped in a nutshell! Somebody get me out of this bloody great
nutshell!"</i>
        </p>
        <img width="0" height="0" src="http://pageofwords.com/blog/aggbug.ashx?id=1d4bd9d7-f752-4e86-9c6f-aa9d41e547bb" />
      </body>
      <title>Perl in a nutshell - the music video</title>
      <guid isPermaLink="false">http://pageofwords.com/blog/PermaLink,guid,1d4bd9d7-f752-4e86-9c6f-aa9d41e547bb.aspx</guid>
      <link>http://pageofwords.com/blog/2007/07/12/PerlInANutshellTheMusicVideo.aspx</link>
      <pubDate>Thu, 12 Jul 2007 10:32:33 GMT</pubDate>
      <description>&lt;p&gt;
So true: "It's so easy to write, but not always easy to read". &lt;a href="http://www.youtube.com/watch?v=Mxk5RMQF6Js"&gt;Perl
5 in a nutshell&lt;/a&gt;
&lt;/p&gt;
&lt;object height="350" width="425"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/Mxk5RMQF6Js"&gt;
&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/Mxk5RMQF6Js" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;
&lt;/object&gt;
&lt;p&gt;
I've spent many happy hours spent writing perl code :) 
&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;"Help, help, I'm trapped in a nutshell! Somebody get me out of this bloody great
nutshell!"&lt;/i&gt; 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://pageofwords.com/blog/aggbug.ashx?id=1d4bd9d7-f752-4e86-9c6f-aa9d41e547bb" /&gt;</description>
      <comments>http://pageofwords.com/blog/CommentView,guid,1d4bd9d7-f752-4e86-9c6f-aa9d41e547bb.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://pageofwords.com/blog/Trackback.aspx?guid=c2c8d83a-6e56-49f8-a3d5-02cb0a79c5f8</trackback:ping>
      <pingback:server>http://pageofwords.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://pageofwords.com/blog/PermaLink,guid,c2c8d83a-6e56-49f8-a3d5-02cb0a79c5f8.aspx</pingback:target>
      <dc:creator>Kirk Jackson</dc:creator>
      <wfw:comment>http://pageofwords.com/blog/CommentView,guid,c2c8d83a-6e56-49f8-a3d5-02cb0a79c5f8.aspx</wfw:comment>
      <wfw:commentRss>http://pageofwords.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=c2c8d83a-6e56-49f8-a3d5-02cb0a79c5f8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
It seems like powerful presentations aren't done using Powerpoint any more. I don't
know, maybe they never were...
</p>
        <p>
          <img src="http://pageofwords.com/blog/images/blog/LeGrande.jpg" alt="Why you drink" border="0" height="336" width="448" />
        </p>
        <p>
Edward Tufte (the original Powerpoint detractor) has a new book out: <a href="http://www.edwardtufte.com/tufte/books_be">Beautiful
Evidence</a>. An article in the <a href="http://nymag.com/arts/books/features/33156/">New
York Mag</a> (via <a href="http://www.37signals.com/svn/posts/467-sunspots-the-tactile-edition">SVN</a>)
introduces Tufte and some of his work. He has lead a crusade against Powerpoint (his
essay <a href="http://www.edwardtufte.com/tufte/powerpoint">The Cognitive Style of
Powerpoint</a> has a good collection of the worst offenders), and his ideas have been
absorbed by many designers around the world.
</p>
        <p>
The new style of "multimedia"<sup>1</sup> presentations move from slide-based to "flow"-based.
Two that I have seen recently deserve mention:
</p>
        <blockquote>
          <a href="http://www.youtube.com/watch?v=lWWKBY7gx_0">"Le Grand Content"</a>
          <br />
(via <a href="http://anticipation-mark.blogspot.com/">Mark Fowler</a>)<br /><br />
Quite funny, answers the questions of the universe with quasi-logic and witticisms:<br /><blockquote><i>There are three types of virgins:</i><br /><i>a) Virgins by choice</i><br /><i>b) Virgins by way of poor social skills</i><br /><i>c) People who should be in group B, but who claim otherwise for reasons of prestige</i></blockquote></blockquote>
        <blockquote>
          <a href="http://www.youtube.com/watch?v=xj8ZadKgdC0">Prometeus
- The Media Revolution</a>
          <br />
(via <a href="http://www.fastchicken.co.nz/blog/2007/06/16/PrometeusTheMediaRevolution.aspx">Nic
Wise</a>)<br /><br />
The future of media and information dissemination. A little more serious...</blockquote>
        <p>
These presentations really engage the user through zooming images, flowcharts and
synchronising speech with animations. 
</p>
        <p>
I wonder how long before this type of presentation becomes the norm? How long until
we see presentation software that supports the creation of them as easily as a standard
deck of slides in Powerpoint? 
</p>
        <p>
And how long before people realise that although they're more engaging, they're still
hiding and distorting the truth, just in different ways?
</p>
        <p>
          <sup>1</sup> How weird does it feel to use that word in 2007?
</p>
        <img width="0" height="0" src="http://pageofwords.com/blog/aggbug.ashx?id=c2c8d83a-6e56-49f8-a3d5-02cb0a79c5f8" />
      </body>
      <title>What happened to Powerpoint?</title>
      <guid isPermaLink="false">http://pageofwords.com/blog/PermaLink,guid,c2c8d83a-6e56-49f8-a3d5-02cb0a79c5f8.aspx</guid>
      <link>http://pageofwords.com/blog/2007/06/17/WhatHappenedToPowerpoint.aspx</link>
      <pubDate>Sun, 17 Jun 2007 10:08:54 GMT</pubDate>
      <description>&lt;p&gt;
It seems like powerful presentations aren't done using Powerpoint any more. I don't
know, maybe they never were...
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://pageofwords.com/blog/images/blog/LeGrande.jpg" alt="Why you drink" border="0" height="336" width="448"&gt;
&lt;/p&gt;
&lt;p&gt;
Edward Tufte (the original Powerpoint detractor) has a new book out: &lt;a href="http://www.edwardtufte.com/tufte/books_be"&gt;Beautiful
Evidence&lt;/a&gt;. An article in the &lt;a href="http://nymag.com/arts/books/features/33156/"&gt;New
York Mag&lt;/a&gt; (via &lt;a href="http://www.37signals.com/svn/posts/467-sunspots-the-tactile-edition"&gt;SVN&lt;/a&gt;)
introduces Tufte and some of his work. He has lead a crusade against Powerpoint (his
essay &lt;a href="http://www.edwardtufte.com/tufte/powerpoint"&gt;The Cognitive Style of
Powerpoint&lt;/a&gt; has a good collection of the worst offenders), and his ideas have been
absorbed by many designers around the world.
&lt;/p&gt;
&lt;p&gt;
The new style of "multimedia"&lt;sup&gt;1&lt;/sup&gt; presentations move from slide-based to "flow"-based.
Two that I have seen recently deserve mention:
&lt;/p&gt;
&lt;blockquote&gt;&lt;a href="http://www.youtube.com/watch?v=lWWKBY7gx_0"&gt;"Le Grand Content"&lt;/a&gt;
&lt;br&gt;
(via &lt;a href="http://anticipation-mark.blogspot.com/"&gt;Mark Fowler&lt;/a&gt;)&lt;br&gt;
&lt;br&gt;
Quite funny, answers the questions of the universe with quasi-logic and witticisms:&lt;br&gt;
&lt;blockquote&gt;&lt;i&gt;There are three types of virgins:&lt;/i&gt;
&lt;br&gt;
&lt;i&gt;a) Virgins by choice&lt;/i&gt;
&lt;br&gt;
&lt;i&gt;b) Virgins by way of poor social skills&lt;/i&gt;
&lt;br&gt;
&lt;i&gt;c) People who should be in group B, but who claim otherwise for reasons of prestige&lt;/i&gt;&lt;/blockquote&gt;&lt;/blockquote&gt; &lt;blockquote&gt;&lt;a href="http://www.youtube.com/watch?v=xj8ZadKgdC0"&gt;Prometeus
- The Media Revolution&lt;/a&gt;
&lt;br&gt;
(via &lt;a href="http://www.fastchicken.co.nz/blog/2007/06/16/PrometeusTheMediaRevolution.aspx"&gt;Nic
Wise&lt;/a&gt;)&lt;br&gt;
&lt;br&gt;
The future of media and information dissemination. A little more serious...&lt;/blockquote&gt; 
&lt;p&gt;
These presentations really engage the user through zooming images, flowcharts and
synchronising speech with animations. 
&lt;/p&gt;
&lt;p&gt;
I wonder how long before this type of presentation becomes the norm? How long until
we see presentation software that supports the creation of them as easily as a standard
deck of slides in Powerpoint? 
&lt;/p&gt;
&lt;p&gt;
And how long before people realise that although they're more engaging, they're still
hiding and distorting the truth, just in different ways?
&lt;/p&gt;
&lt;p&gt;
&lt;sup&gt;1&lt;/sup&gt; How weird does it feel to use that word in 2007?
&lt;/p&gt;
&lt;img width="0" height="0" src="http://pageofwords.com/blog/aggbug.ashx?id=c2c8d83a-6e56-49f8-a3d5-02cb0a79c5f8" /&gt;</description>
      <comments>http://pageofwords.com/blog/CommentView,guid,c2c8d83a-6e56-49f8-a3d5-02cb0a79c5f8.aspx</comments>
      <category>Software;Web</category>
    </item>
    <item>
      <trackback:ping>http://pageofwords.com/blog/Trackback.aspx?guid=6ddbdd47-8d65-4a2d-8ded-2d2553074c4c</trackback:ping>
      <pingback:server>http://pageofwords.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://pageofwords.com/blog/PermaLink,guid,6ddbdd47-8d65-4a2d-8ded-2d2553074c4c.aspx</pingback:target>
      <dc:creator>Kirk Jackson</dc:creator>
      <wfw:comment>http://pageofwords.com/blog/CommentView,guid,6ddbdd47-8d65-4a2d-8ded-2d2553074c4c.aspx</wfw:comment>
      <wfw:commentRss>http://pageofwords.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=6ddbdd47-8d65-4a2d-8ded-2d2553074c4c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Two of my favourite areas of software development
are privacy and security. As applications get less siloed and more connected, understanding
the boundaries between "mine and theirs", and implementing the system correctly are
becoming increasingly important.<br /><br />
A little tid-bit I found interesting today was:<br /><blockquote><i>Did you know that the new trend is phone phishing? Criminals use VoIP
to emulate the bank’s voice prompt system and lure people into giving their account
information.<br />
(<a href="http://frenchfamily.org/hunter/?p=132">http://frenchfamily.org/hunter/?p=132</a>)<br /></i></blockquote><p></p>
That's worth thinking about if you're an organisation that provides a phone-based
service such as phone banking or checking account balances. Tricking someone to dial
a phone number (especially an 0800) is probably as easy as tricking them into going
to the wrong website.<br /><img width="0" height="0" src="http://pageofwords.com/blog/aggbug.ashx?id=6ddbdd47-8d65-4a2d-8ded-2d2553074c4c" /></body>
      <title>Security &amp; Phone Phishing</title>
      <guid isPermaLink="false">http://pageofwords.com/blog/PermaLink,guid,6ddbdd47-8d65-4a2d-8ded-2d2553074c4c.aspx</guid>
      <link>http://pageofwords.com/blog/2007/06/09/SecurityPhonePhishing.aspx</link>
      <pubDate>Sat, 09 Jun 2007 00:32:06 GMT</pubDate>
      <description>Two of my favourite areas of software development are privacy and security. As applications get less siloed and more connected, understanding the boundaries between "mine and theirs", and implementing the system correctly are becoming increasingly important.&lt;br&gt;
&lt;br&gt;
A little tid-bit I found interesting today was:&lt;br&gt;
&lt;blockquote&gt;&lt;i&gt;Did you know that the new trend is phone phishing? Criminals use VoIP
to emulate the bank’s voice prompt system and lure people into giving their account
information.&lt;br&gt;
(&lt;a href="http://frenchfamily.org/hunter/?p=132"&gt;http://frenchfamily.org/hunter/?p=132&lt;/a&gt;)&lt;br&gt;
&lt;/i&gt;&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;
That's worth thinking about if you're an organisation that provides a phone-based
service such as phone banking or checking account balances. Tricking someone to dial
a phone number (especially an 0800) is probably as easy as tricking them into going
to the wrong website.&lt;br&gt;
&lt;img width="0" height="0" src="http://pageofwords.com/blog/aggbug.ashx?id=6ddbdd47-8d65-4a2d-8ded-2d2553074c4c" /&gt;</description>
      <comments>http://pageofwords.com/blog/CommentView,guid,6ddbdd47-8d65-4a2d-8ded-2d2553074c4c.aspx</comments>
      <category>Software;Security</category>
    </item>
    <item>
      <trackback:ping>http://pageofwords.com/blog/Trackback.aspx?guid=87e864cb-5839-4fcd-80ac-3b7c7ba13120</trackback:ping>
      <pingback:server>http://pageofwords.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://pageofwords.com/blog/PermaLink,guid,87e864cb-5839-4fcd-80ac-3b7c7ba13120.aspx</pingback:target>
      <dc:creator>Kirk Jackson</dc:creator>
      <wfw:comment>http://pageofwords.com/blog/CommentView,guid,87e864cb-5839-4fcd-80ac-3b7c7ba13120.aspx</wfw:comment>
      <wfw:commentRss>http://pageofwords.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=87e864cb-5839-4fcd-80ac-3b7c7ba13120</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Observing your users while they use your
software, either directly, or through A/B usability testing is a good way to discover
what they are <i>actually</i> doing.<br /><br />
Jeff Atwood at Coding Horror <a href="http://www.codinghorror.com/blog/archives/000880.html">writes
about observing users</a>, and links to a pdf paper <a href="http://exp-platform.com/Documents/GuideControlledExperiments.pdf">Practical
Guide to Controlled Experiments on the Web</a> that advocates A/B testing as a way
of finding out what your customers <i>really </i>prefer.<br /><br />
"A/B Testing" is putting up two scenarios ("Scenario A" and "Scenario B"), and then
measuring the impact of the changes by testing against a control. This is quite common
in other areas of science, but less so in software development.<br /><br /><a href="http://www.rowansimpson.com">Rowan Simpson</a> and Sam Morgan from <a href="http://www.trademe.co.nz">Trade
Me</a> both show examples of the successes Trade Me has had when doing A/B testing,
and they have developed systems to perform A/B tests, such as running one version
of feature for one half of their users, and the new feature for the other half.<br /><br />
Learning from your users is very important. They are the best people to ask about
your product. Unfortunately, when you <i>ask</i> them, you get different results than
when you <i>observe </i>them.<br /><p></p><img width="0" height="0" src="http://pageofwords.com/blog/aggbug.ashx?id=87e864cb-5839-4fcd-80ac-3b7c7ba13120" /></body>
      <title>A/B testing and observing your users</title>
      <guid isPermaLink="false">http://pageofwords.com/blog/PermaLink,guid,87e864cb-5839-4fcd-80ac-3b7c7ba13120.aspx</guid>
      <link>http://pageofwords.com/blog/2007/06/06/ABTestingAndObservingYourUsers.aspx</link>
      <pubDate>Wed, 06 Jun 2007 10:25:49 GMT</pubDate>
      <description>Observing your users while they use your software, either directly, or through A/B usability testing is a good way to discover what they are &lt;i&gt;actually&lt;/i&gt; doing.&lt;br&gt;
&lt;br&gt;
Jeff Atwood at Coding Horror &lt;a href="http://www.codinghorror.com/blog/archives/000880.html"&gt;writes
about observing users&lt;/a&gt;, and links to a pdf paper &lt;a href="http://exp-platform.com/Documents/GuideControlledExperiments.pdf"&gt;Practical
Guide to Controlled Experiments on the Web&lt;/a&gt; that advocates A/B testing as a way
of finding out what your customers &lt;i&gt;really &lt;/i&gt;prefer.&lt;br&gt;
&lt;br&gt;
"A/B Testing" is putting up two scenarios ("Scenario A" and "Scenario B"), and then
measuring the impact of the changes by testing against a control. This is quite common
in other areas of science, but less so in software development.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.rowansimpson.com"&gt;Rowan Simpson&lt;/a&gt; and Sam Morgan from &lt;a href="http://www.trademe.co.nz"&gt;Trade
Me&lt;/a&gt; both show examples of the successes Trade Me has had when doing A/B testing,
and they have developed systems to perform A/B tests, such as running one version
of feature for one half of their users, and the new feature for the other half.&lt;br&gt;
&lt;br&gt;
Learning from your users is very important. They are the best people to ask about
your product. Unfortunately, when you &lt;i&gt;ask&lt;/i&gt; them, you get different results than
when you &lt;i&gt;observe &lt;/i&gt;them.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://pageofwords.com/blog/aggbug.ashx?id=87e864cb-5839-4fcd-80ac-3b7c7ba13120" /&gt;</description>
      <comments>http://pageofwords.com/blog/CommentView,guid,87e864cb-5839-4fcd-80ac-3b7c7ba13120.aspx</comments>
      <category>Software</category>
    </item>
  </channel>
</rss>