<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>Contracting</title>
        <link>http://geekswithblogs.net/geekusconlivus/category/1771.aspx</link>
        <description>Dealing with the question of, how do you get companies to line up, in order to get the chance to pay you $225 dollars an hour?</description>
        <language>en-US</language>
        <copyright>Malcolm Anderson</copyright>
        <managingEditor>malcolm.b.anderson@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>Scrum won't help the nosey CEO</title>
            <link>http://geekswithblogs.net/geekusconlivus/archive/2009/09/09/scrum-wont-help-the-nosey-ceo.aspx</link>
            <description>I've seen it come up in discussion groups time after time, the management wants to measure productivity in their development team and developers just want to be left alone to code.  Recently some one asked:&lt;br /&gt;
&lt;br /&gt;
&amp;gt; Maybe it's also time for a frank discussion of "What does the CEO&lt;br /&gt;
&amp;gt; *really* need" for visibility?  Is it really metrics that do not make&lt;br /&gt;
&amp;gt; any sense (and costs a lot to collect)?&lt;br /&gt;
&lt;br /&gt;
No, it's time that we turn this question on it's head, because it's not "What does the CEO *really* need" for visibility?.  The CEO's job is to maximize profits for the shareholders, anything else is a dereliction of their duties, he or she really *does* need visibility.  &lt;br /&gt;
&lt;br /&gt;
The question is, how can we turn the development team into a profit center?  This is an ongoing issue in the corporate world where IT typically falls under the CFO rather than the CEO.&lt;br /&gt;
&lt;br /&gt;
We as development staff have to remember, CEO's care about raising profits, CFO,s care about cutting costs.  We as development staff have trained CxO's that software is unpredictable and mysterious, so naturally, they apply dilbert-esq techniques to it hoping to fix it.&lt;br /&gt;
&lt;br /&gt;
Maybe it's time for a frank discussion of "What can we do to help the CEO with his or her goals of increasing company profits?"  &lt;br /&gt;
&lt;br /&gt;
Scrum is not going to help the CEO, at least not directly, but if you have an agile coach helping developers to start taking the profit question seriously then scrum could provide a fast road to moving software development out of the shadows and into the strategy sessions where it belongs in an information age.&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134580"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134580" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/geekusconlivus/aggbug/134580.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Malcolm Anderson</dc:creator>
            <guid>http://geekswithblogs.net/geekusconlivus/archive/2009/09/09/scrum-wont-help-the-nosey-ceo.aspx</guid>
            <pubDate>Wed, 09 Sep 2009 16:02:03 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/geekusconlivus/comments/134580.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/geekusconlivus/archive/2009/09/09/scrum-wont-help-the-nosey-ceo.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/geekusconlivus/comments/commentRss/134580.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/geekusconlivus/services/trackbacks/134580.aspx</trackback:ping>
        </item>
        <item>
            <title>Can anyone give me a better explanation?</title>
            <link>http://geekswithblogs.net/geekusconlivus/archive/2007/07/19/114060.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;I'm not sure who sold the Federal and State government on the idea that "restricting all employee's email to MS Outlook is an effective counter to computer viruses." or "Allowing gmail, hotmail, or yahoo mail is an open invitation to computer viruses".  I'm thinking that the marketing department in the "MS" of "MS Outlook" might be a good starting point to look.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Both thoughts have rendered &lt;font face="Arial"&gt;me temporarily speechless&lt;/font&gt;.  Perhaps because both thoughts make as much sense to me as, "Eating apples is the only way to effectively protect your crops from rabbits".  &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;The speechless problem in both cases (once in a federal agency, and once in a state agency) seems to be related to the fact that I didn't have any response other than, “That’s really funny” followed by "Are you completely stupid?" when I realized they weren’t joking.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;I’m guessing that, both times, my inability to speak may have been indicative of my job survival gene kicking in, but I can’t be sure of that.&lt;br /&gt;
 &lt;br /&gt;
Can someone check me on this?  Last I knew, MS Outlook was not proof against social engineering, and that during that last decade, the major e-mail pathogens have mostly used some flavor of MS Outlook as their primary transport vector.  &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Does MS Outlook have some kind of security feature I don’t know about?&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=114060"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=114060" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/geekusconlivus/aggbug/114060.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Malcolm Anderson</dc:creator>
            <guid>http://geekswithblogs.net/geekusconlivus/archive/2007/07/19/114060.aspx</guid>
            <pubDate>Thu, 19 Jul 2007 19:00:21 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/geekusconlivus/comments/114060.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/geekusconlivus/archive/2007/07/19/114060.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/geekusconlivus/comments/commentRss/114060.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/geekusconlivus/services/trackbacks/114060.aspx</trackback:ping>
        </item>
        <item>
            <title>Programmers and Capitalism - The $10,000,000 question</title>
            <link>http://geekswithblogs.net/geekusconlivus/archive/2007/07/13/113921.aspx</link>
            <description>&lt;p&gt;My friend &lt;a href="http://blogs.msdn.com/nickmalik"&gt;Nick Malik&lt;/a&gt; recently posted about &lt;a href="http://blogs.msdn.com/nickmalik/archive/2007/07/12/random-thought-on-ethics-and-rights.aspx"&gt;programming, contracting and pay&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There's a book here somewhere, but sadly it has no audience, and therefore not worth writing.  &lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;font face="Arial"&gt;Programmers seem to have a genetic defect when it comes to understanding the relationship between their efforts and their pay.  It's not going to happen, they don't want to, and you can't make me.&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Personally, I think that it's a crime that &lt;a href="http://www.amazon.com/Serf-Surfer-Becoming-Network-Consultant/dp/0782126618"&gt;"From Serf to Surfer"&lt;/a&gt; is out of print.  It was one of the best consulting "pull yourself up by the boot-strap" books I've ever read.  The advice is relevant to ANY consultant in ANY field.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Programmers seem to understand that "my work is worth $x.xx an hour" but they do not understand the WHY behind it.  &lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Here's a quick little story problem to test your job worth intelligence.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Let's imagine that company JKL has a particular job function (FooBar) that has to be done.  That job function will have to be done for at least the next 6 years.  The FooBar job function is so important that there's even a FooBar department.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;JKL's FooBar department has 100 dedicated people doing the FooBar job.  Every one in that department makes $50K annually.  &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;JKL access to a consulting group which offers a tiger team of 5 expensive programmers, each of whom cost $200K annually, and have track record of completing their projects on time and on budget.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;The tiger team says that they can, in 1 year, automate the FooBar department such that the department can effectively cut %50 percent of it's staff at the end of the project.   &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;The tiger team has one other condition, on successful completion of the project; each programmer will get an additional $100,000 a year for the next 5 years regardless of their employment status with the consulting company.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Assuming that the programmers will be successful, and that JKL stays in business for at least the next 6 years, should the company hire the tiger team, and if so, just how much is this project worth to JKL?&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113921"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113921" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/geekusconlivus/aggbug/113921.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Malcolm Anderson</dc:creator>
            <guid>http://geekswithblogs.net/geekusconlivus/archive/2007/07/13/113921.aspx</guid>
            <pubDate>Fri, 13 Jul 2007 18:06:26 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/geekusconlivus/comments/113921.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/geekusconlivus/archive/2007/07/13/113921.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/geekusconlivus/comments/commentRss/113921.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/geekusconlivus/services/trackbacks/113921.aspx</trackback:ping>
        </item>
        <item>
            <title>Good Bye TDD</title>
            <link>http://geekswithblogs.net/geekusconlivus/archive/2007/06/15/113255.aspx</link>
            <description>&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Times New Roman" size="3"&gt;Have y&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;ou seen the new buzz phrase for TDD?&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Pretty much, they just changed the name from Test Driven Development, to Behavior Driven Development.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Times New Roman" size="3"&gt;It's an NLP experiment that I'm looking forward to seeing fleshed out.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Times New Roman" size="3"&gt;Long story short, the problem with TDD is the word "Test"... *WAY* too much baggage, and charge on that one single word.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Times New Roman" size="3"&gt;Consider:&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Times New Roman" size="3"&gt;"Testing your code is a good if you're a new programmer"&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Times New Roman" size="3"&gt;"Our department does testing at the end of a project ... if there's time"&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Times New Roman" size="3"&gt;"I'm a developer, I don't get paid to do tests"&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Times New Roman" size="3"&gt;"As a tester, I believe that most developers couldn't write a good test if their lives depended on it"&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Times New Roman" size="3"&gt;Here's the two links that I think are the most concise summations of BDD.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;a href="http://behaviour-driven.org/Introduction"&gt;http://behaviour-driven.org/Introduction&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;a href="http://behaviour-driven.org/GettingTheWordsRight"&gt;http://behaviour-driven.org/GettingTheWordsRight&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Times New Roman" size="3"&gt;I don't think its ready for prime time yet, and the .net version is certainly no replacement for NUnit, *but* I think that this minor tweak can solve a lot of the communication issues that hinder adoption of TDD in the enterprise.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113255"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113255" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/geekusconlivus/aggbug/113255.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Malcolm Anderson</dc:creator>
            <guid>http://geekswithblogs.net/geekusconlivus/archive/2007/06/15/113255.aspx</guid>
            <pubDate>Fri, 15 Jun 2007 17:44:52 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/geekusconlivus/comments/113255.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/geekusconlivus/archive/2007/06/15/113255.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/geekusconlivus/comments/commentRss/113255.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/geekusconlivus/services/trackbacks/113255.aspx</trackback:ping>
        </item>
        <item>
            <title>Alex, I'll take "Google Key Words" for 1000</title>
            <link>http://geekswithblogs.net/geekusconlivus/archive/2007/06/14/113230.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;We've got a custom control that consists of 2 radio buttons, a "normal button", and a text box, all on a single line.&lt;br /&gt;
Internal to the control, I have all 4 of member controls lined up so that all the text is on one line.&lt;br /&gt;
So far, so good.  Except for one thing.&lt;br /&gt;
When I put my control on my form, I can not get the text on my form to line up with the text on my label, and I end up manually futzing it into something that resembles "it's place".  Where are my alignment functions?&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;I guess it's off to google.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;My first google search was&lt;br /&gt;
 forms align text .net&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;This didn't get me anything useful, but I did get some stuff from asp.net.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Let's try requiring both "forms" and "align"&lt;br /&gt;
 +forms +align text .net&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;That didn't help either, people with questions, but no answers&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Next I tried&lt;br /&gt;
 how do I align my textbox with my custom control&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;And got an interesting hit down at #6&lt;br /&gt;
"SnapLines not honored during resize." and the body says&lt;br /&gt;
"I have a custom control that contains a textbox. It has two ... the name string (based on the MeasureString length) and my Right snap ... "&lt;br /&gt;
let's go look at it.&lt;/font&gt;&lt;/p&gt;
&lt;font face="Arial"&gt;
&lt;p&gt;&lt;br /&gt;
http://www.devnewsgroups.net/group/microsoft.public.dotnet.framework.windowsforms/topic62981.aspx&lt;br /&gt;
well, would you look at that ... snaplines, is that a new keyword?  I go and check out the post.&lt;br /&gt;
ravi.s.desai@gmail.com seems to be having the same problem I am, I have a custom control that is just a collection of windows controls, but I can't align them.&lt;br /&gt;
As he puts it, &lt;br /&gt;
"Actually, to simplify the above, it appears that when you are resizing&lt;br /&gt;
a control, all snaplines  defined in the designer are completely&lt;br /&gt;
ignored, and the designer simply creates a snap-line for the edge of&lt;br /&gt;
the control that you are dragging, and uses that exclusively.  Is this&lt;br /&gt;
by design?  It certainly seems to limit the value of snaplines for&lt;br /&gt;
layout."&lt;/p&gt;
&lt;p&gt;At this point, I stop, and write up the progress of my research up to this point.&lt;/p&gt;
&lt;p&gt;Hopefully, the new keyword (snaplines) &lt;br /&gt;
a) actually is a keyword&lt;br /&gt;
b) produces fruit&lt;/p&gt;
&lt;p&gt;Into google goes the phrase&lt;br /&gt;
snaplines custom control&lt;/p&gt;
&lt;p&gt;The first choice is&lt;br /&gt;
"Using SnapLines from child controls of custom user control? - MSDN ..."&lt;/p&gt;
&lt;p&gt;Which seems to indicate that while what I want to do, *can* be done, it's not simple, easy, or intuitive.&lt;/p&gt;
&lt;p&gt;Now I have to ask the question, is this worth my time.&lt;/p&gt;
&lt;p&gt;Answer, not in the short run, but definitely in the long run.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;I'll be back...&lt;/p&gt;
&lt;/font&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113230"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113230" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/geekusconlivus/aggbug/113230.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Malcolm Anderson</dc:creator>
            <guid>http://geekswithblogs.net/geekusconlivus/archive/2007/06/14/113230.aspx</guid>
            <pubDate>Thu, 14 Jun 2007 16:23:32 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/geekusconlivus/comments/113230.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/geekusconlivus/archive/2007/06/14/113230.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/geekusconlivus/comments/commentRss/113230.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/geekusconlivus/services/trackbacks/113230.aspx</trackback:ping>
        </item>
        <item>
            <title>Starting your own brown-bag study group</title>
            <link>http://geekswithblogs.net/geekusconlivus/archive/2007/05/09/112380.aspx</link>
            <description>&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;At my current assignment I'm in the process of starting a brown-bag study group.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Calibri" size="3"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Calibri" size="3"&gt;Here's the announcement I sent out to all the relevant parties I could think of at my work.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Calibri" size="3"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Calibri" size="3"&gt;********************************************************&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Next Thursday (May 17&lt;sup&gt;th&lt;/sup&gt;) we’re kicking off a lunch time study group for anyone who is interested. &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Calibri" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;We’re going to be starting with “The Pragmatic Programmer: from journeyman to master” by Andrew Hunt and David Thomas.&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Calibri" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;This is one of those books that seems to stay at the top of the industry “must read” lists, (right there next to “mythical man month”).&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Calibri" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;So if you’ve always wanted to read this book, and needed a good excuse, show up next Thursday in the &amp;lt;our lunch room&amp;gt; with your lunch, and we’ll go from there.&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Calibri" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Malcolm&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Calibri" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Ps, we recommend you obtain and bring your copy of TPP to this kickoff event.&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Calibri" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;o:p&gt;&lt;font face="Calibri" size="3"&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Calibri" size="3"&gt;********************************************************&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt; &lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;This is giving me a week to figure out how to facilitate an in house study group.  Has anyone else had any experience with starting something like this?&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt; &lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Any pitfalls I should watch out for?  &lt;/p&gt;
&lt;/font&gt;&lt;/o:p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112380"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112380" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/geekusconlivus/aggbug/112380.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Malcolm Anderson</dc:creator>
            <guid>http://geekswithblogs.net/geekusconlivus/archive/2007/05/09/112380.aspx</guid>
            <pubDate>Thu, 10 May 2007 02:34:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/geekusconlivus/comments/112380.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/geekusconlivus/archive/2007/05/09/112380.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/geekusconlivus/comments/commentRss/112380.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/geekusconlivus/services/trackbacks/112380.aspx</trackback:ping>
        </item>
        <item>
            <title>The Perils of Pre-Optimization</title>
            <link>http://geekswithblogs.net/geekusconlivus/archive/2007/02/15/106411.aspx</link>
            <description>&lt;P&gt;More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason - including blind stupidity.&lt;BR&gt;Wulf, W. A. "A Case Against the GOTO," Proceedings of the 25th National ACM Conference, August 1972, pp. 791-97.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;I came across this quote this morning and had to throw it back out into the wild.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;I have run into people who, when given a choice between&amp;nbsp;making their code more&amp;nbsp;readable vs.&amp;nbsp;shaving&amp;nbsp;a millisecond off the running time of a particular process are confused by anyone who would go for readability.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;Now to their credit, these same people are used to working deep in the bowels of production loops, where shaving a millisecond off of a process will compound to a point of saving hours of processing time a day.&amp;nbsp; It really is a big thing where they come from, but when they enter my world, that of business software, they go insane at my complete and utter lack of care for their milliseconds.&amp;nbsp; Granted, my users don't want to wait any longer than they have to for the response to their query, but when response time is measured in seconds, a millisecond here or there really isn't going to make any difference.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=106411"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=106411" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/geekusconlivus/aggbug/106411.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Malcolm Anderson</dc:creator>
            <guid>http://geekswithblogs.net/geekusconlivus/archive/2007/02/15/106411.aspx</guid>
            <pubDate>Thu, 15 Feb 2007 13:52:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/geekusconlivus/comments/106411.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/geekusconlivus/archive/2007/02/15/106411.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/geekusconlivus/comments/commentRss/106411.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/geekusconlivus/services/trackbacks/106411.aspx</trackback:ping>
        </item>
        <item>
            <title>Those darn sales skills again</title>
            <link>http://geekswithblogs.net/geekusconlivus/archive/2006/10/03/93095.aspx</link>
            <description>&lt;P&gt;I'm convinced that our profession (IT in general, and software in the specific) is filled with people who do not want to be bothered by that pesky question of, &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;#8220;Where exactly does the money come from that fills your paycheck?&amp;#8221;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Our lack of interest in all things &amp;#8220;sales&amp;#8221; hurts us in what we do.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm not sure where to take this though, the people who understand what sales really is say, &amp;#8220;Preach On, Brother&amp;#8221;, and everyone else just kind of rolls their eyes, comments on what an idiot I am, and then goes back to their job that is paying 70% of industry standard.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is it really a case, where the people who care, already care, and the people who don't, never will?&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=93095"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=93095" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/geekusconlivus/aggbug/93095.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Malcolm Anderson</dc:creator>
            <guid>http://geekswithblogs.net/geekusconlivus/archive/2006/10/03/93095.aspx</guid>
            <pubDate>Wed, 04 Oct 2006 02:57:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/geekusconlivus/comments/93095.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/geekusconlivus/archive/2006/10/03/93095.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/geekusconlivus/comments/commentRss/93095.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/geekusconlivus/services/trackbacks/93095.aspx</trackback:ping>
        </item>
        <item>
            <title>My Session was small, but it rocked</title>
            <link>http://geekswithblogs.net/geekusconlivus/archive/2006/07/24/86104.aspx</link>
            <description>&lt;P&gt;Friday night, my presentation congealed into garbage.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This was not a good thing.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I had to skip Jeff Levinson's &amp;#8220;Test Driven Development with Team System&amp;#8221; in order to work on my presentation.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I was competing with &amp;#8220;Poker Bots for Fun and Profit&amp;#8221;, with Jeff Berkowitz, Stuart Celariar's &amp;#8220;Understanding Subversion&amp;#8220;,&amp;nbsp;Rory's &amp;#8220;An introduction to WCF for the complete beginner&amp;#8220;and 4 others.&amp;nbsp; There was a part of me that was hoping that no one would show up, because then I could go see one of the other presentations, and another part of me wanted a ton of people.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I ended up with 4 people in my session, of which one of them was Chris Kinsman.&amp;nbsp; When he said it, I was sure I knew that name, then it hit me, &amp;#8220;were you on DotNetRocks about 10 months ago?&amp;#8221;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.dotnetrocks.com/default.aspx?showID=124"&gt;And of course he said &amp;#8220;Yes&amp;#8221;.&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;crap.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I also had Chris Tavares, who just got hired on at Microsoft over at the patterns and practices group.&lt;/P&gt;
&lt;P&gt;double crap.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;These people knew what they were doing, why were they here. crap, crap, crap.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also in the room were 2 people who were working on projects that needed exactly what I was selling.&amp;nbsp; They were working on projects where the unit testing either wasn't happening, or they were completely bogged down in dependencies.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What came out of my session, besides the feeling of triumph for setting out to do, and completing, my first conference talk, were a couple of things.&amp;nbsp; The two people who needed the techniques got good value, I know this because I asked.&amp;nbsp; The two people who more than knew what they were doing, provided me with great feed back.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.springframework.net"&gt;The first thing is that there is this Dependency Injection Framework, called Spring, (and in our case Spring.net), and they were expecting that I was going to be doing that talk.&lt;/A&gt;&amp;nbsp; I've been looking into spring.net, and I'm kind of excited about it, looks cool, but I'm not yet, real clear on how it does what it does.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Second thing was that my &amp;#8220;simple sample app&amp;#8221; needed to still be MUCH simpler, and then I needed to walk through the process of creating my stub.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Finally, I needed to explain my constraints, which was &lt;/P&gt;
&lt;P&gt;A) Working in a shared library, where interface changes were outside of the scope of the program.&lt;/P&gt;
&lt;P&gt;B) That it was aimed at working with Legacy code.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=86104"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=86104" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/geekusconlivus/aggbug/86104.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Malcolm Anderson</dc:creator>
            <guid>http://geekswithblogs.net/geekusconlivus/archive/2006/07/24/86104.aspx</guid>
            <pubDate>Mon, 24 Jul 2006 10:49:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/geekusconlivus/comments/86104.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/geekusconlivus/archive/2006/07/24/86104.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/geekusconlivus/comments/commentRss/86104.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/geekusconlivus/services/trackbacks/86104.aspx</trackback:ping>
        </item>
        <item>
            <title>I need input on Unit Testing Architecture</title>
            <link>http://geekswithblogs.net/geekusconlivus/archive/2006/07/19/85674.aspx</link>
            <description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;How do you set up your classes, and your file structures?&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Below is a 1 sheet &amp;#8220;handout&amp;#8220; that I'm preparing for my talk on Saturday.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;It's really more of a handful of thoughts about how I want to do things rather than a suggestion.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Tools and methods I want all my classes to have.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Given Class Foo (and instatiation of myFoo)&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;myFoo.SaveSelfToDisk(&amp;#8220;filepath.format&amp;#8221;)&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;myFoo.LoadSelfFromDisk(&amp;#8220;filepath.format)&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Foo newFoo = myFoo.Clone()&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Bool areEquals = (myFoo.IsEqualTo(newFoo)&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;An interface for Foo&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;A stub_Foo class that implements the IFoo interface &lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;The stub should give ExceptionNotImplemented errors on methods not used.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;The stub should be able to throw any exception that Foo can throw&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Unit Tests for Class Foo&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;A factory somewhere that generates an IFoo object&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Which bring us to architecture, should it be ( A )&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Solution&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;Foo&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Foo.vb&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;IFoo.vb&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Stub_Foo.vb&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;UnitTests&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;UnitTests_Foo.vb&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Or Should it be ( B )&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Solution&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;Foo&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Foo.vb&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;Interfaces&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;IFoo.vb&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;Stubs&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Stub_Foo.vb&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;UnitTests&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;UnitTests_Foo.vb&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;I think I would look at B as a direction to go to, but that A would be a more expected start in a legacy app.&lt;/o:p&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=85674"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=85674" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/geekusconlivus/aggbug/85674.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Malcolm Anderson</dc:creator>
            <guid>http://geekswithblogs.net/geekusconlivus/archive/2006/07/19/85674.aspx</guid>
            <pubDate>Wed, 19 Jul 2006 10:47:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/geekusconlivus/comments/85674.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/geekusconlivus/archive/2006/07/19/85674.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/geekusconlivus/comments/commentRss/85674.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/geekusconlivus/services/trackbacks/85674.aspx</trackback:ping>
        </item>
    </channel>
</rss>