<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Cargowire Ramblings</title>
    <atom:link rel="self" type="application/rss+xml" href="http://cargowire.net/blog.rss" />
    <link>http://cargowire.net</link>
    <description>Ramblings From Craig</description>
    <pubDate>Wed, 16 Apr 2025 02:55:00 GMT</pubDate>
    <generator>http://cargowire.net</generator>
    <language>en</language>
    <item>
      <title>It's alive! (again)</title>
      <link>http://cargowire.net/blog/itsalive</link>
      <guid>http://cargowire.net/blog/itsalive</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Wed, 16 Apr 2025 02:55:00 GMT</pubDate>
      <description>Back once again it's the renegade master...&lt;p&gt;I once wrote an article entitled "Why you should make your own site".  How clever I was to talk about content ownership and
           using side projects to learn...Fast forward a decade or more and I'd given myself a long term code and design maintenance project to progressively narrate over the years via various blogs and social media posts...
          [1], [2], [3], [4],
          [5] (to name but a few).&lt;/p&gt;&lt;p&gt;This site was originally built in .NET 3.5 WebForms, moving through a .NET 4 MVC app, multiple abandoned attempts to rebuild it in .NET Core 2.2, 3.1, .NET 5, 6, 8 and finally now 9.0.  There was
          even a short lived diversion into a NodeJS version.  But it's done... it's alive!  The site is now running on .NET 9.0.  It's even dockerized (though hosted temporarily on a windows server still under
          contract).&lt;/p&gt;&lt;p&gt;It's been quite the journey... and a change of approach from the classic introspective solo dev "how best to do this" slow progress to a "this needs to work and time available is poor so let's get it done".&lt;/p&gt;&lt;p&gt;The eventual main driver to migrate it was to be able to move to cheaper Linux hosting - while maintaining some form of self hosted web presence.  But finally getting there has also given me pause to reflect on why it took so long and what happened
          to my original energy around the project and self publishing.&lt;/p&gt;&lt;p&gt;Between these two photos has been house moves, role changes, a child, a global pandemic, the passing and ill health of the generation above me (and a lot of greying hair).&lt;/p&gt;&lt;p&gt;When the first photo was taken Windows Phone was still a player in the Mobile space and the most the world knew about AI was the soon to be released, and some may say darkly prophetic, "Her".
          Now, with the second photo taken, we're seeing companionship rank number one in Generative AI use cases and
          the heralding of the end of programming as we know it.&lt;/p&gt;&lt;p&gt;What the above confirms is the universal truth of technology and software engineering. The sands are always shifting, the horizon is always moving forward and we must do our best to keep apace - keep learning
          and keep challenging ourselves.  But we must take into account the human aspect.&lt;/p&gt;&lt;p&gt;This is where a recent Stack Overflow blog really struck a chord with me:&lt;/p&gt;&lt;p&gt;As my career in technology has progressed I've been involved in mentoring, hiring and ultimately line managing developers at all levels.  If nothing else this has reinforced
          the old adage that Technology is Easy, People are Hard.  And getting the best out of a team involves individualised context awareness - including of yourself.&lt;/p&gt;&lt;p&gt;I knocked together this high quality, accurate graph to visualise some of this and some of the topics touched on in the aforementioned blog.&lt;/p&gt;&lt;p&gt;In the early parts of your career you may have low responsibility at work but an abundance of time and energy to kick start your knowledge, and play with ideas. 
          As you progress, the increase in your work responsibilities and becoming a parent puts a huge squeeze on that.  For many people as they move into their forties the impact
          of parenting may be replaced by the impact of caring for the previous generation as they age - so that original energy may never quite reach its early peak again.&lt;/p&gt;&lt;p&gt;Moving into leadership positions can also mean a change of modes at work.  From long periods of focussed individual contribution to interruptive, multi-modal ways of working
           across many contexts. This can be a more complicated and energy draining world to navigate.&lt;/p&gt;&lt;p&gt;My argument here isn't to excuse my, or others, lack of side project effort as they age and progress in their career.  And certainly many people, including some of my brilliant colleagues past
          and present, show you can do it all.  The point is to be aware of these individual contexts and take best advantage of them while alleviating constraints.&lt;/p&gt;&lt;p&gt;This means really nailing a goal driven, output led focus in your time management.  It also means formulating teams that benefit from the mix of age and experience, delegating and empowering those early in their careers, allowing the more experienced heads to act
          as guides. All the while being aware that new ideas and innovations may be more likely to come from those with less tenure.&lt;/p&gt;&lt;p&gt;It also means taking advantage of technology, systems and processes.  The current era of AI and productivity tools can provide a huge accelerator. Both for the time poor but heavily
          experienced and battle scarred old hats to contribute better than ever before; and for the juniors and mids - able to learn, progress and transfer their knowledge more seamlessly between projects.&lt;/p&gt;&lt;p&gt;It goes without saying that the timeline I sketched out is a generalisation based on my experiences.  I've certainly met and worked with people with wildly different charts who excel while carrying all kinds of additional personal responsibilities.  As always your mileage may vary... As for me, I'll be trying to post a bit more here now that it's finally running on an up to date stack.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p class="intro">I once wrote an article entitled <a href="/articles/whyyoushouldmakeyourownsite">"Why you should make your own site"</a>.  How clever I was to talk about content ownership and
           using side projects to learn...<br /><br />Fast forward a decade or more and I'd given myself a long term code and design maintenance project to progressively narrate over the years via various blogs and social media posts...
          <a href="/blog/styleswitcharoo">[1]</a>, <a href="/blog/jumpingthegun">[2]</a>, <a href="/blog/cargowiremvcseries">[3]</a>, <a href="/articles/cargowiremvcrouting">[4]</a>,
          <a href="/blog/newdesign">[5]</a> (to name but a few).</p><p>This site was originally built in .NET 3.5 WebForms, moving through a .NET 4 MVC app, multiple abandoned attempts to rebuild it in .NET Core 2.2, 3.1, .NET 5, 6, 8 and finally now 9.0.  There was
          even a short lived diversion into a NodeJS version.  But it's done... it's alive!  The site is now running on .NET 9.0.  It's even dockerized (though hosted temporarily on a windows server still under
          contract).</p><p>It's been quite the journey... and a change of approach from the classic introspective solo dev "how best to do this" slow progress to a "this needs to work and time available is poor so let's get it done".</p><h2 id="title_Why">Why</h2><p>The eventual main driver to migrate it was to be able to move to cheaper Linux hosting - while maintaining some form of self hosted web presence.  But finally getting there has also given me pause to reflect on why it took so long and what happened
          to my original energy around the project and self publishing.</p><p>Between these two photos has been house moves, role changes, a child, a global pandemic, the passing and ill health of the generation above me (and a lot of greying hair).</p><img src="/content/images/blog/itsalive/2013.jpg" /><img src="/content/images/blog/itsalive/2025.jpg" /><p>When the first photo was taken Windows Phone was still a player in the Mobile space and the most the world knew about AI was the soon to be released, and some may say darkly prophetic, <a href="https://www.imdb.com/title/tt1798709/">"Her"</a>.
          Now, with the second photo taken, we're seeing <a href="https://hbr.org/2025/04/how-people-are-really-using-gen-ai-in-2025">companionship rank number one in Generative AI use cases</a> and
          the heralding of <a href="https://www.oreilly.com/radar/the-end-of-programming-as-we-know-it/">the end of programming as we know it</a>.</p><h2 id="title_Aging">Aging as a Developer</h2><p>What the above confirms is the universal truth of technology and software engineering. The sands are always shifting, the horizon is always moving forward and we must do our best to keep apace - keep learning
          and keep challenging ourselves.  But we must take into account the human aspect.</p><p>This is where a recent Stack Overflow blog really struck a chord with me:</p><blockquote>
            "But for many developers, these aren't the biggest context-switching challenges they face. They're also parenting young children while simultaneously taking care of their aging parents. These are the developers in the sandwich generation."
            <cite><a href="https://stackoverflow.blog/2025/03/10/how-are-sandwich-generation-developers-dealing/">Stack Overflow blog</a></cite></blockquote><p>As my career in technology has progressed I've been involved in mentoring, hiring and ultimately line managing developers at all levels.  If nothing else this has reinforced
          the old adage that Technology is Easy, People are Hard.  And getting the best out of a team involves individualised context awareness - including of yourself.</p><p>I knocked together this high quality, accurate graph to visualise some of this and some of the topics touched on in the aforementioned blog.</p><img src="/content/images/blog/itsalive/timelinegraph.png" /><p>In the early parts of your career you may have low responsibility at work but an abundance of time and energy to kick start your knowledge, and play with ideas. 
          As you progress, the increase in your work responsibilities and becoming a parent puts a huge squeeze on that.  For many people as they move into their forties the impact
          of parenting may be replaced by the impact of caring for the previous generation as they age - so that original energy may never quite reach its early peak again.</p><p>Moving into leadership positions can also mean a change of modes at work.  From long periods of focussed individual contribution to interruptive, multi-modal ways of working
           across many contexts. This can be a more complicated and energy draining world to navigate.</p><h2 id="title_WhatsThePoint">What's my point?</h2><p>My argument here isn't to excuse my, or others, lack of side project effort as they age and progress in their career.  And certainly many people, including some of my brilliant colleagues past
          and present, show you can do it all.  The point is to be aware of these individual contexts and take best advantage of them while alleviating constraints.</p><p>This means really nailing a goal driven, <strong>output led focus in your time management</strong>.  It also means formulating teams that benefit from the mix of age and experience, delegating and empowering those early in their careers, allowing the more experienced heads to act
          as guides. All the while being aware that <strong>new ideas and innovations may be more likely to come from those with less tenure</strong>.</p><p>It also means taking advantage of technology, systems and processes.  The current era of <strong>AI and productivity tools can provide a huge accelerator</strong>. Both for the time poor but heavily
          experienced and battle scarred old hats to contribute better than ever before; and for the juniors and mids - able to learn, progress and transfer their knowledge more seamlessly between projects.</p><h2 id="title_NoteBelow">Note Below</h2><p>It goes without saying that the timeline I sketched out is a generalisation based on my experiences.  I've certainly met and worked with people with wildly different charts who excel while carrying all kinds of additional personal responsibilities.  As always your mileage may vary... As for me, I'll be trying to post a bit more here now that it's finally running on an up to date stack.</p>]]></content:encoded>
    </item>
    <item>
      <title>re:develop 2016</title>
      <link>http://cargowire.net/blog/redevelop2016</link>
      <guid>http://cargowire.net/blog/redevelop2016</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Fri, 14 Oct 2016 22:00:00 GMT</pubDate>
      <description>Conference at the beach!&lt;p&gt;Having not made the trip down to Bournemouth for re:develop 1 or 2 it was great to be in attendance for it's
          third incarnation.&lt;/p&gt;&lt;p&gt;A single track, relatively economical conference re:develop is ideal for digital pro's or students to self
          fund or wrangle a bit of budget out of their line managers. (also... by God were we well fed; high quality breakfast, lunch
          and dinner all provided as part of the entrance).  Anyways on with the talks...&lt;/p&gt;&lt;p&gt;A great way to start the day.  Roo was articulate and knowledgeable as he relayed his lessons learned while working as part of GDS.  A transformative
            organisation within the UK Government that pushed hard for both agile development, user focus and the employment of small scale suppliers in place of gargantuan
          contracts with blue chip consultancies (you may remember a consolidation and redesign under gov.uk that felt like it employed half the community active web dev's in the country
        a few years back).&lt;/p&gt;&lt;p&gt;The big takeaways here were the value in getting to meet and work directly with users ('Starting with User needs'), presenting them with early prototypes as soon
          as possible ('Show the thing') and using physical wallboards for team communication ('Walls are important').&lt;/p&gt;&lt;p&gt;The use of 'analog' wall boards was one of the more contentious points.  Questions were raised with regard to their effectiveness when working with remote teams.  Though
          Luke (the MC) referenced the 3M Post-it app as
          a potential solution there did seem to be a certain degree of skepticism in the room regarding their universal benefit for managing projects.  Tangible, physical representations of
          information can be a benefit though the Dootrix contingent felt that it may be best suited to workshops / specific discursive tasks rather than a continual project
          management tool in this era of home working etc.&lt;/p&gt;&lt;p&gt;Roo ended with some great advice.  'Act like you have permission', don't wait for leadership from above, make changes, make a difference - no matter how small
          (there were a couple of fun anecdotes here regarding Milk protectinism in shared fridges and the 'grass roots' creation of the excellent Tampon Club).&lt;/p&gt;&lt;p&gt;An interesting talk, that had Kev chuckling long with a knowing smile or two.&lt;/p&gt;&lt;p&gt;Elizabeth did a great job of highlighting the tension points between 'the business' and 'developers' in relation to satisfying a business/customer need quickly
          vs engineering good quality code.  Anyone working within software will be more than acquainted with scenarios whereby a 'prototype' ends up going live, where
          there is no time made to go back and 'refactor' or where refactoring is seen as 'writing the code twice'.  From the business side of course there is the 
          frustration with developers wanting to 'craft' when what the business needs is a demo, or a quick feedback cycle on an idea.&lt;/p&gt;&lt;p&gt;Coincidently this tied in quite well with some internal discussions Dootrix have been having with regard to how best to communicate the non-functional aims
          of a project and/or a client/agency relationship.  Elizabeth spoke often of the entire team being aware of the 'business context' and this is undoubtedly important
          in keeping everyone on the same page so as to lessen or adjust processes and approach appropriately.&lt;/p&gt;&lt;p&gt;Book recommendation: Lean UX&lt;/p&gt;&lt;p&gt;I'll be honest this is one of the talks that I took less away from but that may be due to the fact that Dootrix have a longstanding admiration for the benefits
          of code reviews.  I've written reasonably extensively on this in the past... and so I'll refer you there
          instead of going too far into it.  However it was clear through the discussions in the room and twitter that some organisations are still not great at peer review.&lt;/p&gt;&lt;p&gt;The key tips are: Don't make it personal, be thorough, be consistent, be positive.&lt;/p&gt;&lt;p&gt;Probably one of my favourite talks of the day Melinda spoke eloquently on her experiences with developer evangelism.  Her reframing of the role as 'Employee Evangelism'
          had the subtle but important effect of widening the scope of responsibility - from focusing on engaging with external developers to promoting your employees. Knowing
          this will have not just the same but increased benefits both to your potential customers/employees but also your current team.&lt;/p&gt;&lt;p&gt;Some excellent tips for encouraging colleagues to put themselves out there (as writers, speakers, trainers) included introducing lightning talks,
          lunch hour learning, an internal blog (as a means to building up to public blogging), pair and group written public blogs, but also simply helping colleagues to work through 
          their concerns/fears with writing or speaking publicly.  The great thing about all of these approaches are they can be implemented immediately at your own organisation, with little to no 
          cost or disruption.&lt;/p&gt;&lt;p&gt;Melinda strongly recommended reading 'Mindset: How You Can Fulfil Your Potential'
          to learn how to break out of a fixed mindset.  In a growth mindset we strive to develop our basic abilities rather than assuming they are static and limiting.&lt;/p&gt;&lt;p&gt;Ruth's whistle stop tour of the MIDI, Audio and many other web api's was choc full of demo's and exciting hardware (who doesn't want 
          one of these).&lt;/p&gt;&lt;p&gt;To me this was yet another reminder that the web is now a platform that can do virtually anything.  With just JS and a modern web browser we can manipulate video, audio,
          read data from a mic or webcam, draw 2d, draw 3d, integrate with GPS and a variety of other sensors and IO devices.  To do this in C++, JAVA, C# or other
          traditional development platforms would require numerous libraries, dependencies and all kinds of wrangling.&lt;/p&gt;&lt;p&gt;This makes the web brilliant as a developer playground or learning tool and shows us just how much we can do on mobile without needing to go native.&lt;/p&gt;&lt;p&gt;A lesson in managing large scale web design via a living design system (style guides, design language).  Thinking of it as making your own client
          or project specific Bootstrap can be a good shorthand.&lt;/p&gt;&lt;p&gt;Stu also pointed us towards Fractal a useful looking tool for presenting and exploring a design system.&lt;/p&gt;&lt;p&gt;What I took away from this talk, is that Service Workers are great but that I can't use them yet (due to iOS Safari 'considering' the spec rather
          than implementing it).&lt;/p&gt;&lt;p&gt;That may be unfair.  However Service workers (a technology that assists in 'installing' a web app, allowing it to work offline and treat the network as
          an optional enhancement) do look like a great step forward, alongside the sorts of api's discussed by Ruth, in reducing the requirement/need for native
          app development.&lt;/p&gt;&lt;p&gt;One of the more technical heavy talks on the agenda Paul did a thorough job of breaking down the issues surrounding moving to a cloud based
          approach to development and deployment.  Many of us are still living in a world where we deploy a single application to a single box (or VM).&lt;/p&gt;&lt;p&gt;A shift to cloud services may not only force code to be 'horizontal scaling friendly'
          but also raises questions around access/identity management, encryption (particularly if the original monolith was on a private server and is now going on to
          the public cloud such as amazon or azure), logging, disk io...&lt;/p&gt;&lt;p&gt;These kinds of problems highlight how developers now are expected to know such a wide range of technologies and techniques from the languages and frameworks they use to
          IaaS, PaaS, REST, deployment automation.&lt;/p&gt;&lt;p&gt;As is often the case on conference agendas the final talk aims to liven and lighten the mood leaving us on a high.  Matt struck a good balance between
          humour and insight as he likened and highlighted the similarities between parenthood and being a developer.&lt;/p&gt;&lt;p&gt;This included reference to asking questions, not accepting that something can't be done, not getting attached to ideas, accepting failure.&lt;/p&gt;&lt;p&gt;...Oh and he also blew our minds by pointing out that 'listen' shares the same letters as 'silent' I know... that definitely means something.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Having not made the trip down to Bournemouth for re:develop 1 or 2 it was great to be in attendance for it's
          third incarnation.</p><p>A single track, relatively economical conference re:develop is ideal for digital pro's or students to self
          fund or wrangle a bit of budget out of their line managers. <i>(also... by God were we well fed; high quality breakfast, lunch
          and dinner all provided as part of the entrance)</i>.  Anyways on with the talks...</p><h2>Agile in the public Sector <small>- <a href="http://twitter.com/rooreynolds" title="Roo on twitter">Roo Reynolds</a></small></h2><p>A great way to start the day.  Roo was articulate and knowledgeable as he relayed his lessons learned while working as part of <a href="https://gds.blog.gov.uk/" title="Government Digital Service">GDS</a>.  A transformative
            organisation within the UK Government that pushed hard for both agile development, user focus and the employment of small scale suppliers in place of gargantuan
          contracts with blue chip consultancies (you may remember a consolidation and redesign under gov.uk that felt like it employed half the community active web dev's in the country
        a few years back).</p><p>The big takeaways here were the value in getting to meet and work directly with users ('Starting with User needs'), presenting them with early prototypes as soon
          as possible ('Show the thing') and using physical wallboards for team communication ('Walls are important').</p><p>The use of 'analog' wall boards was one of the more contentious points.  Questions were raised with regard to their effectiveness when working with remote teams.  Though
          <a href="https://twitter.com/alukeonlife">Luke</a> (the MC) referenced the <a href="http://www.post-it.com/3M/en_US/post-it/ideas/plus-app/">3M Post-it app</a> as
          a potential solution there did seem to be a certain degree of skepticism in the room regarding their universal benefit for managing projects.  Tangible, physical representations of
          information can be a benefit though the Dootrix contingent felt that it may be best suited to workshops / specific discursive tasks rather than a continual project
          management tool in this era of home working etc.</p><p>Roo ended with some great advice.  'Act like you have permission', don't wait for leadership from above, make changes, make a difference - no matter how small
          (there were a couple of fun anecdotes here regarding Milk protectinism in shared fridges and the 'grass roots' creation of the excellent <a href="http://www.tampon.club/">Tampon Club</a>).</p><h2>Software Craftsmanship vs Lean Product <small>- <a href="http://twitter.com/ElizAyer" title="Elizabeth on twitter">Elizabeth Ayer</a></small></h2><p>An interesting talk, that had <a href="http://twitter.com/kevatron">Kev</a> chuckling long with a knowing smile or two.</p><p>Elizabeth did a great job of highlighting the tension points between 'the business' and 'developers' in relation to satisfying a business/customer need quickly
          vs engineering good quality code.  Anyone working within software will be more than acquainted with scenarios whereby a 'prototype' ends up going live, where
          there is no time made to go back and 'refactor' or where refactoring is seen as 'writing the code twice'.  From the business side of course there is the 
          frustration with developers wanting to 'craft' when what the business needs is a demo, or a quick feedback cycle on an idea.</p><p>Coincidently this tied in quite well with some internal discussions Dootrix have been having with regard to how best to communicate the non-functional aims
          of a project and/or a client/agency relationship.  Elizabeth spoke often of the entire team being aware of the 'business context' and this is undoubtedly important
          in keeping everyone on the same page so as to lessen or adjust processes and approach appropriately.</p><p>Book recommendation: <a href="https://www.amazon.co.uk/Lean-UX-Designing-Great-Products/dp/1491953608/ref=sr_1_2?s=books&amp;ie=UTF8&amp;qid=1476481235&amp;sr=1-2&amp;keywords=lean+ux" title="Lean UX on Amazon.co.uk">Lean UX</a></p><h2>There's More to Code Reviews than You Might Think <small>- <a href="http://twitter.com/clairs" title="Clair on twitter">Clair Shaw</a></small></h2><p>I'll be honest this is one of the talks that I took less away from but that may be due to the fact that Dootrix have a longstanding admiration for the benefits
          of code reviews.  I've written <a href="/articles/codereview" title="Code Conversations">reasonably extensively on this in the past</a>... and so I'll refer you there
          instead of going too far into it.  However it was clear through the discussions in the room and twitter that some organisations are still not great at peer review.</p><p>The key tips are: Don't make it personal, be thorough, be consistent, be positive.</p><h2>Employee Evangelism: Make Your Team Badass <small>- <a href="http://twitter.com/mseckington" title="Melinda on twitter">Melinda Seckington</a></small></h2><p>Probably one of my favourite talks of the day Melinda spoke eloquently on her experiences with developer evangelism.  Her reframing of the role as 'Employee Evangelism'
          had the subtle but important effect of widening the scope of responsibility - from focusing on engaging with external developers to promoting your employees. Knowing
          this will have not just the same but increased benefits both to your potential customers/employees but also your current team.</p><p>Some excellent tips for encouraging colleagues to put themselves out there (as writers, speakers, trainers) included introducing lightning talks,
          lunch hour learning, an internal blog (as a means to building up to public blogging), pair and group written public blogs, but also simply helping colleagues to work through 
          their concerns/fears with writing or speaking publicly.  The great thing about all of these approaches are they can be implemented immediately at your own organisation, with little to no 
          cost or disruption.</p><p>Melinda strongly recommended reading '<a href="https://www.amazon.co.uk/dp/1780332009/ref=wl_it_dp_o_pC_nS_ttl?_encoding=UTF8&amp;colid=1OD14HJBMEEKW&amp;coliid=I3P6KA07RO7GQ" title="Mindset: How You Can Fulfil Your Potential on Amazon.co.uk">Mindset: How You Can Fulfil Your Potential</a>'
          to learn how to break out of a fixed mindset.  In a growth mindset we strive to develop our basic abilities rather than assuming they are static and limiting.</p><h2>Let's talk about MIDI (and other fun Web APIs) <small>- <a href="http://twitter.com/Rumyra" title="Ruth on twitter">Ruth John</a></small></h2><p>Ruth's whistle stop tour of the MIDI, Audio and many other web api's was choc full of demo's and exciting hardware (who doesn't want 
          <a href="https://www.amazon.co.uk/AKAI-Professional-LPD8-Portable-Controller/dp/B002M8EEW8/ref=sr_1_4?s=musical-instruments&amp;ie=UTF8&amp;qid=1476487094&amp;sr=1-4&amp;keywords=midi+controller" title="AKAI MIDI controller">one of these</a>).</p><p>To me this was yet another reminder that the web is now a platform that can do virtually anything.  With just JS and a modern web browser we can manipulate video, audio,
          read data from a mic or webcam, draw 2d, draw 3d, integrate with GPS and a variety of other sensors and IO devices.  To do this in C++, JAVA, C# or other
          traditional development platforms would require numerous libraries, dependencies and all kinds of wrangling.</p><p>This makes the web brilliant as a developer playground or learning tool and shows us just how much we can do on mobile without needing to go native.</p><h2>L-I-V-I-N <small>- <a href="http://twitter.com/sturobson" title="Stu on twitter">Stuart Robson</a></small></h2><p>A lesson in managing large scale web design via a living design system (style guides, design language).  Thinking of it as making your own client
          or project specific Bootstrap can be a good shorthand.</p><p>Stu also pointed us towards <a href="http://fractal.build/">Fractal</a> a useful looking tool for presenting and exploring a design system.</p><h2>An introduction to Service Workers <small>- <a href="http://twitter.com/philnash" title="Phil on twitter">Phil Nash</a></small></h2><p>What I took away from this talk, is that Service Workers are great but that I can't use them yet (due to iOS Safari 'considering' the spec rather
          than implementing it).</p><p>That may be unfair.  However Service workers (a technology that assists in 'installing' a web app, allowing it to work offline and treat the network as
          an optional enhancement) do look like a great step forward, alongside the sorts of api's discussed by Ruth, in reducing the requirement/need for native
          app development.</p><h2>The Cloud – Hype to Reality <small>- <a href="https://twitter.com/pkuzan" title="Paul on twitter">Paul Kuzan</a></small></h2><p>One of the more technical heavy talks on the agenda Paul did a thorough job of breaking down the issues surrounding moving to a cloud based
          approach to development and deployment.  Many of us are still living in a world where we deploy a single application to a single box (or VM).</p><p>A shift to cloud services may not only force code to be 'horizontal scaling friendly'
          but also raises questions around access/identity management, encryption (particularly if the original monolith was on a private server and is now going on to
          the public cloud such as amazon or azure), logging, disk io...</p><p>These kinds of problems highlight how developers now are expected to know such a wide range of technologies and techniques from the languages and frameworks they use to
          IaaS, PaaS, REST, deployment automation.</p><h2>Little Scraps of Wisdom <small>- <a href="http://twitter.com/mattnortham" title="Matt on twitter">Matt Northam</a></small></h2><p>As is often the case on conference agendas the final talk aims to liven and lighten the mood leaving us on a high.  Matt struck a good balance between
          humour and insight as he likened and highlighted the similarities between parenthood and being a developer.</p><p>This included reference to asking questions, not accepting that something can't be done, not getting attached to ideas, accepting failure.</p><p>...Oh and he also blew our minds by pointing out that 'listen' shares the same letters as 'silent' I know... that definitely means something.</p>]]></content:encoded>
    </item>
    <item>
      <title>DevSouthCoast GameJam 2013</title>
      <link>http://cargowire.net/blog/devsouthcoastgamejam13</link>
      <guid>http://cargowire.net/blog/devsouthcoastgamejam13</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sun, 15 Sep 2013 19:00:00 GMT</pubDate>
      <description>Making a game in a weekend&lt;p&gt;Making games over a weekend... 
          competitively... and we chose a dead technology... why the hell not!&lt;/p&gt;&lt;p&gt;Although I'd heard of Game Jam's before  I'd never had the opportunity to
          go along until John kindly organised one just up the road. - Essentially a hack
          day or days specifically concentrated on making a game in a small team, all rounded off with a demo session at the end
          and prizes for the winners.&lt;/p&gt;&lt;p&gt;The weekend started with about 15 of us huddled around two tables at the Cowherds nervously waiting to be split
          into teams before being assigned two random words that would be our theme for the weekend.  Having shown up
          with a ready made team (Myself, Adam,
          Dave and Thomas) we only gained one member in the draft (the delightful Steven)
          leaving just the words to come.  And then they did...&lt;/p&gt;&lt;p&gt;...mouse trap... (come on technically that's two words surely!)&lt;/p&gt;&lt;p&gt;...and...&lt;/p&gt;&lt;p&gt;...bubble...&lt;/p&gt;&lt;p&gt;To be honest these were actually pretty good and soon we were well away with brainstorming ideas - before starting code on the saturday
          morning.&lt;/p&gt;&lt;p&gt;The game we made ended up being simple in gameplay but ideally quick to pick up, fun to play and open to extension if
          we decided to carry it on.  The final result can be seen below:&lt;/p&gt;&lt;p&gt;Controls were xbox gamerpad only and we supported 1 to 4 simultaneous players.  The artwork from Thomas
          really set us up well with all graphics being custom made over the weekend using Inkscape
          and ase sprite.&lt;/p&gt;&lt;p&gt;The relatively simple concept allowed us to add some nice subtleties (for the time available!).  In the above
          screenshot you can see articulated mice tails.  There was also an array of custom sound effects including
          a bubble effect provided by Stevens daughter Lucy and a number of sprite animations for mice, bubbles, pins etc.&lt;/p&gt;&lt;p&gt;To play the game players use the left thumbstick to control a bubble wand that places bubbles when the left shoulder
          button is pressed down.  Until it is released the bubble grows unless you let it get out of control and pop! when
          you release the bubble mice that have been captured are removed and gain you points (displayed inside your cursor).  At the same time you can
          use the right thumbstick and right shoulder button to control a pin that can pop your opponents bubbles - especially
          useful when you notice them trying to build up a large combo catching bubble.&lt;/p&gt;&lt;p&gt;With four players this can get pretty fun and hectic!&lt;/p&gt;&lt;p&gt;Again, the strict set of capabilities we aimed for allowed for polish with full game menus and some end game stats on
          aspects of the players play - That's meant to be me second down on the right btw...&lt;/p&gt;&lt;p&gt;I quickly recorded myself playing (1 player only in this I'm afraid).  This was mainly so you can hear the soundtrack:&lt;/p&gt;&lt;p&gt;Overall it was a great fun weekend and I'm really pleased with the result.  I'd definitely do something similar
          again - hopefully it'll become an annual thing.&lt;/p&gt;&lt;p&gt;...Oh... and we were voted winners... SWEET&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Making games <a href="http://www.meetup.com/DeveloperSouthCoast/events/125204562/">over a weekend</a>... 
          competitively... and we chose <a href="http://www.gamasutra.com/view/news/185894/Its_official_XNA_is_dead.php">a dead technology...</a> why the hell not!</p><p>Although I'd heard of <a href="http://en.wikipedia.org/wiki/Game_jam">Game Jam's</a> before  I'd never had the opportunity to
          go along until <a href="http://twitter.com/imaji">John</a> kindly organised one just up the road. - Essentially a hack
          day or days specifically concentrated on making a game in a small team, all rounded off with a demo session at the end
          and prizes for the winners.</p><h2>The Event</h2><p>The weekend started with about 15 of us huddled around two tables at the Cowherds nervously waiting to be split
          into teams before being assigned two random words that would be our theme for the weekend.  Having shown up
          with a ready made team (<a href="http://twitter.com/cargowire" rel="me">Myself</a>, <a href="http://twitter.com/adamdavidhill">Adam</a>,
          <a href="http://twitter.com/Dave_Panic">Dave</a> and <a href="http://twitter.com/breadpuncher">Thomas</a>) we only gained one member in the draft (the delightful <a href="http://twitter.com/busywait">Steven</a>)
          leaving just the words to come.  And then they did...</p><p>...mouse trap... (come on technically that's two words surely!)</p><p>...and...</p><p>...bubble...</p><p>To be honest these were actually pretty good and soon we were well away with brainstorming ideas - before starting code on the saturday
          morning.</p><h2>The Game!</h2><p>The game we made ended up being simple in gameplay but ideally quick to pick up, fun to play and open to extension if
          we decided to carry it on.  The final result can be seen below:</p><h4>Menu</h4><img src="/content/images/blog/bsmenu.png" /><p>Controls were xbox gamerpad only and we supported 1 to 4 simultaneous players.  The artwork from <a href="http://twitter.com/breadpuncher">Thomas</a>
          really set us up well with all graphics being custom made over the weekend using <a href="http://inkscape.org/">Inkscape</a>
          and <a href="http://www.aseprite.org/">ase sprite</a>.</p><h4>Level</h4><img src="/content/images/blog/bsgame.png" /><p>The relatively simple concept allowed us to add some nice subtleties (for the time available!).  In the above
          screenshot you can see articulated mice tails.  There was also an array of custom sound effects including
          a bubble effect provided by Stevens daughter Lucy and a number of sprite animations for mice, bubbles, pins etc.</p><p>To play the game players use the left thumbstick to control a bubble wand that places bubbles when the left shoulder
          button is pressed down.  Until it is released the bubble grows unless you let it get out of control and pop! when
          you release the bubble mice that have been captured are removed and gain you points (displayed inside your cursor).  At the same time you can
          use the right thumbstick and right shoulder button to control a pin that can pop your opponents bubbles - especially
          useful when you notice them trying to build up a large combo catching bubble.</p><p>With four players this can get pretty fun and hectic!</p><h4>End</h4><img src="/content/images/blog/bsend.png" /><p>Again, the strict set of capabilities we aimed for allowed for polish with full game menus and some end game stats on
          aspects of the players play - That's meant to be me second down on the right btw...</p><h3>Gameplay</h3><p>I quickly recorded myself playing (1 player only in this I'm afraid).  This was mainly so you can hear the soundtrack:</p><iframe width="560" height="315" src="//www.youtube.com/embed/xq6rv6s-Xxo" frameborder="0" allowfullscreen="" /><h2>Things we learned</h2><ul>
            <li>Don't be too ambitious - stick to something fun but small enough in scope that you can finish and polish it</li>
            <li>Have clear roles defined, if everyone in your team is programming rather than researching, doing artwork,
            creating/sourcing sounds you're going to step on each others toes A LOT.</li>
            <li>Get sounds in... it immediately adds a great deal to the game even if you don't have time to make your own</li>
            <li>Ideally work with tools everyone in the team understands you don't want to be teaching someone your preferred
            source control when you could be coding</li>
          </ul><p>Overall it was a great fun weekend and I'm really pleased with the result.  I'd definitely do something similar
          again - hopefully it'll become an annual thing.</p><p>...Oh... and we were voted winners... SWEET</p><h2>Links</h2><ul>
            <li>
              <a href="https://bitbucket.org/AdamHill/bubbleandsqueak">Source code</a>
            </li>
            <li>
              <a href="http://devsouthcoast.org">DevSouthCoast</a>
            </li>
          </ul>]]></content:encoded>
    </item>
    <item>
      <title>NodeCopter Southampton 2013</title>
      <link>http://cargowire.net/blog/nodecoptersoton13</link>
      <guid>http://cargowire.net/blog/nodecoptersoton13</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sun, 11 Aug 2013 19:00:00 GMT</pubDate>
      <description>Flying quadcopters with javascript? why the hell not&lt;p&gt;
            Hack Days are awesome.  How could they not be? you get to make stuff
            with like minded people with no bosses, no client deadlines, no point but the love of it.
          &lt;/p&gt;&lt;p&gt;The best way to make a hack day more awesome? throw in some hardware so we all feel like the mechanical/electrical/aeronautical engineers
          that at heart we really wish we were.&lt;/p&gt;&lt;p&gt;Can that be made more fun? yeh probably if you throw in a super power few of us would turn down... FLYING!&lt;/p&gt;&lt;p&gt;
            SoMakeIt's southampton maker space has been around for a few months now and is a venture I fully support.
          Essentially a pooled group workshed it can act as a hub for tech activity in the Southampton area facilitating
          knowledge sharing and providing a venue for organised workshops.&lt;/p&gt;&lt;p&gt;The drones that we got to play with were accessible via WiFi (and controllable by some 'off the shelf' mobile apps).
          Conveniently there is a node package that allows those of us who've coded
          for the web (surely almost all devs out there have done at least some) to communicate with and control the quad copter
          with js.&lt;/p&gt;&lt;p&gt;The copters also have an HD camera on the front and automatic hovering after take off.&lt;/p&gt;&lt;p&gt;
            Our project was relatively simple.  Teach the copter to read.&lt;/p&gt;&lt;p&gt;Much simpler than it sounds a few choice npm packages (nodecr, 
          express) and we were on our way.  If you'd
          like to see the code it's available on github.
          It's really simple but hopefully looks impressive:&lt;/p&gt;&lt;p&gt;I've got to be honest... I'm incredibly tempted to get hold of one of these copters since spending the day with them.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
            <a href="http://en.wikipedia.org/wiki/Hackathon">Hack Days</a> are awesome.  How could they not be? you get to make stuff
            with like minded people with no bosses, no client deadlines, no point but the love of it.
          </p><p>The best way to make a hack day more awesome? throw in some hardware so we all feel like the mechanical/electrical/aeronautical engineers
          that at heart we really wish we were.</p><p>Can that be made more fun? yeh probably if you throw in a super power few of us would turn down... FLYING!</p><h2>The venue</h2><p>
            <a href="http://somakeit.org.uk">SoMakeIt</a>'s southampton maker space has been around for a few months now and is a venture I fully support.
          Essentially a pooled group workshed it can act as a hub for tech activity in the Southampton area facilitating
          knowledge sharing and providing a venue for organised workshops.</p><h2>The Tech</h2><p>The drones that we got to play with were accessible via WiFi (and controllable by some 'off the shelf' mobile apps).
          Conveniently there is a <a href="https://npmjs.org/package/ar-drone">node package</a> that allows those of us who've coded
          for the web (surely almost all devs out there have done at least some) to communicate with and control the quad copter
          with js.</p><p>The copters also have an HD camera on the front and automatic hovering after take off.</p><h2>The project</h2><p>
            <abbr title="@DHDev and I">Our</abbr> project was relatively simple.  Teach the copter to read.</p><p>Much simpler than it sounds a few choice npm packages (<a href="https://npmjs.org/package/nodecr" title="An ocr library">nodecr</a>, 
          <a href="https://npmjs.org/package/express" title="A web framework">express</a>) and we were on our way.  If you'd
          like to see the code it's <a href="https://github.com/cargowire/nodecopterhack" title="NodeCopter HackDay OCR Controller">available on github</a>.
          It's really simple but hopefully looks impressive:</p><iframe width="560" height="315" src="//www.youtube.com/embed/-xvXSijOasA" frameborder="0" allowfullscreen="" /><p>I've got to be honest... I'm incredibly tempted to get hold of one of these copters since spending the day with them.</p><h2>Links</h2><ul>
            <li>
              <a href="http://nodecopter.com/">NodeCopter</a>
            </li>
            <li>
              <a href="http://greatbritishnodeconf.co.uk/">Great British Node Conf</a>
            </li>
            <li>
              <a href="http://www.amazon.co.uk/Parrot-AR-Drone-Outdoor-Hull-Orange/dp/B007HZLLOK">AR Drones on amazon</a>
            </li>
          </ul>]]></content:encoded>
    </item>
    <item>
      <title>Joining Dootrix</title>
      <link>http://cargowire.net/blog/joiningdootrix</link>
      <guid>http://cargowire.net/blog/joiningdootrix</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sat, 24 Nov 2012 20:00:00 GMT</pubDate>
      <description>Very gradual change you can believe in.&lt;p&gt;It's been a while since I posted.  I'd like to say that's because a lot's been going on.  In reality I got lazy and now I just happen to have
          something to write about that can make it sound like a lot has been going on.&lt;/p&gt;&lt;p&gt;So I joined Dootrix.. and therefore left Headscape.  To be honest
          that's not that big a deal.. certainly not for you.  It is just my job after all, not yours. So I thought about twisting it to chat about change.&lt;/p&gt;&lt;p&gt;I'd been at Headscape for some four and a half years and as Tech Lead was in the privileged position of being able to exercise a great amount
          of control over my work.  As an aside; I say 'privileged' because I truly believe that the most important aspect of staff morale is control over your own
          work.  That includes not only how you do things but also the shift in responsibility from some 'upper layer' to yourself - with direct ownership.&lt;/p&gt;&lt;p&gt;So when the opportunity came up to move with Bob to his new company it was quite a big decision to make.
          Not only would it be a change in technologies it would also be a slight change in role, going from the lead to being part of a team under the technical
          directorship of Kev.  I've also become the youngest at a company again (which is always good for the early mid-life
          crisis).&lt;/p&gt;&lt;p&gt;
            For those keen readers amongst you you may relate this to my post from August about being a middle class dev.
          &lt;/p&gt;&lt;p&gt;When making the decision I was reminded by a friend of Haw's words "If You Do Not Change, You 
          Can Become Extinct".  I'm a great believer that two truisms of being a programmer are that your main job is to handle change and part of handling that change
          is constant learning.  Now this comes in many forms.  In an agency environment each project represents new challenges and potentially things you've never done
          before.  Then on each project as the requirements evolve your aims and tasks are constantly needing readjustment.  If that isn't something you look forward to
          then you might want to reconsider being a programmer.&lt;/p&gt;&lt;p&gt;Personal projects may be your playground for trying new things but bearing in mind you probably spend about a third of your life at work wouldn't it make sense
          to get to try new things at work? Now, that isn't always possible and is often more incremental then it is seismic or even lateral.  This makes sense for business
          and can also for you, particularly if you want to become an expert in something specific.  However, as we know the tech world moves fast and so as professionals so should
          we.  One of the easiest ways to do that is to switch roles entirely...&lt;/p&gt;&lt;p&gt;In times of recession and austerity there can be many factors that influence a decision to move jobs that aren't just about if the new job will be fun. However
          in true hipster #YOLO style I decided to try and rule out those kinds of concerns.  Instead I returned to my point above regarding change and constant learning.  What was
          on offer at Dootrix was enforced change within a known situation (working with Bob) and so was Ideal. Since joining I've been working on C++, OpenGL, Silverlight and iOS.
          A reasonably far cry from my ASP.NET web days.  And that is not to denigrate those days.  The web is awesome, in many ways still the future and I will definitely still
          be in this space on personal projects but now I get to learn at a dramatic pace during worktime (which is, let's be honest the majority of the time) on a wide variety
          of software projects.&lt;/p&gt;&lt;p&gt;Hopefully you'll see a bit more variety in my articles switching from web to native and back again.  I've got a couple of web projects I'd like to be making
          and a few silly gadgets I like messing around with so the coming year should be great.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It's been a while since I posted.  I'd like to say that's because a lot's been going on.  In reality I got lazy and now I just happen to have
          something to write about that can make it sound like a lot has been going on.</p><p>So I joined <a href="https://www.dootrix.com">Dootrix</a>.. and therefore left <a href="http://www.headscape.co.uk">Headscape</a>.  To be honest
          that's not that big a deal.. certainly not for you.  It is just <strong>my</strong> job after all, not yours. So I thought about twisting it to chat about change.</p><p>I'd been at Headscape for some four and a half years and as Tech Lead was in the privileged position of being able to exercise a great amount
          of control over my work.  As an aside; I say 'privileged' because I truly believe that the most important aspect of staff morale is control over your own
          work.  That includes not only how you do things but also the shift in responsibility from some 'upper layer' to yourself - with direct ownership.</p><p>So when the opportunity came up to move with <a href="http://www.robborley.com">Bob</a> to his new company it was quite a big decision to make.
          Not only would it be a change in technologies it would also be a slight change in role, going from the lead to being part of a team under the technical
          directorship of <a href="http://www.kevatron.co.uk/">Kev</a>.  I've also become the youngest at a company again (which is always good for the early mid-life
          crisis).</p><p>
            <i>For those keen readers amongst you you may relate this to my post from August about <a href="http://cargowire.net/blog/bemiddleclass">being a middle class dev</a>.</i>
          </p><h3>Decisions, decisions...</h3><p>When making the decision I was reminded by a friend of <a href="http://en.wikipedia.org/wiki/Who_Moved_My_Cheese%3F">Haw's words</a> "If You Do Not Change, You 
          Can Become Extinct".  I'm a great believer that two truisms of being a programmer are that your <strong>main job is to handle change</strong> and part of handling that change
          is <strong>constant learning</strong>.  Now this comes in many forms.  In an agency environment each project represents new challenges and potentially things you've never done
          before.  Then on each project as the requirements evolve your aims and tasks are constantly needing readjustment.  If that isn't something you look forward to
          then you might want to reconsider being a programmer.</p><p>Personal projects may be your playground for trying new things but bearing in mind you probably spend about a third of your life at work wouldn't it make sense
          to get to try new things at work? Now, that isn't always possible and is often more incremental then it is seismic or even lateral.  This makes sense for business
          and can also for you, particularly if you want to become an expert in something specific.  However, as we know the tech world moves fast and so as professionals so should
          we.  One of the easiest ways to do that is to switch roles entirely...</p><h3>"What Would You Do If You Weren't Afraid?"</h3><p>In times of recession and austerity there can be many factors that influence a decision to move jobs that aren't just about if the new job will be fun. However
          in true hipster #YOLO style I decided to try and rule out those kinds of concerns.  Instead I returned to my point above regarding change and constant learning.  What was
          on offer at Dootrix was enforced change within a known situation (working with Bob) and so was Ideal. Since joining I've been working on C++, OpenGL, Silverlight and iOS.
          A reasonably far cry from my ASP.NET web days.  And that is not to denigrate those days.  The web is awesome, in many ways still the future and I will definitely still
          be in this space on personal projects but now I get to learn at a dramatic pace during worktime (which is, let's be honest the majority of the time) on a wide variety
          of software projects.</p><h3>Going forward:</h3><p>Hopefully you'll see a bit more variety in my articles switching from web to native and back again.  I've got a couple of web projects I'd like to be making
          and a few silly gadgets I like messing around with so the coming year should be great.</p>]]></content:encoded>
    </item>
    <item>
      <title>.NET Web Development, you know you want to... </title>
      <link>http://cargowire.net/blog/polygotdotnetdev</link>
      <guid>http://cargowire.net/blog/polygotdotnetdev</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Wed, 04 Jul 2012 12:00:00 GMT</pubDate>
      <description>secretly... no really, it could be	your new guilty pleasure......maybe I can convince you&lt;p&gt;My first smashing coding article is now available! It's main
				aim is to convince people that .NET isn't all bad.&lt;/p&gt;&lt;p&gt;Hopefully there'll be something in there for developers of
				all backgrounds - A basic intro to .NET for devs from other platforms and a little play with the lesser used .NET
				languages for the experienced .NETter.&lt;/p&gt;&lt;p&gt;Check out the article, 
				source code and demo.&lt;/p&gt;&lt;p&gt;If anyone fancies adding another example of either a different language or framework by all means Fork Me!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>My first <a href="http://coding.smashingmagazine.com">smashing coding</a> article is now available! It's main
				aim is to convince people that .NET isn't all bad.</p><p>Hopefully there'll be something in there for developers of
				all backgrounds - A basic intro to .NET for devs from other platforms and a little play with the lesser used .NET
				languages for the experienced .NETter.</p><p>Check out the <a href="http://coding.smashingmagazine.com/2012/07/02/dive-net-web-development/">article</a>, 
				<a href="https://github.com/cargowire/DotNetDev">source code</a> and <a href="http://stuff.cargowire.net/dotnetdev/">demo</a>.</p><p>If anyone fancies adding another example of either a different language or framework by all means Fork Me!</p>]]></content:encoded>
    </item>
    <item>
      <title>Should everyone learn to code?</title>
      <link>http://cargowire.net/blog/shouldwealllearntocode</link>
      <guid>http://cargowire.net/blog/shouldwealllearntocode</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Mon, 04 Jun 2012 16:20:00 GMT</pubDate>
      <description>Learn to code? not learn to code? argue about who should learn, when and why?.. definitely.&lt;p&gt;
					It's not often I write opinion pieces but the whole 'learn to code' thing seems to have been building since the beginning of the year.  It's time
					to add my voice to the squabble.
 				&lt;/p&gt;&lt;p&gt;The big recent news of course is that Jeff Atwood added his voice to 
				the fray with the rather comment baiting "please don't learn to code".  Atwood's post appeared to be in response to the buzz around Code Academy's
				Code Year; an initiative to get people learning to code.&lt;/p&gt;&lt;p&gt;If we go back to the beginning of the year though we can see this idea was hitting the headlines in the UK for difference reasons.  Michael Gove, 
				darling of the teaching unions,
				was reported by the BBC as wanting to overhaul ICT teaching in schools.&lt;/p&gt;&lt;p&gt;Now, this idea wasn't a sudden epiphany from Gove.
				The BCS had been pushing for change
				for a long time, and so too have a number of individuals in the creative technology industries. And although an American organisation pushing the learning 
				of code (with figures like the Mayor of New York taking them up on it) and the British Government potentially encouraging schools to teach computing may seem unrelated both are anchored in the 
				core principle that 'coding' is a fundamental thing to be learned.&lt;/p&gt;&lt;p&gt;To me, that's the key pivot point and the main thing that people like Jeff Atwood were getting at.  No-one is suggesting people should be dissallowed to learn
				or even discouraged if they want to.  It's more whether it is a fundamentally useful thing to learn even if you do not intend to take a career path making direct use of it.&lt;/p&gt;&lt;p&gt;Back when the UK curriculum was in the news I remember discussing it with Rob. What became clear is it's actually quite hard
				to be objective about it.  If you've spent most your life using computers, did a degree in it and are now working in that field of course you are going to think it would have
				been useful to learn it back at school and of course you're going to think everyone should experience how awesome you find it.  But then arguably that's true of a lot of fields.
				Should a Lawyer expect to learn how a court works at school?&lt;/p&gt;&lt;p&gt;There are probably two main aims for curriculum: 
					To prepare the student for getting through life e.g. literacy, numeracy, personal, social and health educationTo give them a taste of the wide scope of human knowledge and activity so as to adequately make them aware of how they might want to make their impact on the world&lt;/p&gt;&lt;p&gt;So does 'computing' fit into either of these categories? Well you definitely need to know how to use a computer. They are pervasive in the workplace and in
				terms of dealing with governments, banks and media.  But then is using a computer as key as being able to read and communicate effectively through the written word?&lt;/p&gt;&lt;p&gt;Arguably the subjects we see as core were baked into our concept of a curriculum before computing. The need to be able to use computers was met, although 
				often heavily criticised, by
				ICT.&lt;/p&gt;&lt;p&gt;However one of the key things I think ICT has failed to do is address the second point in terms of giving the student that taste of computer science that can allow them
				to run away with it, turning it into a life passion and career.  ICT never really said, to me at least, "Hey guys these apps you're using, these games you're playing
				you can do this shit and get paid for it and here's how".&lt;/p&gt;&lt;p&gt;
					This whole 'user vs creator' argument is often put forward but then I use a lot of things that I'm unable to create or fix from plumbing through cars and electrical hardware.
					In most cases if I wish to get into it there are courses available but they are generally later in life and optional.  I call bullshit on every comment saying
					people need to know coding to avoid things like, as Mortiz Schlarb put it "How can my download limit be exceeded, I haven't downloaded anything, I just watched streams?!".
					Knowing how to code doesn't suddenly make you a general computer expert it's a very specific aspect of computer knowledge.&lt;/p&gt;&lt;p&gt;In fact it isn't even the only way you 'create' with a computer.  If I use applications to create 3D art or craft a level for Portal I'm creating, but I'm not coding.&lt;/p&gt;&lt;p&gt;Similarly there are those who try and argue that
					coding isn't what it's about. It's actually all about critical thinking and analysis. Well is it? surely coding is not the only mechanism for that.  Should we
					add philosophy classes to the list of 'must haves'?
				&lt;/p&gt;&lt;p&gt;In fact, for the pros the best argument is actually sticking to their guns and saying that programming really is a new fundamental building block (along with literacy, numercy etc).
				Afterall it's applicable to many jobs (probably more so going forward) and you don't really get a job as a general purpose 'programmer' in the same way that you don't get a job as a general
				'writer' you use those skills and further them into your particular career niche.  A digital artist can be a programmer as much as an engineer or a journalist or
				the various flavours of web, app, game and OS programmers.&lt;/p&gt;&lt;p&gt;In this way I think I'm left leaning to the pro camp in terms of teaching 'computing' in some form.  But to me that shouldn't just be coding it should be a more up to date
				well rounded IT/Computing education.  As Scott Hanselman puts it it'd be useful for a user to know
				a bit more, say on DNS and HTTP.  As some of the commenters on the Atwood article put it it might be useful to know more about what streaming or what a browser is.  Many of the arguments 
				people put forth argued for technical topics much of which is aside from, or at least in addition to, knowing how to code.&lt;/p&gt;&lt;p&gt;In fact, I might be more open to a relatively stripped back computing curriculum in it's own right but with specific time and resources set aside for integration
				with existing subjects such as maths, technology (whether its D&amp;T, Graphics etc), geography etc.  It's value as a cross-cutting concern is surely huge.&lt;/p&gt;&lt;p&gt;As a developer I can't help but be struck by Roridge's words:&lt;/p&gt;&lt;p&gt;When more and more people come to me with 'the next facebook' and a budget of 'around five hundred pounds' I might shake my head in the direction of the 'learn to code' movement.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p class="intro">
					It's not often I write opinion pieces but the whole 'learn to code' thing seems to have been building since the beginning of the year.  It's time
					to add my voice to the squabble.
 				</p><p>The big recent news of course is that <a href="http://www.codinghorror.com/blog/2012/05/please-dont-learn-to-code.html">Jeff Atwood</a> added his voice to 
				the fray with the rather comment baiting "please don't learn to code".  Atwood's post appeared to be in response to the buzz around Code Academy's
				<a href="http://codeyear.com/">Code Year</a>; an initiative to get people learning to code.</p><p>If we go back to the beginning of the year though we can see this idea was hitting the headlines in the UK for difference reasons.  Michael Gove, 
				<a href="http://www.guardian.co.uk/education/2012/apr/08/teachers-union-leader-attacks-michael-gove" title="Guardian reports on NASUWT describing Gove's actions as an 'unparalleled vicious assault'">darling of the teaching unions</a>,
				was <a href="http://www.bbc.co.uk/news/education-16493929">reported by the BBC</a> as wanting to overhaul ICT teaching in schools.</p><p>Now, this idea wasn't a <a href="http://www.bbc.co.uk/news/education-18073996" title="Oh yes, he also wants every school to be sent a King James bible">sudden epiphany from Gove</a>.
				The BCS had been <a href="http://academy.bcs.org/category/16234" title="BCS note summarising the activities of the BCS Academy of Computing in relation to ICT curriculum">pushing for change</a>
				for a long time, and so too have <a href="http://maban.co.uk/64">a number of individuals</a> in the creative technology industries. And although an American organisation pushing the learning 
				of code (with figures like the Mayor of New York taking them up on it) and the British Government potentially encouraging schools to teach computing may seem unrelated both are anchored in the 
				core principle that 'coding' is a fundamental thing to be learned.</p><p>To me, that's the key pivot point and the main thing that people like Jeff Atwood were getting at.  No-one is suggesting people should be dissallowed to learn
				or even discouraged if they want to.  It's more whether it is a fundamentally useful thing to learn even if you do not intend to take a career path making direct use of it.</p><p>Back when the UK curriculum was in the news I remember discussing it with <a href="http://twitter.com/bobscape">Rob</a>. What became clear is it's <strong>actually quite hard
				to be objective about it</strong>.  If you've spent most your life using computers, did a degree in it and are now working in that field of course you are going to think it would have
				been useful to learn it back at school and of course you're going to think everyone should experience how awesome you find it.  But then arguably that's true of a lot of fields.
				Should a Lawyer expect to learn how a court works at school?</p><h3>Curriculum</h3><p>There are probably two main aims for curriculum: 
					<ul><li>To prepare the student for getting through life e.g. literacy, numeracy, personal, social and health education</li><li>To give them a taste of the wide scope of human knowledge and activity so as to adequately make them aware of how they might want to make their impact on the world</li></ul></p><img src="/content/images/blog/computingvenndiagram.jpg" alt="Computing in the Curriculum Venn Diagram" width="419" height="327" /><p>So does 'computing' fit into either of these categories? Well you definitely need to know how to use a computer. They are pervasive in the workplace and in
				terms of dealing with governments, banks and media.  But then is using a computer as key as being able to read and communicate effectively through the written word?</p><p>Arguably the subjects we see as core were baked into our concept of a curriculum before computing. The need to be able to <em>use</em> computers was met, although 
				often <a href="http://www.bbc.co.uk/news/uk-14683133" title="Googles Eric Schmidt criticises teaching of 'learning to use software'">heavily criticised</a>, by
				ICT.</p><p>However one of the key things I think ICT has failed to do is address the second point in terms of giving the student that taste of computer science that can allow them
				to run away with it, turning it into a life passion and career.  ICT never really said, to me at least, "Hey guys these apps you're using, these games you're playing
				you can do this shit and get paid for it and here's how".</p><h3>User vs Creator</h3><p>
					This whole 'user vs creator' argument is often put forward but then I use a lot of things that I'm unable to create or fix from plumbing through cars and electrical hardware.
					In most cases if I wish to get into it there are courses available but they are generally later in life and optional.  I call bullshit on every comment saying
					people need to know coding to avoid things like, as Mortiz Schlarb put it "How can my download limit be exceeded, I haven't downloaded anything, I just watched streams?!".
					Knowing how to code doesn't suddenly make you a general computer expert it's a very specific aspect of computer knowledge.</p><p>In fact it isn't even the only way you 'create' with a computer.  If I use applications to create 3D art or craft a level for Portal I'm creating, but I'm not coding.</p><p>Similarly there are those who try and argue that
					coding isn't what it's about. It's actually all about critical thinking and analysis. Well is it? surely coding is not the only mechanism for that.  Should we
					add philosophy classes to the list of 'must haves'?
				</p><h3>How would I argue the 'for'</h3><p>In fact, for the pros the best argument is actually sticking to their guns and saying that programming really is a new fundamental building block (along with literacy, numercy etc).
				Afterall it's applicable to many jobs (probably more so going forward) and you don't really get a job as a general purpose 'programmer' in the same way that you don't get a job as a general
				'writer' you use those skills and further them into your particular career niche.  A digital artist can be a programmer as much as an engineer or a journalist or
				the various flavours of web, app, game and OS programmers.</p><p>In this way I think I'm left leaning to the pro camp in terms of teaching 'computing' in some form.  But to me that shouldn't just be coding it should be a more up to date
				well rounded IT/Computing education.  As <a href="http://www.hanselman.com/blog/PleaseLearnToThinkAboutAbstractions.aspx">Scott Hanselman</a> puts it it'd be useful for a user to know
				a bit more, say on DNS and HTTP.  As some of the commenters on the Atwood article put it it might be useful to know more about what streaming or what a browser is.  Many of the arguments 
				people put forth argued for technical topics much of which is aside from, or at least in addition to, knowing how to code.</p><p>In fact, I might be more open to a relatively stripped back computing curriculum in it's own right but with specific time and resources set aside for integration
				with existing subjects such as maths, technology (whether its D&amp;T, Graphics etc), geography etc.  It's value as a cross-cutting concern is surely huge.</p><h3>Final thoughts</h3><p>As a developer I can't help but be struck by Roridge's words:</p><blockquote>
						"The other part is they risk becoming people who "learnt to code" in Javascript and will therefore attempt to solve every problem and adopt the "shit's easy" attitude."
					</blockquote><p>When more and more people come to me with 'the next facebook' and a budget of 'around five hundred pounds' I might shake my head in the direction of the 'learn to code' movement.</p>]]></content:encoded>
    </item>
    <item>
      <title>The Barn site is live!</title>
      <link>http://cargowire.net/blog/barnsite</link>
      <guid>http://cargowire.net/blog/barnsite</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Tue, 03 Apr 2012 17:30:00 GMT</pubDate>
      <description>Finally it's here&lt;p&gt;
					For the last few weeks I've been pulling together the concept of 'The Barn'.  Ostensibly it's a company blog, but to me it's a bit
					nicer than that.
				&lt;/p&gt;&lt;p&gt;In drafting up the 'about' page I defined it as 'Headscapers not Headscape' and that's my hope.  The intention
				is that there is a clear Headscape tie in - Articles and content will relate strongly to what we're doing at Headscape,
				how and when.  This allows us to talk openly about clients and particular implementations we've done, perhaps more so than we
				would have done on personal sites.  However it's not intended as a press release mechanism, nor an enforced 'write an article for every project you do'.&lt;/p&gt;&lt;p&gt;The articles will be written by all Headscapers.  That means the scope will be broad. But if you are more code focused simply
				follow the code category or authors such as 
				Dan and I.  If
				design's your thing follow Ed or Chris.
				
				The design (pixels!)Once again our designer Ed has done an awesome job both with handling my demands
				and coming up with some great pixel artwork for the header.  I'm still staring at it now - one day I will find Wally in there I'm sure.Check it outPlease do check out the site.  We've tried to avoid a classic 'launch with no content' scenario and have filled in a bunch of stuff
				including some downloads, code and articles.  My launch articles are: Rule based themes - WP Plugin,
				Using Domain Events and Unit-testing - first steps.
				Although dated to match when they were relevant to projects these are pretty much freshly written so please do let me know what you think.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p class="intro">
					For the last few weeks I've been pulling together the concept of '<a href="http://barn.headscape.co.uk">The Barn</a>'.  Ostensibly it's a company blog, but to me it's a bit
					nicer than that.
				</p><p>In drafting up the 'about' page I defined it as 'Headscapers not Headscape' and that's my hope.  The intention
				is that there is a clear Headscape tie in - Articles and content will relate strongly to what we're doing at Headscape,
				how and when.  This allows us to talk openly about clients and particular implementations we've done, perhaps more so than we
				would have done on personal sites.  However it's not intended as a press release mechanism, nor an enforced 'write an article for every project you do'.</p><h3>Content</h3><p>The articles will be written by all Headscapers.  That means the scope will be broad. But if you are more code focused simply
				follow the <a href="http://barn.headscape.co.uk/category/code/">code category</a> or authors such as 
				<a href="http://barn.headscape.co.uk/author/dansheerman/">Dan</a> and <a href="http://barn.headscape.co.uk/author/craigrowe/">I</a>.  If
				design's your thing follow <a href="http://barn.headscape.co.uk/author/edmerritt/">Ed</a> or <a href="http://barn.headscape.co.uk/author/chrissanderson/">Chris</a>.
				
				<h3>The design (pixels!)</h3><p><a href="/blog/newdesign">Once again</a> our designer <a href="http://www.edmerritt.com">Ed</a> has done an awesome job both with handling my demands
				and coming up with some great pixel artwork for the header.  I'm still staring at it now - one day I will find <a href="https://en.wikipedia.org/wiki/Where%27s_Wally%3F">Wally</a> in there I'm sure.</p><h3>Check it out</h3><p>Please do check out the site.  We've tried to avoid a classic 'launch with no content' scenario and have filled in a bunch of stuff
				including some downloads, code and articles.  My launch articles are: <a href="http://barn.headscape.co.uk/downloads/rule-based-themes-wp-plugin/">Rule based themes - WP Plugin</a>,
				<a href="http://barn.headscape.co.uk/code/using-domain-events/">Using Domain Events</a> and <a href="http://barn.headscape.co.uk/code/unit-testing-first-steps/">Unit-testing - first steps</a>.
				Although dated to match when they were relevant to projects these are pretty much freshly written so please do let me know what you think.</p></p>]]></content:encoded>
    </item>
    <item>
      <title>Barcamp Bournemouth 4</title>
      <link>http://cargowire.net/blog/bcbomo4</link>
      <guid>http://cargowire.net/blog/bcbomo4</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Wed, 07 Mar 2012 22:30:00 GMT</pubDate>
      <description>This time with added hackspace.&lt;p&gt;Having made the trip twice before I was looking forward to Barcamp Bournemouth.  It's probably my favourite small event.  Partly because
				it's so close, partly because it's a great venue but mainly because there's always something interesting and new (at least new to me)
				going on.&lt;/p&gt;&lt;p&gt;This year Mozilla Developer Network had added a new element into the mix by sponsoring and providing gamepads for a hack space.
				But that wasn't the only difference. There was, at least in my now old man eyes, many more younger attendees than before which led to some interesting discussions - 
				ranging from the validity and credibility of our professional body, the BCS, to interesting views on getting a job and what
				the best smart phone is.&lt;/p&gt;&lt;p&gt;As a career long member of the BCS it was interesting to get involved in debating its usefulness during the discussion led by 
				Tom.  My personal view is that it's very london centric with too broad a remit to be of
				more use to someone than the independent, specific events/groups that are available.  It's power comes however in being a 'force for our interests'
				at a governmental/lobbying level.  For example, in recent work pushing for computer science rather than an MS Office based IT curriculum.&lt;/p&gt;&lt;p&gt;It would appear that many of the attendees also felt that it was irrelevant to (particularly web, as was the nature of the audience) development
				job applications and it's accreditation of degrees was not particularly seen as the 'gold standard' as the organisation maybe hopes.&lt;/p&gt;&lt;p&gt;By far the most memorable thing from this years event was the Hack created by Syd and Ad.&lt;/p&gt;&lt;p&gt;Having retired to the comfort of my own bed late on Saturday night I returned to find that Syd and Adam had spent the night knocking up
				a pretty impressive demo using an arduino, mac, ruby, objective-c, LED combo.
				The device was able to display an 8 by 8 grid of lights based either upon a website control or by reading tweets marked with the #bcbomo4 hashtag (using
				the now readily available Lawrence Sans font).&lt;/p&gt;&lt;p&gt;Whether it was down to that, or the talk by Syd (that I'm now referring to as the 'make awesome shit' talk) I knocked up a tiny hack myself afterward.
				In fact I'd hate to say it was actually inspired by cocks, but maybe it was.  While various attendees were fighting for control to draw phallic symbols
				on the 8x8 grid I thought it'd be kinda cool to be able to create such a dot matrix style picture based on an image.&lt;/p&gt;&lt;p&gt;Written in JS and using canvas this little tool now lives here and here.
				It will take an image from a remote online location and transpose it into a grid of coloured or black and white dots.  Not particularly useful, but kinda fun - and
				that's the whole point really.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Having made the trip twice before I was looking forward to Barcamp Bournemouth.  It's probably my favourite small event.  Partly because
				it's so close, partly because it's a great venue but mainly because there's always something interesting and new (at least new to me)
				going on.</p><p>This year Mozilla Developer Network had added a new element into the mix by sponsoring and providing gamepads for a hack space.
				But that wasn't the only difference. There was, at least in my now old man eyes, many more younger attendees than before which led to some interesting discussions - 
				ranging from the validity and credibility of our professional body, the BCS, to interesting views on getting a job and what
				the best smart phone is.</p><p>As a career long member of the BCS it was interesting to get involved in debating its usefulness during the discussion led by 
				<a href="http://ibuildstuff.co.uk/">Tom</a>.  My personal view is that it's very london centric with too broad a remit to be of
				more use to someone than the independent, specific events/groups that are available.  It's power comes however in being a 'force for our interests'
				at a governmental/lobbying level.  For example, in recent work pushing for computer science rather than an MS Office based IT curriculum.</p><p>It would appear that many of the attendees also felt that it was irrelevant to (particularly web, as was the nature of the audience) development
				job applications and it's accreditation of degrees was not particularly seen as the 'gold standard' as the organisation maybe hopes.</p><h3>Hacks</h3><p>By far the most memorable thing from this years event was the Hack created by <a href="https://twitter.com/sydlawrence">Syd</a> and <a href="http://twitter.com/skattyadz">Ad</a>.</p><p>Having retired to the comfort of my own bed late on Saturday night I returned to find that Syd and Adam had spent the night knocking up
				<a href="https://path.com/p/2OL9ce" title="LED displayed tweets">a pretty impressive demo using an arduino, mac, ruby, objective-c, LED combo</a>.
				The device was able to display an 8 by 8 grid of lights based either upon a website control or by reading tweets marked with the #bcbomo4 hashtag (using
				the now readily available <a href="http://fontstruct.com/fontstructions/show/619817">Lawrence Sans</a> font).</p><p>Whether it was down to that, or the talk by Syd (that I'm now referring to as the 'make awesome shit' talk) I knocked up a tiny hack myself afterward.
				In fact I'd hate to say it was actually inspired by cocks, but maybe it was.  While various attendees were fighting for control to draw phallic symbols
				on the 8x8 grid I thought it'd be kinda cool to be able to create such a dot matrix style picture based on an image.</p><p>Written in JS and using canvas this little tool now lives <a href="http://dimd.co.uk/dotmatrix/" title="Demo of DotMatrixJS">here</a> and <a href="https://github.com/cargowire/DotMatrixJS" title="GitHub for DotMatrixJS">here</a>.
				It will take an image from a remote online location and transpose it into a grid of coloured or black and white dots.  Not particularly useful, but kinda fun - and
				that's the whole point really.</p>]]></content:encoded>
    </item>
    <item>
      <title>WP7 vs iPhone</title>
      <link>http://cargowire.net/blog/wp7vsiphone</link>
      <guid>http://cargowire.net/blog/wp7vsiphone</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Thu, 16 Feb 2012 21:20:00 GMT</pubDate>
      <description>&lt;p&gt;Ok so if you follow me on twitter you may know that towards the end of last year I took part in 
				'Alphalabs'.  Organised by onedotzero this was a 
				competition	aimed at encouraging developers and artists to work together on the Lumia 800 platform.&lt;/p&gt;&lt;p&gt;While not taking part in	the eventual competition I was part of an initialteam creating projects for the launch of the event.  This meant an intensive two week project
				(which, in our case, used Silverlight and XNA 3D).&lt;/p&gt;&lt;p&gt;I'll write something up about that later.  However a side effect of this was that I was able to get hold of a Lumia 800
				very early on and for the duration of the project I was using the Lumia as my main device.&lt;/p&gt;&lt;p&gt;What that sentence also tells you is that I'm no longer using it as my main device.  So why is that? I'm a .NET developer
				after all.  Doesn't that make me a windows fan boy? well... no...&lt;/p&gt;&lt;p&gt;The physical phone itself is roughly equivalent in size to the iphone so makes little difference (other than the power
				button placement on the side of the device - which is actually quite nice).  So what does, is the OS and the surrounding 
				ecosystem.&lt;/p&gt;&lt;p&gt;WP7 requires a Windows Live account (OK, so iPhone requires an iTunes/Apple ID).  One of the annoying things about this
				however is that if you want to change it you have to effectively factory reset the device.  So you better make damn sure you use
				the same live account that your xbox uses or else you're in for some fun after setting it all up and realising your mistake
				(OK I did that.. what of it!).  Oh and yes I love having my legacy xbox live related hotmail account syncing to my phone...&lt;/p&gt;&lt;p&gt;In addition to normal phone functionality the main apps I use every day on iPhone are:&lt;/p&gt;&lt;p&gt;All of these apps are available on WP7.  In fact they go one step further and integrate into the rest of the phone.
				With a facebook account added these people appear in your 'people' hub, same with twitter.  The only problem is I never
				really got why I'd want them integrated like that.  I'm on a small device undertaking specific tasks I don't really find
				value in an app that washes over me my entire set of contacts and social interactions across different apps that I probably
				already segment people in to e.g facebook = friends, twitter = work.&lt;/p&gt;&lt;p&gt;It's odd to think that one of the big reasons I quit using WP7 was also one of it's biggest selling points - The Metro
				interface.  At a glance, and if you play with someone elses phone temporarily this is really nice.  Not only does it seem
				new and slick it is also very different - not an iphone clone at all.&lt;/p&gt;&lt;p&gt;The problem comes after you use it for a while and I'll illustrate it with this comparison shot:&lt;/p&gt;&lt;p&gt;Can you se what the problem might be? yep... it's the stupid waste of space.  In the same space that WP7
				has told me I'm using facebook and looking at the most recent posts the iPhone app has provided links to
				the menu, friends, messages, notifications plus action buttons for sorting, adding a new status, photo or checking in.
				By the time we get to the content area I can see one facebook update compared to two on the iphone.&lt;/p&gt;&lt;p&gt;The facebook app is by no means alone in this.  The twitter and guardian apps have similar problems.  This isn't
				because people are being slap dash with their WP7 implementations (at least not just because of that!). This
				is the design approach WP7 and Metro are pushing for us to use.&lt;/p&gt;&lt;p&gt;I want the WP7 devices to succeed.  Aside from their shortcomings they at least provide a viable and real alternative
				to iphone with a pre-existing set of .NET and Silverlight developers.  But they need to get usability right, now that
				they've done the whole beauty thing.&lt;/p&gt;&lt;p&gt;An end to end tie up between my WP7 device, Windows machine and Xbox live account is quite enticing... and definitely
				better than that Game Centre rubbish.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Ok so if you follow me on twitter you may know that towards the end of last year I took part in 
				'<a href="http://alphalabs.cc">Alphalabs</a>'.  Organised by <a href="http://onedotzero.com/">onedotzero</a> this was a 
				competition	aimed at encouraging developers and artists to work together on the Lumia 800 platform.</p><p>While not taking part in	the eventual competition I was part of an <a href="http://treehousedev.co.uk/">initial</a><a href="http://field.io">team</a> creating projects for the launch of the event.  This meant an intensive two week project
				(which, in our case, used Silverlight and XNA 3D).</p><p>I'll write something up about that later.  However a side effect of this was that I was able to get hold of a Lumia 800
				very early on and for the duration of the project I was using the Lumia as my main device.</p><p>What that sentence also tells you is that I'm no longer using it as my main device.  So why is that? I'm a .NET developer
				after all.  Doesn't that make me a windows fan boy? well... no...</p><h3>Using the thing</h3><p>The physical phone itself is roughly equivalent in size to the iphone so makes little difference (other than the power
				button placement on the side of the device - which is actually quite nice).  So what does, is the OS and the surrounding 
				ecosystem.</p><p>WP7 requires a Windows Live account (OK, so iPhone requires an iTunes/Apple ID).  One of the annoying things about this
				however is that if you want to change it you have to effectively factory reset the device.  So you better make damn sure you use
				the same live account that your xbox uses or else you're in for some fun after setting it all up and realising your mistake
				(OK I did that.. what of it!).  Oh and yes I love having my legacy xbox live related hotmail account syncing to my phone...</p><h3>The Apps</h3><p>In addition to normal phone functionality the main apps I use every day on iPhone are:</p><ul>
            <li>Twitter</li>
            <li>Facebook</li>
            <li>Guardian News</li>
          </ul><p>All of these apps are available on WP7.  In fact they go one step further and integrate into the rest of the phone.
				With a facebook account added these people appear in your 'people' hub, same with twitter.  The only problem is I never
				really got why I'd want them integrated like that.  I'm on a small device undertaking specific tasks I don't really find
				value in an app that washes over me my entire set of contacts and social interactions across different apps that I probably
				already segment people in to e.g facebook = friends, twitter = work.</p><h3>The main reason I quit WP7</h3><p>It's odd to think that one of the big reasons I quit using WP7 was also one of it's biggest selling points - The Metro
				interface.  At a glance, and if you play with someone elses phone temporarily this is really nice.  Not only does it seem
				new and slick it is also very different - not an iphone clone at all.</p><p>The problem comes after you use it for a while and I'll illustrate it with this comparison shot:</p><img src="/content/images/blog/wp7vsiphone_facebook.jpg" title="WP7 and iPhone Facebook apps side by side" /><p>Can you se what the problem might be? yep... it's the stupid waste of space.  In the same space that WP7
				has told me I'm using facebook and looking at the most recent posts the iPhone app has provided links to
				the menu, friends, messages, notifications plus action buttons for sorting, adding a new status, photo or checking in.
				By the time we get to the content area I can see one facebook update compared to two on the iphone.</p><p>The facebook app is by no means alone in this.  The twitter and guardian apps have similar problems.  This isn't
				because people are being slap dash with their WP7 implementations (at least not <strong>just</strong> because of that!). This
				is the design approach WP7 and Metro are pushing for us to use.</p><h3>Don't get me wrong...</h3><p>I want the WP7 devices to succeed.  Aside from their shortcomings they at least provide a viable and real alternative
				to iphone with a pre-existing set of .NET and Silverlight developers.  But they need to get usability right, now that
				they've done the whole beauty thing.</p><p>An end to end tie up between my WP7 device, Windows machine and Xbox live account is quite enticing... and definitely
				better than that Game Centre rubbish.</p>]]></content:encoded>
    </item>
    <item>
      <title>Cargowire has a new design</title>
      <link>http://cargowire.net/blog/newdesign</link>
      <guid>http://cargowire.net/blog/newdesign</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sun, 05 Feb 2012 21:30:00 GMT</pubDate>
      <description>&lt;p&gt;
					Apparently doodling can be good for you.  Although when I do it, it's not so good for 
					Ed Merritt.&lt;/p&gt;&lt;p&gt;A bit before christmas I finally decided to sketch out some ideas I'd been having for a new layout
					and design for cargowire.
				&lt;/p&gt;&lt;p&gt;The idea was pretty simple.  With the homepage acting as a funnel through which I push the various channels of blog, articles, portfolio and events
				I could have a consistent, relatively rigid, grid layout with obvious scope for responsiveness.  The only problem was I wanted some nice design touches.&lt;/p&gt;&lt;p&gt;Luckily I work at a great agency where I get to share the building with some awesome designers... who I can then hassle for pro bono photoshop wizardry.&lt;/p&gt;&lt;p&gt;So Ed got my sketch, a paragraph explaining it and a skype along the lines of:&lt;/p&gt;&lt;p&gt;In our microcosm of the design process we'd started out with a wireframe and a genre based on some keywords and a few snippets of other sites (e.g. breadcrumbs
				from the guardian) - a losely held together 'mood board' if you like.&lt;/p&gt;&lt;p&gt;After a few iterations Ed came up with an automotive / americana feeling logo that fitted right with my
				thinking and from there the rest just grew into the original wireframe. He even did an html template for me... what a nice guy...&lt;/p&gt;&lt;p&gt;Although I'm pretty pleased with it I now have to hunt down a whole bunch of content that I didn't have on my previous site.  While I do that, please bear
				with me with the Placeholder images!&lt;/p&gt;&lt;p&gt;So, cheers to Ed for the stunning design.  Hopefully I won't bastardise it too much as I bend it to my will... although I might redo the markup and js ;-)&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
					Apparently <a href="http://www.ted.com/talks/sunni_brown.html" title="TED talk: Doodler's unit!">doodling can be good for you</a>.  Although when I do it, it's not so good for 
					<a href="http://edmerritt.com/">Ed Merritt</a>.</p><p>A bit before christmas I finally decided to sketch out some ideas I'd been having for a new layout
					and design for cargowire.
				</p><img src="/content/images/blog/cargowire_sketch.jpg" alt="My initial sketch for the new cargowire" class="flex" /><p>The idea was pretty simple.  With the homepage acting as a funnel through which I push the various channels of blog, articles, portfolio and events
				I could have a consistent, relatively rigid, grid layout with obvious scope for responsiveness.  The only problem was I wanted some nice design touches.</p><p>Luckily I work at a great agency where I get to share the building with some awesome designers... who I can then hassle for pro bono photoshop wizardry.</p><p>So Ed got my sketch, a paragraph explaining it and a skype along the lines of:</p><blockquote>...a Sharp Retro look, kinda 50s with bright strong colours.</blockquote><p>In our microcosm of the design process we'd started out with a wireframe and a genre based on some keywords and a few snippets of other sites (e.g. breadcrumbs
				from the guardian) - a losely held together 'mood board' if you like.</p><p>After a few iterations Ed came up with an <a href="http://edmerritt.com/work_cargowire.htm">automotive / americana feeling logo</a> that fitted right with my
				thinking and from there the rest just grew into the original wireframe. He even did an html template for me... what a nice guy...</p><p>Although I'm pretty pleased with it I now have to hunt down a whole bunch of content that I didn't have on my previous site.  While I do that, please bear
				with me with the Placeholder images!</p><p>So, cheers to Ed for the stunning design.  Hopefully I won't bastardise it too much as I bend it to my will... although I might redo the markup and js ;-)</p>]]></content:encoded>
    </item>
    <item>
      <title>Why you should try to be a middle class developer</title>
      <link>http://cargowire.net/blog/bemiddleclass</link>
      <guid>http://cargowire.net/blog/bemiddleclass</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Tue, 16 Aug 2011 21:30:00 GMT</pubDate>
      <description>&lt;p&gt;You may not know this but this blog has been xml based since its inception (in fact there's a longstanding, not yet achieved, task to 'replace' it
				with a 'better' persistant storage mechanism -- clearly I must agree then, that the perfect is the enemy of the good).  But anyway...
				don't worry.  I'm not about to do anotherblogaboutxml.&lt;/p&gt;&lt;p&gt;My point/warning really is that the root node of my articles xml is 'articles' as you might expect.  The root node of the blog/front
				page however has always been 'Rambling'...  ...so let the &lt;ramble&gt; begin...&lt;/p&gt;&lt;p&gt;Some time ago I had an idea for a blog post talking about various developer 'personas'.  Mainly to give me a chance to talk about
				the many hats web developers are required to wear day to day.  That never came about, however a clip show, or the internet, or a random 
				thought reminded me of this:&lt;/p&gt;&lt;p&gt;Now, I've talked before about developer humility and what to look for when applying for a job.
				However there is another, perhaps even more important, thing to consider when plucking for a place to work or finding people to surround yourself with:&lt;/p&gt;&lt;p&gt;
            Can you be the Ronnie Barker in the comedy sketch that is your career?
          &lt;/p&gt;&lt;p&gt;Perhaps, you may say, it's obvious that you will want someone to look up to.  Someone to aspire to be. Moreover you may want to actually be the 'top dog' (the Cleese
				in this ever imagination stretching metaphor that is my mid year ramble).&lt;/p&gt;&lt;p&gt;My argument would be that you want, for as long as possible to be Barker.  You want to learn from someone but also to be able to teach those Corbetts
				among us.  You don't want to rest on your laurels, don't want to avoid being questionned by someone who may actually know more than you and you definitely don't
				want a superiority complex.&lt;/p&gt;&lt;p&gt;On the other side the
				teaching of others 'below you' is in itself developing your understanding.  Never underestimate the power of trying to teach someone else something that you 
				think you understand.&lt;/p&gt;&lt;p&gt;You need to be kicked every now and then and to be honest to realise that you never will be Cleese.  In fact agree with yourself now that you won't ever be.
				If you think you are then you've stopped trying to get better or are just plain ignorant of the vast skill and ingenuity that is out there now and was there
				before allowing you to stand on	their shoulders.&lt;/p&gt;&lt;p&gt;If you can't find these roles within your organisation (and many of us can't) put yourself out there, find Cleese at a conference or a Corbett to mentor or help on stackoverflow.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>You may not know this but this blog has been xml based since its inception (in fact there's a longstanding, not yet achieved, task to 'replace' it
				with a 'better' persistant storage mechanism -- clearly I must agree then, that the perfect is the enemy of the good).  But anyway...
				don't worry.  I'm not about to do <a href="/articles/extendingxml">another</a><a href="/articles/playwithpipes">blog</a><a href="/articles/xslfordesigners">about</a><abbr title="Surely it'd be JSON anyway... like all the cool kids">xml</abbr>.</p><p>My point/warning really is that the root node of my articles xml is 'articles' as you might expect.  The root node of the blog/front
				page however has always been 'Rambling'...  ...so let the &lt;ramble&gt; begin...</p><p>Some time ago I had an idea for a blog post talking about various developer 'personas'.  Mainly to give me a chance to talk about
				the many hats web developers are required to wear day to day.  That never came about, however a clip show, or the internet, or a random 
				thought reminded me of this:</p><img src="/content/images/cleese-barker-corbett.jpg" alt="The famous class sketch between Cleese, Barker and Corbett" /><p>Now, I've talked before about <a href="/articles/admityousuck">developer humility</a> and <a href="/articles/joeltest11">what to look for when applying for a job</a>.
				However there is another, perhaps even more important, thing to consider when plucking for a place to work or finding people to surround yourself with:</p><p>
            <strong>Can you be the Ronnie Barker in the comedy sketch that is your career?</strong>
          </p><p>Perhaps, you may say, it's obvious that you will want someone to look up to.  Someone to aspire to be. Moreover you may want to actually be the 'top dog' (the Cleese
				in this ever imagination stretching metaphor that is my mid year ramble).</p><p>My argument would be that you want, for as long as possible to be Barker.  You want to learn from someone but also to be able to teach those Corbetts
				among us.  You don't want to rest on your laurels, don't want to avoid being questionned by someone who may actually know more than you and you definitely don't
				want a superiority complex.</p><p>On the other side the
				teaching of others 'below you' is in itself developing your understanding.  Never underestimate the power of trying to teach someone else something that you 
				think you understand.</p><blockquote>
					"It is the way of the world, Baldrick.  The abused always kick downwards. I'm annoyed, and so I kick the cat.  The cat pounces on the
					mouse, and finally, the mouse..."
					"...bites you on the behind."
					<cite>Edmund B.</cite></blockquote><p>You need to be kicked every now and then and to be honest to realise that you never will be Cleese.  In fact agree with yourself now that you won't ever be.
				If you think you are then you've stopped trying to get better or are just plain ignorant of the vast skill and ingenuity that is out there now and was there
				before allowing you to stand on	their shoulders.</p><p>If you can't find these roles within your organisation (and many of us can't) put yourself out there, find Cleese at a conference or a Corbett to mentor or help on stackoverflow.</p>]]></content:encoded>
    </item>
    <item>
      <title>Falling out of Kindle love</title>
      <link>http://cargowire.net/blog/fallingoutofkindlelove</link>
      <guid>http://cargowire.net/blog/fallingoutofkindlelove</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sun, 10 Jul 2011 20:30:00 GMT</pubDate>
      <description>Have I fallen out of love with my kindle?&lt;p&gt;While reading a book the other day (C# in depth if you're interested... I'd recommend it to all you .net lovers out there..
				yes you.. both of you) I suddenly realised something.  I was holding a book.&lt;/p&gt;&lt;p&gt;Now the odd thing about that of course is that I own a Kindle and that, as we all know,
				replaces books.&lt;/p&gt;&lt;p&gt;Don't get me wrong.. I was very much on the Kindle bandwagon
				and to some extent I stillam. I've just
				noticed something recently about my reading habits and how the Kindle has affected them.  So, bearing in mind this is the internet and I have a blog I
				thought I'd over generalise my personal experience and draw conclusions about the world at large... with no authority or legitimacy. Ya'know, 
				as you do.&lt;/p&gt;&lt;p&gt;When I first got my kindle I was all over it, downloading
				books willy nilly, starting multiple books at once... but ultimately... not really finishing them. Looking back I was quick to take recommendations and
				download books that I was, shall we say, 'half interested' in. Admittedly I should probably have gone with sample chapters... but hey... it's so easy to just
				'buy now'!&lt;/p&gt;&lt;p&gt;With regard to the book I was reading, I even had it on my kindle... and yet I chose to read it via ink imprinted on the remnants of a dead tree.&lt;/p&gt;&lt;p&gt;To me this is beginning to mirror my initial feelings towards digital music.  If I wanted to listen
				to something I would download it via iTunes or similar, but if I really wanted it I would buy the physical disk.  
				With music this categorisation works out ok as you can consume it differently: from casually liking/listening to really loving and focussing on it.  With books this 
				is harder.  I mean, can you 'casually read'? maybe for a bit... but you're not going to last the whole book.&lt;/p&gt;&lt;p&gt;To be fair my aversion to buying/leasing digital music is less true now. The ever growing grumpy old man in me has caught up with the cool kids.  But I think it's going
				to take slightly longer for digital books to bypass this.&lt;/p&gt;&lt;p&gt;With music the feeling as a user is fundamentally the same. If you closed your eyes, but for the
				particularly atuned ear, it would be hard to differentiate the experience.  With a book it's entirely different.  There's the 'affordances' factor: with a kindle I can't feel it's weight, flick back and forth,
				hold one page open as I glance back at another or even display them for guests to admire.&lt;/p&gt;&lt;p&gt;And yes... I have many leather bound books and my apartment smells of rich mahogany.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>While reading a book the other day (C# in depth if you're interested... I'd recommend it to all you .net lovers out there..
				yes you.. both of you) I suddenly realised something.  I was holding a book.</p><p>Now the odd thing about that of course is that I own a Kindle and that, as we all know,
				<a href="http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;tid=8501" title="remember the paperless office...">replaces books</a>.</p><p>Don't get me wrong.. I was very much <a href="http://twitter.com/cargowire/status/46937147088973825" title="see, I do use it">on the Kindle bandwagon</a>
				and to some extent I <a href="http://www.instapaper.com" title="Read later or 'guilt alleviating queue' your mileage may vary">still</a><a href="http://www.goodreads.com/topic/show/534189-how-often-do-you-go-farther-than-the-sample" title="Free words! (sample chapters)">am</a>. I've just
				noticed something recently about my reading habits and how the Kindle has affected them.  So, bearing in mind this is the internet and I have a blog I
				thought I'd over generalise my personal experience and draw conclusions about the world at large... with no authority or legitimacy. Ya'know, 
				<a href="https://secure.wikimedia.org/wikipedia/en/wiki/Popular_psychology" title="'Please relax, and tell me about your mother'">as you do</a>.</p><p>When I first got my kindle I was <a href="http://www.youtube.com/watch?v=OQSNhk5ICTI" title="Like a godamn double rainbow">all over it</a>, downloading
				books willy nilly, starting multiple books at once... but ultimately... not really finishing them. Looking back I was quick to take recommendations and
				download books that I was, shall we say, 'half interested' in. Admittedly I should probably have gone with sample chapters... but hey... it's so easy to just
				'buy now'!</p><p>With regard to the book I was reading, I even had it on my kindle... and yet I chose to read it via ink imprinted on the remnants of a dead tree.</p><p>To me this is beginning to mirror my initial feelings towards digital music.  If I wanted to listen
				to something I would download it via iTunes <abbr title="*cough*">or similar</abbr>, but if I <strong>really</strong> wanted it I would buy the physical disk.  
				With music this categorisation works out ok as you can consume it differently: from casually liking/listening to really loving and focussing on it.  With books this 
				is harder.  I mean, can you 'casually read'? maybe for a bit... but you're not going to last the whole book.</p><p>To be fair my aversion to buying/leasing digital music is less true now. The ever growing grumpy old man in me has caught up with the cool kids.  But I think it's going
				to take slightly longer for digital books to bypass this.</p><p>With music the feeling as a user is fundamentally the same. If you closed your eyes, but for the
				particularly atuned ear, it would be hard to differentiate the experience.  With a book it's entirely different.  There's the 'affordances' factor: with a kindle I can't feel it's weight, flick back and forth,
				hold one page open as I glance back at another or even display them for guests to admire.</p><p>And yes... I have many leather bound books and my apartment smells of rich mahogany.</p>]]></content:encoded>
    </item>
    <item>
      <title>Last night I dreamt something existed that didn't..</title>
      <link>http://cargowire.net/blog/wishfulhookthinking</link>
      <guid>http://cargowire.net/blog/wishfulhookthinking</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sat, 30 Apr 2011 13:00:00 GMT</pubDate>
      <description>&lt;p&gt;Part of my role at Headscape has included looking at our development processes/practices.
				There's a blog in this (and it's coming soon), but as a brief teaser to that:&lt;/p&gt;&lt;p&gt;I'm using Cruise Control.Net to automate MSBUILD builds from our source control provider.  Originally this was happening on a regular interval...
				but that's just annoying (if you get annoyed by such things) and led to waiting to see if it had built, or
				worse just force building anyway. Luckily Github
				and CodebaseHQ both have post 
				commit/push hook mechanisms that we can
				take advantage of.&lt;/p&gt;&lt;p&gt;As you'd expect these processes post some data to a url of your choice when a push is received for a particular repository.&lt;/p&gt;&lt;p&gt;So, taking codebasehq as an example the post data they provide is json (as listed in their own repo).
				This is fantastic but the notification centre itself only allows creation of notifications to the project level, not repository level.  So the repository
				name has to come from the post data itself (if I wish to build the CCNet project with the same name) i.e. I cannot use the url alone to identify the repository.&lt;/p&gt;&lt;p&gt;To join these two tools together I ended up making a small Application that could accept the post from Codebase and essentially forward it on to the appropriate CCNet build
				request. And so CIBridge came into existance, leading to the following
				workflow:&lt;/p&gt;&lt;p&gt;
            Commit Locally -&gt; Push to Codebase -&gt; Codebase Notification notifies CIBridge -&gt; CIBridge forces a CCNet Build -&gt; CCNet publishes the site
          &lt;/p&gt;&lt;p&gt;Ok, so what I thought might be cool.. is customisable posts from these hosted source control providers.  Something along the lines of a screen that allows
				you to build up a list of post variable 'templates' with keywords used to be replaced by the hook info during generation of the post.&lt;/p&gt;&lt;p&gt;So I could, for example,	say 'I want one form variable called 'Repository' with the contents { name: %REPO_NAME% }' (where repo name is replaced by the repo that
				caused the notification).&lt;/p&gt;&lt;p&gt;In this way I could use the hosted source code provider directly, without the need for the bridge, nor for specific support from my current or future build server.&lt;/p&gt;&lt;p&gt;CIBrdige was a quick fix to get it running.  Is there a better way?&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Part of my role at Headscape has included looking at our development processes/practices.
				There's a blog in this (and it's coming soon), but as a brief teaser to that:</p><p>I'm using <a href="http://ccnet.thoughtworks.com/" title="Other CI Tools are available">Cruise Control.Net</a> to automate MSBUILD builds from our source control provider.  Originally this was happening on a regular interval...
				but that's just annoying (if you get annoyed by such things) and led to waiting to see if it had built, or
				worse just force building anyway. Luckily <a href="http://www.github.com" title="The hosted source control I use personally">Github</a>
				and <a href="http://www.codebasehq.com" title="The hosted source control we use at Headscape">CodebaseHQ</a> both have post 
				<a href="http://help.github.com/post-receive-hooks/" title="The github support pages on post-receive hooks">commit/push hook mechanisms</a> that we can
				take advantage of.</p><p>As you'd expect these processes post some data to a url of your choice when a push is received for a particular repository.</p><ul>
            <li>
              <strong>Great Stuff:</strong> I can simply post to a url to build from</li>
            <li>
              <strong>Not so great stuff:</strong> I have no control over the hook other than the url it goes to</li>
          </ul><br /><p>So, taking codebasehq as an example the post data they provide is json (<a href="https://codebase.codebasehq.com/stuff/notify-server/blob/master/test/examples/commit.json">as listed in their own repo</a>).
				This is fantastic but the notification centre itself only allows creation of notifications to the project level, not repository level.  So the repository
				name has to come from the post data itself (if I wish to build the CCNet project with the same name) i.e. I cannot use the url alone to identify the repository.</p><p>To join these two tools together I ended up making a small Application that could accept the post from Codebase and essentially forward it on to the appropriate CCNet build
				request. And so <a href="https://github.com/cargowire/CIBridge" title="CIBridge hosted on Github">CIBridge</a> came into existance, leading to the following
				workflow:</p><p>
            <strong>Commit Locally -&gt; Push to Codebase -&gt; Codebase Notification notifies CIBridge -&gt; CIBridge forces a CCNet Build -&gt; CCNet publishes the site</strong>
          </p><h3>A better way?</h3><p>Ok, so what I thought might be cool.. is customisable posts from these hosted source control providers.  Something along the lines of a screen that allows
				you to build up a list of post variable 'templates' with keywords used to be replaced by the hook info during generation of the post.</p><p>So I could, for example,	say 'I want one form variable called 'Repository' with the contents { name: %REPO_NAME% }' (where repo name is replaced by the repo that
				caused the notification).</p><p>In this way I could use the hosted source code provider directly, without the need for the bridge, nor for specific support from my current or future build server.</p><h3>Am I missing something?</h3><p>CIBrdige was a quick fix to get it running.  Is there a better way?</p>]]></content:encoded>
    </item>
    <item>
      <title>SXSW 2011: The tale of the lost man points</title>
      <link>http://cargowire.net/blog/lostmanpoints</link>
      <guid>http://cargowire.net/blog/lostmanpoints</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Thu, 10 Mar 2011 00:00:00 GMT</pubDate>
      <description>The best made plans...&lt;p&gt;So we're here... just, but with far less man points than we started... to be fair I think I've lost out to Ryan
				on this one&lt;/p&gt;&lt;p&gt;For more info see...Ryans post&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>So we're here... just, but with far less man points than we started... to be fair I think I've lost out to <a href="http://twitter.com/ryanhavoc">Ryan</a>
				on this one</p><dl>
            <dt>The first points slip from my grasp...</dt>
            <dd>
              <p>"Hey Rob, where's Marcus live again?"</p>
              <p>"I dno you're driving"</p>
              <p>"...shit"</p>
            </dd>
            <dt>It gets better</dt>
            <dd>
              <p>"So you guys got some money for the taxi"</p>
              <p>"...money?"</p>
            </dd>
            <dt>Ryan get's onboard with the shame...</dt>
            <dd>
              <p>"You've got a boarding pass for the connecting flight?"</p>
              <p>"Yeh, don't you?"</p>
              <p>"...shit, we haven't"</p>
            </dd>
            <dt>It's ok we got the passes... kinda...</dt>
            <dd>
              <p>"Dude, I'm so unfit, least we're on the tram now.  What seat are you?"</p>
              <p>"22B"</p>
              <p>"Same here... hang on?!"</p>
            </dd>
            <dt>At least we kept our morals...</dt>
            <dd>
              <p>"You on this flight too?"</p>
              <p>"Yeh, heard they've delayed it a bit for us though"</p>
              <p>....</p>
              <p>"I'm afraid there's only five seats left"</p>
              <p>"THERE'S FIVE OF US"</p>
              <p>...</p>
              <p>...sorry girls</p>
            </dd>
          </dl><p>For more info see...<a href="http://ryanhavoctaylor.com/conferences/apparently-chivalry-is-dead/">Ryans post</a></p>]]></content:encoded>
    </item>
    <item>
      <title>The start of a brand new year (2011)</title>
      <link>http://cargowire.net/blog/newyear2011</link>
      <guid>http://cargowire.net/blog/newyear2011</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Mon, 03 Jan 2011 17:00:00 GMT</pubDate>
      <description>&lt;p&gt;Year in review and resolution posts may seem a bit passe, cliche and anything else that ends in an 'e' that sounds like
            an 'a'... but let's get one out of our (my) system anyway.&lt;/p&gt;&lt;p&gt;Rather than an elongated reflection over the year - what I have started, not started, bought, not bought, I'd just like to 
            take the opportunity again to reiterate how amazed I am at the differences in the world in just this decade.  
            This video still sums up the awe that we, for me, still need.  Ten years ago we're
                talking pretty much no google, a pre-gamecube, pre-youtube, pre-firefox, pre-wikipedia era where everyone had a Nokia 3210 (we also had a 9th planet!).  Come on... 
                that's awesome and has to bode well for the next ten.&lt;/p&gt;&lt;p&gt;So if that's the review bit what about the resolution bit?  Well rather than a set of resolutions here's a bunch of things I did
            on Jan 1st that you might like to too... in prep for the year and all that...&lt;/p&gt;&lt;p&gt;I think my overidding resolution then, if that's appropriate, is just to continually keep in mind the idea of being and getting better - 
            plain and simple.  The last few comments of Robin Ince here
            really resonate with that idea.
            &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Year in review and resolution posts may seem a bit passe, cliche and anything else that ends in an 'e' that sounds like
            an 'a'... but let's get one out of our (<abbr title="But lets be honest 'my' and 'our' are probably synonyms in this space">my</abbr>) system anyway.</p><p>Rather than an elongated reflection over the year - what I have started, not started, bought, not bought, I'd just like to 
            take the opportunity again to reiterate how amazed I am at the differences in the world in just this decade.  
            <a href="http://www.youtube.com/watch?v=8r1CZTLk-Gk" title="Louis CK tech rant">This video</a> still sums up the awe that we, for me, still need.  Ten years ago we're
                talking pretty much no google, a pre-gamecube, pre-youtube, pre-firefox, pre-wikipedia era where everyone had a Nokia 3210 (we also had a 9th planet!).  Come on... 
                that's awesome and has to bode well for the next ten.</p><p>So if that's the review bit what about the resolution bit?  Well rather than a set of resolutions here's a bunch of things I did
            on Jan 1st that you might like to too... in prep for the year and all that...</p><h3>Small things</h3><ul>
            <li>Reset iGoogle to stuff I actually pay attention to</li>
            <li>Clear out my Google Reader (particularly things I follow because I think I should rather than because I am actually interested)</li>
            <li>Review app authorisations (facebook inc privary settings, fireeagle)</li>
            <li>Use <a href="http://lanyrd.com">lanyrd.com</a> to find a few interesting events to register for</li>
            <li>Create pile of charity shop books/cds/dvds</li>
          </ul><h3>Changes</h3><ul>
            <li>Listen to classical music when wanting to get things done (I had a <abbr title="Don't judge me">Vanessa Mae</abbr> CD that I used when 
                revising for GCSE's - no lyrics - works) - also try Zero 7 or even PPPPPP</li>
          </ul><h3>Semi-weird things</h3><ul>
            <li>I added a bunch of my worst time wasting sites to my hosts file and created a default website that effectively
                points to a local copy of this <a href="/getbetter">/GetBetter</a>.  Just as an added kick up the arse when I find myself
                procrastinating.</li>
          </ul><p>I think my overidding resolution then, if that's appropriate, is just to continually keep in mind the idea of being and getting better - 
            plain and simple.  The last few comments of <a href="http://www.youtube.com/watch?v=-2_jIbJlhNo&amp;feature=player_embedded#t=5m35s" title="Robin Ince - Talking about not wasting time">Robin Ince here</a>
            really resonate with that idea.
            </p>]]></content:encoded>
    </item>
    <item>
      <title>FOWA London 2010</title>
      <link>http://cargowire.net/blog/fowalondon2010</link>
      <guid>http://cargowire.net/blog/fowalondon2010</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sat, 09 Oct 2010 16:00:00 GMT</pubDate>
      <description>&lt;p&gt;In keeping with my 'write a blog post when I go to an event'
          approach to blogging... I was at fowa last weekend!&lt;/p&gt;&lt;p&gt;
            Carsonified were kind enough to allow me to attend as a helper on the day
            (cheers again to Keir and Lou for
            sorting that for me). Which meant I was one of the 'Turqoise Shirts'
            helping with registration, ushering, getting prints done etc.
          &lt;/p&gt;&lt;p&gt;As an aside I'd recommend offering to help out at events.  It's not just that you don't have to fight for (and pay for)
          a ticket.  If you're less gregarious than some, or are travelling alone it's a ready made way to meet
          people including the organisers and potentially speakers when they register.  You're also still able to get to your "can't miss"
          talks.&lt;/p&gt;&lt;p&gt;This was my second fowa, having attended in 2008
          and I must say, I enjoyed it thoroughly.  The event appeared to have been downsized slightly since then but The Brewery
          is a great venue with a very friendly feel.  I particularly liked the 'loft party' cushion area at the back of the porter tun.&lt;/p&gt;&lt;p&gt;The highlight for me was catching John Resig, creator of jquery, discussing
          jQuery mobile and jQuery Templates.  
          Some exciting stuff here for us web devs.  The idea of double binding a json object to an html template (that was brought down in the markup
          of the page) seems like such a clean approach to building on the clientside.
          I've also, since the event, watched and enjoyed Jason Calacanis's keynote.  
          Grating and potentially intimidating as he is he does speak a lot of sense (in my view anyway).&lt;/p&gt;&lt;p&gt;I'd also recommend catching Joe Stump talk about location aware apps in his very enthusiastic style.  I'm still
          waiting for that Role playing game where my dragon is less effective if the geo space I'm in is under stormy conditions!&lt;/p&gt;&lt;p&gt;Some related linky link links..&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In keeping with my '<abbr title="Hey, there're articles in the articles section man, gimmie a break">write a blog post when I go to an event</abbr>'
          approach to blogging... I was at <a href="http://futureofwebapps.com/london-2010/" title="The Future of Web Apps">fowa</a> last weekend!</p><p>
            <a href="http://twitter.com/carsonified">Carsonified</a> were kind enough to allow me to attend as a helper on the day
            (cheers again to <a href="http://twitter.com/keirwhitaker">Keir</a> and <a href="http://twitter.com/loulou">Lou</a> for
            sorting that for me). Which meant I was one of the '<a href="http://en.wikipedia.org/wiki/Redcoats_%28Butlins%29" title="Not quite a redcoat">Turqoise Shirts</a>'
            helping with registration, ushering, getting prints done etc.
          </p><p>As an aside I'd recommend offering to help out at events.  It's not just that you don't have to fight for (and pay for)
          a ticket.  If you're less gregarious than some, or are travelling alone it's a ready made way to meet
          people including the organisers and potentially speakers when they register.  You're also still able to get to your "can't miss"
          talks.</p><p>This was my second fowa, having <a href="/blog/fowaexpo2008" title="My thoughts after FOWA Expo 2008">attended in 2008</a>
          and I must say, I enjoyed it thoroughly.  The event appeared to have been downsized slightly since then but <a href="http://www.thebrewery.co.uk/about/">The Brewery</a>
          is a great venue with a very friendly feel.  I particularly liked the 'loft party' cushion area at the back of the porter tun.</p><p>The highlight for me was catching <a href="http://twitter.com/jeresig">John Resig</a>, creator of jquery, discussing
          <a href="http://jquerymobile.com/">jQuery mobile</a> and <a href="http://blog.jquery.com/2010/10/04/new-official-jquery-plugins-provide-templating-data-linking-and-globalization/">jQuery Templates</a>.  
          Some exciting stuff here for us web devs.  The idea of double binding a json object to an html template (that was brought down in the markup
          of the page) seems like such a clean approach to building on the clientside.
          I've also, since the event, watched and enjoyed <a href="http://twitter.com/jason">Jason Calacanis's</a> keynote.  
          Grating and potentially intimidating as he is he does speak a lot of sense (in my view anyway).</p><p>I'd also recommend catching <a href="http://twitter.com/joestump">Joe Stump</a> talk about location aware apps in his very enthusiastic style.  I'm still
          waiting for that Role playing game where my dragon is less effective if the geo space I'm in is under stormy conditions!</p><p>Some related linky link links..</p><ul>
            <li>
              <a href="http://twitter.com/benlangfeld/fowa-volunteers-2010">Twitter list of fowa helpers</a>
            </li>
            <li>
              <a href="http://futureofwebapps.com/london-2010/register/">Fowa Video ticket registration</a>
            </li>
            <li>
              <a href="http://37signals.com/svn/posts/2219-jason-calacanis-vs-david-heinemeier-hansson-on-this-week-in-startups">Jason Calacanis vs David Heinemeier Hansson</a>
              <span> - Not from fowa, but a very engaging back and forth between the, at times very different, viewpoints of Calacanis and 37 signals</span>
            </li>
          </ul>]]></content:encoded>
    </item>
    <item>
      <title>dConstruct 2010</title>
      <link>http://cargowire.net/blog/dConstruct2010</link>
      <guid>http://cargowire.net/blog/dConstruct2010</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sun, 05 Sep 2010 19:00:00 GMT</pubDate>
      <description>&lt;p&gt;It seems that I mainly Blog (as opposed to write 'articles')
          after attending some kind of nerd based event, but here I am again, just after an event typing away...&lt;/p&gt;&lt;p&gt;This time it's dConstruct, and I have to say it was a blast -
          very different from other events (FOWA, SXSW
          and smaller events like DDD, WebDD, Barcamps and user groups like
          NxtGen).&lt;/p&gt;&lt;p&gt;Like Jasper I'd have to say that the thing that
          makes dConstruct a great conference to attend is its almost brazen affront to technique style takeaways and it's ability
          to either shun, or at least dramatically downplay, any feelings of being sold to or comercialised. Techniques are
          rightly consigned to the realm of the workshop. The difficulty then, as an attendee, is to justify attendance.
          Can you quantify the shot of enthusiasm and inspiration as easily as going on a training course?&lt;/p&gt;&lt;p&gt;I think so.  Attempting to provide workshop style content is a huge balancing act between the potential knowledge
          bases of the large audience. And putting up sponsors to speak is an immediate turn off. But planting ideas, making you think,
        that is what makes you want to get back onto your laptop and start working away.&lt;/p&gt;&lt;p&gt;I've boiled the conference down to a single sentence per talk.  At this point the interesting thing to me is that some of the remainder
            might be labelled 'obvious', but to me it's down to the quality of an engaging speaker that you come away with a clear message.&lt;/p&gt;&lt;p&gt;This also reminds me of an article by Max Pool
            that I read not too long ago:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It seems that I mainly Blog (as opposed to write <abbr title="as if my 'articles' section imbues some higher intellectual property to my ramblings">'articles'</abbr>)
          after attending some kind of nerd based event, but here I am again, just after an event typing away...</p><p>This time it's <a href="http://2010.dconstruct.org/" title="dConstruct 2010 homepage">dConstruct</a>, and I have to say it was a blast -
          very different from other events (<a href="/blog/fowaexpo2008" title="My thoughts after FOWA Expo 2008">FOWA</a>, <a href="/blog/sxsw10overall" title="Thoughts on SXSW 2010">SXSW</a>
          and smaller events like <a href="/blog/ddd8" title="Notes on DevDevDev 8">DDD</a>, <a href="/blog/webdd09" title="Writeup of WebDD 2009">WebDD</a>, <a href="/blog/barcampbomo2" title="Notes on Barcamp Bournemouth 2">Barcamps</a> and user groups like
          NxtGen).</p><p>Like <a href="http://jspr.tndy.me/2010/09/dconstructed/" title="Jasper Tandys thoughts on dConstruct 2010">Jasper</a> I'd have to say that the thing that
          makes dConstruct a great conference to attend is its almost brazen affront to technique style takeaways and it's ability
          to either shun, or at least dramatically downplay, any feelings of being sold to or comercialised. Techniques are
          rightly consigned to the realm of the workshop. The difficulty then, as an attendee, is to justify attendance.
          Can you quantify the shot of enthusiasm and inspiration as easily as going on a training course?</p><p>I think so.  Attempting to provide workshop style content is a huge balancing act between the potential knowledge
          bases of the large audience. And putting up sponsors to speak is an immediate turn off. But planting ideas, making you think,
        that is what makes you want to get back onto your laptop and start working away.</p><h4>Talks</h4><table id="dayone" class="fowa">
            <thead>
              <tr>
                <th colspan="2">dConstruct 2010: Talks / Boiled down</th>
              </tr>
            </thead>
            <tfoot>
              <tr>
                <td colspan="2" />
              </tr>
            </tfoot>
            <tbody>
              <tr>
                <td>
                  <a href="http://twitter.com/martyneumeier">Marty Neumeier</a>
                </td>
                <td rowspan="2">
                      Products fall into four broard categories: 
                      "good and different", "not good but different", "good but not different" and "neither good or different"
                    </td>
              </tr>
              <tr>
                <td class="sub">The Designful Company</td>
              </tr>
              <tr>
                <td>
                  <a href="http://twitter.com/brendandawes">Brendan Dawes</a>
                </td>
                <td rowspan="2">1. Collect, 2. Think, 3. Remove all that isn't necessary</td>
              </tr>
              <tr>
                <td class="sub">Boil, Simmer, Reduce</td>
              </tr>
              <tr>
                <td>
                  <a href="http://twitter.com/mccandelish">David McCandless</a>
                </td>
                <td rowspan="2">Visualise data to see what you couldn't before</td>
              </tr>
              <tr>
                <td class="sub">Information Is Beautiful</td>
              </tr>
              <tr>
                <td>
                  <a href="http://twitter.com/samanthatoy">Samantha Warren</a>
                </td>
                <td rowspan="2">The time for web typography is now</td>
              </tr>
              <tr>
                <td class="sub">The Power &amp; Beauty of Typography</td>
              </tr>
              <tr>
                <td>
                  <a href="http://twitter.com/gruber">John Gruber</a>
                </td>
                <td rowspan="2">Success comes from a single mindedness but that single mind can lower
                    the collective talent if the auteur has a lesser taste than the team</td>
              </tr>
              <tr>
                <td class="sub">The Auteur Theory of Design</td>
              </tr>
              <tr>
                <td>
                  <a href="http://twitter.com/han">Hannah Donovan</a>
                </td>
                <td rowspan="2">The power of collaboration through improvisation (which isn't just random
                    ad hoc activity it's subject to structure, timing and harmonious roles).</td>
              </tr>
              <tr>
                <td class="sub">Jam Session: What Improvisation Can Teach Us About Design</td>
              </tr>
              <tr>
                <td>
                  <a href="http://twitter.com/stml">James Bridle</a>
                </td>
                <td rowspan="2">The journey from one historical fact to another is as much, if not more, intriguing
                    than facts alone</td>
              </tr>
              <tr>
                <td class="sub">The Value Of Ruins</td>
              </tr>
              <tr>
                <td>
                  <a href="http://twitter.com/tomcoates">Tom Coates</a>
                </td>
                <td rowspan="2">Interconnectedness enabled massively by the proliferance of APIs are as revolutionary as the roads of the Persian Empire
                    (2secs I'm just off to make a <a href="http://www.guardian.co.uk/technology/blog/2010/sep/03/tfl-timetables-boris-johnson">mash up</a>)
                    </td>
              </tr>
              <tr>
                <td class="sub">Everything The Network Touches</td>
              </tr>
              <tr>
                <td>
                  <a href="http://twitter.com/hotdogsladies">Merlin Mann</a>
                </td>
                <td rowspan="2">It's good to be a nerd but don't be complacent, keep looking for the next thing to nerd out about
                    (before you're obsolete)</td>
              </tr>
              <tr>
                <td class="sub">Kerning, Orgasms &amp; Those Goddamned Japanese Toothpicks</td>
              </tr>
            </tbody>
          </table><p>I've boiled the conference down to a single sentence per talk.  At this point the interesting thing to me is that some of the remainder
            might be labelled 'obvious', but to me it's down to the quality of an engaging speaker that you come away with a clear message.</p><p>This also reminds me of <a href="http://www.codesqueeze.com/intellects-dont-appreciate-intelligence/">an article by Max Pool</a>
            that I read not too long ago:</p><blockquote>Just because you can grasp the answer does not mean you have the knowledge, wisdom, experience, or work ethic to
            come to that answer <cite>http://www.codesqueeze.com/intellects-dont-appreciate-intelligence/</cite></blockquote>]]></content:encoded>
    </item>
    <item>
      <title>Microsoft UK Tech Days 2010</title>
      <link>http://cargowire.net/blog/uktechdays2010</link>
      <guid>http://cargowire.net/blog/uktechdays2010</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sun, 18 Apr 2010 15:30:00 GMT</pubDate>
      <description>&lt;p&gt;Continuing the theme of keeping myself busy with geek events! I also recently attended the 
          Microsoft UK Tech Days Visual Studio and .NET 4 talks.&lt;/p&gt;&lt;p&gt;To be fair a lot of the content was similar to what I had already heard at ddd8.
          So we're talking Optional Parameters, Named Arguments, Generic Variance and Dynamic Typing for .NET 4 plus multi-monitor
          support, changes to code highlighting and javascript intellisense and a WPF interface for Visual Studio...  I particularly 
          liked the 'code only' profile for VS that disables some unnecessary services and hides all windows/toolbars except for the
          editor and solution explorer.&lt;/p&gt;&lt;p&gt;In addition to this the parallelisation features of .net were discussed (AsParallel(),
          PLINQ) - something that's always intriguing and worth
          trying out.  And there were niceities too for asp.net.  Caching being pushed into a provider model, controllable client IDs and a far more slimline
          web.config are all a part of this.&lt;/p&gt;&lt;p&gt;Overall ALM features were a focus. Unfortunately much of this is 
          only VS Ultimate and/or TFS related.  However they give food for throught on process,
          particularly when linked to the talk on 'agile' development. Pair programming, code review, automated builds and tests are
          all things that can add to your development process and should be thought about whether or not you are using the MS tools.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Continuing the theme of keeping myself busy with geek events! I also recently attended the 
          <a href="http://www.microsoft.com/uk/techdays/">Microsoft UK Tech Days</a> Visual Studio and .NET 4 talks.</p><p>To be fair a lot of the content was similar to what I had already heard at <a href="/blog/ddd8">ddd8</a>.
          So we're talking Optional Parameters, Named Arguments, Generic Variance and Dynamic Typing for .NET 4 plus multi-monitor
          support, changes to code highlighting and javascript intellisense and a WPF interface for Visual Studio...  I particularly 
          liked the 'code only' profile for VS that disables some unnecessary services and hides all windows/toolbars except for the
          editor and solution explorer.</p><p>In addition to this the parallelisation features of .net were discussed (<a href="http://msdn.microsoft.com/en-us/library/system.linq.parallelenumerable.asparallel%28VS.100%29.aspx">AsParallel()</a>,
          <a href="http://msdn.microsoft.com/en-us/magazine/cc163329.aspx">PLINQ</a>) - something that's always intriguing and worth
          trying out.  And there were niceities too for asp.net.  Caching being pushed into a provider model, controllable client IDs and a far more slimline
          web.config are all a part of this.</p><p>Overall <accronm title="Application Lifecycle Management">ALM</accronm> features were a focus. Unfortunately much of this is 
          only VS Ultimate and/or <accronym title="Team Foundation Server">TFS</accronym> related.  However they give food for throught on process,
          particularly when linked to the talk on 'agile' development. Pair programming, code review, automated builds and tests are
          all things that can add to your development process and should be thought about whether or not you are using the MS tools.</p><p />]]></content:encoded>
    </item>
    <item>
      <title>Barcamp Bournemouth 2</title>
      <link>http://cargowire.net/blog/barcampbomo2</link>
      <guid>http://cargowire.net/blog/barcampbomo2</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Tue, 13 Apr 2010 23:40:00 GMT</pubDate>
      <description>&lt;p&gt;Having been to a few of the 'big' conferences and just returned from SXSW
          it was quite refreshing to attend a more small scale, local affair.  With other barcamp's often being either far
          away or both far away and starting too soon after work BarCamp Bournemouth made it easy, running over
          a weekend and being so close!&lt;/p&gt;&lt;p&gt;I must of course say congratulations to the organisers for putting in the effort to provide a free social/conference
          for up to 100 attendees.  No small feat, including organising the venue plus sponsorship for two free meals.&lt;/p&gt;&lt;p&gt;In terms of comparison I would suggest that the small scale nature of the event made it much more of a 'geek social'
          than a free conference.  Which made it a heck of a lot more fun but perhaps less about learning.&lt;/p&gt;&lt;p&gt;I made it to a number of talks including a run through of scala (with some very similar features to .net), a designers do better
          rant from Rich Quick, partook in a .NET MVC discussion, a number of discussions surrounding the Digital Economy Bill, and an intro to British Sign Language
          (from Lalita D'Cruze).  And yes, I can now sign my name :-)&lt;/p&gt;&lt;p&gt;Off the back of this I looked into what other smallscale events are run in my area:&lt;/p&gt;&lt;p&gt;So will show up to those in due course.  I also learnt to play Polarity and Werewolf!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Having been to a few of the 'big' conferences and just returned from <a href="/blog/sxsw10overall">SXSW</a>
          it was quite refreshing to attend a more small scale, local affair.  With other barcamp's often being either far
          away or both far away and starting too soon after work <a href="http://www.barcampbournemouth.org/">BarCamp Bournemouth</a> made it easy, running over
          a weekend and being so close!</p><p>I must of course say congratulations to the organisers for putting in the effort to provide a free social/conference
          for up to 100 attendees.  No small feat, including organising the venue plus sponsorship for two free meals.</p><p>In terms of comparison I would suggest that the small scale nature of the event made it much more of a 'geek social'
          than a free conference.  Which made it a heck of a lot more fun but perhaps less about learning.</p><p>I made it to a number of talks including a run through of scala (with some very similar features to .net), a designers do better
          rant from <a href="http://twitter.com/richquick">Rich Quick</a>, partook in a .NET MVC discussion, a number of discussions surrounding the Digital Economy Bill, and an intro to British Sign Language
          (from <a href="http://twitter.com/lallyd">Lalita D'Cruze</a>).  And yes, I can now sign my name :-)</p><p>Off the back of this I looked into what other smallscale events are run in my area:</p><ul>
            <li>
              <a href="http://winchesterwebscene.co.uk/">Winchester Web Scene</a>
            </li>
            <li>
              <a href="http://www.nxtgenug.net/Region.aspx?RegionID=9">NxtGen Southampton</a>
            </li>
            <li>
              <a href="http://www.bcs.org/server.php?show=nav.12189">BCS Hampshire</a>
            </li>
          </ul><p>So will show up to those in due course.  I also learnt to play Polarity and Werewolf!</p>]]></content:encoded>
    </item>
    <item>
      <title>SXSW - In Reflection</title>
      <link>http://cargowire.net/blog/sxsw10overall</link>
      <guid>http://cargowire.net/blog/sxsw10overall</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sun, 21 Mar 2010 20:40:00 GMT</pubDate>
      <description>&lt;p&gt;
          Having seen (or at least made notes on) 17 talks at last year's 'South By', coupled with the fact
          that this year pretty much the entire Headscape team were heading out to Austin I felt sure that
          my 'talk total' would be much lower.  However I somehow managed to make it out to 21
          different talks, panels and/or podcast recordings!
          &lt;/p&gt;&lt;p&gt;Unfortunately I didn't find the time to write up these notes during the conference.  But I will
          do so over the coming days (and backdate them within this blog).&lt;/p&gt;&lt;p&gt;For me, this year had quite a different feel to it.  Knowing 11 rather than just 3 people from the outset
          leant itself to more of a family holiday feel than a networking event...&lt;/p&gt;&lt;p&gt;In terms of the talks there seemed to be a theme of design and persuasion with less technical technique oriented
          items on the schedule.  However as I've said before technique 'takeaways' are few and far between at large scale
          conferences.  In fact it is perhaps more beneficial to dip into some sessions that won't necessarily have a direct impact on your
          role.  Instead they will enrich it with insight into some other aspect of web design/development work. This is useful particularly
          within small agencies where roles are often blurred.  For me this included talks on psychology, design and interfaces.&lt;/p&gt;&lt;p&gt;Looking back at last year I spent a lot of time checking out Flash and iPhone based talks which this year seem to have been 
          replaced by Javascript/HTML5, or geo/location based talks.  To me this matches the movemement in the industry away from flash (due to 
          devices like the iPhone driving it out) and away from 'device features' to 'applications that can be based on device features'
          e.g. "OK, your device has access to GPS, what can I now actually make with that".
        &lt;/p&gt;&lt;p&gt;It's interesting to note that last year I was listening to Microsoft Rep's discussing IE8's intended CSS capabilities
          and during this years SXSW IE9 was being announced/discussed at Microsoft MIX.
          With talk of SVG, CSS3 and GPU powered graphics.  They really seem to be ramping up their versions now in competition with
          Mozilla, Apple, Google and Opera (after their 5 year IE6/7 gap), with some promising stuff coming out of redmond.&lt;/p&gt;&lt;p&gt;Overall SXSW was definitely worth reattending.  I've returned once again enthused about the industry and getting stuck
          into some interesting projects, although it would be interesting to take some time to attend more workshop based
          events in the UK in the future.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
          Having seen (or at least made notes on) 17 talks at last year's 'South By', coupled with the fact
          that this year pretty much the entire Headscape team were heading out to Austin I felt sure that
          my 'talk total' would be much lower.  However I somehow managed to make it out to 21
          different talks, panels and/or podcast recordings!
          </p><p>Unfortunately I didn't find the time to write up these notes during the conference.  But I will
          do so over the coming days (and backdate them within this blog).</p><p>For me, this year had quite a different feel to it.  Knowing 11 rather than just 3 people from the outset
          leant itself to more of a family holiday feel than a networking event...</p><h4>The Talks</h4><p>In terms of the talks there seemed to be a theme of design and persuasion with less technical technique oriented
          items on the schedule.  However as I've said before technique 'takeaways' are few and far between at large scale
          conferences.  In fact it is perhaps more beneficial to dip into some sessions that won't necessarily have a direct impact on your
          role.  Instead they will enrich it with insight into some other aspect of web design/development work. This is useful particularly
          within small agencies where roles are often blurred.  For me this included talks on psychology, design and interfaces.</p><p>Looking back at last year I spent a lot of time checking out Flash and iPhone based talks which this year seem to have been 
          replaced by Javascript/HTML5, or geo/location based talks.  To me this matches the movemement in the industry away from flash (due to 
          devices like the iPhone driving it out) and away from 'device features' to 'applications that can be based on device features'
          e.g. "OK, your device has access to GPS, what can I now actually make with that".
        </p><h4>IE</h4><p>It's interesting to note that last year I was listening to Microsoft Rep's discussing IE8's intended CSS capabilities
          and during this years SXSW <a href="http://ie.microsoft.com/testdrive/">IE9</a> was being announced/discussed at <a href="http://live.visitmix.com/">Microsoft MIX</a>.
          With talk of SVG, CSS3 and GPU powered graphics.  They really seem to be ramping up their versions now in competition with
          Mozilla, Apple, Google and Opera (after their 5 year IE6/7 gap), with some promising stuff coming out of redmond.</p><p>Overall SXSW was definitely worth reattending.  I've returned once again enthused about the industry and getting stuck
          into some interesting projects, although it would be interesting to take some time to attend more workshop based
          events in the UK in the future.</p>]]></content:encoded>
    </item>
    <item>
      <title>Boagworld 200th</title>
      <link>http://cargowire.net/blog/boagworld200</link>
      <guid>http://cargowire.net/blog/boagworld200</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sat, 13 Feb 2010 11:15:00 GMT</pubDate>
      <description>&lt;p&gt;It was my pleasure to take part in the 200th Boagworld
                (bw200) yesterday.  A
                marathon session that started with Bob, Paul and 
                I waiting outside the locked barn keyless and cold until
                Dave, Stanton and Ryan
                came to the rescue...
                &lt;/p&gt;&lt;p&gt;In my mind the day was like a free one day, online conference with a brilliant lineup
                all sharing their time for free.  There wasn't too rigid a schedule with guests in and out all the time either via skype
                or in person.
                However there was a general plan of 30minute sessions (expertly co-ordinated and organised by Ryan Taylor).
                &lt;/p&gt;&lt;p&gt;Each session was recorded and as far as I'm aware will be released by Marcus and Paul over the coming weeks.&lt;/p&gt;&lt;p&gt;Highlights for me included a relaxed, and seemingly extremely well read (if his bookshelf was anything to go by) Andy Clarke
                getting into a heated debate with Paul regarding browser support / progressive enhancement and some excellent food for thought from Drew Mclellan
                and Rachel Andrew in regard to e-commerce projects.&lt;/p&gt;&lt;p&gt;The only real lowlight was some rather unnecessary behaviour in the backchannel.  Other than that
                it's a shame each guest was only on for 30minutues as there was some excellent content that could have taken up entire shows in their own right.&lt;/p&gt;&lt;p&gt;Thanks to the rotating host system I got to co-host a chat with Drew and Rachel on 
                The Joel Test and to speak with 
                Christian Heilmann about Yahoo's YQL.&lt;/p&gt;&lt;p&gt;The Joel test is an interesting one that allows teams to take a step back and guage how effectively they are operating. Covering questions on
                Source Control, bug tracking, scheduling and working conditions.  &lt;/p&gt;&lt;p&gt;One of the tests that we didn't have time for was 'Do new candidates write code during
                their interview?' which for me is something that I've been wrestling with at Headscape (where we do ask for code to be created as part of the application
                process). Shortly I will be posting an article covering my thoughts on the matter (as encouraged by Emily).&lt;/p&gt;&lt;p&gt;Unfortunately I think there was a misunderstanding regarding the length of Christians session (being only half an hour instead of an hour) however I think it
                was one of the best sessions for takeaway action.  The YQL demos that Christian had prepared showed us just how easily web apps and mashups can be created
                by standing on the shoulders of Yahoo. Allowing us to get down to the real functionally of our apps rather than worrying about the wiring of individual pieces
                across differing API boundaries. I urge you to take a look at the YQL Demos
                that Christian prepared.&lt;/p&gt;&lt;p&gt;All in all, a great day.  Thanks to everyone involved (especially Cath for providing food for us all!&lt;/p&gt;&lt;p&gt;P.S. I'm still not sure Paul noticed the hijack of his about page throughout the day... did you?&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It was my pleasure to take part in the <a href="http://boagworld.com/news/200-live" title="Boagworld 200th homepage">200th Boagworld</a>
                (<a href="http://search.twitter.com/search?q=%23bw200" title="Boagworld 200 on twitter">bw200</a>) yesterday.  A
                marathon session that started with <a href="http://twitter.com/bobscape">Bob</a>, <a href="http://twitter.com/boagworld">Paul</a> and 
                <a href="http://twitter.com/cargowire" rel="me">I</a> waiting outside the locked barn keyless and cold until
                <a href="http://twitter.com/davemcdermid">Dave</a>, <a href="http://twitter.com/stanton">Stanton</a> and <a href="http://twitter.com/ryanhavoc">Ryan</a>
                came to the rescue...
                </p><p>In my mind the day was like a <a href="http://twitter.com/cargowire/status/9007717396">free one day, online conference</a> with a brilliant lineup
                all sharing their time for free.  There wasn't too rigid a schedule with guests in and out all the time either <a href="http://www.flickr.com/photos/ryanjtaylor/4351110517/in/set-72157623291945233/" title="Flickr: Sarah Parmenter calling in remotely">via skype</a>
                or <a href="http://www.flickr.com/photos/ryanjtaylor/4351047369/in/set-72157623291945233/" title="Flickr: Jeremy Keith and Anna Debenham being entirely serious and professional on arrival">in person</a>.
                However there was a general plan of 30minute sessions (expertly co-ordinated and organised by <a href="http://havocinspired.co.uk/" title="Headscape's most recent employee">Ryan Taylor</a>).
                </p><p>Each session was recorded and as far as I'm aware will be released by Marcus and Paul over the coming weeks.</p><img class="featured" src="/content/images/bwtwohundred.jpg" alt="The Boagworld 200 Technical Setup" /><p>Highlights for me included a relaxed, and seemingly extremely well read (if his bookshelf was anything to go by) <a href="http://twitter.com/malarkey">Andy Clarke</a>
                getting into a heated debate with Paul regarding browser support / progressive enhancement and some excellent food for thought from <a href="http://twitter.com/drewm">Drew Mclellan</a>
                and <a href="http://twitter.com/rachelandrew">Rachel Andrew</a> in regard to e-commerce projects.</p><p>The only real lowlight was some rather <a href="http://www.rachelandrew.co.uk/archives/2010/02/13/women-and-the-backchannel/" title="Chatroom treatment of the female guests by Rachel Andrew">unnecessary behaviour in the backchannel</a>.  Other than that
                it's a shame each guest was only on for 30minutues as there was some excellent content that could have taken up entire shows in their own right.</p><p>Thanks to the rotating host system I got to co-host a chat with Drew and Rachel on 
                <a href="http://www.joelonsoftware.com/articles/fog0000000043.html" title="Original Joel Test article on JoelOnSoftware">The Joel Test</a> and to speak with 
                <a href="http://icant.co.uk">Christian Heilmann</a> about Yahoo's YQL.</p><p>The Joel test is an interesting one that allows teams to take a step back and guage how effectively they are operating. Covering questions on
                Source Control, bug tracking, scheduling and working conditions.  </p><p>One of the tests that we didn't have time for was 'Do new candidates write code during
                their interview?' which for me is something that I've been wrestling with at Headscape (where we do ask for code to be created as part of the application
                process). Shortly I will be posting an article covering my thoughts on the matter (as encouraged by <a href="http://twitter.com/gradualist">Emily</a>).</p><p>Unfortunately I think there was a misunderstanding regarding the length of Christians session (being only half an hour instead of an hour) however I think it
                was one of the best sessions for takeaway action.  The YQL demos that Christian had prepared showed us just how easily web apps and mashups can be created
                by standing on the shoulders of Yahoo. Allowing us to get down to the real functionally of our apps rather than worrying about the wiring of individual pieces
                across differing API boundaries. I urge you to take a look at the <a href="http://isithackday.com/boagworld.php" title="Christian's YQL Demos for Boagworld 200">YQL Demos</a>
                that Christian prepared.</p><p>All in all, a great day.  Thanks to everyone involved (especially <a href="http://twitter.com/boaggirl">Cath</a> for providing food for us all!</p><h3>Some related bits and bobs</h3><ul>
            <li>
              <a href="http://www.flickr.com/photos/ryanjtaylor/sets/72157623291945233/" title="Flickr Set of the show">A Flickr set of the show</a>
            </li>
            <li>
              <a href="http://homeofmuppets.com/moblogs/view/11492" title="Stanton's Moblog photos of the show">Some more photos from Stanton</a>
            </li>
            <li>
              <a href="http://icant.co.uk/goohoobi">GooHooBi - An example of YQL usage to aggregate multiple search engines</a>
            </li>
            <li>
              <a href="http://www.wait-till-i.com/2010/02/12/diving-into-the-web-of-data-the-yql-talk-at-boagworld-live-200/" title="Christian's write up of his YQL session">Christians YQL demo writeup</a>
            </li>
          </ul><br /><p>P.S. I'm still not sure Paul noticed the <a class="thickbox" href="/content/images/bwhijack.jpg" title="Boagworld about page change?">hijack of his about page</a> throughout the day... did you?</p>]]></content:encoded>
    </item>
    <item>
      <title>Developer Day 8</title>
      <link>http://cargowire.net/blog/ddd8</link>
      <guid>http://cargowire.net/blog/ddd8</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Tue, 02 Feb 2010 23:05:00 GMT</pubDate>
      <description>&lt;p&gt;
            Another Developer Day over, another enthusiasm shot for the day job. Here's the usual breakdown:
          &lt;/p&gt;&lt;p&gt;Overall some excellent content with useful take aways.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
            Another <a href="http://www.developerdeveloperdeveloper.com/ddd8/">Developer Day</a> over, another enthusiasm shot for the day job. Here's the usual breakdown:
          </p><table id="dayone" class="fowa">
            <thead>
              <tr>
                <th colspan="2">DeveloperDeveloperDeveloper: Speaker / Thoughts</th>
              </tr>
            </thead>
            <tfoot>
              <tr>
                <td colspan="2" />
              </tr>
            </tfoot>
            <tbody>
              <tr>
                <td>Mark Needham (ThoughtWorks)</td>
                <td rowspan="2">
                  <p>Not really what I had expected based on the title alone...</p>
                  <p>After introducing functional programming as a language with first class functions (can be created
                  during execution, passed/returned etc), immutability, lazy evaluation, recursion and pattern matching
                  Mark proceeded to demo 'Transformational' instead of imperative thinking using the linq implementations of a
                  variety of 'functional' principles: Map = Select, Filter = Where, Reduce ≅ Sum.</p>
                  <p>Usage of such extensions on IEnuemerable allow code to be more declarative - with the statement
                  of the desired result being specified as opposed to the exact process to undertake.</p>
                  <p>Although Mark did make some good points in reference to realising linq can easily lead
                  to duplication (reminding me of jquery selectors being used multiple times because
                  they look small, irrespective of the actual work they are doing), the content generally had a low
                  difficulty level feeling (which could have been enhanced perhaps by focusing more on the design patterns content
                  that was briefly touched on), with a chunk of the questions at the end critiquing the examples rather
                  than drilling down into the subject.</p>
                </td>
              </tr>
              <tr>
                <td class="sub">
                  <a href="http://www.markhneedham.com/blog/2010/01/31/ddd8-mixing-functional-and-object-oriented-approaches-to-programming-in-c/">Mixing functional and object oriented approaches to programming in C#</a>
                </td>
              </tr>
              <tr>
                <td>Andrea Magnorsky (Round Crisis)</td>
                <td rowspan="2">
                  <p>Probably my favourite talk of the day <a href="http://twitter.com/silverspoon" title="Andrea on Twitter">Andrea</a>
                  gave an excellent fast paced intro to Unit Testing using <a href="http://www.codeplex.com/xunit">Xunit</a> and 
                  <a href="http://code.google.com/p/moq/">Moq</a>.  With the example of testing an OrderService we saw how to use
                  consistent, verbose naming of tests for clarity/ease of use and were reminded that a unit really does mean
                  a small unit.  For example multiple tests of the save method of OrderService were used to illustrate a first simple 
                  'does not throw' test, through using a stub
                of an invalid object to check the 'if not valid return false' nature of save to using a mock of an email sender to check that
                a 'send email' call is sent.</p>
                  <p>By using mocks and stubs the testing of the order service is contained only to the logic within the service and not
                  to any of it's dependencies - any repository related aspects should be tested separately.</p>
                  <p>The phase 'be super paranoid about your tests' enforced the idea that test code is no smaller matter than production
                  code, and if anything should be treated even more thoroughly.</p>
                  <p>A general rule given was that behaviour tests end in a Verify on Mock whereas state tests end in an Assert
                  and that tests follow an <strong>A</strong>rrange, <strong>A</strong>ction, <strong>A</strong>ssert (or verify)
                  flow. The final golden rules were: tests should not involve conditionals, should not depend on other tests and
                should not assess multiple expectations.</p>
                  <p>Although pointed to during the talk it would be interesting to hear more about unit testing in the context of Test Driven Development.</p>
                </td>
              </tr>
              <tr>
                <td class="sub">
                  <a href="http://roundcrisis.com/2010/01/31/lessons-learned-in-unit-testing-session-ddd8/">Lessons learned on Unit Testing</a>
                </td>
              </tr>
              <tr>
                <td>Jon Skeet (Google)</td>
                <td rowspan="2">
                  <p>Having previously seen Jon Skeet <a href="/blog/ddd7">recreate linq to objects</a> in 60mins this was undoubtedly going
                  to be a good session.</p>
                  <p>Jon covered the main 'newness' coming in C#4.0
                    <dl><dt>Optional parameters</dt><dd>As in VB C# can now provide optional parameters with default values (referencing libraries
                      will need a rebuild if the optional parameters are changed as they are copied in - similar to consts)</dd><dt>Named arguments</dt><dd>Arguments can now be named allowing the order to not matter - playing nicely with multiple optional
                      parameters</dd><dt>Generic variance (interfaces and delegates only - reference not value types)</dt><dd><p>Co-Variance: Specific to general - used when returning out (IList&lt;Circle&gt; assigned to IEnumerable&lt;IShape&gt;)</p><p>Contra-Variance: General to specific - used when sending in (IComparer&lt;IShape&gt; used as IComparer&lt;Circle&gt;)</p></dd><dt>Dynamic typing (implemented as a library on top of CLR)</dt><dd>Variables can be statically typed as 'dynamic' and then have properties added using dot syntax</dd><dt>Better COM interop</dt><dd>The combination of named optional parameters and dynamic objects makes COM a lot less painful.</dd></dl>
                    Jon has also made his code available on his <a href="http://csharpindepth.com/Talks.aspx">C# in Depth site</a></p>
                </td>
              </tr>
              <tr>
                <td class="sub">C# 4</td>
              </tr>
              <tr class="grok">
                <td>Lunch Time</td>
                <td rowspan="2">
                The Grok talks this year seemed a far bigger deal (with a large room and a lot of attendees).  Some good tidbits
                included a demo of using T4 templates to generate code/sql/xaml in visual studio from Rob Blackmore and a run through
                of CodeRush Xpress by Rory Becker.
                </td>
              </tr>
              <tr class="grok">
                <td class="sub">Grok Talks</td>
              </tr>
              <tr>
                <td>Simon Sabin (SQL Server Consultant)</td>
                <td rowspan="2">
                  <p>As with most developers I have been concerned by the use of ORM's such as Linq2Sql and <abbr title="Entity Framework">EF</abbr>
                    in terms of the 'auto generated' sql that they produce.  Simon allayed some of those concerns by running a number of test queries,
                    using instrumentation such as 'SET STATISTICS TIME ON' to compare the differing sql between manually and EF created, with mostly good results.
                    There were a few specific examples of weakness in EF1 however the speed of application construction must be balanced against the speed
                    of direct ADO.NET queries (which vastly outperformed the ORM queries - with no overhead for mapping etc).</p>
                  <p>A couple of important things to remember are that when you construct a sql statement you are asking SQL Server for the result
                    not telling it exactly what to run and it will often reorgnise queries before execution.  Additionally the old argument between stored 
                    procedures and text queries was touched upon with the only benefits really being the amount of text over the network and the security
                    issues of allowing direct modification of tables.  Performance is not an issue as compiled plans of text queries are cached in SQL.</p>
                  <p>The underlying theme was to check your queries using tools such as <a href="http://msdn.microsoft.com/en-us/library/ms187929.aspx">SQL Server Profiler</a>
                    in order to hone your query performance (whether it be through direct SQL, EF, Linq2Sql, nHibernate..).</p>
                </td>
              </tr>
              <tr>
                <td class="sub">Entity Framework - How to stop your DBA from having a heart attack</td>
              </tr>
              <tr>
                <td>Barry Dorrans (Soon to be Microsoft)</td>
                <td rowspan="2">
                  <p>As Barry is soon to be moving to Microsoft in the states his talk was somewhat hijacked by the DDD team with various
                    videos leading to a rather jovial atmosphere for the final talk of the day.</p>
                  <p>The content itself was very factual rather than contextualised to the day to day in the sense that the presentation did not really go
                    in to real world examples, prefering instead to describe the variety of encryption/hashing options available to developers.
                    </p>
                  <ul>
                    <li>Hashing: One way reducing (∴ collisions are possible) algorithm used for passwords/checksums (MD5 and SHA1 to be avoided)
                            <ul><li>Always salt a hash (include a random piece of data in the plain text before hashing) to avoid dictionary attacks</li></ul></li>
                    <li>Symmetric Encyption - uses a single <abbr title="Cryptographically secure random data">key</abbr> for encrypt/decrypt (Rijndael is most used algorithm)</li>
                    <li>Asymmetric Encryption - uses public/private key but is computationally expensive so often used only initially to transfer/protect a symmetric key</li>
                  </ul>
                </td>
              </tr>
              <tr>
                <td class="sub">
                  <a href="http://idunno.org/archive/2010/01/30/a-developers-guide-to-encryption.aspx">A developers guide to encryption</a>
                </td>
              </tr>
            </tbody>
          </table><p>Overall some excellent content with useful take aways.</p>]]></content:encoded>
    </item>
    <item>
      <title>The Project52 Challenge</title>
      <link>http://cargowire.net/blog/project52-2010</link>
      <guid>http://cargowire.net/blog/project52-2010</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Mon, 04 Jan 2010 22:05:00 GMT</pubDate>
      <description>&lt;p&gt;
            During the end of December last year I, along with many others, somehow got caught up by the #p52 hashtag and,
            in true 'resolutions that I probably won't be able to keep' stylé, I took on the challenge.  The idea is as follows:
          &lt;/p&gt;&lt;p&gt;I'm kicking that off with a new article about useful .net dev resources and how to keep up to date.
          I've also finally made some good use of my free basecamp account by making a list of potential articles so I should be on my way for at least a few months. It's 
          finding the time that could be tricky.&lt;/p&gt;&lt;p&gt;The idea has already 'persuaded' me to get some more functionality up on to cargowire.  The categorisation of my posts is now exposed
          through url routes (e.g. http://cargowire.net/articles/tagged/general) and I will be tagging all my Project52 posts appropriately at:
          /articles/tagged/project52.&lt;/p&gt;&lt;p&gt;Additionally I've begun to add 'table of contents' links to the upper right
          of articles.  Thus allowing skipping down the article.  Commenting functionality is coming soon... I promise.
          &lt;/p&gt;&lt;p&gt;I'm also going to try and run a commenting #p52 alongside the article writing, as Yaili proposed.&lt;/p&gt;&lt;p&gt;Looking forward to a fun and productive 2010!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
            During the end of December last year I, along with many others, somehow got caught up by the <a href="http://search.twitter.com/search?q=%23p52">#p52</a> hashtag and,
            in true 'resolutions that I probably won't be able to keep' stylé, I took on the challenge.  The idea is as follows:
          </p><blockquote>
            <p>The goal is to write at least 1 new article per week for 1 year.</p>
            <cite>http://project52.info</cite>
          </blockquote><p>I'm kicking that off with a new article about <a href="/articles/usefulfordotnetdev" title="Useful for .net dev">useful .net dev resources and how to keep up to date</a>.
          I've also finally made some good use of my free basecamp account by making a list of potential articles so I should be on my way for at least a few months. It's 
          finding the time that could be tricky.</p><p>The idea has already 'persuaded' me to get some more functionality up on to cargowire.  The categorisation of my posts is now exposed
          through url routes (e.g. http://cargowire.net/articles/tagged/general) and I will be tagging all my Project52 posts appropriately at:
          <a href="/articles/tagged/project52">/articles/tagged/project52</a>.</p><p>Additionally I've begun to add 'table of contents' links to the upper right
          of articles.  Thus allowing skipping down the article.  Commenting functionality is coming soon... I promise.
          </p><p>I'm also going to try and run a commenting #p52 alongside the article writing, as <a href="http://twitter.com/yaili/status/6529425549">Yaili proposed</a>.</p><p>Looking forward to a fun and productive 2010!</p>]]></content:encoded>
    </item>
    <item>
      <title>Cargowire MVC Series begins...</title>
      <link>http://cargowire.net/blog/cargowiremvcseries</link>
      <guid>http://cargowire.net/blog/cargowiremvcseries</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sun, 06 Dec 2009 23:30:00 GMT</pubDate>
      <description>&lt;p&gt;
            A new post has just gone up over in the articles section.  Now that I've migrated the cargowire codebase to .NET MVC I intend
            to release a few articles in relation to the process.  The first is with regard to routing, particularly extensionless routes
            that match my pre-existing urls but use the new Routing capabilities of .NET MVC.
          &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
            A new post has just gone up over in the <a href="articles">articles</a> section.  Now that I've migrated the cargowire codebase to .NET MVC I intend
            to release a few articles in relation to the process.  The first is with regard to routing, particularly extensionless routes
            that match my pre-existing urls but use the new Routing capabilities of .NET MVC.
          </p>]]></content:encoded>
    </item>
    <item>
      <title>Overengineering and a lack of testing, the pitfalls of personal projects</title>
      <link>http://cargowire.net/blog/jumpingthegun</link>
      <guid>http://cargowire.net/blog/jumpingthegun</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Mon, 30 Nov 2009 23:00:00 GMT</pubDate>
      <description>&lt;p&gt;
            Ok, so yesterday I jumped the gun somewhat with the rather over ambitious:
            asp.net MVC version of http://cargowire.net up now - pretty much the same (hopefully) fleshed out notes and added link to thebarn pagehttp://twitter.com/cargowire/status/6182546830&lt;/p&gt;&lt;p&gt;
            Inevitably this was followed by:
            
                @cargowire heads up for you this is what I see in Safari 4 for http://cargowire.net OK in FF3.5 http://yfrog.com/4imo3phttp://twitter.com/porkandpaws/status/6183712464&lt;/p&gt;&lt;p&gt;Clearly I'd made three (or at least three of my) classic 'personal project for self only' mistakes:&lt;/p&gt;&lt;p&gt;
            I had set out to merely replace the backend of my previous .NET WebForms project (that used XSL/XML for
            view separation) with an implementation of asp.net/MVC.
            A fairly trival task, that along the way I expanded by virtue of being my own client and wanting to try out random
            things.
          &lt;/p&gt;&lt;p&gt;
            Being effectively an engine swap (I was even using the same XSL as well as javascript/css) I neglected to worry
            too much about browser rendering.  After all, it was the same CSS that I'd tested before... surely all would be well.
          &lt;/p&gt;&lt;p&gt;
            My original cargowire implementation had the ability to serve different content types baked in.  You could
            call most pages in the following ways (you still can now, try it):
          &lt;/p&gt;&lt;p&gt;
            I wanted to keep this functionality with the new asp.NET MVC version, however somewhere along the way I decided it would be
            a good idea to not only expose these different formats through varying file extensions but also respond to the
            HTTP Accept header that get sent with the request.  This behaviour, similar to the respond_to method
            from Ruby On Rails, would allow multiple versions of the content to be requested easily.
          &lt;/p&gt;&lt;p&gt;
            The implementation was simple and based on my brief reading of the Http Accept header description.
          &lt;/p&gt;&lt;p&gt;
            By attempting to find any possible view it allowed me to later add any format I like (json for example) just by adding the relevant view and all
            the plumbing would wire up.
          &lt;/p&gt;&lt;p&gt;
            All seemed well in Firefox, and after forgetting about this code and finishing the rest of the backend off, browser testing
            was irrelevant.. right?... I'd not changed any css, html or JS... I pushed live.
          &lt;/p&gt;&lt;p&gt;
            During testing I'd been working with firefox, which, if you request an extensionless url, appears to send
            the following accept header (according to the live headers plugin):
          &lt;/p&gt;&lt;p&gt;So in my algorithm you'd get:&lt;/p&gt;&lt;p&gt;In this scenario the code looks for a template for html, finds one and returns (ignoring the rest of the list).&lt;/p&gt;&lt;p&gt;
            When I saw the output from porkandpaws tweet it was immediately clear
            that he was seeing the XML output instead of html.  A quick run in debug mode gave the following accept header
            from Safari 4:
          &lt;/p&gt;&lt;p&gt;
            It would appear that if no extension is specified Safari will prioritise XML over XHTML. With application/xml requested
            before application/xhtml+xml and with both being assigned the default quality level 1 my algorithm assumed the
            client wanted the XML view and returned it!
          &lt;/p&gt;&lt;p&gt;
            The quick fix was to prioritise types containing 'html' before falling back to request order.  This may not be
            a perfect solution, but lets be pragmatic, I'd only implemented this on a whim - no-one is actually using this site
            other than for the html or rss view.
          &lt;/p&gt;&lt;p&gt;
            To round up then, although overengineering and random play code is almost inevitable for the curious developer
            when working for themselves with no timescale, it doesn't excuse full testing and you can never rule out what any change,
            no matter how 'isolated', might effect.
          &lt;/p&gt;</description>
      <content:encoded><![CDATA[<h4>On this weeks show 'Content Negotiation' and browser testing</h4><p>
            Ok, so yesterday I jumped the gun somewhat with the rather over ambitious:
            <blockquote><p>asp.net MVC version of http://cargowire.net up now - pretty much the same (hopefully) fleshed out notes and added link to thebarn page</p><cite>http://twitter.com/cargowire/status/6182546830</cite></blockquote></p><p>
            Inevitably this was followed by:
            <blockquote><p>
                @cargowire heads up for you this is what I see in Safari 4 for http://cargowire.net OK in FF3.5 <a href="http://yfrog.com/4imo3p">http://yfrog.com/4imo3p</a></p><img class="featured" alt="Screenshot of Safari showing plain text" src="/content/images/safariaccepttypes.png" /><cite>http://twitter.com/porkandpaws/status/6183712464</cite></blockquote></p><p>Clearly I'd made three (or at least three of my) classic 'personal project for self only' mistakes:</p><ol>
            <li>Overengineering</li>
            <li>Lack of testing</li>
            <li>Eagerness to get it live</li>
          </ol><p>
            I had set out to merely replace the backend of my previous .NET WebForms project (that used XSL/XML for
            view separation) with an implementation of <a href="http://www.asp.net/mvc" title="Microsoft Official asp.NET MVC site">asp.net/MVC</a>.
            A fairly trival task, that along the way I expanded by virtue of being my own client and wanting to try out random
            things.
          </p><p>
            Being effectively an engine swap (I was even using the same XSL as well as javascript/css) I neglected to worry
            too much about browser rendering.  After all, it was the same CSS that I'd tested before... surely all would be well.
          </p><h4>
            The problem: <a href="http://en.wikipedia.org/wiki/Content_negotiation">Content Negotiation</a></h4><p>
            My original cargowire implementation had the ability to serve different content types baked in.  You could
            call most pages in the following ways (you still can now, try it):
          </p><ul>
            <li>http://cargowire.net/articles (rendered html)</li>
            <li>http://cargowire.net/articles.html</li>
            <li>http://cargowire.net/articles.xml</li>
            <li>http://cargowire.net/articles.rss</li>
          </ul><br /><p>
            I wanted to keep this functionality with the new asp.NET MVC version, however somewhere along the way I decided it would be
            a good idea to not only expose these different formats through varying file extensions but also respond to the
            HTTP Accept header that get sent with the request.  This behaviour, similar to the respond_to method
            from Ruby On Rails, would allow multiple versions of the content to be requested easily.
          </p><p>
            The implementation was simple and based on my brief reading of the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html">Http Accept header</a> description.
          </p><code language="csharp">
            // Pseudocode of the algorithm
            format = request.extension
            if exists(format) and haveViewFor(format)
              return content as format
            else
              read in list of values from Accept header
              sort the list of accept headers by quality first and original request order second
              return content as the first format in the list that matches an available view
            if no appropriate view found
              return content as html
          </code><p>
            By attempting to find any possible view it allowed me to later add any format I like (json for example) just by adding the relevant view and all
            the plumbing would wire up.
          </p><p>
            All seemed well in Firefox, and after forgetting about this code and finishing the rest of the backend off, browser testing
            was irrelevant.. right?... I'd not changed any css, html or JS... I pushed live.
          </p><h4>Why did Safari looks so funny?</h4><p>
            During testing I'd been working with firefox, which, if you request an extensionless url, appears to send
            the following accept header (according to the <a href="https://addons.mozilla.org/en-US/firefox/addon/3829">live headers</a> plugin):
          </p><code language="xml">
            Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
          </code><p>So in my algorithm you'd get:</p><ol>
            <li>text/html (default q = 1) - sorted before xhtml because requested first</li>
            <li>application/xhtml+xml (default q = 1)</li>
            <li>application/xml;q=0.9</li>
            <li>*/*;q=0.8</li>
          </ol><p>In this scenario the code looks for a template for html, finds one and returns (ignoring the rest of the list).</p><p>
            When I saw the output from <a href="http://twitter.com/porkandpaws">porkandpaws</a> tweet it was immediately clear
            that he was seeing the XML output instead of html.  A quick run in debug mode gave the following accept header
            from Safari 4:
          </p><code language="xml">
            Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
          </code><p>
            It would appear that if no extension is specified Safari will prioritise XML over XHTML. With application/xml requested
            before application/xhtml+xml and with both being assigned the default quality level 1 my algorithm assumed the
            client wanted the XML view and returned it!
          </p><p>
            The quick fix was to prioritise types containing 'html' before falling back to request order.  This may not be
            a perfect solution, but lets be pragmatic, I'd only implemented this on a whim - no-one is actually using this site
            other than for the html or rss view.
          </p><h4>Conclusion</h4><p>
            To round up then, although overengineering and random play code is almost inevitable for the curious developer
            when working for themselves with no timescale, it doesn't excuse full testing and you can never rule out what any change,
            no matter how 'isolated', might effect.
          </p>]]></content:encoded>
    </item>
    <item>
      <title>New article posted! (Ubuntu gets inside Vista)</title>
      <link>http://cargowire.net/blog/ubuntuinvistaarticle</link>
      <guid>http://cargowire.net/blog/ubuntuinvistaarticle</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sun, 09 Aug 2009 16:15:00 GMT</pubDate>
      <description>&lt;p&gt;
            Just posted a new article covering how to get a previously installed dual boot of Ubuntu and Vista to work seamlessly inside VirtualBox running
            on Vista (check it out over in the articles section).  It's something I did a while back and have been meaning to finish
            the article on.  It has definately increased my usage of Ubuntu.
          &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
            Just posted a new article covering how to get a previously installed dual boot of Ubuntu and Vista to work seamlessly inside VirtualBox running
            on Vista (check it out over in the <a href="articles">articles</a> section).  It's something I did a while back and have been meaning to finish
            the article on.  It has definately increased my usage of Ubuntu.
          </p>]]></content:encoded>
    </item>
    <item>
      <title>I love the dev community for this reason:</title>
      <link>http://cargowire.net/blog/whyilovethedevcommunity</link>
      <guid>http://cargowire.net/blog/whyilovethedevcommunity</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Mon, 20 Jul 2009 22:00:00 GMT</pubDate>
      <description>&lt;p&gt;One of the reasons I've always enjoyed being part of the web is the fantastic people it attracts.  Rarely
          have I met someone in the industry that I couldn't get on with on some level... and today that view was reinforced.&lt;/p&gt;&lt;p&gt;Anyways on with the story... as with many others, when I first left University I signed up to a bunch of recruitment sites, as well as 
          applying to companies direct (in classic 'keep as many options open as possible stylé').  When doing so, I signed up to the unwritten
        law that I would thereafter receive more spam than actual e-mail - I was once even berated by some crazy recruiter
      for telling him I had a job (after he'd ran through a minute long rant about a job opportunity without stopping for breath).&lt;/p&gt;&lt;p&gt;Therefore I'm quite used to deleting a lot of e-mails from my inbox on a daily basis. So much so that I didn't stop to think about
          it until I saw that a couple of e-mails had the same subject line with 'RE:'...&lt;/p&gt;&lt;p&gt;It started with:&lt;/p&gt;&lt;p&gt;Addressed to a company address and copied to well over 500 possible applicants.  This was then succinctly followed by the first reply...&lt;/p&gt;&lt;p&gt;and this...&lt;/p&gt;&lt;p&gt;and finally...&lt;/p&gt;&lt;p&gt;Now it might just be me in a late Monday night computer stupor but that definately cheered up my day! I must then add
          (personal ad stylé) 'GSOH' as an extra point for Paul's recent post.&lt;/p&gt;&lt;p&gt;Cheers to the guys who I've quoted here!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>One of the reasons I've always enjoyed being part of the web is the fantastic people it attracts.  Rarely
          have I met someone in the industry that I couldn't get on with on some level... and today that view was reinforced.</p><p>Anyways on with the story... as with many others, when I first left University I signed up to a bunch of recruitment sites, as well as 
          applying to companies direct (in classic 'keep as many options open as possible stylé').  When doing so, I signed up to the unwritten
        law that I would thereafter receive more spam than actual e-mail - I was once even berated by some crazy recruiter
      for telling him I had a job (after he'd ran through a minute long rant about a job opportunity without stopping for breath).</p><p>Therefore I'm quite used to deleting a lot of e-mails from my inbox on a daily basis. So much so that I didn't stop to think about
          it until I saw that a couple of e-mails had the same subject line with 'RE:'...</p><p>It started with:</p><blockquote>
            <p>Good evening,</p>
            <p>I specialise in placing IT Contractors across the UK and Europe and I have the following vacancy that you may be interested...</p>
          </blockquote><p>Addressed to a company address and copied to well over 500 possible applicants.  This was then succinctly followed by the first reply...</p><blockquote>
            <p>"This e-mail is confidential and is intended solely for the use of the individual or entity to whom it is addressed"</p>
            <p>so that's all fucking 640 of us then?</p>
            <p>Marked as spam for sharing people's email addresses and possibly breaking some sort of data protection law, though how you got these email addresses is questionable to begin with as I have never given mine to you.</p>
          </blockquote><p>and this...</p><blockquote>
            <p>This amuses me.</p>
            <p>Recruitment FAIL.</p>
            <p>I’m sure if you’d like help developing a mail distribution system though Mr [.....], there’s 640 of us that could potentially help you.</p>
          </blockquote><p>and finally...</p><blockquote>Dude - that was magnificent! I've never heard of [.....], [.....] and I've certainly never given anyone permission to give my email to them either.</blockquote><p>Now it might just be me in a late Monday night computer stupor but that definately cheered up my day! I must then add
          (personal ad stylé) 'GSOH' as an extra point for <a href="http://boagworld.com/personal/the-wonder-of-the-web" title="The Wonder of the Web">Paul's recent post</a>.</p><p>Cheers to the guys who I've quoted here!</p>]]></content:encoded>
    </item>
    <item>
      <title>10 Things I learnt from Glasto '09</title>
      <link>http://cargowire.net/blog/tenthingsilearntatglasto09</link>
      <guid>http://cargowire.net/blog/tenthingsilearntatglasto09</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Thu, 02 Jul 2009 21:00:00 GMT</pubDate>
      <description>&lt;p&gt;Back from glasto.. after getting tired/wet/sunburnt all at once I've made a list of ten... exciting huh...&lt;/p&gt;&lt;p&gt;Pick of the weekend? dan le sac Vs Scroobius Pip. So glad I finally got to see them.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Back from glasto.. after getting tired/wet/sunburnt all at once I've made a list of ten... exciting huh...</p><br /><ol>
            <li>I can stop myself mid-sneeze with only an odd squeeky noise emanating out instead</li>
            <li>I don't enjoy beard rubbing as a salutation</li>
            <li>I should definitely stick to seeing bands I want to see, rather than bands I think I 'should' see</li>
            <li>If I leave anything around the campsite I should expect it to be taken from me - but probably not too far from me</li>
            <li>Extended time away from computers is definitely a good thing</li>
            <li>If you eat too much junk food from the same vendor he will begin to learn your 'usual'</li>
            <li>If a guy standing next to you dancing manically asks for a sip of your drink - it may not be to help a paracetamol go down</li>
            <li>Feeling bad for someone can make you sit through something you really probably shouldn't</li>
            <li>Leaving a gap in the middle of your tents, but not putting a gazebo in it will ultimately lead to someone else putting their tents in it</li>
            <li>Wearing wellies in the sun, although stylish, is actually painful</li>
          </ol><br /><p>Pick of the weekend? <a href="http://lesacvspip.wordpress.com/">dan le sac Vs Scroobius Pip</a>. So glad I finally got to see them.</p>]]></content:encoded>
    </item>
    <item>
      <title>MVC is finally installed on my home PC!</title>
      <link>http://cargowire.net/blog/mvcfinallyinstalled</link>
      <guid>http://cargowire.net/blog/mvcfinallyinstalled</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Thu, 04 Jun 2009 22:13:00 GMT</pubDate>
      <description>&lt;p&gt;
            For those intrigued by my twitter activity tonight (OK, it was just Dave and I've already told him anyway), but still, I ambiguously cried out:
          &lt;/p&gt;&lt;p&gt;As a .NET developer who likes to complain about webforms I was pretty keen to get to grips with the
            MVC framework when it was available.  So, so I could play about with it at leisure I began a two step process:&lt;/p&gt;&lt;p&gt;
            Thus began a process of occasionally coming back to it, searching for a solution, failing to find it then giving up again for a bit.
          &lt;/p&gt;&lt;p&gt;
            The majority of sources refer to uninstalling VS addins,
            ensuring you have 3.5 SP1, ensuring you uninstall any betas etc.  I tried these things and failed... Eventually it was this post by 
            Phil Haack that was the spur that 
            led me to the solution.  As you'll see I even got to the point of commenting on the poor mans blog.
          &lt;/p&gt;&lt;p&gt;Several posts, including a response to another request I'd made on
            the asp.net forums, were even suggesting I reinstall everything, including windows, and
            start from scratch.  Now I really didn't want to do that, and to be honest, thought that should never be necessary to get something to install (imagine having to
            do that for every installation you undertake on your system).
          &lt;/p&gt;&lt;p&gt;Having attempted some of the ngen related activities proposed by Phil Haack without success I dug a little deeper into the log I was getting:&lt;/p&gt;&lt;p&gt;Now without really having any prior experience with these kind of problems I was perhaps naively believing that the MVC install would have catered for
          dependencies and that if I was getting this error clearly there was some kind of conflict or problem (the whole uninstall-reinstall stuff scenario).  This was reinforced by my attempts
          to run ngen ExecuteQueuedItems and ngen Update (and even an ngen delete at one point) all failing.  However tonight I seemingly lucked upon the 
          answer.&lt;/p&gt;&lt;p&gt;
            Having already previously identified I had the System.Data.Entity library sitting in the GAC (C:\Windows\Assembly) and the dll itself in
            C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Data.Entity.dll I was still looking for some other kind of problem. However I tried, virtually on the off chance, to directly
            ngen the dll myself rather than rely on the MVC installer to do everything for me.
          &lt;/p&gt;&lt;p&gt;Immediately after doing this I started an MVC install - it worked.&lt;/p&gt;&lt;p&gt;And so retrospectively I was annoyed as the action I took in relation to the error I was seeing seems pretty obvious!&lt;/p&gt;&lt;p&gt;Anyway it's all over, I'm off to reinstall my addins.  The nice thing about it though was I ended up getting a response from an asp.net team member on forums.asp.net, which reminded me how much
          I like the openness of Microsofts team i.e. bloggers, forum posters etc.&lt;/p&gt;&lt;p&gt;To save the jump heres some interesting info from Jacques:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
            For those intrigued by my twitter activity tonight (OK, it was just <a href="http://www.davemcdermid.co.uk">Dave</a> and I've already told him anyway), but still, I ambiguously cried out:
          </p><blockquote>
            <p>OMFG really was it that simple? I hate everything right now</p>
            <cite>
              <a href="http://twitter.com/cargowire/status/2034102008">http://twitter.com/cargowire/status/2034102008</a>
            </cite>
          </blockquote><p>As a .NET developer who <a href="/articles/donthatemeformydotnet">likes to complain about webforms</a> I was pretty keen to get to grips with the
            <a href="http://www.asp.net/mvc/">MVC framework</a> when it was available.  So, so I could play about with it at leisure I began a two step process:</p><ul>
            <li>
              <strong>Step 1: </strong>Install on work laptop - Done in seconds
            </li>
            <li>
              <strong>Step 2: </strong>Install on home PC - Massive Fail
            </li>
          </ul><br /><p>
            Thus began a process of occasionally coming back to it, searching for a solution, failing to find it then giving up again for a bit.
          </p><p>
            The majority of sources refer to <a href="http://stackoverflow.com/questions/228997/aspmvc-beta-install-problems" title="Example of a post suggesting addin problems">uninstalling VS addins</a>,
            ensuring you have 3.5 SP1, ensuring you uninstall any betas etc.  I tried these things and failed... Eventually it was this post by 
            <a href="http://haacked.com/archive/2009/03/05/troubleshooting-installers.aspx" title="Phil Haack: Senior Program Manager at Microsoft">Phil Haack</a> that was the spur that 
            led me to the solution.  As you'll see I even got to the point of commenting on the poor mans blog.
          </p><p>Several posts, including a response to another request I'd made on
            <a href="http://forums.asp.net/p/1431141/3211599.aspx#3211599">the asp.net forums</a>, were even suggesting I reinstall everything, including windows, and
            start from scratch.  Now I really didn't want to do that, and to be honest, thought that should never be necessary to get something to install (imagine having to
            do that for every installation you undertake on your system).
          </p><p>Having attempted some of the ngen related activities proposed by Phil Haack without success I dug a little deeper into the log I was getting:</p><blockquote>
            <span>ExecNetFx: Error compiling System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089: Could not find or load a type. (Exception from HRESULT: 0x80131522)</span>
          </blockquote><p>Now without really having any prior experience with these kind of problems I was perhaps naively believing that the MVC install would have catered for
          dependencies and that if I was getting this error clearly there was some kind of conflict or problem (the whole uninstall-reinstall stuff scenario).  This was reinforced by my attempts
          to run ngen ExecuteQueuedItems and ngen Update (and even an ngen delete at one point) all failing.  However tonight I seemingly lucked upon the 
          answer.</p><p>
            Having already previously identified I had the System.Data.Entity library sitting in the GAC (C:\Windows\Assembly) and the dll itself in
            C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Data.Entity.dll I was still looking for some other kind of problem. However I tried, virtually on the off chance, to directly
            ngen the dll myself rather than rely on the MVC installer to do everything for me.
          </p><code>
            C:\Windows\Framework\v2.0.50727\ngen install "C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Data.Entity.dll"
          </code><p>Immediately after doing this I started an MVC install - it worked.</p><p>And so retrospectively I was annoyed as the action I took in relation to the error I was seeing seems pretty obvious!</p><p>Anyway it's all over, I'm off to reinstall my addins.  The nice thing about it though was I ended up getting a response from an asp.net team member on forums.asp.net, which reminded me how much
          I like the openness of Microsofts team i.e. bloggers, forum posters etc.</p><p>To save the jump heres some interesting info from Jacques:</p><blockquote>
            <p>In the Beta we only added support to the installer to GAC the assemblies, but starting with the RCs we began to create native images as well.</p>
            <p>When the MVC installer runs it automatically performs an ngen update and compiles any assembly that might be deemed to be out of date. Any failure
            during the ngen process is reported back and the installation will initiate a rollback.</p>
            <cite>
              <a href="http://forums.asp.net/p/1431141/3211599.aspx#3211599">Jacques Eloff</a>
            </cite>
          </blockquote><h3>Further Reading for the Interested Reader</h3><ul>
            <li>
              <a href="http://www.codeproject.com/KB/dotnet/demystifygac.aspx">Global Assembly Cache</a> - Shared store for libraries
            </li>
            <li>
              <a href="http://msdn.microsoft.com/en-us/library/6t9t5wcf(VS.80).aspx">Ngen.exe</a> - Generates native processor specific machine code to avoid JITing the original assembly
            </li>
          </ul><br />]]></content:encoded>
    </item>
    <item>
      <title>New article posted! (don't hate me for my .net)</title>
      <link>http://cargowire.net/blog/thoughtsondotnetarticle</link>
      <guid>http://cargowire.net/blog/thoughtsondotnetarticle</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sun, 03 May 2009 13:30:00 GMT</pubDate>
      <description>&lt;p&gt;Yesterday I Posted a new article covering some of my thoughts on .NET (check it out over in the articles section).  It's in response to the many conversations I
                seem to have with people who are on the verge of being shocked and appalled that I use .NET. So I decided to get some of 
                that discussion down on paper.  It's not an intro to .NET or a comparison between .NET and the rest although aspects of both 
                can be found in my rambling, and I certainly don't think everyone views .NET in that way.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Yesterday I Posted a new article covering some of my thoughts on .NET (check it out over in the <a href="articles">articles</a> section).  It's in response to the many conversations I
                seem to have with people who are on the verge of being shocked and appalled that I use .NET. So I decided to get some of 
                that discussion down on paper.  It's not an intro to .NET or a comparison between .NET and the rest although aspects of both 
                can be found in my rambling, and I certainly don't think everyone views .NET in that way.</p>]]></content:encoded>
    </item>
    <item>
      <title>You really should know and use these... seriously...</title>
      <link>http://cargowire.net/blog/dotnetdev101</link>
      <guid>http://cargowire.net/blog/dotnetdev101</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Tue, 28 Apr 2009 21:00:00 GMT</pubDate>
      <description>&lt;p&gt;Simple things apparently annoy me a great deal...&lt;/p&gt;&lt;p&gt;.NET Developers should be aware of, and use, .NET constructs that have been around for ages:&lt;/p&gt;&lt;p&gt;Obviously it's up to you in the context of each situation you encounter, but to never use these at all is surely madness.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Simple things apparently annoy me a great deal...</p><p>.NET Developers should be aware of, and use, .NET constructs that have been around for ages:</p><ul class="featured">
            <li>
              <strong>String.Empty</strong> - avoid creation of empty string references ("") use this built in single reference and the String.IsNullOrEmpty() method too.. the framework is there to help you!</li>
            <li>
              <strong>String.Format</strong> - avoid concatenation using + or &amp;. Use string.format with the objects you intend to concatenate, it will also do the ToString for you and has formatting abilities.</li>
            <li>
              <strong>StringBuilder</strong> - strings are immutable. String builders avoid the creation of new strings each time you do a &amp; or + concatenation.</li>
            <li>
              <strong>Using</strong> - Wrapping IDisposable instances in Using statements will automatically call dispose immediately on End Using. Additionally, implement IDisposable on heavy classes so that your own code can be consumed this way.</li>
            <li>
              <strong>Try Catch Finally</strong> - No catch should be empty, either decorate the exception with an appropriate wrapper before throwing again or remedy whatever the problem was because just plain eating exceptions makes debugging particularly crappy. Also use Finally to ensure that even when exceptions are thrown references are disposed of appropriately.</li>
            <li>
              <strong>'As' (TryCast in VB)</strong> - Should be used where appropriate to cast and return null if the cast fails (rather than throw a cast exception).</li>
            <li>
              <strong>TryParse</strong> - Should be used instead of Try Catch blocks i.e. Integer.TryParse will return false if the parse failed, rather than throwing an exception.</li>
            <li>
              <strong>Nullable Types</strong> should be used for primitive types that can also be null i.e. int? or Nullable(Of Integer). This struct has a 'hasValue' property that can be accessed rather than building your own constructs such as -1 means no value, or 0 means no value etc.</li>
            <li>
              <strong>Generics</strong> - Do not use classes such as ArrayList or SortedList as they are object based and have the overhead of casting to and from object as well as forcing the user to do these casts. Compile time checking is also hindered. Instead use Generic Collections so that typing can be enforced i.e. Generic.SortedList&lt;int, MyClass&gt; or Generic.SortedList(Of Integer, MyClass).
                    Additionally look to use generics to create generalised code (avoid similar operations being redone in multiple specialised classes). Generics is not just applicable to classes. You can, and should if necessary, create Generic Methods e.g. ConfigurationSettings.GetValue&lt;int&gt;("keyName") allows casting and other checking to be encapsulated away from consuming code.</li>
          </ul><p>Obviously it's up to you in the context of each situation you encounter, but to never use these at all is surely madness.</p>]]></content:encoded>
    </item>
    <item>
      <title>Web Developer Day '09 [notes to be completed]</title>
      <link>http://cargowire.net/blog/webdd09</link>
      <guid>http://cargowire.net/blog/webdd09</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sat, 18 Apr 2009 20:00:00 GMT</pubDate>
      <description>&lt;p&gt;
                    The second ever Web DD is over and I'm finally home after a nice early start and lengthy drive.
                    However once again it proved to be a worthwhile event with interesting as well as exciting presentations.  Old school
                    talk breakdown coming up (These are preliminary, i'll add to it when I get a chance):
                &lt;/p&gt;&lt;p&gt;Hope to meet some new people there next time!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
                    The second ever Web DD is over and I'm finally home after a nice early start and lengthy drive.
                    However once again it proved to be a worthwhile event with interesting as well as exciting presentations.  Old school
                    talk breakdown coming up (These are preliminary, i'll add to it when I get a chance):
                </p><table id="dayone" class="fowa">
            <thead>
              <tr>
                <th colspan="2">Web Developer Day '09: Speaker / Thoughts</th>
              </tr>
            </thead>
            <tfoot>
              <tr>
                <td colspan="2" />
              </tr>
            </tfoot>
            <tbody>
              <tr>
                <td>Dan Maharry</td>
                <td rowspan="2">
                                Lightweight Test Framework
                                Some recapping over
                                It would be very easy to remember the period between the release of ASP.NET 3.5 and 4.0 as the time
                                when ASP.NET MVC was made. But it's worth remembering that ASP.NET 3.5 service pack 1 and several
                                out of band releases for ASP.NET and IIS came out as well. This presentation will cover as many of
                                the other additions to web development as can be fit into an hour.
                            </td>
              </tr>
              <tr>
                <td class="sub">ASP.NET 3.5 - Miss Something?</td>
              </tr>
              <tr>
                <td>Alex Mackey</td>
                <td rowspan="2">
                                Parallelisation
                                Oslo
                                We will take a look at some of the great new features available in Visual Studio 2010
                                and .net 4. I am currently writing "Beginning .NET 4.0 with supporting technologies"
                                for Apress and will share my discoveries and thoughts so far. The contents of this session
                                will be partly dependent on what Microsoft release in the coming months but will probably
                                include the more finished areas such as Azure, Language enhancements and Parallel programming.
                            </td>
              </tr>
              <tr>
                <td class="sub">What's good in .NET 4 and Visual Studio 2010</td>
              </tr>
              <tr>
                <td>Barry Dorrans</td>
                <td rowspan="2">
                  <ol>
                    <li>Cross Site Scripting</li>
                    <li>Injection Flaws</li>
                    <li>Malicious File Execution</li>
                    <li>Insecure Direct Object Reference</li>
                    <li>Cross Site Request Forgery</li>
                    <li>Information Leakage</li>
                    <li>Broken Authentication / Session Management</li>
                    <li>Insecure Cryptographic Storage</li>
                    <li>Insecure Communications</li>
                    <li>Failure to restrict URL access</li>
                  </ol>
                </td>
              </tr>
              <tr>
                <td class="sub">P0wn3d! (Or how to redirect your friend's website to katyperry.com)</td>
              </tr>
              <tr>
                <td>Phil Pursglove</td>
                <td rowspan="2">
                  <ul>
                    <li>OutPut cache declarations</li>
                    <li>HttpRuntime.Cache</li>
                    <li>Compressing ViewState / storing viewstate in the session</li>
                    <li>Using ScriptManager to compress js files into single downloads</li>
                  </ul>
                </td>
              </tr>
              <tr>
                <td class="sub">This one goes up to 11, or how to write scalable ASP.NET</td>
              </tr>
              <tr>
                <td>Sebastian Lambla</td>
                <td rowspan="2">
                                MVC Rocks
                            </td>
              </tr>
              <tr>
                <td class="sub">ASP.net MVC best practices</td>
              </tr>
              <tr>
                <td>Mike Ormond</td>
                <td rowspan="2">
                                Mmmm control over Client Ids, Cache using a Provider Model, some good stuff here
                                In this session we take a wander through the landscape of ASP.NET, pausing briefly to admire what has been, before 
                                gazing longingly over the horizon and into the future of ASP.NET 4.0. As well as enhancements to Visual Studio and
                                 the design and development experience, we can expect to enjoy improvements in the core platform targeted at scale 
                                 and performance, significantly more control over WebForms apps, simplification and extensions of data controls and
                                  significant new innovations in ASP.NET AJAX. I might even squeeze in a mention of ASP.NET MVC and Dynamic Data as well
                            </td>
              </tr>
              <tr>
                <td class="sub">ASP.NET 4.0</td>
              </tr>
            </tbody>
          </table><p>Hope to meet some new people there next time!</p>]]></content:encoded>
    </item>
    <item>
      <title>The Old Switcharoo</title>
      <link>http://cargowire.net/blog/styleswitcharoo</link>
      <guid>http://cargowire.net/blog/styleswitcharoo</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sun, 12 Apr 2009 21:00:00 GMT</pubDate>
      <description>&lt;p&gt;Having had only non-designer girls appreciate my design for cargowire I managed to cajole co-Headscapist Ed Merritt into creating an
                   alternative.&lt;/p&gt;&lt;p&gt;Ed provided me with a flat image source to work from (so I can be blamed for the ragged CSS implementation which will no doubt be fixed up over time) and I decided, instead of
                    throwing away my design, to implement a style chooser (based on the classic
                    'alternate stylesheet' ALA article).
                &lt;/p&gt;&lt;p&gt;This is all relatively simple stuff.  The main issue I had was that I was running sIFR which
                would already have run before a user switches styles.  This essentially throws away my ability to switch styles without a page refresh (whereby my JS
                can check for the style in use before running sIFR).&lt;/p&gt;&lt;p&gt;Additionally Eds design contained some slightly different content to my own, and this meant some markup changes, which I was kind of against. However I would rather
                add markup and modify my css for the original design to hide it, than add in content using jQuery for an alternate design.  If anything semantically speaking the changes
                added to the content anyway but it did highlight how coupled designs and content can be regardless of an abstracted presentation layer.&lt;/p&gt;&lt;p&gt;A Javascript switcher is available at the base of the page if you wish to check out the results.&lt;/p&gt;&lt;p&gt;I'm off to investigate a nice way to turn sIFR off dynamically...&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Having had only non-designer girls appreciate my design for cargowire I managed to cajole co-Headscapist Ed Merritt into creating an
                   alternative.</p><p>Ed provided me with a flat image source to work from (so I can be blamed for the ragged CSS implementation which will no doubt be fixed up over time) and I decided, instead of
                    throwing away my design, to implement a style chooser (based on the classic
                    <a href="http://www.alistapart.com/stories/alternate/" title="Working With Alternate Style Sheets" rel="external">'alternate stylesheet' ALA article</a>).
                </p><p>This is all relatively simple stuff.  The main issue I had was that I was running <a href="http://www.mikeindustries.com/blog/sifr/" rel="external">sIFR</a> which
                would already have run before a user switches styles.  This essentially throws away my ability to switch styles without a page refresh (whereby my JS
                can check for the style in use before running sIFR).</p><p>Additionally Eds design contained some slightly different content to my own, and this meant some markup changes, which I was kind of against. However I would rather
                add markup and modify my css for the original design to hide it, than add in content using jQuery for an alternate design.  If anything semantically speaking the changes
                added to the content anyway but it did highlight how coupled designs and content can be regardless of an abstracted presentation layer.</p><p>A Javascript switcher is available at the base of the page if you wish to check out the results.</p><p>I'm off to investigate a nice way to turn sIFR off dynamically...</p>]]></content:encoded>
    </item>
    <item>
      <title>SXSW - Fifth Day round up</title>
      <link>http://cargowire.net/blog/sxsw09dayfive</link>
      <guid>http://cargowire.net/blog/sxsw09dayfive</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Tue, 17 Mar 2009 23:00:00 GMT</pubDate>
      <description>&lt;p&gt;Finally finished my last post on SXSW! took a while (and I kinda tailed off on the later days), but I'm glad I followed through with making notes 
                and writing them up to help solidify thoughts in my mind, if nothing else... Day Five...&lt;/p&gt;&lt;p&gt;Again, it was as if the quality of talks to attend had decreased as the days went on.  However we stuck it out for the final day and visited
                a few talks that weren't necessarily directly related to us but could provide insight or inspiration.&lt;/p&gt;&lt;p&gt;This was a very media/journalism focused talk.  Essentially discussing the issues surrounding the vast amount of content out there and how
                providers are now competing for users time across such a wide space.  There was reference to how journalists often link to each other across
                competitor lines as well as how competitors can work together to make their own lives easier.  For example by standardising technical aspects
                (such as embedding ads in videos on web services), allowing easier entry to client markets.&lt;/p&gt;&lt;p&gt;As if I didn't feel geeky enough being at an interactive conference, I decided to attend a talk about Comic Books...&lt;/p&gt;&lt;p&gt;It's interesting, as they face, very explicitly, the problems of people emulating print on the web.  The idea of comic books on the web can be
                viewed as almost exactly this.  It's not surprising then that a lot of the solutions include RIA based page flicking or simple single page images
                with click to next.  However there were some interesting takes on other ways online graphic novels could be done.&lt;/p&gt;&lt;p&gt;My first and only taste of a 'core conversation' whereby the speakers provide an initial introduction and then open up the floor
                for debate and act as moderators.&lt;/p&gt;&lt;p&gt;There are obvious questions that need to be addressed.  Should providers (such as flickr) give over account details to spouses of the
                recently deceased? or just delete accounts as many do now.  In my view you should take care of backing up and archiving your own information.
                Companies don't last forever and if it is important enough for you to want to pass down through generations you should do so yourself.
                Especially as there may even be issues in proving ownership of online accounts (they aren't tied to bank accounts or government IDs when being
                created) and there are ongoing storage/maintenance cost to providers.  Which, even though it is getting cheaper, can't go on into infinity.&lt;/p&gt;&lt;p&gt;I didn't make notes as this was an interactive discussion but it was definitely worth attending to allow exploration of ideas and thoughts
                within a group in a very open way (unlike the panels and talks).&lt;/p&gt;&lt;p&gt;A long night out ended in breakfast at the IHOP... a seemingly traditional affair 'hosted' by Dustin Diaz
                before a long walk back to the hotel.&lt;/p&gt;&lt;p&gt;Overall SxSW was a brilliant experience.  The talks and panels were plentiful and thought provoking but further than that being surrounded
                by likeminded people and getting to meet such a variety within the trade was invaluable.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Finally finished my last post on SXSW! took a while (and I kinda tailed off on the later days), but I'm glad I followed through with making notes 
                and writing them up to help solidify thoughts in my mind, if nothing else... Day Five...</p><p>Again, it was as if the quality of talks to attend had decreased as the days went on.  However we stuck it out for the final day and visited
                a few talks that weren't necessarily directly related to us but could provide insight or inspiration.</p><ol>
            <li>
              <a href="http://sxsw.com/interactive/talks/panels?action=show&amp;id=IAP0900125" rel="external">Collabotition: Can Companies Work With Their Competitors?</a>
            </li>
            <li>
              <a href="http://sxsw.com/interactive/talks/schedule?action=show&amp;id=IAP0900236" rel="external">Online Comic Books: The Future of Graphic Novels?</a>
            </li>
            <li>
              <a href="http://sxsw.com/interactive/talks/schedule?action=show&amp;id=IAP0900572" rel="external">Who Will Check My Email After I Die?</a>
            </li>
          </ol><br /><h3>Collaboration with Competitors</h3><p>This was a very media/journalism focused talk.  Essentially discussing the issues surrounding the vast amount of content out there and how
                providers are now competing for users time across such a wide space.  There was reference to how journalists often link to each other across
                competitor lines as well as how competitors can work together to make their own lives easier.  For example by standardising technical aspects
                (such as embedding ads in videos on web services), allowing easier entry to client markets.</p><h3>Online Comic Books: The Future of Graphic Novels?</h3><p>As if I didn't feel geeky enough being at an interactive conference, I decided to attend a talk about Comic Books...</p><p>It's interesting, as they face, very explicitly, the problems of people emulating print on the web.  The idea of comic books on the web can be
                viewed as almost exactly this.  It's not surprising then that a lot of the solutions include RIA based page flicking or simple single page images
                with click to next.  However there were some interesting takes on <a href="http://www.scifi.com/tinman/oz/" rel="external">other ways online graphic novels could be done</a>.</p><h3>Who Will Check My Email After I Die?</h3><p>My first and only taste of a 'core conversation' whereby the speakers provide an initial introduction and then open up the floor
                for debate and act as moderators.</p><p>There are obvious questions that need to be addressed.  Should providers (such as flickr) give over account details to spouses of the
                recently deceased? or just delete accounts as many do now.  In my view you should take care of backing up and archiving your own information.
                Companies don't last forever and if it is important enough for you to want to pass down through generations you should do so yourself.
                Especially as there may even be issues in proving ownership of online accounts (they aren't tied to bank accounts or government IDs when being
                created) and there are ongoing storage/maintenance cost to providers.  Which, even though it is getting cheaper, can't go on into infinity.</p><p>I didn't make notes as this was an interactive discussion but it was definitely worth attending to allow exploration of ideas and thoughts
                within a group in a very open way (unlike the panels and talks).</p><h3>Media Temple party and IHOP pancakes</h3><p>A long night out ended in breakfast at the IHOP... a seemingly traditional affair 'hosted' by <a href="http://www.dustindiaz.com/breakfast-with-dustin-2008/" rel="external">Dustin Diaz</a>
                before a long walk back to the hotel.</p><h3>Overall?</h3><p>Overall SxSW was a brilliant experience.  The talks and panels were plentiful and thought provoking but further than that being surrounded
                by likeminded people and getting to meet such a variety within the trade was invaluable.</p>]]></content:encoded>
    </item>
    <item>
      <title>SXSW - Fourth Day round up</title>
      <link>http://cargowire.net/blog/sxsw09dayfour</link>
      <guid>http://cargowire.net/blog/sxsw09dayfour</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Mon, 16 Mar 2009 23:00:00 GMT</pubDate>
      <description>&lt;p&gt;
                    Unfortunately after waking up early, quickly showering, grabbing breakfast and thinking about a taxi we realised there weren't any good
                    opening talks today.  So instead we hung back at the hotel for a bit and went in later.
                &lt;/p&gt;&lt;p&gt;Joomla vs Wordpress vs Drupal. Each were given the same project - to create a site for use by Community Leadership projects.  The task
                included a lot of functionality that is often found on sites.  Such as wiki pages, events, news and granular permissions. It was to be 
                run on shared hosting and creating using free tools within 100 hours.&lt;/p&gt;&lt;p&gt;There was little real insight really provided by the panel itself. However the subsites created are listed below:&lt;/p&gt;&lt;p&gt;Although not directly creating wireframes on a daily basis we sat down in this panel hoping to learn a thing or two.&lt;/p&gt;&lt;p&gt;Wireframes are primarily communication tools however the panel reminded us that they should always be targeted to, and therefore created
                in consideration to the audience i.e. designers for ideas and critique, how a solution will affect daily activity for business people,
                an overall approach for upper management and the nitty gritty 'how to implement' for developers.&lt;/p&gt;&lt;p&gt;Wireframes come in a variety of flavours over time, from low to high fidelity and from idea generation to concept selection.  Different types
                can also be classified as displaying Reference Zones (at an abstract level, the areas and major blocks), low fidelity (sketches etc), high
                fidelity (as much detail as the final output).&lt;/p&gt;&lt;p&gt;Storyboards can be used to communicate intended flows and states.  Each storyboard should also contain information about how the flow being
                described is both entered and exited.&lt;/p&gt;&lt;p&gt;A standalone wireframe should be able to be fully understood without any additional documentation.  This is especially true when you consider
                that in large organisations documents are often passed around, and not necessarily in sequence or all together.&lt;/p&gt;&lt;p&gt;A specification wireframe should be very detailed with sections for Triggers, Content, Actions etc to enable full implementation.&lt;/p&gt;&lt;p&gt;The best thing about this talk were the examples (as
                always - it's massively beneficial to see the way other people work.&lt;/p&gt;&lt;p&gt;After a general hello and round up there was a focus on education within the industry with reference to Interact.&lt;/p&gt;&lt;p&gt;This was followed up by a speaker from the Adobe Task force (formerly just dealing with dreamweaver, now with the whole suite) who spoke of steps
                having been taken to deprecate the use of non-standards items in Dreamweaver.&lt;/p&gt;&lt;p&gt;IE8's compatibility mode was also discussed, before we nipped out to make it to the Great British Booze up prep.&lt;/p&gt;&lt;p&gt;
            Boagworld (Headscape), Clear Left
                and Naklab got together and hosted the Great British Booze Up. Now in its third year.  The Rolling BBC and Top Gear
                added to the British Vibe and I look forward to the idea of it being there again next year.
            &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
                    Unfortunately after waking up early, quickly showering, grabbing breakfast and thinking about a taxi we realised there weren't any good
                    opening talks today.  So instead we hung back at the hotel for a bit and went in later.
                </p><ol>
            <li>
              <a href="http://sxsw.com/interactive/talks/panels?action=show&amp;id=IAP0900113" rel="external">Ultimate showdown of content management destiny</a>
            </li>
            <li>
              <a href="http://sxsw.com/interactive/talks/panels?action=show&amp;id=IAP0901333" rel="external">Wireframes for the Wicked</a>
            </li>
            <li>
              <a href="http://sxsw.com/interactive/talks/schedule?action=show&amp;id=IAP0900617" rel="external">2009 WaSP Annual Meeting</a>
            </li>
            <li>Great Boo's Up</li>
          </ol><br /><h3>Ultimate showdown of content management destiny</h3><p>Joomla vs Wordpress vs Drupal. Each were given the same project - to create a site for use by Community Leadership projects.  The task
                included a lot of functionality that is often found on sites.  Such as wiki pages, events, news and granular permissions. It was to be 
                run on shared hosting and creating using free tools within 100 hours.</p><p>There was little real insight really provided by the panel itself. However the subsites created are listed below:</p><h4>CMS Showdown Links</h4><ul>
            <li>
              <a href="http://www.cmsshowdown.com" rel="external">CMS Showdown</a>
            </li>
            <li>
              <a href="http://www.joomlashowdown.com/" rel="external">joomlashowdown.com</a>
            </li>
            <li>
              <a href="http://drupalshowdown.com" rel="external">drupalshowdown.com</a>
            </li>
            <li>
              <a href="http://wpshowdown.wordpress.com" rel="external">wpshowdown.wordpress.com</a>
            </li>
          </ul><br /><h3>Wireframes for the wicked</h3><p>Although not directly creating wireframes on a daily basis we sat down in this panel hoping to learn a thing or two.</p><p>Wireframes are primarily communication tools however the panel reminded us that they should always be targeted to, and therefore created
                in consideration to the audience i.e. designers for ideas and critique, how a solution will affect daily activity for business people,
                an overall approach for upper management and the nitty gritty 'how to implement' for developers.</p><p>Wireframes come in a variety of flavours over time, from low to high fidelity and from idea generation to concept selection.  Different types
                can also be classified as displaying Reference Zones (at an abstract level, the areas and major blocks), low fidelity (sketches etc), high
                fidelity (as much detail as the final output).</p><p>Storyboards can be used to communicate intended flows and states.  Each storyboard should also contain information about how the flow being
                described is both entered and exited.</p><p>A standalone wireframe should be able to be fully understood without any additional documentation.  This is especially true when you consider
                that in large organisations documents are often passed around, and not necessarily in sequence or all together.</p><p>A specification wireframe should be very detailed with sections for Triggers, Content, Actions etc to enable full implementation.</p><p>The best thing about this talk were <a href="http://www.slideshare.net/nickf/wireframes-for-the-wicked" rel="external">the examples</a> (as
                always - it's massively beneficial to see the way other people work.</p><h3>WaSP Meeting</h3><p>After a general hello and round up there was a focus on education within the industry with reference to <a href="http://interact.webstandards.org" rel="external">Interact</a>.</p><p>This was followed up by a speaker from the Adobe Task force (formerly just dealing with dreamweaver, now with the whole suite) who spoke of steps
                having been taken to deprecate the use of non-standards items in Dreamweaver.</p><p>IE8's compatibility mode was also discussed, before we nipped out to make it to the Great British Booze up prep.</p><h3>Great British Booze Up</h3><p>
            <a href="http://boagworld.com" rel="external">Boagworld</a> (<a href="http://headscape.co.uk" rel="external">Headscape</a>), <a href="http://clearleft.com" rel="external">Clear Left</a>
                and <a href="http://naklab.com/" rel="external">Naklab</a> got together and hosted the Great British Booze Up. Now in its third year.  The Rolling BBC and Top Gear
                added to the British Vibe and I look forward to the idea of it being there again next year.
            </p>]]></content:encoded>
    </item>
    <item>
      <title>SXSW - Third Day round up</title>
      <link>http://cargowire.net/blog/sxsw09daythree</link>
      <guid>http://cargowire.net/blog/sxsw09daythree</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sun, 15 Mar 2009 23:00:00 GMT</pubDate>
      <description>&lt;p&gt;Breakfast was taken, taxi driver wasn't a conspiracy theorist... seemingly we've got this whole SXSW thing down now.&lt;/p&gt;&lt;p&gt;With opening reference to WCAG2.0 and Section 508,
                it is clear that accessibility and consideration of assistive technologies is important.  This is why I was so impressed to see a Flash accessibility panel
                on the schedule.  Not only is it important for the users, it is important for developers to know that it is possible to make Flash accessible (and how you 
                can do it).&lt;/p&gt;&lt;p&gt;Accessibility for Flash and RIA's needs to consider:&lt;/p&gt;&lt;p&gt;The Fact that Flash has supported a level of accessibility since version 6 in 2002 was reiterated in addition to how Flex has also done so
                since version 1.5.  For example when demoing a zoom magnifier tool we were shown how flash could react and instead of auto playing a video
                wait for a user action (so they don't miss the beginning - when it is off screen).&lt;/p&gt;&lt;p&gt;
                    The panel also discussed how Adobe have released scripts for Jaws
                    to add support for things like Roles that are more specific to flash than standard HTML (such as TreeView).
                &lt;/p&gt;&lt;p&gt;Using the Accessibility panel in the Flash authoring environment alt text can be added as well as the tabindex.  This can be used to address text equivalents
                and meaningful sequence issues.&lt;/p&gt;&lt;p&gt;A demo of a card matching game showed all these techniques together.  The user could tab through the cards and hit enter to choose.  Each
                card identified itself through the alt text (which changed depending on if it was face up or down).  Audio feedback for 'correct' or 'incorrect' actions
                were used, with the sound being pre-played to the user at the beginning of the movie so they were aware of what to expect.  Accessibility.UpdateProperties()
                is utilised after any change to alt text to ensure that the UI responds with the new values while Accessibility.isActive() can be used to identify if the
                current user is using an assistive technology.&lt;/p&gt;&lt;p&gt;A slightly less realistic demo followed, with a whack-a-mole implementation using tabindex and audio 'mole' 'no mole'.  I guess this is where the realisation
                comes that you are not attempting to provide a directly equivalent experience, more that you are exposing the same level of functionality to a user.&lt;/p&gt;&lt;p&gt;Inappropriate naming of items (adding 'button' to a name when it is already read out, making names too long etc) and background music interfering
                with audio alternatives were listed as mistakes often made in developing accessible Flash. Use of the wmode attribute is also known to cause
                accessibility difficulties and SWFObject was described as the most appropriate method of embedding flash content.&lt;/p&gt;&lt;p&gt;Unfortunately the accessibility implementation appears to be limited to Flash and Flex on windows.  Adobe Air came up in Q&amp;A, with accessibility
                    coming soon for that (but again full support only coming to windows to start).&lt;/p&gt;&lt;p&gt;It was a shame that this panel was more business and law focused than I originally hoped it might be.  In fact so much so, that not only did I barely
                make any notes, I almost fell asleep.  Only to be woken by a heckler from the crowd taking issue with the statement that ownership issues "didn't matter"
                because as soon as something is online.. it's there and theres nothing but retrospective compensatory action that you can take.&lt;/p&gt;&lt;p&gt;Luckily for me the CSS3 panel didn't disappoint. With representatives from Microsoft, Mozilla and Opera (with the noted exception of an invited
                but uninterested Apple) we were bound to see some interesting stuff (Just a shame that Molly's over Americanness grated on me).&lt;/p&gt;&lt;p&gt;In terms of CSS 3 we were talking about nth Child selectors (with speed an issue but still faster than inserting classes using javascript),
                partial opacity, border images (currently in FF3.5 beta), multi column support, text shadow, box shadow, border radius, font size adjust,
                @font-face and @media based rules.  Many of which have appeared in some form in many of the release versions of current browsers (but under 
                different prefixed rule names).&lt;/p&gt;&lt;p&gt;The @media based rules were of particular interest.  For example:&lt;/p&gt;&lt;p&gt;This allows excellent control over display for various user agents (such as handhelds that do not explicitly identify themselves as media
                handheld).&lt;/p&gt;&lt;p&gt;Combining a number of these CSS3 abilities together Opera had managed to draw their logo using only spans and CSS.  On rollover it even
                animated across the screen.&lt;/p&gt;&lt;p&gt;According to the Microsoft representative IE8 will be the 
                most complete implementation of CSS 2.1 at time of release.
                IE 8 will reference a blacklist of 'requiring IE7 Compatibility' sites. These sites will be displayed using the compatibility mode. Compatibility mode can also be
                manually toggled using the button in the toolbar. After a set number of toggles a site will be flagged into the IE process to addition to the blacklist. When a 
                site is added to the black list it will be notified by Microsoft with instructions on how to run the site under IE8 standards mode to fix. The site can later be 
                submitted back for approval to be removed from the list.
                &lt;/p&gt;&lt;p&gt;I came away from this talk pretty positive that a simple App really isn't too difficult to create... Time to buy an intel based Mac and test that theory I guess!&lt;/p&gt;&lt;p&gt;Bypassing some rather inane descriptions of what a delegate is and why json is better than just using your own string (cheers random questioner guy for
                this unnecessaryness) this talk made clear that iPhone dev is quite different from web dev.  The hardware is 10 to 100 times slower in terms of processor/memory/capability
                than most web servers and memory management (garbage collection) is on you.  The differences also extend to latency cues; similar to AJAX you have to ensure
                you indicate progress and wait times yourself.&lt;/p&gt;&lt;p&gt;Cocoa, XCode and Interface Builder open up a variety of components for easy UI creation (things like scrollable lists etc come for free).  So for simple
                applications it's a matter of wiring up web service API calls to UI display components.&lt;/p&gt;&lt;p&gt;Mmmm Icon Cactus followed by meet on swords at Fogo de Chao in the evening was not only good in terms of food but also for meeting Richard Rutter and 
                Paul Annett of Clear Left.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Breakfast was taken, taxi driver wasn't a conspiracy theorist... seemingly we've got this whole SXSW thing down now.</p><ol>
            <li>
              <a href="http://sxsw.com/interactive/talks/panels/?action=show&amp;id=IAP0900302" rel="external">Accessible Flash and Flex Applications</a>
            </li>
            <li>
              <a href="http://sxsw.com/interactive/talks/panels/?action=show&amp;id=IAP0900382" rel="external">OpenID, OAuth, Data Portability and the Enterprise</a>
            </li>
            <li>
              <a href="http://sxsw.com/interactive/talks/panels/?action=show&amp;id=IAP0900767" rel="external">CSS3: What's Now, What's New and What's Not?</a>
            </li>
            <li>
              <a href="http://sxsw.com/interactive/talks/panels/?action=show&amp;id=IAP0901123" rel="external">iPhone Development for Experienced Web Developers</a>
            </li>
            <li>Meat on a stick</li>
          </ol><br /><h3>Accessible Flash/Flex</h3><p>With opening reference to <a href="http://www.w3.org/TR/WCAG20/" rel="external">WCAG2.0</a> and <a href="http://www.section508.gov/" rel="external">Section 508</a>,
                it is clear that accessibility and consideration of assistive technologies is important.  This is why I was so impressed to see a Flash accessibility panel
                on the schedule.  Not only is it important for the users, it is important for developers to know that it is possible to make Flash accessible (and how you 
                can do it).</p><p>Accessibility for Flash and RIA's needs to consider:</p><ul>
            <li>Non text based equivalent</li>
            <li>Alternatives for time based media</li>
            <li>Items placed in a meaningful sequence</li>
            <li>Reasonable Contrast</li>
            <li>Handling resizable text</li>
            <li>Exposing Name (ensure the Name of the object makes sense to a user), Role (the type of UI control), Value (information from objects in the form of a string - not all have one)
                        and State's (a localized string that describes the state) to the browser</li>
          </ul><p>The Fact that Flash has supported a level of accessibility since version 6 in 2002 was reiterated in addition to how Flex has also done so
                since version 1.5.  For example when demoing a zoom magnifier tool we were shown how flash could react and instead of auto playing a video
                wait for a user action (so they don't miss the beginning - when it is off screen).</p><p>
                    The panel also discussed how Adobe have released <a href="http://www.adobe.com/accessibility/products/flex/jaws.html" rel="external">scripts for Jaws</a>
                    to add support for things like Roles that are more specific to flash than standard HTML (such as TreeView).
                </p><h4>Techniques</h4><ul>
            <li>TabIndex</li>
            <li>Alt Text</li>
            <li>Audio Feedback</li>
            <li>Accessible Welcome Text</li>
          </ul><p>Using the Accessibility panel in the Flash authoring environment alt text can be added as well as the tabindex.  This can be used to address text equivalents
                and meaningful sequence issues.</p><p>A demo of a card matching game showed all these techniques together.  The user could tab through the cards and hit enter to choose.  Each
                card identified itself through the alt text (which changed depending on if it was face up or down).  Audio feedback for 'correct' or 'incorrect' actions
                were used, with the sound being pre-played to the user at the beginning of the movie so they were aware of what to expect.  Accessibility.UpdateProperties()
                is utilised after any change to alt text to ensure that the UI responds with the new values while Accessibility.isActive() can be used to identify if the
                current user is using an assistive technology.</p><p>A slightly less realistic demo followed, with a whack-a-mole implementation using tabindex and audio 'mole' 'no mole'.  I guess this is where the realisation
                comes that you are not attempting to provide a directly equivalent experience, more that you are exposing the same level of functionality to a user.</p><h4>Common Mistakes</h4><p>Inappropriate naming of items (adding 'button' to a name when it is already read out, making names too long etc) and background music interfering
                with audio alternatives were listed as mistakes often made in developing accessible Flash. Use of the wmode attribute is also known to cause
                accessibility difficulties and SWFObject was described as the most appropriate method of embedding flash content.</p><p>Unfortunately the accessibility implementation appears to be limited to Flash and Flex on windows.  Adobe Air came up in Q&amp;A, with accessibility
                    coming soon for that (but again full support only coming to windows to start).</p><h4>Further Links</h4><ul>
            <li>
              <a href="http://www.adobe.com/accessibility/products/flash/" rel="external">Adobe Flash Accessibility Centre</a>
            </li>
          </ul><br /><h3>OpenId, OAuth, Data Portability... Enterprise</h3><p>It was a shame that this panel was more business and law focused than I originally hoped it might be.  In fact so much so, that not only did I barely
                make any notes, I almost fell asleep.  Only to be woken by a heckler from the crowd taking issue with the statement that ownership issues "didn't matter"
                because as soon as something is online.. it's there and theres nothing but retrospective compensatory action that you can take.</p><h3>CSS3</h3><p>Luckily for me the CSS3 panel didn't disappoint. With representatives from Microsoft, Mozilla and Opera (with the noted exception of an invited
                but uninterested Apple) we were bound to see some interesting stuff (Just a shame that Molly's over Americanness grated on me).</p><p>In terms of CSS 3 we were talking about nth Child selectors (with speed an issue but still faster than inserting classes using javascript),
                partial opacity, border images (currently in FF3.5 beta), multi column support, text shadow, box shadow, border radius, font size adjust,
                @font-face and @media based rules.  Many of which have appeared in some form in many of the release versions of current browsers (but under 
                different prefixed rule names).</p><p>The @media based rules were of particular interest.  For example:</p><code language="html" figure="1.0">
                    &lt;style type="text/css"&gt;
                        /* no wider than 800px */
                        @media all and (max-width: 800px){
                        ...rules
                        }
                    &lt;/style&gt;
                </code><p>This allows excellent control over display for various user agents (such as handhelds that do not explicitly identify themselves as media
                handheld).</p><p>Combining a number of these CSS3 abilities together Opera had managed to draw their logo using only spans and CSS.  On rollover it even
                animated across the screen.</p><h4>IE 8</h4><p>According to the Microsoft representative IE8 will be the 
                <a href="http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx" rel="external">most complete implementation of CSS 2.1 at time of release</a>.
                IE 8 will reference a blacklist of 'requiring IE7 Compatibility' sites. These sites will be displayed using the compatibility mode. Compatibility mode can also be
                manually toggled using the button in the toolbar. After a set number of toggles a site will be flagged into the IE process to addition to the blacklist. When a 
                site is added to the black list it will be notified by Microsoft with instructions on how to run the site under IE8 standards mode to fix. The site can later be 
                submitted back for approval to be removed from the list.
                </p><h3>iPhone Dev</h3><p>I came away from this talk pretty positive that a simple App really isn't too difficult to create... Time to buy an intel based Mac and test that theory I guess!</p><p>Bypassing some rather inane descriptions of what a delegate is and why json is better than just using your own string (cheers random questioner guy for
                this unnecessaryness) this talk made clear that iPhone dev is quite different from web dev.  The hardware is 10 to 100 times slower in terms of processor/memory/capability
                than most web servers and memory management (garbage collection) is on you.  The differences also extend to latency cues; similar to AJAX you have to ensure
                you indicate progress and wait times yourself.</p><p>Cocoa, XCode and Interface Builder open up a variety of components for easy UI creation (things like scrollable lists etc come for free).  So for simple
                applications it's a matter of wiring up web service API calls to UI display components.</p><h3>Meat Sword Popsicles</h3><p>Mmmm Icon Cactus followed by meet on swords at Fogo de Chao in the evening was not only good in terms of food but also for meeting Richard Rutter and 
                Paul Annett of Clear Left.</p>]]></content:encoded>
    </item>
    <item>
      <title>SXSW - Second Day round up</title>
      <link>http://cargowire.net/blog/sxsw09daytwo</link>
      <guid>http://cargowire.net/blog/sxsw09daytwo</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sun, 15 Mar 2009 01:00:00 GMT</pubDate>
      <description>&lt;p&gt;
                    After hurriedly writing my round up of Day One we missed breakfast and grabbed a cab to rush in to our first
                    talk of the day.
                &lt;/p&gt;&lt;p&gt;
                    Without realising it (perhaps I should have read the description more) I walked into another REST discussion
                    (after seeing a similar talk at DevDevDev last year).  However it was an interesting talk marred only by a slightly
                    incessantly nit-picking Q&amp;A.  At least this time there was less constant direct referencing to 
                    Roy Fieldings dissertation.
                &lt;/p&gt;&lt;p&gt;
                    Gregg started by discussing other API possibilities such as SOAP before turning his attention to REST.
                    Essentially what we're talking about here is making full and correct use of the HTTP verbs i.e:
                &lt;/p&gt;&lt;p&gt;So that we can address the REST requirements of:&lt;/p&gt;&lt;p&gt;
                    A counter to something I'd often seen/considered using, was put forward.  In that, uris such as user/create/ should not exist
                    as the verb is being used as part of the resource locator.
                &lt;/p&gt;&lt;p&gt;
                    This strict use of the four HTTP methods however does sometimes lead to the need to
                    break down and analyse your RPCs i.e. play_game could be considered as a new verb (play) but could also be seen as 'create', and therefore post,
                    as you are creating an instance of a game.
                &lt;/p&gt;&lt;p&gt;
                    The latter half of the talk consisted of naming and shaming big name apis (YouTube gets REST, Flickr Doesn't, Myspace does, Amazon simple DB
                    doesn't, eBay doesn't, Rails 2.0 does, Google does etc.) followed by an interesting screencast of Ruby on Rails 2.0 making the appropriate REST
                    Verb Calls (although through the browser only get and post are used - with method type parameters)
                &lt;/p&gt;&lt;p&gt;
                    The key thing to take away from this talk however was the discussion of the future  (and essentially - 'why REST').  The Open Stack made up part
                    of this discussion, with the idea that Open Social, and more generally REST, could allow a standardisation of interaction between consumers and services whereby code is written
                    once; To take advantage of the Open Social standard interfaces allowing the consumer to use the same code across all open social compatible services.
                &lt;/p&gt;&lt;p&gt;
                    I always love to hear about Microformats and some of the stuff discussed in this talk was really exciting... if a little scary.  I took note that
                    Tantek regularly made clear that the information being displayed/parsed/used
                    by Microformats consumers was public information.  However, even so, it felt a little scary to realise how easy it is to pull together someones entire online 
                    identity by scraping/parsing Microformats enabled sites.
                &lt;/p&gt;&lt;p&gt;
                    An impressive demo of HuffDuffer by Jeremy Keith
                    started us off.  I urge you to try it out. After sign-up Jeremy makes use of the Google Social Graph API,
                    and therefore any rel="me" XFN Microformats on your provided homepage, to build up a list of 'elsewhere' sites.  In addition he even pulls in a relevant avatar from a
                    provided hcard.
                &lt;/p&gt;&lt;p&gt;After updating my 'Me' link on my homepage to include the rel="me" (I already had rel="me" links on my about page but nothing on my homepage to refer to it) I was
                    able to see my own results.  It included a link to my flickr and twitter as well as my twitter avatar being used.
                &lt;/p&gt;&lt;p&gt;Slightly scary stuff, but both a wake up call to users about exactly how much you are putting online and a contrast to the Open Social discussions
                that had taken place in the REST talk. Where Open Social relies on services using standard APIs to allow cross service 'write once' code the Google Social Graph
                works totally from the client side output that is found across the web.
                &lt;/p&gt;&lt;p&gt;
                    It wouldn't be a Microformats talk if the excellent Operator plugin wasn't mentionned but some people may be unaware of the
                    plugin available for IE.  It's called Oomph, but in my view the most useful aspect of this is that the jquery
                    behind it is also available directly.  This allows a site to use microformats and add value themselves (by including the javascript to output the Microformats widget).
                    Providing a good way of showing a return on the time investment.  Rather than having to say things like 'users may have a plugin' or 'other services may utilise it'.
                &lt;/p&gt;&lt;p&gt;Example required javascript below:&lt;/p&gt;&lt;p&gt;
                    As if that wasn't enough Glenn Jones had to trump it all with an intriguing set of demos.  Of particular interest is the
                    Identify plugin that pulls out and neatly displays virtually all Social
                    Graph information in a lightbox.  If any of this excites you be sure to also check out the Social Graph Explorer&lt;/p&gt;&lt;p&gt;In short people who aren't using Microformats should be.  There is no excuse, particularly with new projects. Often the areas that require
                Microformat classes will require classes for styling anyway.  Instead of making up your own, use the Microformats ones and add value. There have
                been some accessibility issues and these were discussed, for example with dates using the abbr element.  Possible fixes include separating the date
                and time elements or storing the 'title' info in a span that is styled away.  It is good to see such issues are being addressed.&lt;/p&gt;&lt;p&gt;
                    To kill some time and get away from rigidly sitting listening we paid a visit to the trade show whereby we were immediately dissed for being .net
                    developers by a Ruby based CMS producer before being subsequently let down by a WPF demo (by an AMD guy) complaining about the heat of his PC in a cabinet.  Enough said...
                &lt;/p&gt;&lt;p&gt;Unfortunately I didn't keep any notes on this (or I did, and they've got awol).  However in general what we were discussing was:&lt;/p&gt;&lt;p&gt;To recap over the legal issues; essentially if you provide a font for embedding on a website you are possibly opening it up for 
                free download to any user of the site.  This is why many font producers have difficulty with the idea of @font-face embedded fonts.&lt;/p&gt;&lt;p&gt;There are things you can do as a website owner (such as .htaccess protecting direct download of the font etc) however a determined user
                will be able to retrieve it.  The question is, if you take reasonable action, have you done enough in the eyes of font usage licenses 
                (some of which currently flat out prohibit online usage)?&lt;/p&gt;&lt;p&gt;Internet Explorer has taken one view of this problem and supports EOT's (kind of 'DRM'd fonts with only particular characters included).
                However this is not a perfectly secure solution and is not cross browser.&lt;/p&gt;&lt;p&gt;It was interesting to note that although the panel spoke about the abilities you would have with embedded fonts they also noted that
                there is a lot that can be done with typography online even now, with attention to detail and fine tuned usage of the standard 'web fonts'
                that we know so well.&lt;/p&gt;&lt;p&gt;Additionally, apparently Jeremy Keith caused a stir in the browser wars panel by asking "Does the panel believe that it's the job a browser to
                 uphold existing or outdated business models or should it remain true to the vision of the twenty year old web and just render the damn content 
                 it's given?"&lt;/p&gt;&lt;p&gt;An excellent panel with actual disagreement and debate rather than feeling like a staged group presentation. The questions covered IE6 support,
                use of JS and CSS frameworks, wireframing, and business anecdotes&lt;/p&gt;&lt;p&gt;
                    It can be downloaded here&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
                    After hurriedly writing my round up of Day One we missed breakfast and grabbed a cab to rush in to our first
                    talk of the day.
                </p><ol>
            <li>
              <a href="http://sxsw.com/interactive/talks/schedule?action=show&amp;id=IAP0900147" rel="external">How not to fail at web services</a>
            </li>
            <li>
              <a href="http://sxsw.com/interactive/talks/schedule?action=show&amp;id=IAP0900913" rel="external">Microformats: Quiet Revolution</a>
            </li>
            <li>Trade Show</li>
            <li>
              <a href="http://sxsw.com/interactive/talks/schedule?action=show&amp;id=IAP0900555" rel="external">Web Typography: Quit Bitchin' and Get Your Glyph On</a>
            </li>
            <li>
              <a href="http://sxsw.com/interactive/talks/schedule?action=show&amp;id=IAP0901395" rel="external">Boagworld Live Show Spectacular!</a>
            </li>
          </ol><br /><h3>How not to fail at Web Services</h3><p>
                    Without realising it (perhaps I should have read the description more) I walked into another REST discussion
                    (after seeing a similar talk at DevDevDev last year).  However it was an interesting talk marred only by a slightly
                    incessantly nit-picking Q&amp;A.  At least this time there was less constant direct referencing to 
                    <a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm" title="Architectural Styles and the Design of Network-based Software Architectures" rel="external">Roy Fieldings dissertation</a>.
                </p><p>
                    Gregg started by discussing other API possibilities such as SOAP before turning his attention to REST.
                    Essentially what we're talking about here is making full and correct use of the HTTP verbs i.e:
                </p><ul>
            <li>Get = Show</li>
            <li>Post = Create</li>
            <li>Put = Update</li>
            <li>Delete = Delete</li>
          </ul><p>So that we can address the REST requirements of:</p><ul>
            <li>Resources (nouns)</li>
            <li>Uniquely Addressable Resources</li>
            <li>Standard methods of interaction</li>
            <li>Stateless</li>
          </ul><p>
                    A counter to something I'd often seen/considered using, was put forward.  In that, uris such as user/create/ should not exist
                    as the verb is being used as part of the resource locator.
                </p><p>
                    This strict use of the four HTTP methods however does sometimes lead to the need to
                    break down and analyse your RPCs i.e. play_game could be considered as a new verb (play) but could also be seen as 'create', and therefore post,
                    as you are creating an instance of a game.
                </p><p>
                    The latter half of the talk consisted of naming and shaming big name apis (YouTube gets REST, Flickr Doesn't, Myspace does, Amazon simple DB
                    doesn't, eBay doesn't, Rails 2.0 does, Google does etc.) followed by an interesting screencast of Ruby on Rails 2.0 making the appropriate REST
                    Verb Calls (although through the browser only get and post are used - with method type parameters)
                </p><p>
                    The key thing to take away from this talk however was the discussion of the future  (and essentially - 'why REST').  The Open Stack made up part
                    of this discussion, with the idea that Open Social, and more generally REST, could allow a standardisation of interaction between consumers and services whereby code is written
                    once; To take advantage of the Open Social standard interfaces allowing the consumer to use the same code across all <a href="http://code.google.com/apis/opensocial/" rel="external">open social</a> compatible services.
                </p><h3>Microformats: Quiet Revolution</h3><p>
                    I always love to hear about Microformats and some of the stuff discussed in this talk was really exciting... if a little scary.  I took note that
                    <a href="http://twitter.com/t" title="Tantek's Twitter Feed" rel="external">Tantek</a> regularly made clear that the information being displayed/parsed/used
                    by Microformats consumers was public information.  However, even so, it felt a little scary to realise how easy it is to pull together someones entire online 
                    identity by scraping/parsing Microformats enabled sites.
                </p><p>
                    An impressive demo of <a href="http://huffduffer.com/" rel="external">HuffDuffer</a> by <a href="http://twitter.com/adactio" title="Jeremy's Twitter Feed" rel="external">Jeremy Keith</a>
                    started us off.  I urge you to try it out. After sign-up Jeremy makes use of the <a href="http://code.google.com/apis/socialgraph/" rel="external">Google Social Graph API</a>,
                    and therefore any rel="me" XFN Microformats on your provided homepage, to build up a list of 'elsewhere' sites.  In addition he even pulls in a relevant avatar from a
                    provided hcard.
                </p><p>After updating my 'Me' link on my homepage to include the rel="me" (I already had rel="me" links on my about page but nothing on my homepage to refer to it) I was
                    able to see my own results.  It included a link to my flickr and twitter as well as my twitter avatar being used.
                </p><p>Slightly scary stuff, but both a wake up call to users about exactly how much you are putting online and a contrast to the Open Social discussions
                that had taken place in the REST talk. Where Open Social relies on services using standard APIs to allow cross service 'write once' code the Google Social Graph
                works totally from the client side output that is found across the web.
                </p><p>
                    It wouldn't be a Microformats talk if the excellent <a href="https://addons.mozilla.org/en-US/firefox/addon/4106" rel="external">Operator plugin</a> wasn't mentionned but some people may be unaware of the
                    plugin available for IE.  It's called <a href="http://visitmix.com/Lab/Oomph" rel="external">Oomph</a>, but in my view the most useful aspect of this is that the jquery
                    behind it is also available directly.  This allows a site to use microformats and add value themselves (by including the javascript to output the Microformats widget).
                    Providing a good way of showing a return on the time investment.  Rather than having to say things like 'users may have a plugin' or 'other services may utilise it'.
                </p><p>Example required javascript below:</p><code language="html" figure="1.0">
                    &lt;script type="text/javascript" src="https://visitmix.com/labs/oomph/1.0/Client/jquery-1.2.6.min.js"&gt;&lt;/script&gt;
                    &lt;script type="text/javascript" src="https://visitmix.com/labs/oomph/1.0/Client/oomph.min.js"&gt;&lt;/script&gt;
                </code><p>
                    As if that wasn't enough Glenn Jones had to trump it all with an intriguing set of demos.  Of particular interest is the
                    <a href="http://lab.madgex.com/identify/" rel="external">Identify</a> plugin that pulls out and neatly displays virtually all Social
                    Graph information in a lightbox.  If any of this excites you be sure to also check out the <a href="http://lab.madgex.com/socialgraph/socialgraphexplorer.aspx" rel="external">Social Graph Explorer</a></p><p>In short people who aren't using Microformats should be.  There is no excuse, particularly with new projects. Often the areas that require
                Microformat classes will require classes for styling anyway.  Instead of making up your own, use the Microformats ones and add value. There have
                been some accessibility issues and these were discussed, for example with dates using the abbr element.  Possible fixes include separating the date
                and time elements or storing the 'title' info in a span that is styled away.  It is good to see such issues are being addressed.</p><h4>Further Links</h4><ul>
            <li>
              <a href="http://code.google.com/p/hkit/" rel="external">HKit: A PHP Microformats Parser</a>
            </li>
          </ul><br /><h3>Trade Show</h3><p>
                    To kill some time and get away from rigidly sitting listening we paid a visit to the trade show whereby we were immediately dissed for being .net
                    developers by a Ruby based CMS producer before being subsequently let down by a WPF demo (by an AMD guy) complaining about the heat of his PC in a cabinet.  Enough said...
                </p><h3>Web Typography</h3><p>Unfortunately I didn't keep any notes on this (or I did, and they've got awol).  However in general what we were discussing was:</p><ul>
            <li>@font-face</li>
            <li>Legal issues surrounding font ownership/licensing/usage</li>
            <li>Microsoft's EOT, everyone else's OTF font embedding support</li>
          </ul><br /><p>To recap over the legal issues; essentially if you provide a font for embedding on a website you are possibly opening it up for 
                free download to any user of the site.  This is why many font producers have difficulty with the idea of @font-face embedded fonts.</p><p>There are things you can do as a website owner (such as .htaccess protecting direct download of the font etc) however a determined user
                will be able to retrieve it.  The question is, if you take reasonable action, have you done enough in the eyes of font usage licenses 
                (some of which currently flat out prohibit online usage)?</p><p>Internet Explorer has taken one view of this problem and supports EOT's (kind of 'DRM'd fonts with only particular characters included).
                However this is not a perfectly secure solution and is not cross browser.</p><p>It was interesting to note that although the panel spoke about the abilities you would have with embedded fonts they also noted that
                there is a lot that can be done with typography online even now, with attention to detail and fine tuned usage of the standard 'web fonts'
                that we know so well.</p><p>Additionally, apparently Jeremy Keith caused a stir in the browser wars panel by asking "Does the panel believe that it's the job a browser to
                 uphold existing or outdated business models or should it remain true to the vision of the twenty year old web and just render the damn content 
                 it's given?"</p><h3>Boagworld: Live Spectacular!</h3><p>An excellent panel with actual disagreement and debate rather than feeling like a staged group presentation. The questions covered IE6 support,
                use of JS and CSS frameworks, wireframing, and <abbr title="What was your biggest fuck up?">business anecdotes</abbr></p><p>
                    It can be <a href="http://boagworld.com/podcast/157/" rel="external">downloaded here</a></p>]]></content:encoded>
    </item>
    <item>
      <title>SXSW - Travel and First Day round up</title>
      <link>http://cargowire.net/blog/sxsw09dayone</link>
      <guid>http://cargowire.net/blog/sxsw09dayone</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sat, 14 Mar 2009 09:00:00 GMT</pubDate>
      <description>&lt;p&gt;
                    After Car, Coach, Plane, Plane, Car we finally arrived in Austin (2 Hours ahead of Marcus
                    and Paul - clearly we're connecting flight geniuses).  A quick jaunt to the convention
                    center to collect passes before the melee that was collecting them on Friday, followed by an excellent (if not slightly cliche texan?)
                    chilli cheese burger meal with Paul and a multitude of people I've never met before (including
                    Aral Balkan who did an excellent talk on Friday afternoon) pretty much rounded up the first day.
                &lt;/p&gt;&lt;p&gt;My day one visit list covered:&lt;/p&gt;&lt;p&gt;
                    Along with pretty much the entire audience I sat and played with my iPhone throughout the first panel, although rather than
                    twittering like the cool kids (Question 1: "What's the hash tag for this panel?") I was making notes... which was lucky as without
                    them there probably wasn't too much memorable stuff to take away from this talk.
                &lt;/p&gt;&lt;p&gt;
                    The discussion spanned a few key areas of UGC, mainly Monetization and Getting (+maintaining) good quality user content.  On
                    the monetization side there was discussion of ad revenue as the main model seen but also pointers to how companies like LinkedIn monetize
                    by targeting different audiences (such as recruitment agencies etc) on top of their free user base.
                &lt;/p&gt;&lt;p&gt;
                    Ways of getting good content were things such as setting an overall tone of positivity within your application (and even maybe yourself
                    as the person behind the application - the example given being craigs list).  And although it was noted by one of the panel that
                    the killer app for the internet may well be 'bitching' there were pointers to the variety of ways to maintain good content.
                    For example simple user flagging of inappropriate content, reputation based user permission schemes, user ratings, and even the
                    different ways that social apps work i.e. twitter and facebook can be controlled by the user to be inclusive only of their own
                    inner circle where their content is trusted anyway without the need for over powering control/censure of content.
                &lt;/p&gt;&lt;p&gt;
                    The Questions explored these ideas further with a rather surreal back and forth about the name 'User Generated Content' being followed
                    by ideas on how to gain that critical mass needed to make your UGC based application really take off.  Ideas thrown around included
                    rewards (that are not always financial), giving the user a way to self promote/express and even things like charging for use that leads only
                    to more personal, rather than community content.
                &lt;/p&gt;&lt;p&gt;
                    Having recently started using StackOverflow a lot of this rung true to their reputation
                    and badge schemes in terms of generating a positive atmosphere and rewarding users for good quality content.
                &lt;/p&gt;&lt;p&gt;
                    It was a quick dash to the opposite end of the conference centre to catch Aral's talk but in my opinion it was definitely worth it.  Although
                    brief (about 20minutes) it was insightful and funny and left me wanting to pick up his book as I moved on to the next Panel (back
                    at the other end of the centre handily!).  I would recommend Aral's talk to the many people who balk at use of Flash. Particularly in regard
                    to his discussion of the amount of Open Source resources that are available and the idea that Usability is not inherently down to
                    the platform but due to the particular implementation.
                &lt;/p&gt;&lt;p&gt;
                    As with the rest of Headscape I showed some Clear Left love and went down
                    to see Paul's talk.  Overall, and in agreement with Marcus, this was a
                    good example of what talks at SXSW should be like.  It was entertaining and thought provoking with Paul relating the web
                    side of his life to his interest in magic very smoothly.  The key message I took from the talk reminded my of 
                    Maslow's hierarchy of needs. Whereby a certain level
                    of satisfaction is required to avoid dissatisfaction, but that once something causes satisfaction adding more of it (in
                    Paul's example toilet paper) doesn't increase enjoyment.  Something else is needed, and Paul related this well to hidden
                    easter egg's you get on sites - such as Silverbacks parallax 3D effect vines.
                &lt;/p&gt;&lt;p&gt;
                    These clever tricks and hidden bonuses create a feeling of inclusion and perhaps even smugness that you are 'in the know'
                    somehow.  It's the kind of things that make you send on a page link to a friend to point out what you've found.  The
                    difficulty, as highlighted and accepted during Q&amp;A, is selling this kind of addition/viral marketing idea to clients.
                    Which, with a majority of more 'serious' projects may be a very difficult task, especially as any possible metrics for ROI are
                    difficult to create/measure.
                &lt;/p&gt;&lt;p&gt;
                    An evening that included Texan burgers and Pool can't be bad.  A good number of people showed up to Paul's open invite for dinner at the
                    Iron Cactus with a few then continuing over to Buffalo Billiards. Overall an excellent first day.
                &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
                    After Car, Coach, Plane, Plane, Car we finally arrived in Austin (2 Hours ahead of <a href="http://twitter.com/marcus67" title="Marcus' Twitter Feed" rel="external">Marcus</a>
                    and <a href="http://twitter.com/boagworld" title="Paul's Twitter Feed" rel="external">Paul</a> - clearly we're connecting flight geniuses).  A quick jaunt to the convention
                    center to collect passes before the melee that was collecting them on Friday, followed by an excellent (if not slightly cliche texan?)
                    chilli cheese burger meal with Paul and a multitude of people I've never met before (including
                    <a href="http://twitter.com/aral">Aral Balkan</a> who did an excellent talk on Friday afternoon) pretty much rounded up the first day.
                </p><h2>Day One </h2><p>My day one visit list covered:</p><ol>
            <li>
              <a href="http://sxsw.com/interactive/talks/schedule/?action=show&amp;id=IAP0901401" rel="external">User Generated Content: State of the Union</a>
            </li>
            <li>
              <a href="http://sxsw.com/interactive/talks/schedule?action=show&amp;id=IAP0901353" rel="external">The Essential Guide to Open Source Flash Development</a>
            </li>
            <li>
              <a href="http://sxsw.com/interactive/talks/schedule/?action=show&amp;id=IAP0900363" rel="external">Oooh That's Clever</a>
            </li>
            <li>Drinks with random people</li>
            <li>
              <a href="http://www.flickr.com/photos/davemcdermid/3353298602/" rel="external">Passing out on the bed with laptop and phone in hand</a> (cheers for documenting this dave!)
                    </li>
          </ol><br /><h3>
            <abbr title="User Generated Content">UGC</abbr>
          </h3><p>
                    Along with pretty much the entire audience I sat and played with my iPhone throughout the first panel, although rather than
                    twittering like the cool kids (Question 1: "What's the hash tag for this panel?") I was making notes... which was lucky as without
                    them there probably wasn't too much memorable stuff to take away from this talk.
                </p><p>
                    The discussion spanned a few key areas of UGC, mainly Monetization and Getting (+maintaining) good quality user content.  On
                    the monetization side there was discussion of ad revenue as the main model seen but also pointers to how companies like LinkedIn monetize
                    by targeting different audiences (such as recruitment agencies etc) on top of their free user base.
                </p><p>
                    Ways of getting good content were things such as setting an overall tone of positivity within your application (and even maybe yourself
                    as the person behind the application - the example given being craigs list).  And although it was noted by one of the panel that
                    the killer app for the internet may well be 'bitching' there were pointers to the variety of ways to maintain good content.
                    For example simple user flagging of inappropriate content, reputation based user permission schemes, user ratings, and even the
                    different ways that social apps work i.e. twitter and facebook can be controlled by the user to be inclusive only of their own
                    inner circle where their content is trusted anyway without the need for over powering control/censure of content.
                </p><p>
                    The Questions explored these ideas further with a rather surreal back and forth about the name 'User Generated Content' being followed
                    by ideas on how to gain that critical mass needed to make your UGC based application really take off.  Ideas thrown around included
                    rewards (that are not always financial), giving the user a way to self promote/express and even things like charging for use that leads only
                    to more personal, rather than community content.
                </p><p>
                    Having recently started using <a href="http://stackoverflow.com" rel="external">StackOverflow</a> a lot of this rung true to their reputation
                    and badge schemes in terms of generating a positive atmosphere and rewarding users for good quality content.
                </p><h3>Open Source Flash</h3><p>
                    It was a quick dash to the opposite end of the conference centre to catch Aral's talk but in my opinion it was definitely worth it.  Although
                    brief (about 20minutes) it was insightful and funny and left me wanting to pick up his book as I moved on to the next Panel (back
                    at the other end of the centre handily!).  I would recommend Aral's talk to the many people who balk at use of Flash. Particularly in regard
                    to his discussion of the amount of Open Source resources that are available and the idea that Usability is not inherently down to
                    the platform but due to the particular implementation.
                </p><h3>Oooh That's Clever</h3><p>
                    As with the rest of <a href="http://headscape.co.uk" rel="external">Headscape</a> I showed some Clear Left love and went down
                    to see <a href="http://twitter.com/nicepaul" title="Paul's Twitter Feed" rel="external">Paul's</a> talk.  Overall, and in agreement with Marcus, this was a
                    good example of what talks at SXSW should be like.  It was entertaining and thought provoking with Paul relating the web
                    side of his life to his interest in magic very smoothly.  The key message I took from the talk reminded my of 
                    <a href="http://en.wikipedia.org/wiki/Maslow's_hierarchy_of_needs" rel="external">Maslow's hierarchy of needs</a>. Whereby a certain level
                    of satisfaction is required to avoid dissatisfaction, but that once something causes satisfaction adding more of it (in
                    Paul's example toilet paper) doesn't increase enjoyment.  Something else is needed, and Paul related this well to hidden
                    easter egg's you get on sites - such as Silverbacks parallax 3D effect vines.
                </p><p>
                    These clever tricks and hidden bonuses create a feeling of inclusion and perhaps even smugness that you are 'in the know'
                    somehow.  It's the kind of things that make you send on a page link to a friend to point out what you've found.  The
                    difficulty, as highlighted and accepted during Q&amp;A, is selling this kind of addition/viral marketing idea to clients.
                    Which, with a majority of more 'serious' projects may be a very difficult task, especially as any possible metrics for ROI are
                    difficult to create/measure.
                </p><h3>Evening time</h3><p>
                    An evening that included Texan burgers and Pool can't be bad.  A good number of people showed up to Paul's open invite for dinner at the
                    Iron Cactus with a few then continuing over to Buffalo Billiards. Overall an excellent first day.
                </p>]]></content:encoded>
    </item>
    <item>
      <title>Sitewatcher AIR App</title>
      <link>http://cargowire.net/blog/sitewatcher</link>
      <guid>http://cargowire.net/blog/sitewatcher</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Fri, 13 Feb 2009 20:30:00 GMT</pubDate>
      <description>&lt;p&gt;
                    Blog post now up over at Boagworld discussing
                    our first foray in to the world of Adobe AIR.  Would be great to hear any feedback, both on the app and the article itself.
                    So please do let me know your thoughts.
                &lt;/p&gt;&lt;p&gt;
                    We're aware of a few little tweaks that could be made
                    and minor bugs that could be fixed but I encourage anyone using it to take a look into their 'Program Files\Sitewatcher' folder
                    to check out how it was made.  Hopefully doing so will add to the article and possibly enable you to add your own customisations,
                    I'd love to hear about them.
                &lt;/p&gt;&lt;p&gt;
            
              
            
          &lt;/p&gt;&lt;p&gt;
            Dave has already blogged about the app and we tried to pitch
                    the boagworld post at AIR first timers, to give you a feel as to how easy it is to use and what you can achieve.  Hopefully
                    the post has whetted your appetite.
                &lt;/p&gt;&lt;p&gt;Check out the above links for some good beginners references for AIR.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
                    Blog post now up over at <a href="http://boagworld.com/technology/our_first_air_app/" rel="external">Boagworld</a> discussing
                    our first foray in to the world of Adobe AIR.  Would be great to hear any feedback, both on the app and the article itself.
                    So please do <a href="/about#stalk">let me know your thoughts</a>.
                </p><p>
                    We're aware of a few little tweaks that could be made
                    and minor bugs that could be fixed but I encourage anyone using it to take a look into their 'Program Files\Sitewatcher' folder
                    to check out how it was made.  Hopefully doing so will add to the article and possibly enable you to add your own customisations,
                    I'd love to hear about them.
                </p><p>
            <a class="imagelink" href="/content/images/sitewatcher.png">
              <img class="featured" src="/content/images/sitewatcher.png" width="400" height="164" alt="Screenshot of Sitewatcher Application" />
            </a>
          </p><p>
            <a href="http://www.davemcdermid.co.uk/2009/01/air-time/" rel="external">Dave has already blogged</a> about the app and we tried to pitch
                    the boagworld post at AIR first timers, to give you a feel as to how easy it is to use and what you can achieve.  Hopefully
                    the post has whetted your appetite.
                </p><h4>Some Useful Links</h4><ul class="featured">
            <li>
              <a href="http://www.adobe.com/devnet/air/" title="AIR DevNet" rel="external">Air DevNet</a>
            </li>
            <li>
              <a href="http://ajaxian.com/archives/adobe-air-for-javascript-developers-pocketguide" title="Air For Javascript Developers Pocket Guide" rel="external">Pocket AIR Guide</a>
            </li>
          </ul><p>Check out the above links for some good beginners references for AIR.</p>]]></content:encoded>
    </item>
    <item>
      <title>Headscapers</title>
      <link>http://cargowire.net/blog/thebarn</link>
      <guid>http://cargowire.net/blog/thebarn</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Thu, 12 Feb 2009 22:30:00 GMT</pubDate>
      <description>&lt;p&gt;
                    You may or may not know that I recently created an aggregated feed for people from #theBarn.
                    This can be seen over at cargowire.net/theBarn.  If you are of the persuasion you can also consume
                    this in a variety of formats.  These include HTML, XML
                    and RSS (as does most of this site in fact).  I may add more in the future... but let's be
                    honest it's probably only me viewing it as HTML at the moment anyway.  Let alone anything or anyone else.
                &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
                    You may or may not know that I recently created an aggregated feed for people from <a href="http://search.twitter.com/search?q=%23theBarn" rel="external">#theBarn</a>.
                    This can be seen over at <a href="/thebarn" title="Headscape Blogger Feed">cargowire.net/theBarn</a>.  If you are of the persuasion you can also consume
                    this in a variety of formats.  These include <a href="/thebarn" title="HTML Headscape Blogger Feed"><abbr title="HyperText Markup Language">HTML</abbr></a>, <a href="/thebarn.xml" title="XML Headscape Blogger Feed"><abbr title="eXtensible Markup Language">XML</abbr></a>
                    and <a href="/thebarn.rss" title="RSS Headscape Blogger Feed"><abbr title="Really Simple Syndication">RSS</abbr></a> (as does most of this site in fact).  I may add more in the future... but let's be
                    honest it's probably only me viewing it as HTML at the moment anyway.  Let alone anything or anyone else.
                </p>]]></content:encoded>
    </item>
    <item>
      <title>Seasonal Branding?</title>
      <link>http://cargowire.net/blog/seasonalbranding</link>
      <guid>http://cargowire.net/blog/seasonalbranding</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sat, 13 Dec 2008 08:30:00 GMT</pubDate>
      <description>&lt;p&gt;Ok, I admit it this is a repost of something I commented on about 2 years ago on my old blog, but still...&lt;/p&gt;&lt;p&gt;
                    Whenever a holiday event occurs (Halloween, Easter, Christmas) sites will modify their design to reflect the season.  This can be anything from snow
                    effects to cartoon characters appearing on top of the usual design.  We’ve all seen it.. pumpkins and bats on halloween, snow, trees and santas at
                    christmas and egg hoarding rabbits at Easter.
                &lt;/p&gt;&lt;p&gt;
                    I'd be interested in seeing stats or empirical findings into whether that temporary re-branding
                    has an effect on visitors i.e. whether it has an off-putting effect in the vein of "popups are annoying and so is this downpour of snow over my content".
                    Or indeed the alternative that people feel more connected to the site that seems to be in some way 'human' by celebrating/recognising an external event.
                &lt;/p&gt;&lt;p&gt;
                    I guess there's a relation to 'real life' situations (if that's even a valid label, as so much of our lives are now online) whereby shops will put
                    up decorations, change storefront windows etc.  It not only acts as a way of bonding with possible clients but gives the indication that something's changed or been updated, even if it
                    hasn't.
                &lt;/p&gt;&lt;p&gt;
                    However I wonder how much the opposite is true? In that it reflects upon your professionalism, or even that people think you must have free time on your hands
                    or worse, are not spending time on their work!
                &lt;/p&gt;&lt;p&gt;Maybe it is best reserved for a particular subset of websites.  I'd probably categorise it as follows: &lt;/p&gt;&lt;p&gt;
                    The main difference in my view being the level of desire to anthropomorphise a company/organisation with the semi-parallel desire for a perception of
                    professionalism.
                &lt;/p&gt;&lt;p&gt;
                    I'd be interested to know other peoples thoughts on this.
                &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Ok, I admit it this is a repost of something I commented on about 2 years ago on my old blog, but still...</p><p>
                    Whenever a holiday event occurs (Halloween, Easter, Christmas) sites will modify their design to reflect the season.  This can be anything from snow
                    effects to cartoon characters appearing on top of the usual design.  We’ve all seen it.. pumpkins and bats on halloween, snow, trees and santas at
                    christmas and egg hoarding rabbits at Easter.
                </p><p>
                    I'd be interested in seeing stats or empirical findings into whether that temporary re-branding
                    has an effect on visitors i.e. whether it has an off-putting effect in the vein of "popups are annoying and so is this downpour of snow over my content".
                    Or indeed the alternative that people feel more connected to the site that seems to be in some way 'human' by celebrating/recognising an external event.
                </p><p>
                    I guess there's a relation to 'real life' situations (if that's even a valid label, as so much of our lives are now online) whereby shops will put
                    up decorations, change storefront windows etc.  It not only acts as a way of bonding with possible clients but gives the indication that something's changed or been updated, even if it
                    hasn't.
                </p><p>
                    However I wonder how much the opposite is true? In that it reflects upon your professionalism, or even that people think you must have free time on your hands
                    or worse, are not spending time on their work!
                </p><p>Maybe it is best reserved for a particular subset of websites.  I'd probably categorise it as follows: </p><dl>
            <dt>Ok to perform Seasonal Branding?</dt>
            <dd>Personal Sites</dd>
            <dd>Freelancer Sites</dd>
            <dd>Traditional 'shop' sites... i.e. amazon, tesco etc</dd>
          </dl><dl>
            <dt>Not so ok to perform Seasonal Branding?</dt>
            <dd>Strictly regulated industries... i.e. legal, accounting, 'serious' places</dd>
            <dd>Government sites</dd>
            <dd>Corporate sites</dd>
          </dl><p>
                    The main difference in my view being the level of desire to anthropomorphise a company/organisation with the semi-parallel desire for a perception of
                    professionalism.
                </p><p>
                    I'd be <a href="http://cargowire.net/about#stalk">interested to know other peoples thoughts on this</a>.
                </p>]]></content:encoded>
    </item>
    <item>
      <title>Developer Day 7</title>
      <link>http://cargowire.net/blog/ddd7</link>
      <guid>http://cargowire.net/blog/ddd7</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sun, 23 Nov 2008 13:30:00 GMT</pubDate>
      <description>&lt;p&gt;
                    Back from Developer Day! and once again inspired to code.  It's a great day for getting you excited
                    about technology and web development even if you don't necessarily bring away specific
                    techniques that you want to try out.  So here's a breakdown of the talks I went to:
                &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
                    Back from Developer Day! and once again inspired to code.  It's a great day for getting you excited
                    about technology and web development even if you don't necessarily bring away specific
                    techniques that you want to try out.  So here's a breakdown of the talks I went to:
                </p><table id="dayone" class="fowa">
            <thead>
              <tr>
                <th colspan="2">DeveloperDeveloperDeveloper: Speaker / Thoughts</th>
              </tr>
            </thead>
            <tfoot>
              <tr>
                <td colspan="2" />
              </tr>
            </tfoot>
            <tbody>
              <tr>
                <td>Alan Dean (Charteris)</td>
                <td rowspan="2">
                  <p>
                                    Essentially a <abbr title="some might say pedantic">detailed</abbr> discussion of what is
                                    and is not valid REST.  The talk was labelled as discussing why REST might
                                    be important to you.  However that aspect did not seem to come through over the more pedagoguish
                                    yes and no's of REST.  The yes' detailed via the following 6 points:
                                </p>
                  <ol>
                    <li>Style = nil</li>
                    <li>Style += Client/Server</li>
                    <li>Style += Stateless</li>
                    <li>Style += Caching</li>
                    <li>Style += Uniform Interface</li>
                    <li>Style += Layered System</li>
                    <li>Style += Code on Demand</li>
                  </ol>
                  <p>The no's detailed as anything that does not subscribe to those six.</p>
                </td>
              </tr>
              <tr>
                <td class="sub">Separating REST Facts from Fallacies</td>
              </tr>
              <tr>
                <td>Mike Hadlow (Freelancer)</td>
                <td rowspan="2">
                  <p>
                                    A talk with a lot of code, which is both a benefit and a small downside.  It's always more helpful to see
                                    the use of a technique in a real world example but at the same time it can be difficult to get to grips
                                    with the code as it is being displayed on screen between slides. Akin to sight reading music you need to get
                                    hold of the code yourself and have a play.
                                </p>
                  <p>
                                    Given that, this was an engaging talk particularly in regard to the use of Generic
                                    Repositories using extension methods.
                                </p>
                </td>
              </tr>
              <tr>
                <td class="sub">Using an Inversion of Control Container in a real world application</td>
              </tr>
              <tr>
                <td>Dave Sussman &amp; Phil Winstanley (ASP.NET Insiders)</td>
                <td rowspan="2">
                  <p>
                                    Unfortunately this talk opened with the disclaimer that some things that were intended
                                    for the talk had to be removed as Microsoft had decided not to release certain information yet. However the
                                    information on VS2010 was enough to keep my interest.  In brief:
                                </p>
                  <ul>
                    <li>
                                        VB and C# are to be equal so anything you can do in VB you should be able to do in C# and vice
                                        versa (including loss of the VB line continuation character in 90% of cases!).
                                    </li>
                    <li>
                                        Built in parallel processing support so you can run loops and linq statements across processors very
                                        simply
                                    </li>
                    <li>
                                        Cleaner HTML output! let's hope it's as clean as clean can be (there was also a warning of blanket upgrading
                                        prior .net projects as the HTML output will be different)
                                    </li>
                    <li>
                                        HTML Snippets - bringing the snippetness of vb and c# into the markup window.  Didn't really excite me but I
                                        can see some minor productivity gains
                                    </li>
                    <li>
                                        Client ID Control! OMG I almost wet myself (Ok I'm not that sad, but from my point of view this was excellent news).  One
                                        of the biggest stumbling blocks I found when I moved from PHP to asp.NET was losing that control over client IDs if you wanted
                                        to take advantage of the server control goodness.  Being able to set client id behaviour to static is a big bonus in
                                        terms of no longer limiting your css/javascript to unnecessary html containers (that could use normal IDs) or targetting
                                        classes alone.
                                    </li>
                    <li>
                                        A number of small but nice changes to VS such as fast quick search and full page variable highlighting when the cursor is placed
                                        on one
                                    </li>
                  </ul>
                </td>
              </tr>
              <tr>
                <td class="sub">ASP.NET 4.0 - TOP SECRET</td>
              </tr>
              <tr>
                <td>Ben Hall (RedGate)</td>
                <td rowspan="2">
                  <p>
                                    A discussion and demo of a Microsoft Research project is always worth a go, and this
                                    didn't disappoint.
                                </p>
                  <p>
                                    The best summery of <abbr title="Program EXploration">Pex</abbr> comes from the talk description itself:
                                </p>
                  <p>
                                    "Pex is a project from Microsoft Research which automatically generates a traditional unit
                                    testing suite with high code coverage from hand-written parameterised unit tests."
                                </p>
                  <p>
                                    Thoroughly interesting and impressive in equal measures the Pex VS Plugin will explore
                                    your code based upon a hand written test and return tabular results including the ability for you to
                                    include business rule based assertions.
                                </p>
                  <p>This shouldn't be used to the exclusion of other testing but looks like it can/will provide an excellent toolkit addition.</p>
                </td>
              </tr>
              <tr>
                <td class="sub">Microsoft Pex - The future of unit testing?</td>
              </tr>
              <tr>
                <td>Jon Skeet (Google)</td>
                <td rowspan="2">
                  <p>
                                    It's a shame this talk came at the end of the day as tiredness had caught up with me
                                    making it tricky to keep up with Jon's blistering pace through re-creating LINQ to Objects
                                    himself using generics and extension methods including the awesome (although seemingly unknown
                                    by some) yield keyword.
                                </p>
                  <p>
                                    Theres little to say without trying to redescribe how this implementation was done, which would
                                    increase the size of this post dramatically! However the power of Generics and Extension methods
                                    was clear to see.  As Jon said the implemention is simple because of this.  It is the design of linq
                                    that is so impressive.
                                </p>
                </td>
              </tr>
              <tr>
                <td class="sub">Implementing LINQ to Objects in 60 minutes</td>
              </tr>
            </tbody>
          </table>]]></content:encoded>
    </item>
    <item>
      <title>Wordle</title>
      <link>http://cargowire.net/blog/wordle</link>
      <guid>http://cargowire.net/blog/wordle</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sat, 22 Nov 2008 23:30:00 GMT</pubDate>
      <description>&lt;p&gt;
                    Late night recommendations have led me to Wordle, an app that will create word clouds based upon
                    text, feeds or tags.  So obviously I immediately chose a long standing interesting blog to test it with... rather than self satisfyingly submitting my own article feed...
                    Ok, so here's the cloud of my article feed:
                &lt;/p&gt;&lt;p&gt;...Pretty don't you think&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
                    Late night recommendations have led me to <a rel="external" href="http://www.wordle.net/create" title="Wordle - Word Clouds">Wordle</a>, an app that will create word clouds based upon
                    text, feeds or tags.  So obviously I immediately chose a long standing interesting blog to test it with... rather than self satisfyingly submitting my own article feed...
                    Ok, so here's the cloud of my article feed:
                </p><a href="http://cargowire.net/content/images/articlewordcloud.png" class="imagelink">
            <img class="featured" width="421.5" height="220" src="http://cargowire.net/content/images/articlewordcloud.png" alt="Wordle Page Content Word Cloud" />
          </a><p>...Pretty don't you think</p>]]></content:encoded>
    </item>
    <item>
      <title>Brightkite</title>
      <link>http://cargowire.net/blog/brightkite</link>
      <guid>http://cargowire.net/blog/brightkite</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Tue, 28 Oct 2008 21:00:00 GMT</pubDate>
      <description>&lt;p&gt;
                    Unnecessary info? you got it Now you can see where I am by using my little brightkite/google maps universe pinpointer thingy (it's under the menu
                    over there). Additionally I've added to my RESTlessness with the '.rss' extension on my articles list if you fancy a quick subscribe.  The most recent
                    article discusses the issues surrounding Caching API request calls.
                &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
                    Unnecessary info? you got it Now you can see where I am by using my little brightkite/google maps universe pinpointer thingy (it's under the menu
                    over there). Additionally I've added to my RESTlessness with the '.rss' extension on my articles list if you fancy a quick subscribe.  The most recent
                    article discusses the issues surrounding Caching API request calls.
                </p>]]></content:encoded>
    </item>
    <item>
      <title>RSS</title>
      <link>http://cargowire.net/blog/rss</link>
      <guid>http://cargowire.net/blog/rss</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Fri, 03 Oct 2008 20:00:00 GMT</pubDate>
      <description>&lt;p&gt;
                    RESTless? The beginnings of the delicious article have been started over in articles.  To coincide with this I've reorganised
                    my url structure a bit so that now an extension of '.xml' will return the data in xml format.  I'll eventually add to this (the sneaky of those among you
                    may find that I'm already using '.ajax' for my ajax calls - to identify that a partial should be returned).
                &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
                    RESTless? The beginnings of the delicious article have been started over in <a href="http://cargowire.net/articles">articles</a>.  To coincide with this I've reorganised
                    my url structure a bit so that now an extension of '.xml' will return the data in xml format.  I'll eventually add to this (the sneaky of those among you
                    may find that I'm already using '.ajax' for my ajax calls - to identify that a partial should be returned).
                </p>]]></content:encoded>
    </item>
    <item>
      <title>Twitter</title>
      <link>http://cargowire.net/blog/twitter</link>
      <guid>http://cargowire.net/blog/twitter</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sat, 18 Oct 2008 13:00:00 GMT</pubDate>
      <description>&lt;p&gt;
                    I've followed the current 'hip trend' of adding a twitter feed to my site (see upper right if you've not noticed it yet) and added the 1st draft of
                    my date formatting article (I say first draft because I kinda rushed it this morning before heading out for the weekend).  I'll probably return to it
                    to polish and add some more explanation.
                &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
                    I've followed the current 'hip trend' of adding a twitter feed to my site (see upper right if you've not noticed it yet) and added the 1st draft of
                    my date formatting article (I say first draft because I kinda rushed it this morning before heading out for the weekend).  I'll probably return to it
                    to polish and add some more explanation.
                </p>]]></content:encoded>
    </item>
    <item>
      <title>The Boag Effect</title>
      <link>http://cargowire.net/blog/boageffect</link>
      <guid>http://cargowire.net/blog/boageffect</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Thu, 16 Oct 2008 23:00:00 GMT</pubDate>
      <description>&lt;p&gt;
                    So today Mr Boag himself helpfully twittered this site address.  The image below shows what shall now be known as 'the boag effect'.
                    As you can see there was a 'slight' change in visitors this afternoon.  I'd like to attribute that to my excellent content, exciting design and general awesomeness
                &lt;/p&gt;&lt;p&gt;However I must concede that Paul may have had a minor effect.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
                    So today <a href="http://boagworld.com/" title="Boagworld | Web design podcast" rel="external">Mr Boag</a> himself helpfully twittered this site address.  The image below shows what shall now be known as 'the boag effect'.
                    As you can see there was a 'slight' change in visitors this afternoon.  I'd like to attribute that to my excellent content, exciting design and general awesomeness
                </p><img src="http://cargowire.net/content/images/boageffect.gif" alt="The Boag Effect" class="featured" /><p>However I must concede that Paul may have had a minor effect.</p>]]></content:encoded>
    </item>
    <item>
      <title>FOWA!</title>
      <link>http://cargowire.net/blog/fowaexpo2008</link>
      <guid>http://cargowire.net/blog/fowaexpo2008</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sat, 11 Oct 2008 22:00:00 GMT</pubDate>
      <description>&lt;p&gt;FOWA Rocked! Heres the run down of talks I saw (to be updated/added to):&lt;/p&gt;&lt;p&gt;This jquery slide down/up seemingly breaks in IE8 and FF2... doh I'll look into a fix or change&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>FOWA Rocked! Heres the run down of talks I saw (to be updated/added to):</p><table id="dayone" class="fowa">
            <thead>
              <tr>
                <th colspan="2">Day One: Speaker / Thoughts</th>
              </tr>
            </thead>
            <tfoot>
              <tr>
                <td colspan="2" />
              </tr>
            </tfoot>
            <tbody>
              <tr>
                <td>Kevin Rose</td>
                <td rowspan="2">
                                IMO a suprisingly good and interesting talk mainly about the future of digg rather than the future of news. However
                                the talk of servicing niche interests via a combination of clustering like minded people together in a more personalised
                                recommendation system + encouraging participation through increased impact visiblity was a thoroughly interesting listen.
                            </td>
              </tr>
              <tr>
                <td class="sub">The Future of News</td>
              </tr>
              <tr>
                <td>Edwin Aoki</td>
                <td rowspan="2">

                                I didn't feel like I took much away from this talk.  However Edin did reinforce the point that successful web apps should, and generally
                                are, based on a passion being turned into an application with the thought of money coming later.
                            </td>
              </tr>
              <tr>
                <td class="sub">Web apps are dead, long live web apps</td>
              </tr>
              <tr class="grok">
                <td>Mike Ormand</td>
                <td rowspan="2">Another round of good silverlight demos. Difficult to know when and where I would put this into practice. Flash is still the winner for me.</td>
              </tr>
              <tr class="grok">
                <td class="sub">What's all this Silverlight stuff?</td>
              </tr>
              <tr>
                <td>Blaine Cook and Joe Stump</td>
                <td rowspan="2">
                                Insightful and engaging these two probably provided the best talks.  Often verging close to a rant against language fanboys they highlighted
                                the core issue of IO in scaling situations.
                            </td>
              </tr>
              <tr>
                <td class="sub">Languages, don't scale</td>
              </tr>
              <tr>
                <td>Kevin Marks</td>
                <td rowspan="2">
                                Lots of that 'cloud' word (although quite a nice intro to it's usage). Kevin also spoke of the transition from email as a publically accessible
                                end point that is increasingly used only formally, with social networks becoming far more intrinsic to the personal web experience.  I particularly identified
                                with his negative view of unnecessary web form info (I now tell most forms that I live at a well known London landmark).
                            </td>
              </tr>
              <tr>
                <td class="sub">The Future of Enterprise Web Apps</td>
              </tr>
              <tr class="grok">
                <td>Andrew Shorten</td>
                <td rowspan="2">An excellent intro to Adobe AIR + a free book.</td>
              </tr>
              <tr class="grok">
                <td class="sub">Taking web based applications to the desktop with Adobe AIR</td>
              </tr>
              <tr>
                <td>Alvin Woon</td>
                <td rowspan="2">
                                An interesting perspective on UI design. Adaptive UI (changes in UI based on context etc).  Unfortunately not the best speaker
                                in terms of clarity and engaging the audience with rather <abbr title="Bullet Points">'traditional'</abbr> slides.
                            </td>
              </tr>
              <tr>
                <td class="sub">The future of social app interface design</td>
              </tr>
              <tr>
                <td>Blaine Cook</td>
                <td rowspan="2">This guy is scary clever, but also cool in equal measure.</td>
              </tr>
              <tr>
                <td class="sub">Colliding Worlds: Using Jabber to make awesome web sites</td>
              </tr>
              <tr>
                <td>David Recordon</td>
                <td rowspan="2">
                                Another talk that's given me <a href="http://www.flickr.com/photos/56624456@N00/2869986857/" title="The Open Stack" rel="external">something to read up on.</a></td>
              </tr>
              <tr>
                <td class="sub">Blowing up social networks with Open Tech</td>
              </tr>
              <tr>
                <td>Francisco Tolmasky</td>
                <td rowspan="2">A clearly intelligent guy with some crazy javascript app work going on, and yet I'm still put off by javascript being taken that far.</td>
              </tr>
              <tr>
                <td class="sub">Building Desktop Caliber Web Applications with Objective-J and Cappucino</td>
              </tr>
              <tr>
                <td>Crick Waters</td>
                <td rowspan="2" />
              </tr>
              <tr>
                <td class="sub">Web will heal itself</td>
              </tr>
              <tr>
                <td>Mike Butcher</td>
                <td rowspan="2">Essentially half an hour of Jason calacanis scaring the hell out of startups.</td>
              </tr>
              <tr>
                <td class="sub">TechCrunch Pitch! @ FOW</td>
              </tr>
              <tr>
                <td>Media Temple</td>
                <td rowspan="2" />
              </tr>
              <tr>
                <td class="sub">Party @Fox</td>
              </tr>
            </tbody>
          </table><table id="daytwo" class="fowa">
            <caption>FOWA Expo 2008 (Uni Talks in grey)</caption>
            <thead>
              <tr>
                <th colspan="2">Day Two: Speaker / Thoughts</th>
              </tr>
            </thead>
            <tfoot>
              <tr>
                <td colspan="2" />
              </tr>
            </tfoot>
            <tbody>
              <tr>
                <td>Tim Bray</td>
                <td rowspan="2" />
              </tr>
              <tr>
                <td class="sub">The Fear Factor: What to be Frightened of in Building A Web Application</td>
              </tr>
              <tr>
                <td>Adam Gross</td>
                <td rowspan="2" />
              </tr>
              <tr>
                <td class="sub">Cloud Computing in the Enterprise - How Businesses are Taking Advantage of the Future of the Web</td>
              </tr>
              <tr class="grok">
                <td>Andrew Shorten</td>
                <td rowspan="2">This talk really highlighted to me the large similarities between Silverlight and Flex. Air/Flash and MXML are strikingly similar to Silverlight and XAML.</td>
              </tr>
              <tr class="grok">
                <td class="sub">Building Rich Internet Applications using Adobe Flex</td>
              </tr>
              <tr>
                <td>Chris Messina</td>
                <td rowspan="2" />
              </tr>
              <tr>
                <td class="sub">How oAuth and portable data can revolutionise your web app</td>
              </tr>
              <tr>
                <td>Bret Taylor</td>
                <td rowspan="2" />
              </tr>
              <tr>
                <td class="sub">The future of your online presence</td>
              </tr>
              <tr>
                <td>Jason Calacanis</td>
                <td rowspan="2" />
              </tr>
              <tr>
                <td class="sub">Work/life balance or Blood, sweat and tears: Which is the startup way?</td>
              </tr>
              <tr>
                <td>Elaine Wherry</td>
                <td rowspan="2" />
              </tr>
              <tr>
                <td class="sub">Scaling the Synchronous Web</td>
              </tr>
              <tr>
                <td>Jeremy Baines</td>
                <td rowspan="2" />
              </tr>
              <tr>
                <td class="sub">How to build a desktop app for your web app</td>
              </tr>
              <tr>
                <td>Michael Galpert</td>
                <td rowspan="2" />
              </tr>
              <tr>
                <td class="sub">How to survive outside of Silicon valley</td>
              </tr>
              <tr>
                <td>Dave Morin</td>
                <td rowspan="2" />
              </tr>
              <tr>
                <td class="sub">Making the web more social with Facebook Connect</td>
              </tr>
              <tr>
                <td>Andrew Shorten</td>
                <td rowspan="2" />
              </tr>
              <tr>
                <td class="sub">Adobe AIR Competition Finals</td>
              </tr>
              <tr>
                <td>Mark Zuckerberg</td>
                <td rowspan="2" />
              </tr>
              <tr>
                <td class="sub">Fireside chat</td>
              </tr>
              <tr>
                <td>Kathy Sierra</td>
                <td rowspan="2" />
              </tr>
              <tr>
                <td class="sub">How to grow and nurture your community</td>
              </tr>
              <tr>
                <td>Alex Albrecht and Kevin Rose</td>
                <td rowspan="2" />
              </tr>
              <tr>
                <td class="sub">Diggnation!</td>
              </tr>
              <tr>
                <td>Digg and Facebook</td>
                <td rowspan="2" />
              </tr>
              <tr>
                <td class="sub">Wrap party @Fox</td>
              </tr>
            </tbody>
          </table><p>This jquery slide down/up seemingly breaks in IE8 and FF2... doh I'll look into a fix or change</p>]]></content:encoded>
    </item>
    <item>
      <title>Code Highlighting</title>
      <link>http://cargowire.net/blog/codehighlighting</link>
      <guid>http://cargowire.net/blog/codehighlighting</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sun, 28 Sep 2008 12:00:00 GMT</pubDate>
      <description>&lt;p&gt;
                    Recently the portfolio content has been fleshed out slightly and a rough timeline for the articles I intend to write planned out. I've also plucked for a
                    javascript syntax highlighter for any code examples I include.  Heres an example of it in action:
                &lt;/p&gt;&lt;p&gt;On a side note I'm massively Looking forward to the Future Of Web Apps in london next week.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
                    Recently the portfolio content has been fleshed out slightly and a rough timeline for the articles I intend to write planned out. I've also plucked for a
                    <a href="http://code.google.com/p/syntaxhighlighter/" rel="external">javascript syntax highlighter</a> for any code examples I include.  Heres an example of it in action:
                </p><code language="c-sharp">
                    public class HelloWorld : StatementMaker {

                    public override void MakeStatement() {
                    HttpContext.Current.Response.Write("Hello World!");
                    }
                    }
                </code><p>On a side note I'm massively Looking forward to the Future Of Web Apps in london next week.</p>]]></content:encoded>
    </item>
    <item>
      <title>Where Was I?</title>
      <link>http://cargowire.net/blog/wherewasi</link>
      <guid>http://cargowire.net/blog/wherewasi</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Wed, 20 Aug 2008 22:30:00 GMT</pubDate>
      <description>&lt;p&gt;
                    After losing all data in July I'm finally back up and running and should be continuing with the site as soon as poss.  Portfolio
                    has now been migrated.
                &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
                    After losing all data in July I'm finally back up and running and should be continuing with the site as soon as poss.  Portfolio
                    has now been migrated.
                </p>]]></content:encoded>
    </item>
    <item>
      <title>Fixes</title>
      <link>http://cargowire.net/blog/fixes</link>
      <guid>http://cargowire.net/blog/fixes</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sun, 08 Jun 2008 14:00:00 GMT</pubDate>
      <description>&lt;p&gt;
                    Updates tonight included javascript fixes for ie7 and css fixes for ie6.. at least now you should be able to see the same
                    design in most browsers! ...just one ie6 bug left now! I've not got any contact stuff setup yet so if you have any comments please head over to here and try and find some way of tracking
                    me down.
                &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
                    Updates tonight included javascript fixes for ie7 and css fixes for ie6.. at least now you should be able to see the same
                    design in most browsers! ...just one ie6 bug left now! I've not got any contact stuff setup yet so if you have any comments please head over to <a href="http://cargowire.net/about#stalk" rel="me">here</a> and try and find some way of tracking
                    me down.
                </p>]]></content:encoded>
    </item>
    <item>
      <title>Designed?</title>
      <link>http://cargowire.net/blog/designed</link>
      <guid>http://cargowire.net/blog/designed</guid>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sun, 01 Jun 2008 12:00:00 GMT</pubDate>
      <description>&lt;p&gt;
                    After a couple of attempts I've settled on a design.  I'm yet to add the relevant css / javascript for IE 6 support, and
                    also I understand the sIFR may not be working correctly.  I'll be looking into these points as soon as possible as well as the
                    odd crashing you get in IE7 when the ajax on the links page is used.
                &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
                    After a couple of attempts I've settled on a design.  I'm yet to add the relevant css / javascript for IE 6 support, and
                    also I understand the sIFR may not be working correctly.  I'll be looking into these points as soon as possible as well as the
                    odd crashing you get in IE7 when the ajax on the links page is used.
                </p>]]></content:encoded>
    </item>
  </channel>
</rss>