<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Software Development</title>
        <link>http://www.dugaldwilson.com/dugald/category/3.aspx</link>
        <description>Software Development</description>
        <language>en-US</language>
        <copyright>Dugald Wilson</copyright>
        <generator>Subtext Version 2.1.0.5</generator>
        <item>
            <title>Going to CodeMash!</title>
            <link>http://dugaldwilson.com/dugald/archive/2009/11/29/57.aspx</link>
            <description>This year I am going to &lt;a href="http://www.codemash.org"&gt;CodeMash&lt;/a&gt;, and I couldn't be more excited.  Last year I came very close to going, but tough financial analysis ended up nixing it. This year, we've made the adjustments, and I can't wait to go!
&lt;p&gt;
For those who don't know of it, CodeMash is a two-day language-agnostic, developer-centric convention. There are &lt;a href="http://www.codemash.org/Sessions"&gt;sessions&lt;/a&gt; on languages from Ruby to C#, and a bit of everything in between. It's held at the Kalahari resort in Sandusky, OH, which also  features a huge indoor water park. If our children weren't currently full-time drowning hazards, I'd bring the whole family.
&lt;/p&gt;&lt;p&gt;
Even better, CodeMash offers a &lt;a href="http://www.codemash.org/Precompiler"&gt;Precompiler&lt;/a&gt;, a special pre-conference day of deep-dive sessions. I've signed up for this, but it's a hard choice to make. From an all-day deep dive into TDD, to learning Ruby Fundamentals or software engineering from some truly great minds,  it's almost an embarrassment of riches.
&lt;/p&gt;&lt;p&gt;
And best of all, CodeMash is affordable.  I can attend for about a third what it would have cost me to get to PDC this year.
&lt;/p&gt;&lt;img src="http://dugaldwilson.com/dugald/aggbug/57.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dugald Wilson</dc:creator>
            <guid>http://dugaldwilson.com/dugald/archive/2009/11/29/57.aspx</guid>
            <pubDate>Mon, 30 Nov 2009 02:03:57 GMT</pubDate>
            <wfw:comment>http://dugaldwilson.com/dugald/comments/57.aspx</wfw:comment>
            <comments>http://dugaldwilson.com/dugald/archive/2009/11/29/57.aspx#feedback</comments>
            <wfw:commentRss>http://dugaldwilson.com/dugald/comments/commentRss/57.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Alt.bug Is Dead</title>
            <link>http://dugaldwilson.com/dugald/archive/2009/03/25/56.aspx</link>
            <description>&lt;p&gt;Long live &lt;a href="http://developerbeers.blogspot.com/"&gt;Developer Beers&lt;/a&gt;!&lt;/p&gt; &lt;p&gt;Alt.bug has been a lot of fun, gathering .Net developers via Twitter and blogs for beer and good discussion. But, in getting beers after the last Raleigh.rb meetup, I realized  there are many developers out there who exist in totally different ecosystems, but who have great insights, and an appreciation for beer.&lt;/p&gt; &lt;p&gt;I think in changing the name, we can alter the focus, and make Developer Beers a chance for software development professionals to gather, outside of platform, and exchange ideas on software development.&lt;/p&gt; &lt;p&gt;Also, in changing the name, and the focus, I'd like to also change the locale, and have Developer Beers at the great bars, breweries,  and taphouses in the RDU area. Ideally, we have it on a rotating schedule, rotating through great bars in all of the Triangle cities.&lt;/p&gt; &lt;p&gt;Hopefully you will join us - details are on the linked page or &lt;a href="http://developerbeers.blogspot.com/"&gt;HERE&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://dugaldwilson.com/dugald/aggbug/56.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dugald Wilson</dc:creator>
            <guid>http://dugaldwilson.com/dugald/archive/2009/03/25/56.aspx</guid>
            <pubDate>Thu, 26 Mar 2009 01:46:20 GMT</pubDate>
            <wfw:comment>http://dugaldwilson.com/dugald/comments/56.aspx</wfw:comment>
            <comments>http://dugaldwilson.com/dugald/archive/2009/03/25/56.aspx#feedback</comments>
            <wfw:commentRss>http://dugaldwilson.com/dugald/comments/commentRss/56.aspx</wfw:commentRss>
        </item>
        <item>
            <title>On Meetings</title>
            <link>http://dugaldwilson.com/dugald/archive/2009/02/20/onmeetings.aspx</link>
            <description>I've been in enough companies, that I have started to develop an almost pathological aversion to meetings. The &lt;a href="http://en.wikipedia.org/wiki/Meeting"&gt;wikipedia entry on meetings&lt;/a&gt; actually touches on the problems I run into: &lt;span style="font-style: italic;"&gt;"In organizations, &lt;/span&gt;&lt;span style="font-style: italic;"&gt;meetings&lt;/span&gt;&lt;span style="font-style: italic;"&gt; are an important vehicle for personal contact. They are so common and pervasive in organizations, however, that many take them for granted and forget that, unless properly planned and executed, meetings can be a waste of time and resources."&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
So, how properly plan and execute a meeting?  I have a few rules that help:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;Does this have to be a meeting?  Some meetings are often incorrectly substituted for other business activities - for example as a method of reporting status. Often there are other, less resource and time-intensive methods to accomplish the same goal. So I find a great first question is "Can this be accomplished using some other means?"&lt;/li&gt;
    &lt;li&gt;What is the agenda? The agenda is the entire purpose for the meeting, and what it will accomplish. It dictates the length of the meeting far more than the amount of time blocked out in the schedule. Without an agenda, meetings run a greater risk of not accomplishing their goals and wasting time and resources.&lt;/li&gt;
    &lt;li&gt;Who really must be in the room? Often requests are sent to whomever is on the project team, so they don't miss out on valuable information. That can be better communicated by publishing the meeting minutes afterwards. Instead, focus on who needs to be in the room to accomplish the agenda.&lt;/li&gt;
&lt;/ul&gt;
I think by making sure those three questions are carefully considered, meetings called have a much greater success rate and value.&lt;img src="http://dugaldwilson.com/dugald/aggbug/55.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dugald Wilson</dc:creator>
            <guid>http://dugaldwilson.com/dugald/archive/2009/02/20/onmeetings.aspx</guid>
            <pubDate>Fri, 20 Feb 2009 19:27:02 GMT</pubDate>
            <wfw:comment>http://dugaldwilson.com/dugald/comments/55.aspx</wfw:comment>
            <comments>http://dugaldwilson.com/dugald/archive/2009/02/20/onmeetings.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://dugaldwilson.com/dugald/comments/commentRss/55.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Welcome to SubText 2.1</title>
            <link>http://dugaldwilson.com/dugald/archive/2009/01/06/53.aspx</link>
            <description>&lt;br /&gt;
Happy to say I managed to back up the data, test drive 2.1 locally, and push it up to the site here to finally run on Subtext 2.1.&lt;br /&gt;
&lt;br /&gt;
True credit goes to &lt;a href="http://haacked.com/"&gt;Phil Haack&lt;/a&gt; and the guys on the &lt;a href="http://www.subtextproject.com/"&gt;SubText &lt;/a&gt;team for making an OS blog engine that "just works".&lt;img src="http://dugaldwilson.com/dugald/aggbug/53.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dugald Wilson</dc:creator>
            <guid>http://dugaldwilson.com/dugald/archive/2009/01/06/53.aspx</guid>
            <pubDate>Wed, 07 Jan 2009 03:53:16 GMT</pubDate>
            <wfw:comment>http://dugaldwilson.com/dugald/comments/53.aspx</wfw:comment>
            <comments>http://dugaldwilson.com/dugald/archive/2009/01/06/53.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://dugaldwilson.com/dugald/comments/commentRss/53.aspx</wfw:commentRss>
        </item>
        <item>
            <title>The New Year: Reflections and Goals</title>
            <link>http://dugaldwilson.com/dugald/archive/2009/01/02/The-New-Year-Reflections-and-Goals.aspx</link>
            <description>&lt;p&gt;2008 was a pretty good year: I left a job where the path forward was to abandon my .Net skills in favor of learning Java, and returned to Progress Energy to develop and support .Net applications. I was elected President of TriNUG, and given the opportunity to stop whining and start making TriNUG better. I started using Twitter, and really grew my community of peers by dozens. &lt;/p&gt;  &lt;p&gt;I feel like if I don't put something down for where I want to be at the end of 2009, I will spend much of the year drifting about. So here are my goals for 2009: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Work:&lt;/strong&gt; I would like to make more of an impact on what our group does technically at Progress. I'd like to see if I can help push adoption of Entity Framework and jQuery, possibly through helping facilitate discussions or brown bags during the year. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;TriNUG:&lt;/strong&gt; I'd like for us to get the rest of the year ironed out for speakers, first, so I have less to worry about. Then, I'd like for us to do a CodeCamp even better than our last. I also need to improve the meeting experience for new users, and find ways to reach folks we aren't currently. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Blue Hill:&lt;/strong&gt; I need to get serious about my side consulting/dev work. At the very least I need some demonstrations of what I can do for folks unfamiliar with me. To that end: &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;WhoDoesWhatIDo.com&lt;/strong&gt;: A site for developers to build peer groups and career networking around skills and tools. Currently vaporware. I'd like to have this in beta by third quarter and released by end of year. Plan is to build it using ASP.Net MVC and NHibernate &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Learning:&lt;/strong&gt; I'd like to end the year with a solid understanding of Ruby and Rails. I also want to be better versed in ASP.Net MVC, jQuery, and NHibernate. I also need to learn to type, so help me God. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Conferences:&lt;/strong&gt; This is more of a 2010 goal now, but I'm going to CodeMash if it kills me.&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://dugaldwilson.com/dugald/aggbug/52.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dugald Wilson</dc:creator>
            <guid>http://dugaldwilson.com/dugald/archive/2009/01/02/The-New-Year-Reflections-and-Goals.aspx</guid>
            <pubDate>Sat, 03 Jan 2009 00:52:13 GMT</pubDate>
            <wfw:comment>http://dugaldwilson.com/dugald/comments/52.aspx</wfw:comment>
            <comments>http://dugaldwilson.com/dugald/archive/2009/01/02/The-New-Year-Reflections-and-Goals.aspx#feedback</comments>
            <wfw:commentRss>http://dugaldwilson.com/dugald/comments/commentRss/52.aspx</wfw:commentRss>
        </item>
        <item>
            <title>RDU Code Camp Thanks</title>
            <link>http://dugaldwilson.com/dugald/archive/2008/11/17/RDU-Code-Camp-Thanks.aspx</link>
            <description>&lt;p&gt;RDU Code Camp was yesterday (Nov 15). It was just an awesome time. From what folks say, it went very well. I'd like to thank all of the folks who made this possible:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Chris Love - Chris was the original driver for doing another Code Camp this year. He took the lead on getting the speakers and sessions together, and stepped up to handle the emceeing on the event.&lt;/li&gt;
    &lt;li&gt;Rob Zelt - Rob secured all the swag for the event, resulting in some very happy folks when they left yesterday afternoon.&lt;/li&gt;
    &lt;li&gt;Chuck Scheier  &amp;amp; Srinu Tulluri - Chuck and Srinu handled the food, which surpassed all expectations. &lt;/li&gt;
    &lt;li&gt;Greg Pugh - Greg handled the promotion for Code Camp, and the excellent turnout we had is a result of his work.&lt;/li&gt;
    &lt;li&gt;Glen Alfredson - Glen handled all the financial dealings of working with our sponsors and vendors.&lt;/li&gt;
    &lt;li&gt;Jeremy Brown - Jeremy, and his wife Julie, took on the responsibility of creating the t-shirts for Code Camp. Julie came up with many designs, and Jeremy stayed on us to actually DECIDE and get it done. They turned out great, and I couldn't be more appreciative of their efforts.&lt;/li&gt;
    &lt;li&gt;Anita Luthra- Anita came in and volunteered, and helped make our registration process run smoother than I've ever seen it.&lt;/li&gt;
    &lt;li&gt;Josh Carlisle - Josh helped deliver swag, sodas, and maps. He was an invaluable fixer.&lt;/li&gt;
    &lt;li&gt;John Anderson - John volunteered for us and single-handedly turned room 201 from a classroom for 40 to a conference room for 120.&lt;/li&gt;
    &lt;li&gt;James Avery - James volunteered to run Open Spaces, which was a huge hit, and will hopefully be a part of our future Code Camps. He then helped craft the idea of our sponsorship being limited, which raised visibility for sponsors, and reduced the number of sponsors we had to handle. He then helped land us Red Gate software as a sponsor.&lt;/li&gt;
    &lt;li&gt;Brian Hitney - Brian is our Microsoft DE, so I think there is some part of his job description that has him help us out on these things. Brian helped sponsor us and provide swag, but more importantly was an invaluable resource for how to run the Code Camp, and I couldn't have done my part without his counsel.&lt;/li&gt;
    &lt;li&gt;Derik Whittaker - Derik was instrumental in securing Allscripts as a sponsor, without which we would have had a much more limited Code Camp.&lt;/li&gt;
    &lt;li&gt;Todd Phelps &amp;amp; ECPI - ECPI has been a wonderful host for our Code Camps, giving us complete access to their building. Todd came in on his own time Sat to open and close the building for us.&lt;/li&gt;
    &lt;li&gt;All our speakers - We wouldn't have had an event without our amazing speakers.  Thank you all for traveling out of your way, and helping us have one of our best Code Camps ever!&lt;/li&gt;
    &lt;li&gt;Our sponsors - big thanks to Allscripts, Inkscribe Designs, Microsoft, Red Gate, SoftPro, and Tek Systems&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If anyone has been overlooked, it is no reflection on your contribution, but rather the oversight of my still-weary brain.&lt;/p&gt;&lt;img src="http://dugaldwilson.com/dugald/aggbug/47.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dugald Wilson</dc:creator>
            <guid>http://dugaldwilson.com/dugald/archive/2008/11/17/RDU-Code-Camp-Thanks.aspx</guid>
            <pubDate>Mon, 17 Nov 2008 08:16:10 GMT</pubDate>
            <wfw:comment>http://dugaldwilson.com/dugald/comments/47.aspx</wfw:comment>
            <comments>http://dugaldwilson.com/dugald/archive/2008/11/17/RDU-Code-Camp-Thanks.aspx#feedback</comments>
            <wfw:commentRss>http://dugaldwilson.com/dugald/comments/commentRss/47.aspx</wfw:commentRss>
        </item>
        <item>
            <title>RDU Code Camp</title>
            <link>http://dugaldwilson.com/dugald/archive/2008/11/10/RDU-Code-Camp.aspx</link>
            <description>&lt;a href="javascript:void(0);/*1226336627826*/"&gt;RDU Code Camp&lt;/a&gt; is this Saturday, Nov 15, from 8:15am to 5pm. Door open at 7:30am.&lt;br /&gt;
&lt;br /&gt;
It promises to be a great day &lt;a href="javascript:void(0);/*1226336601132*/"&gt;full of developer-oriented content&lt;/a&gt;. In addition, there will be an Open Spaces, and an XBox 360 for playing Rock Band! Lunch will be provided, and there are prizes at the end - hope to see you there!&lt;img src="http://dugaldwilson.com/dugald/aggbug/45.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dugald Wilson</dc:creator>
            <guid>http://dugaldwilson.com/dugald/archive/2008/11/10/RDU-Code-Camp.aspx</guid>
            <pubDate>Mon, 10 Nov 2008 17:04:42 GMT</pubDate>
            <wfw:comment>http://dugaldwilson.com/dugald/comments/45.aspx</wfw:comment>
            <comments>http://dugaldwilson.com/dugald/archive/2008/11/10/RDU-Code-Camp.aspx#feedback</comments>
            <wfw:commentRss>http://dugaldwilson.com/dugald/comments/commentRss/45.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Microsoft and jQuery</title>
            <link>http://dugaldwilson.com/dugald/archive/2008/09/29/Microsoft-and-jQuery.aspx</link>
            <description>&lt;br /&gt;
There have been numerous postings announcing that Microsoft is going to start shipping &lt;a href="javascript:void(0);/*1222705854042*/"&gt;jQuery &lt;/a&gt;alongside Visual Studio. If you haven't read about this already, see &lt;a href="javascript:void(0);/*1222705826427*/"&gt;Scott Guthrie's post&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
This is wonderful news for the developer community for many reasons.&lt;br /&gt;
&lt;br /&gt;
First, the acceptance of jQuery by Microsoft should be contagious. A lot of large enterprise organizations get their software from Microsoft, and their software tools from Microsoft. The rule in those circles seems to be "No one ever got fired for using Microsoft", and so, Microsoft tools tend to dominate the short list of what can be used in an enterprise environment. With Microsoft shipping and supporting jQuery, these developers should be able to get the buy-in from management that they need to start using jQuery.&lt;br /&gt;
&lt;br /&gt;
Second, Microsoft has, in a big way, included the developer community in their path forward, and embraced existing Open source software.  Microsoft has a long history of having a competing product in every market space, from web browsers and search, to video game machines and mp3 players. This seemed to have extended to the developer division, too, as MSTest and Entity Framework came in as competing offerrings. With jQuery, they are jumping in and providing support to their customers who use it, and planning to contribute tests, bug fixes, and patches back to the jQuery project. This is an exciting step forward, and leaves me optimistic about the future of Microsoft's relationship with Open Source and the developer community.&lt;img src="http://dugaldwilson.com/dugald/aggbug/44.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dugald Wilson</dc:creator>
            <guid>http://dugaldwilson.com/dugald/archive/2008/09/29/Microsoft-and-jQuery.aspx</guid>
            <pubDate>Mon, 29 Sep 2008 16:32:18 GMT</pubDate>
            <wfw:comment>http://dugaldwilson.com/dugald/comments/44.aspx</wfw:comment>
            <comments>http://dugaldwilson.com/dugald/archive/2008/09/29/Microsoft-and-jQuery.aspx#feedback</comments>
            <wfw:commentRss>http://dugaldwilson.com/dugald/comments/commentRss/44.aspx</wfw:commentRss>
        </item>
        <item>
            <title>RDU CodeCamp is Looking for Speakers</title>
            <link>http://dugaldwilson.com/dugald/archive/2008/09/18/RDU-CodeCamp-is-Looking-for-Speakers.aspx</link>
            <description>&lt;br /&gt;
RDU CodeCamp is coming! &lt;br /&gt;
&lt;br /&gt;
Nov 15, 2008 at ECPI in Raleigh we will be having the RDU CodeCamp.  Registration will be coming soon.&lt;br /&gt;
&lt;br /&gt;
Currently, we are actively seeking speakers! If you are interested in speaking at RDU CodeCamp please drop us a line at &lt;a href="javascript:void(0);/*1221752358778*/"&gt;http://www.codecamp.org/Speakers.aspx&lt;/a&gt; - We would love to hear from you.&lt;img src="http://dugaldwilson.com/dugald/aggbug/43.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dugald Wilson</dc:creator>
            <guid>http://dugaldwilson.com/dugald/archive/2008/09/18/RDU-CodeCamp-is-Looking-for-Speakers.aspx</guid>
            <pubDate>Thu, 18 Sep 2008 15:44:34 GMT</pubDate>
            <wfw:comment>http://dugaldwilson.com/dugald/comments/43.aspx</wfw:comment>
            <comments>http://dugaldwilson.com/dugald/archive/2008/09/18/RDU-CodeCamp-is-Looking-for-Speakers.aspx#feedback</comments>
            <wfw:commentRss>http://dugaldwilson.com/dugald/comments/commentRss/43.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Coding Less</title>
            <link>http://dugaldwilson.com/dugald/archive/2008/09/17/Coding-Less.aspx</link>
            <description>Yesterday I had a live production app start suddenly raising errors after being in fine shape for over a year. In digging into the code to see the guts of the error, I found this:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New;"&gt;if (Session["PhaseTypeID"].ToString() == ((int)Enums.PhaseType.Study).ToString())&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The session variable isn't being tested for null in this case, it is being used via the toString() call, so when it is null, as in this case, it throws an "Object reference not set exception".&lt;br /&gt;
&lt;br /&gt;
When confronted by code this wrong, there is an overpowering urge to fix it. In my case, I was ready to pull the session vars into the base classes as properties, and add all the error checking there, keeping them contained, and then tidying up the page.&lt;br /&gt;
&lt;br /&gt;
There are two big things wrong with this approach:&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;The code has been working fine for over a year, so the root cause of the problem seen is probably not the code, but more likely an environmental change.&lt;/li&gt;
    &lt;li&gt;There are no tests around the functionality, so the refactoring would be done without a verifiable way to tell if the changes broke any functionality.&lt;br /&gt;
    &lt;/li&gt;
&lt;/ul&gt;
Given those two arguments, the best plan of action is to change as little as possible to resolve the issue. I scrapped my planned changes and investigated the environment, discovering another app that was also running into session errors. The load balancer was no longer setting affinity, so requests could ping-pong from server to server, quite easily losing session state.&lt;br /&gt;
&lt;br /&gt;
So now, the load balancer is fixed, and all is well.  The next batch of  code changes include setting the web.config to use StateServer for session state, which will help insulate the application should the load balancer misbehave again.&lt;br /&gt;
&lt;br /&gt;
For the planned code changes, we will begin by wrapping tests around the pieces we want to fix, and then start carefully refactoring.&lt;img src="http://dugaldwilson.com/dugald/aggbug/42.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dugald Wilson</dc:creator>
            <guid>http://dugaldwilson.com/dugald/archive/2008/09/17/Coding-Less.aspx</guid>
            <pubDate>Wed, 17 Sep 2008 14:17:59 GMT</pubDate>
            <wfw:comment>http://dugaldwilson.com/dugald/comments/42.aspx</wfw:comment>
            <comments>http://dugaldwilson.com/dugald/archive/2008/09/17/Coding-Less.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://dugaldwilson.com/dugald/comments/commentRss/42.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>
