<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-10748614</id><updated>2009-11-25T11:30:34.563-05:00</updated><title type='text'>FrazzledDad</title><subtitle type='html'>Bleary-eyed ruminations of a work at home Father.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default?start-index=26&amp;max-results=25'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1013</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-10748614.post-5809494316054654987</id><published>2009-11-20T07:29:00.001-05:00</published><updated>2009-11-20T07:35:31.803-05:00</updated><title type='text'>Displaying the Document Properties Toolbar in Office Documents</title><content type='html'>&lt;p&gt;The Document Property bar in Office 2007 is handy, particularly if you’re working with SharePoint document libraries and have added some custom columns. Those show up as nifty properties in your document, like so:&lt;/p&gt;  &lt;p&gt;&lt;img src="http://farm3.static.flickr.com/2672/4117634169_d2ccc75037_o.png" /&gt;&lt;/p&gt;  &lt;p&gt;Unfortunately, if you close the property bar it’s not very intuitive on how to get it open again. Use &lt;strong&gt;Office | Prepare | Document Properties&lt;/strong&gt; to get it back. Yeah, that Properties command is under “Prepare.” UI Fail, but there you have it.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://farm3.static.flickr.com/2552/4117652705_8d2f593c01_o.png" width="321" height="280" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;(Posted because I continually forget how to get the properties bar back.)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-5809494316054654987?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/5809494316054654987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=5809494316054654987' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/5809494316054654987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/5809494316054654987'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/11/displaying-document-properties-toolbar.html' title='Displaying the Document Properties Toolbar in Office Documents'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-3801319842694774182</id><published>2009-11-16T17:33:00.001-05:00</published><updated>2009-11-16T23:06:26.849-05:00</updated><title type='text'>Automate Activation/Deactivation of SharePoint Features</title><content type='html'>&lt;p&gt;Click, wait, click, click, wait, click, wait, wait, click, wait, … Life as someone working with SharePoint development when you’re trying to update features you’re working on or testing. It sucks.&lt;/p&gt;  &lt;p&gt;Here’s a little Watir on Ruby script to ease your pain. You can launch this from the command line with a “-a” or “-d” arg to activate or deactivate. Edit the @siteroot and @*Features variables to match your needs.&lt;/p&gt;  &lt;p&gt;This uses some XPath-fu to find the &lt;strong&gt;Activate&lt;/strong&gt; or &lt;strong&gt;Deactivate&lt;/strong&gt; button for the feature named in the two *Features variables.&lt;/p&gt;  &lt;p&gt;No, it’s not pretty. Yes, there are &amp;lt;x&amp;gt; different more betterer ways it could be done. It skinned the cat I needed skinned and I’m happy.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;UPDATED:&lt;/strong&gt; Refactored it a bit.&lt;/p&gt;  &lt;pre class="csharpcode"&gt;require &lt;span class="str"&gt;'watir'&lt;/span&gt;&lt;br /&gt;require &lt;span class="str"&gt;'optparse'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;@siteroot = &lt;span class="str"&gt;&amp;quot;http://w2k3rs/&amp;quot;&lt;/span&gt;&lt;br /&gt;@collectionFeatures = [ &lt;span class="str"&gt;&amp;quot;Telligent Enterprise Menu Items&amp;quot;&lt;/span&gt;,&lt;br /&gt;            &lt;span class="str"&gt;&amp;quot;Telligent Enterprise WebParts&amp;quot;&lt;/span&gt;]&lt;br /&gt;@siteFeatures = [&lt;span class="str"&gt;&amp;quot;SharePoint Integration for Telligent Enterprise&amp;quot;&lt;/span&gt;,&lt;br /&gt;            &lt;span class="str"&gt;&amp;quot;Telligent Enterprise Search Replacement for WSS v3&amp;quot;&lt;/span&gt; ]&lt;br /&gt;&lt;br /&gt;$options = {}&lt;br /&gt;&lt;br /&gt;opts = OptionParser.&lt;span class="kwrd"&gt;new&lt;/span&gt; &lt;br /&gt;opts.banner = &lt;span class="str"&gt;&amp;quot;Usage: SpiFeatures [$options]&amp;quot;&lt;/span&gt;&lt;br /&gt;    &lt;br /&gt;$options[:activate] = &lt;span class="kwrd"&gt;false&lt;/span&gt;&lt;br /&gt;opts.on( &lt;span class="str"&gt;&amp;quot;-a&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;--activate&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Activate SharePoint Integration&amp;quot;&lt;/span&gt; ) &lt;span class="kwrd"&gt;do&lt;/span&gt;&lt;br /&gt;    $options[:activate] = &lt;span class="kwrd"&gt;true&lt;/span&gt;&lt;br /&gt;end&lt;br /&gt;$options[:deactivate] = &lt;span class="kwrd"&gt;false&lt;/span&gt;&lt;br /&gt;opts.on( &lt;span class="str"&gt;&amp;quot;-d&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;--deactivate&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Deactivate SharePoint Integration&amp;quot;&lt;/span&gt; ) &lt;span class="kwrd"&gt;do&lt;/span&gt;&lt;br /&gt;    $options[:deactivate] = &lt;span class="kwrd"&gt;true&lt;/span&gt;&lt;br /&gt;end&lt;br /&gt;opts.parse(ARGV)    &lt;br /&gt;   &lt;br /&gt;&lt;br /&gt;$action = &lt;span class="str"&gt;&amp;quot;Activate&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; $options[:activate]&lt;br /&gt;$action = &lt;span class="str"&gt;&amp;quot;Deactivate&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; $options[:deactivate]&lt;br /&gt;&lt;br /&gt;$browser = Watir::Browser.start @siteroot + &lt;span class="str"&gt;&amp;quot;/_layouts/ManageFeatures.aspx?Scope=Site&amp;quot;&lt;/span&gt;&lt;br /&gt;$browser.speed = :fast&lt;br /&gt;&lt;br /&gt;def toggle_feature(feature)&lt;br /&gt;    $browser.button(:xpath, &lt;br /&gt;        &lt;span class="str"&gt;&amp;quot;//table[@class='ms-propertysheet']//table//table//tr[td[h3[contains(.,'&amp;quot;&lt;/span&gt; + &lt;br /&gt;        feature +&lt;br /&gt;        &lt;span class="str"&gt;&amp;quot;')]]]/../../../..//input[@value='&amp;quot;&lt;/span&gt; + &lt;br /&gt;        $action + &lt;span class="str"&gt;&amp;quot;']&amp;quot;&lt;/span&gt;).click&lt;br /&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; $options[:deactivate] then &lt;br /&gt;        $browser.link(:text, &lt;span class="str"&gt;&amp;quot;Deactivate this feature&amp;quot;&lt;/span&gt;).click &lt;br /&gt;    end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;@collectionFeatures.each &lt;span class="kwrd"&gt;do&lt;/span&gt; |@feature|&lt;br /&gt;    toggle_feature(@feature)&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;$browser.&lt;span class="kwrd"&gt;goto&lt;/span&gt;(@siteroot + &lt;span class="str"&gt;&amp;quot;/_layouts/ManageFeatures.aspx&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;@siteFeatures.each &lt;span class="kwrd"&gt;do&lt;/span&gt; |@feature|&lt;br /&gt;    toggle_feature(@feature)&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;$browser.close&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;style type="text/css"&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;style type="text/css"&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-3801319842694774182?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/3801319842694774182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=3801319842694774182' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/3801319842694774182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/3801319842694774182'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/11/automate-activationdeactivation-of.html' title='Automate Activation/Deactivation of SharePoint Features'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-8772263424154810739</id><published>2009-11-02T07:35:00.001-05:00</published><updated>2009-11-02T07:35:34.230-05:00</updated><title type='text'>CodeMash 2010 Registration Open!</title><content type='html'>&lt;p&gt;&lt;a href="http://codemash.org/Register"&gt;Registration for CodeMash 2010&lt;/a&gt; is open!&lt;/p&gt;  &lt;p&gt;Of course I’m biased, but I think &lt;a href="http://codemash.org/Sessions"&gt;the sessions&lt;/a&gt; we’ve got this year are better than ever, and the list of &lt;a href="http://codemash.org/Precompiler"&gt;PreCompiler sessions&lt;/a&gt; is simply insane.&lt;/p&gt;  &lt;p&gt;Keynoters for this year’s conference are Mary Poppendieck, Hank Janssen, and one more amazing guy we’ll be announcing shortly.&lt;/p&gt;  &lt;p&gt;Early bird pricing is $175, good through 30 November after which it jumps to $220. The PreCompiler is $75. The Kalahari is offering its usual amazing value prices of $88 for a “Hut” room. This means you can stay three nights, hit the PreCompiler and the full conference, all for less than $600. I don’t think you can find any &lt;a href="http://is.gd/4GhO2"&gt;better value for a conference&lt;/a&gt;; certainly not any national level conference!&lt;/p&gt;  &lt;p&gt;Go to CodeMash. Just do it.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-8772263424154810739?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/8772263424154810739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=8772263424154810739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/8772263424154810739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/8772263424154810739'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/11/codemash-2010-registration-open.html' title='CodeMash 2010 Registration Open!'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-1233310306275593635</id><published>2009-10-28T21:46:00.001-04:00</published><updated>2009-10-28T21:46:23.822-04:00</updated><title type='text'>Another Free Event: MS Dogfood II Conference</title><content type='html'>&lt;p&gt;The good folks at Microsoft’s Columbus office are putting on the second annual Dogfood conference. It’s a FREE two-day event loaded with content on Silverlight, WPF, SharePoint, SQL Server, Exchange, Azure, F#, Windows 7, and loads of other neat stuff.&lt;/p&gt;  &lt;p&gt;The conference runs 12-13 November at Microsoft’s Columbus office.&lt;/p&gt;  &lt;p&gt;Check out &lt;a href="http://www.jeffblankenburg.com/dogfood/"&gt;the conference’s agenda and register&lt;/a&gt;! (Note that you have to register for both days separately!)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-1233310306275593635?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/1233310306275593635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=1233310306275593635' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/1233310306275593635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/1233310306275593635'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/10/another-free-event-ms-dogfood-ii.html' title='Another Free Event: MS Dogfood II Conference'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-445662938814783432</id><published>2009-10-16T06:13:00.001-04:00</published><updated>2009-10-16T06:13:38.373-04:00</updated><title type='text'>CodeMash Sessions are Live!</title><content type='html'>&lt;p&gt;If you’re not following &lt;a href="http://twitter.com/codemash"&gt;CodeMash&lt;/a&gt; on Twitter, you may have missed the announcement that the &lt;a href="http://codemash.org/Sessions"&gt;session list for CodeMash 2010&lt;/a&gt; is up.&lt;/p&gt;  &lt;p&gt;The selection committee received 450 submissions this year and had an insanely hard time working through them. All 450 were terrific submissions. The committee came up with an awesome lineup! &lt;/p&gt;  &lt;p&gt;Registration for CodeMash will open up shortly, and it will go quickly, so be ready to jump and get in line!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-445662938814783432?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/445662938814783432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=445662938814783432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/445662938814783432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/445662938814783432'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/10/codemash-sessions-are-live.html' title='CodeMash Sessions are Live!'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-54966797205127605</id><published>2009-10-05T12:02:00.001-04:00</published><updated>2009-10-05T12:02:09.669-04:00</updated><title type='text'>Writing a Good Session Abstract</title><content type='html'>&lt;p&gt;If you’ve got a great idea for a conference session, you absolutely have to spend time getting your abstract right before you submit it. Your abstracts really need to pitch to two separate audiences: the selection committee and the attendees themselves. Work &lt;strong&gt;&lt;em&gt;hard&lt;/em&gt;&lt;/strong&gt; to explain the value folks will get from your session.&lt;/p&gt;  &lt;p&gt;Here are some thoughts based on my experience writing a few abstracts.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Align your content with the event.&lt;/strong&gt; Is your session even a good fit for the event you’re submitting it to? I’ve only submitted to one national conference, and I had to really twist around my submissions to make them seemingly fit with the conference. They didn’t. I didn’t get selected. One of the organizers (a good pal) specifically called out the lack of fit as the reason other organizers weren’t interested. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Avoid overly broad sessions.&lt;/strong&gt; “Introduction to .NET 3.5” or “Testing is Great!” might be interesting, but generally speaking they’re way too broad to get much value out of in a 60 or 75 minute session. Focus down on some specific items. Instead of a broad testing talk, narrow it to some tools, like Selenium, or mock or unit test frameworks. Speak to something specific in those. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Titles matter. Really.&lt;/strong&gt; Cool titles like “I am MOSS Tester! And You Can Too!” sound nifty, but they’re often going to lose the selection committees and attendees. Sure, make your title catchy, but make sure it showcases what your session’s about. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Explain what attendees will get out of the session.&lt;/strong&gt; Make it clear what your attendees will learn during your session. “You’ll leave this session with a handle on ways to smooth out your project’s environment” or “This session will show you a great system for boosting customer collaboration and increasing your code’s quality” are good examples. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Give examples of what’s discussed.&lt;/strong&gt; Let attendees know what you’ll be talking about. “This highly interactive session will show you three specific tips: improve your estimation, use a daily standup to keep a close focus on your progress, and work in retrospectives.“ This helps the selection committee understand if the content fits in, and it helps potential attendees see they should be skipping that bogus session on Drag and Drop Driven Development to attend your presentation. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Show some prior feedback on the session.&lt;/strong&gt; Have you given this talk before? If so, try and collect some feedback on the presentation. Twitter’s given me some awesome blurbage I reference in my abstracts. “’&lt;em&gt;I think I've learned more about Fitnesse from Jim than anyone else. :-)&amp;#160; It was a great talk -- standing room only.&lt;/em&gt;’ Michael Eaton, &lt;a href="http://is.gd/2ounG"&gt;http://is.gd/2ounG&lt;/a&gt;” Items like that, particularly ones you can hit via live URLs, give you immense credibility. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Write a concise abstract.&lt;/strong&gt; The one paragraph of your abstract is like the one spoon tasters get at a chili competition. This is hard to do. You need to work &lt;strong&gt;&lt;em&gt;really hard&lt;/em&gt;&lt;/strong&gt; on making the one paragraph highly impactful. Fall right back to your elementary school fundamentals: introduction, body, conclusion. Set a hook with a great opening: “Bugs. Crashes. Malfunctions. Complete meltdowns. We run into difficulties in our work each and every day.” Follow that on with the value propositions to attendees and examples of what’s covered. Finish up with a great closer that will make your attendees’ mouths water, figuratively, at least. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Write a &lt;em&gt;coherent&lt;/em&gt; abstract.&lt;/strong&gt; I’ve been on a number of content selection committees, and I see most CodeMash submissions even though I’m not on its selection committee. I’m always amazed at the handful of unreadable, muddled, flat out awful submissions we get. Spend time to make sure your submission is clear. Don’t bother submitting if you won’t take this step. Tough love, but it’s true: incoherent submissions are nearly always immediately dropped from consideration. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Edit, re-edit, then get it reviewed.&lt;/strong&gt; Write the draft, step away from it, come back and edit it later. Several times. Get the abstract out to your colleagues and friends for their feedback. Iterate through this several times. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Your speaker bio is every bit as important as your abstract, particularly if you’re not well-known by the content selection committee. Writing a great bio is a topic for another post, likely by someone else because I’m contrarian and non-conformist with my bios. Just do me one favor: make sure your bio isn’t longer than your submission…&lt;/p&gt;  &lt;p&gt;Here’s an example of one of my abstracts. Feel free to borrow, copy, or outright steal it and adapt it as you need.&lt;/p&gt;  &lt;blockquote&gt;   &lt;h4&gt;&lt;em&gt;Title: Leadership 101&lt;/em&gt;&lt;/h4&gt;    &lt;p&gt;&lt;em&gt;&lt;b&gt;Abstract:&lt;/b&gt; It doesn’t matter what point you’re at in your career, you need to understand some fundamentals about good leadership. If you’re well into your career you need to know how to get the most out of your teams. If you’re just starting then you need to learn what good leadership looks like – and how to help ensure you’re getting the leadership you and your colleagues need to succeed. In this session you’ll learn basic concepts about respect, responsibility, communication, and teamwork, based on experience drawn from Jim’s years of serving in the military, playing competitive sports, and working in a wide range of jobs.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;&lt;em&gt;Feedback:&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;b&gt;“&lt;/b&gt;I knew Jim Holmes was a good speaker, but holy crap. That's a great way to start a day.” Joe O’Brien, &lt;/em&gt;&lt;a href="http://is.gd/2ovna"&gt;&lt;em&gt;http://is.gd/2ovna&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;“Jim Holmes is a fantastic speaker... Audience is completely engaged in his Leadership 101 talk at #erubycon” Raju Gandhi, &lt;/em&gt;&lt;a href="http://is.gd/2ovxN"&gt;&lt;em&gt;http://is.gd/2ovxN&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-54966797205127605?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/54966797205127605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=54966797205127605' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/54966797205127605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/54966797205127605'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/10/writing-good-session-abstract.html' title='Writing a Good Session Abstract'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-5146414647344123300</id><published>2009-09-29T08:46:00.001-04:00</published><updated>2009-09-29T08:46:15.790-04:00</updated><title type='text'>Running an Event on the Cheap</title><content type='html'>&lt;p&gt;I’ve been a part of teams organizing a pretty good number of developer community events here in the Heartland over the last few years. I’ve helped with medium-sized Code Camps / Days of .NET hosting 150 - 200 people across four tracks and I’ve helped with much larger events like &lt;a href="http://www.codemash.org"&gt;CodeMash&lt;/a&gt;, where 550 people attend seven tracks plus open spaces.&lt;/p&gt;  &lt;p&gt;While those events are really rewarding, they take a significant amount of time and effort to put on. You generally need several people working as a tight team to pull these off. You need a big venue, you need audio visual support, you need food, and you need significant sponsor support to pay for all that. Many times you’re hostage to your venue’s catering services, which means you’ll be paying high costs for mediocre (at best!) food. (Thank God for the Kalahari, where the venue’s food is actually really good.)&lt;/p&gt;  &lt;p&gt;Twice in the last year I’ve been part of great events which were a snap to put on: &lt;a href="http://frazzleddad.blogspot.com/2008/09/net-university-new-date-8-november.html"&gt;the .NET University&lt;/a&gt; last November and &lt;a href="http://frazzleddad.blogspot.com/2009/08/save-date-software-engineering-101-on.html"&gt;the Software Engineering 101&lt;/a&gt; last week. Both these events filled the room (90+ people) and were a great success. Where CodeMash generally has well over $100,000 go through the cash register, metaphorically speaking, both .NET U and SWE101 were put on for less than $500 each.&lt;/p&gt;  &lt;p&gt;Here are a few concepts you can use if you’re interested in putting on an event without the tremendous work of a larger event.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Leverage your community.&lt;/strong&gt; First and foremost, you need great contacts in your community to pull these off. Build those contacts, because you’ll be looking to them to help with content, venues, marketing, and finding sponsors.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Have a clear vision on the event’s goals&lt;/strong&gt;. Keep a &lt;strong&gt;&lt;em&gt;very&lt;/em&gt;&lt;/strong&gt; narrow focus on what you want to present. One track. Period. Think hard about the audience you’re targeting. We &lt;em&gt;specifically&lt;/em&gt; targeted .NET U to folks who were not involved in the community. We blogged and spoke to user groups: “This event isn’t for you – but tell your colleague that’s never been to a community event.”&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Content is King.&lt;/strong&gt; Hand pick great speakers to deliver topics lining up with your event’s goals. Make sure they’re on board with the vision and clearly understand what you want them to deliver. Getting their suggestions on what to deliver is fine, but make sure they first understand what the event is trying to do. Remember, one track. You’ll only need four to six speakers.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Get a clear schedule early on.&lt;/strong&gt; Get your schedule nailed down before you press forward. Times, presenters, descriptive titles, short and clear abstracts.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Find a free venue.&lt;/strong&gt; You absolutely can’t do one of these events if you have to pay for a venue. Look to your local Microsoft office, look to community colleges, check with your local business community, check with local training companies. Drive home the idea you’re putting on a free event to improve the skills of your local developer community.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Find free AV resources.&lt;/strong&gt; You need one projector and one screen. If it’s a larger venue you may need two projectors and two screens synched together. Check with community members to see if they have gear they can borrow from their companies. Check with your MS reps. Check with local training companies.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Avoid venue catering costs.&lt;/strong&gt; Many venues with catering services look to make their money not on renting the facility, but by charging you $14 per head for an awful box lunch. Instead…&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Bring in food and drinks.&lt;/strong&gt; Line up bagels and coffee from Panera or some place similar. Panera delivers, so that was a big win for me. I paid $300-ish for coffee and bagels for 100 folks. I ran to Target and picked up another $150 of sodas, water, and snacks. (Funyons, FTW!)&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Skip lunch.&lt;/strong&gt; Look to a venue with several restaurant/fast food choices near by, then clearly indicate to your audience that they’re on their own for lunch. Leave one hour in your schedule to support folks getting out and back. Attendees of a free event won’t mind running out to get their own food &lt;em&gt;as long as you make it clear from the start.&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Find a couple sponsors.&lt;/strong&gt; Reach out to companies that are already involved in your community. You need $500 to support an event for 100 geeks. It’s simple to make a pitch asking for $250 from two companies. Don’t let sponsors come and take over your event, but make sure they get some exposure via logos on slides and frequent mentions during the event.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Skip recording.&lt;/strong&gt; Recording sessions sucks, plain and simple. It’s a hassle, there’s a lot of moving parts, you need special gear, it interferes with presenters, it never turns out as well as you’d hoped, it… The list goes on and on. We’ve tried for years to get recording working at various events, and it’s always been a complete PITA for one reason or another. Skip it.&amp;#160; (&lt;em&gt;Note: If someone with a history of success volunteers to do this, then by all means take them up on it. Just don’t let the recording come anywhere near injecting friction into your speakers’ gigs, or the audience’s ability to get great content.&lt;/em&gt;)&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Find a registration system.&lt;/strong&gt; Look to something like Microsoft’s community registration system, &lt;a href="http://microsoftgroupevents.com/"&gt;Microsoft Group Events&lt;/a&gt;. Look to Meetup.com. Look to something similar. &lt;strong&gt;&lt;em&gt;DO NOT WRITE YOUR OWN SYSTEM.&lt;/em&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Pimp the event.&lt;/strong&gt; Get your schedule up on blogs. Get the word out to your own community contacts. If you’re in the .NET world, make sure your Microsoft Developer Evangelists help you spread the word. Reach out to your local business and educational communities. Hit up local media.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Expect drop off.&lt;/strong&gt; Free weekend events have drop off rates of up to 40%. Free weekday events often see over 20% drop off. Accept it. It’s not you. Well, maybe you do need different deodorant.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This list isn’t all that long, is it? It’s all common sense. You &lt;em&gt;can&lt;/em&gt; do a great event on the cheap. You &lt;em&gt;can &lt;/em&gt;have a whole lot of folks learn some great content and come away all excited and motivated to improve their environments. You &lt;em&gt;can&lt;/em&gt; do this without giving yourself an ulcer and losing sleep. Honest.&lt;/p&gt;  &lt;p&gt;Go do a neat event. Get people fired up. &lt;/p&gt;  &lt;p&gt;Then do more.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-5146414647344123300?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/5146414647344123300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=5146414647344123300' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/5146414647344123300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/5146414647344123300'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/09/running-event-on-cheap.html' title='Running an Event on the Cheap'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-281471413997091724</id><published>2009-09-24T21:56:00.001-04:00</published><updated>2009-09-24T21:56:20.602-04:00</updated><title type='text'>Software Engineering 101 Conference Wrap Up</title><content type='html'>&lt;p&gt;Wow. 90 or so folks showed up yesterday for an amazing event: the &lt;a href="http://frazzleddad.blogspot.com/2009/08/save-date-software-engineering-101-on.html"&gt;Software Engineering 101 Conference&lt;/a&gt;. Everyone seemed pretty fired up, energetic, and happy at the end of the day after hearing &lt;a href="http://fallenrogue.com/"&gt;Leon&lt;/a&gt;, &lt;a href="http://pragma-tech.blogspot.com/"&gt;Scott&lt;/a&gt;, and &lt;a href="http://jonkruger.com"&gt;Jon&lt;/a&gt; cover some great topics.&lt;/p&gt;  &lt;p&gt;We went through Object Oriented Programming basics, SOLID software design, code metrics, and production debugging. All these were fundamentals[1] for an afternoon of test driven development in a hands-on workshop environment. Leon, Scott, and Jon delivered some great content and really got the attendees engaged before proceeding into the afternoon workshop.&lt;/p&gt;  &lt;p&gt;The afternoon workshop was really, REALLY fun to observe. There was a tremendous amount of energy going on in the room as folks paired to solve the problem given them: part of the rules engine for &lt;a href="http://github.com/edgecase/ruby_koans/blob/master/koans/GREED_RULES.txt"&gt;Greed from the Ruby Koans&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;One interesting thing really struck me: how quickly all the attendees jumped in together and got productive in pairs. Pair programming freaks a lot of people out for a number of reasons, so it’s sometimes hard (at least in my corners of the .NET world) to sell.&amp;#160; We never even gave the attendees a choice. We told them in several pre-conference mails that the afternoon would be pairing. Leon fired off the workshop with “Get ready to pair.” Not once did we open the door for folks to work by themselves, and I think it really paid off.&lt;/p&gt;  &lt;p&gt;We’re looking at some possibilities for repeating this conference, perhaps even as an online/live session. More news on that if anything comes of it.&lt;/p&gt;  &lt;p&gt;This was an awesome day for me, and I’m really thankful that Leon, Scott, and Jon jumped on board when I pinged them. I couldn’t have gotten three better presenters in the Heartland, and that’s sayin’ something because the Heartland kicks every other region’s assets for speakers.&lt;/p&gt;  &lt;p&gt;One last thing: many thanks to &lt;a href="http://www.edgecase.com"&gt;EdgeCase&lt;/a&gt; and &lt;a href="http://www.cardinalsolutions.com"&gt;Cardinal Solutions&lt;/a&gt; for jumping in with sponsorship funds. We were able to get food, drinks, and snacks for the attendees, all courtesy of &lt;a href="http://twitter.com/objo"&gt;Joe&lt;/a&gt; and &lt;a href="http://twitter.com/jeffhunsaker"&gt;Jeff&lt;/a&gt;. Many thanks also to Microsoft and &lt;a href="http://www.brianhprince.com/"&gt;Brian Prince&lt;/a&gt; for opening up the venue to us.&lt;/p&gt;  &lt;p&gt;[1] I had someone remark that Scott’s Production Debugging presentation wasn’t on the same content line as the OOP, SOLID, metrics, and TDD sessions. They were right. BUT! I pulled in Scott because A) his session has a tremendous amount of fundamental material in it, B) He’s an awesome presenter, and C) I wanted to see it and I got to pick the conference’s content. :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-281471413997091724?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/281471413997091724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=281471413997091724' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/281471413997091724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/281471413997091724'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/09/software-engineering-101-conference.html' title='Software Engineering 101 Conference Wrap Up'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-7369062629578088271</id><published>2009-09-22T06:45:00.001-04:00</published><updated>2009-09-22T06:46:58.929-04:00</updated><title type='text'>Leading from the Front</title><content type='html'>&lt;p&gt;In my &lt;a href="http://frazzleddad.blogspot.com/2009/01/leadership-101-my-take-on-fundamentals.html"&gt;Leadership 101&lt;/a&gt; talk I really harp on the importance of leading from the front, particularly as you get higher up in an organization. I illustrate this with a story of the battle of the Somme in France in World War I. The allied generals were so far from the front they didn’t know about flooding which made it impossible to cross the battlefield in any effective manner. Tens of thousands of casualties resulted in the first day of what turned in to a long campaign. All because the generals lead from the rear, where the environment was completely different.&lt;/p&gt;  &lt;p&gt;I just don’t understand “leaders” of an organization who don’t take the time to learn the details of the environment their organizations operate in. How can you lead if you don’t know your environment, your clients, your company, or your people?&lt;/p&gt;  &lt;p&gt;The Dayton Daily news had &lt;a href="http://frazzleddad.blogspot.com/2009/01/leadership-101-my-take-on-fundamentals.html"&gt;a great article in its Sunday paper&lt;/a&gt; on executives and upper level management at Miami Valley Hospital here in Dayton who are terrifically engaged and at the front. Leaders there do four hours of “rounds” a week at the hospital – as doctors do rounds to visit their patients, executives and management do rounds to visit their workers. They also interact with their customers – the hospital’s patients.&lt;/p&gt;  &lt;p&gt;This is a terrific practice that keeps the hospital’s leadership in touch with the pulse of their workers and the hospital’s patients. The article, plus its two companions &lt;a href="http://www.daytondailynews.com/news/dayton-news/local-hospitals-executives-set-aside-time-to-visit-patients-staff-306732.html"&gt;here&lt;/a&gt; and &lt;a href="http://www.daytondailynews.com/news/dayton-news/hospital-visits-improve-relatonships-with-staff-patients-306700.html"&gt;here&lt;/a&gt;, highlight the great benefits the entire hospital is seeing because of these policies.&lt;/p&gt;  &lt;p&gt;Making this sort of effort ensures leaders understand the environment their people are working in. Leading from the front ensures leaders understand the environment the company creates for its customers. Leading from the front ensures leaders are keeping open lines of communication to workers and customers, and are seeing things about their company first hand.&lt;/p&gt;  &lt;p&gt;It doesn’t matter if you’re leading a huge company of 70,000, a small company of 150, or a team of three. You’re jeopardizing your success if you’re not consistently and frequently getting out to interact with clients and workers.&lt;/p&gt;  &lt;p&gt;Lead from the front. The benefits are amazing.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-7369062629578088271?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/7369062629578088271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=7369062629578088271' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/7369062629578088271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/7369062629578088271'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/09/leading-from-front.html' title='Leading from the Front'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-135364918639231492</id><published>2009-09-16T23:49:00.001-04:00</published><updated>2009-09-16T23:56:37.644-04:00</updated><title type='text'>Upcoming Speaking Gigs</title><content type='html'>&lt;p&gt;I’ve got a couple speaking engagements coming up over the next two months:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;23 Sept: &lt;a href="http://www.clicktoattend.com/invitation.aspx?code=140649"&gt;Software Engineering 101 Conference&lt;/a&gt;. I’m helping organize it and am giving a short grok on tools for monitoring code complexity.&lt;/li&gt;    &lt;li&gt;24 Sept: I’m teaming up with &lt;a href="http://bouncetadiss.blogspot.com/"&gt;Justin Kohnen&lt;/a&gt; to talk at the &lt;a href="http://daytondevgroup.net/"&gt;Dayton .NET Developers Group&lt;/a&gt;. We’re covering a few of the shiny toys in .NET 4.0 and Visual Studio 2010. It’s also the culmination of our membership drive!&lt;/li&gt;    &lt;li&gt;13 Nov: I’m very flattered that I got selected to talk at the &lt;a href="http://twitter.com/tysondevcon09"&gt;Tyson Developer Conference&lt;/a&gt;. This is my first speaking gig outside the Heartland district, aside from showing off some cool prototype cockpit systems to a bunch of hung over A-10 pilots in Las Vegas years ago. I’ll be giving three talks there: Leadership 101, Three Tips to Improve Your Process, and Acceptance Testing with Selenium and Cucumber. I’m awfully excited about the opportunity to speak there! (And big props to &lt;a href="http://twitter.com/skimedic"&gt;Phil Japikse&lt;/a&gt; who hooked me up.)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Be sure to look me up if you’re at any of those events!&lt;/p&gt;  &lt;p&gt;(And if you’re looking for speakers at one of your events, I’d be happy to send you my current list of abstracts, if’n you’re interested.)&lt;/p&gt;  &lt;p&gt;&lt;img height="14" alt="music note" src="http://spaces.live.com/rte/emoticons/music_note.gif" width="14" align="absMiddle" border="0" /&gt; Now listening to &amp;quot;Polaris&amp;quot; by Jimmy Eat World&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-135364918639231492?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/135364918639231492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=135364918639231492' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/135364918639231492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/135364918639231492'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/09/upcoming-speaking-gigs.html' title='Upcoming Speaking Gigs'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-6241688992887410663</id><published>2009-09-16T23:38:00.001-04:00</published><updated>2009-09-16T23:57:13.807-04:00</updated><title type='text'>Busted “Contact Me” Link Fixed</title><content type='html'>&lt;p&gt;Doh! I missed the mail that my 2idi wasn’t providing my contact service any more, so the “Contact Me” link on my sidebar hasn’t worked for, uh, more than a couple days.&lt;/p&gt;  &lt;p&gt;It’s fixed now, and you can use 1id.com’s service to get in touch with me.&lt;/p&gt;  &lt;p&gt;Sorry for the goof, and thanks to the reader who let me know about it!&lt;/p&gt;  &lt;p&gt;&lt;img height="14" alt="music note" src="http://spaces.live.com/rte/emoticons/music_note.gif" width="14" align="absMiddle" border="0" /&gt; Now listening to &amp;quot;All Too Well&amp;quot; by The Kingpins&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-6241688992887410663?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/6241688992887410663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=6241688992887410663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/6241688992887410663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/6241688992887410663'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/09/busted-contact-me-link-fixed.html' title='Busted “Contact Me” Link Fixed'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-3918110778838159449</id><published>2009-09-13T07:01:00.001-04:00</published><updated>2009-09-13T07:01:54.634-04:00</updated><title type='text'>Book Review: Living Green, The Missing Manual</title><content type='html'>&lt;p&gt;&lt;a href="http://www.amazon.com/gp/product/0596801726?ie=UTF8&amp;amp;tag=frazzleddadco-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0596801726"&gt;&lt;em&gt;Living Green, the Missing Manual&lt;/em&gt;&lt;/a&gt; by Nancy Conner, pub by O’Reilly, ISBN 0596801726.&lt;/p&gt;  &lt;p&gt;This book can be preachy and a bit breathless in some of its content, but it’s really a fascinating and educational read. &lt;/p&gt;  &lt;p&gt;Conner works hard to cover a &lt;em&gt;lot&lt;/em&gt; of topics and gives you material on everything from the chemicals you may not know about in your home to alternate and renewable energy sources. Along the way she also covers raising a green family (I raised two kids via cloth diapers and was happy to see them covered), building/remodeling, eating green, responsible shopping, and a number of other topics.&lt;/p&gt;  &lt;p&gt;A number of topics were thrown out without enough evidence of whether or not there’s really a basis for concern (the impact of volatile organic compounds offgassing from foam in furniture or dryboard markers, for example), but generally Connor does a very nice job of giving you a good background on the topics she’s writing about. There are also a lot of resources referenced in the book so you’re able to go look at more material from one side of the story, at least.&lt;/p&gt;  &lt;p&gt;While there’s a chapter dedicated to “Reduce, Reuse, Recycle,” Brown seems to carry that theme through the book. I don’t know if that was intentional or not, but I found it very helpful to consistently find small reminders of those principles in many of the book’s topics. I’m a proponent of reducing the number of things around me and trying to reuse as much as possible – but I’m nowhere near as good at it as I’d like to be. &lt;/p&gt;  &lt;p&gt;Overall I enjoyed the book and found it very useful. &lt;/p&gt;  &lt;p&gt;&lt;img height="14" alt="music note" src="http://spaces.live.com/rte/emoticons/music_note.gif" width="14" align="absMiddle" border="0" /&gt; Now listening to &amp;quot;Alive&amp;quot; by Off-Kilter&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-3918110778838159449?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/3918110778838159449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=3918110778838159449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/3918110778838159449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/3918110778838159449'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/09/book-review-living-green-missing-manual.html' title='Book Review: Living Green, The Missing Manual'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-6627398279061154523</id><published>2009-09-09T21:34:00.001-04:00</published><updated>2009-09-09T21:34:25.244-04:00</updated><title type='text'>Great Discussion Podcast on Deep Fried Bytes</title><content type='html'>&lt;p&gt;During &lt;a href="http://www.devlink.net"&gt;devLink&lt;/a&gt; a few folks from the region’s community were gabbing about a variety of topics, including burnout, motivation, FUD, and a number of other topics.&lt;/p&gt;  &lt;p&gt;Keith Elder pulled out his recording gear and ended up capturing some really interesting commentary from a lot of people. You can listen to the podcast on &lt;a href="http://deepfriedbytes.com/podcast/episode-36-what-happens-in-the-speaker-rsquo-s-lounge-is-supposed-to-stay-in-the-speaker-rsquo-s-lounge/"&gt;Keith and Woody’s Deep Fried Bytes site&lt;/a&gt;. (They’re also on iTunes, so go subscribe if you haven’t already!)&lt;/p&gt;  &lt;p&gt;There’s some tongue in cheek references to this being a group therapy session for Leon, but the discussion’s really so much more than that. A number of the community’s most active members offer up gems of wisdom on a wide range of topics.&lt;/p&gt;  &lt;p&gt;It was fun to participate in the discussion, and it was fun to listen to. (Much more so than the DNR show which gave me heartburn enough &lt;a href="http://frazzleddad.blogspot.com/2009/08/plz-use-yur-brain-kthxbai-dnr-476.html"&gt;to write about elsewhere&lt;/a&gt;…)&lt;/p&gt;  &lt;p&gt;&lt;img height="14" alt="music note" src="http://spaces.live.com/rte/emoticons/music_note.gif" width="14" align="absMiddle" border="0" /&gt; Now listening to &amp;quot;Date of Rebirth&amp;quot; by Origa&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-6627398279061154523?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/6627398279061154523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=6627398279061154523' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/6627398279061154523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/6627398279061154523'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/09/great-discussion-podcast-on-deep-fried.html' title='Great Discussion Podcast on Deep Fried Bytes'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-2396391159161536879</id><published>2009-08-28T11:03:00.001-04:00</published><updated>2009-08-28T11:03:55.871-04:00</updated><title type='text'>Plz Use Yur Brain. KTHXBAI (DNR #476)</title><content type='html'>&lt;p&gt;Last Saturday I was lucky enough to participate on a &lt;a href="http://devlink.net/"&gt;devLink&lt;/a&gt; discussion panel on “Has Software Development Gotten Too Complex?” The panel was hosted by, and recorded for, &lt;a href="http://www.dotnetrocks.com"&gt;Dot Net Rocks&lt;/a&gt; and posted early this AM as &lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=476"&gt;show #476&lt;/a&gt;. The panelists were &lt;a href="http://slmasters.net/"&gt;Billy Hollis&lt;/a&gt;, &lt;a href="http://msmvps.com/blogs/kathleen/default.aspx"&gt;Kathleen Dollard&lt;/a&gt;, &lt;a href="http://joshholmes.com"&gt;Josh Holmes&lt;/a&gt;, and me.&lt;/p&gt;  &lt;p&gt;We spent a bit of time talking over various topics, then opened up for audience questions. Some of the questions and comments were pretty interesting, particularly those around the vast increase in power we’ve seen through advancements in our technology. We’re far, FAR removed from the days of having to do minutia infrastructure work (as opposed to &lt;em&gt;choosing&lt;/em&gt; to do that when we have no other choice).&lt;/p&gt;  &lt;p&gt;There was also a very weird undercurrent that quite frankly brought me down. We heard complaints about FrontPage hitting its end of lifecycle, we heard laments about the confusing amount of choices for technologies, we heard complaints about Microsoft “forcing us to use three ‘servers’ for all our applications,” we heard complaints about the lack of plain Notepad-based examples.&lt;/p&gt;  &lt;p&gt;The Twitterverse had &lt;a href="http://twitter.com/search?q=dnr"&gt;lots to say on the topic&lt;/a&gt;, some supportive, some negative, some exhausted. “DNR” means lots of things, so that results page has lots of chaff. Regardless, read through it.&lt;/p&gt;  &lt;p&gt;Here’s some tough love from Jim, folks. God/evolution/whatever built an amazing piece of equipment in your body: a brain. Moreover, that brain has a wonderful, but far too underutilized ability called Critical Thought. Use your brain and Critical Thought. Use them to solve problems. Use them to decide how to stand out above your competition. Use them to figure out how to crush your enemies, see them driven before you, and to hear the lamentation of their women.&lt;/p&gt;  &lt;p&gt;Yes, many things in our industry can seem overwhelming at times, but you know what? You are utterly, absolutely capable of dealing with all this. Moreover, you’re likely capable of not just dealing with it, but succeeding – but only if you’re willing to invest in yourself for the long haul.&lt;/p&gt;  &lt;p&gt;The harsh reality of our industry is that the vast majority of folks in it aren’t concerned with improving themselves, so just the fact that you’re reading this blog, or attending conferences like &lt;a href="http://www.codemash.org"&gt;CodeMash&lt;/a&gt; or &lt;a href="http://www.devlink.net"&gt;devLink&lt;/a&gt; means you’ve got a great start.&lt;/p&gt;  &lt;p&gt;Take that start and run with it. Get involved with a local user group. Hit more conferences. Expand the list on your regular blogroll. Work hard at your place of employment to carve out time for regular training sessions – and I’m talking on a weekly basis. Lunch and learns are a powerful way for you to ensure you’re keeping in touch with the changes in the industry.&lt;/p&gt;  &lt;p&gt;Oh, by the way, I’m not just talking the hard technology issues of what you build, I’m talking about you learning to improve &lt;em&gt;how&lt;/em&gt; you build software. Learn about testing. Learn about the *DD du jour. Learn how to improve your processes.&lt;/p&gt;  &lt;p&gt;Jesse Liberty wrote &lt;a href="http://tinyurl.com/m6yjde"&gt;a nice blog response&lt;/a&gt; with some of his ideas. I enjoy Jesse’s writings and presentations immensely, but I have one huge issue with his suggestions: his ideas are all 100% Microsoft-centric. That’s OK, but &lt;em&gt;&lt;strong&gt;we as problem solvers absolutely cannot limit ourselves to using only what Microsoft provides&lt;/strong&gt;.&lt;/em&gt; For example, if you’re evaluating what data access strategy to use, then you’d darn well better not limit yourself to looking at LinqToSql or Entity Framework. You’d better include the much more mature alternatives like NHibernate, SubSonic, or rolling in some variant of the ActiveRecord concept. Furthermore, you’d better be asking hard questions about how any examples or “best practices” coming out of Microsoft fit in to your particular environment. &lt;/p&gt;  &lt;p&gt;Use your brain, folks. Turn your discouragement into an opportunity to improve your ability to stand out from the others. Turn that into an opportunity to help your company or organization differentiate itself.&lt;/p&gt;  &lt;p&gt;(I’ve written and re-written this post a number of times since coming home from devLink and the panel. I’m still not satisfied with it, but here it is. The lack of clarity in this post is a sign of how conflicted I am about the episode. Sorry, but it is what it is.)&lt;/p&gt;  &lt;p&gt;&lt;img height="14" alt="music note" src="http://spaces.live.com/rte/emoticons/music_note.gif" width="14" align="absMiddle" border="0" /&gt; Now listening to &amp;quot;Hare Krisna&amp;quot; by Thievery Corporation&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-2396391159161536879?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/2396391159161536879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=2396391159161536879' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/2396391159161536879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/2396391159161536879'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/08/plz-use-yur-brain-kthxbai-dnr-476.html' title='Plz Use Yur Brain. KTHXBAI (DNR #476)'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-8351084841966141730</id><published>2009-08-27T16:48:00.001-04:00</published><updated>2009-08-27T16:48:59.703-04:00</updated><title type='text'>Manually Killing Terminal Service Connections</title><content type='html'>&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; You’re trying to RDP to a remote server and you get the message “The terminal server has exceeded the maximum number of allowed connections.” You need to be able to examine current open sessions and kill unused ones.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; Open a command prompt from an account with admin privileges. Use the ‘query’ command to find out who has sessions open on the target system:&lt;/p&gt;  &lt;pre&gt;C:\Users\jholmes&amp;gt;query session /server:myserver&lt;br /&gt; SESSIONNAME       USERNAME                 ID  STATE   TYPE        DEVICE&lt;br /&gt; console                                     0  Conn    wdcon&lt;br /&gt; rdp-tcp                                 65536  Listen  rdpwd&lt;br /&gt;                   schambers                 1  Disc    rdpwd&lt;br /&gt;                   schambers                 2  Disc    rdpwd&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;We can easily see that someone’s hogging up the sole two allowed connections by logging on, then killing the RDP session while still connected. Nervy. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;No matter, I can fix that quite easily with the ‘reset’ command:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;C:\Users\jholmes&amp;gt;reset session 1 /server:myserver&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This kills the session Now I’m able to RDP on to the server without being blocked by someone who wasn’t cleaning up after themselves…&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-8351084841966141730?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/8351084841966141730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=8351084841966141730' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/8351084841966141730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/8351084841966141730'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/08/manually-killing-terminal-service.html' title='Manually Killing Terminal Service Connections'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-273653954935395409</id><published>2009-08-25T00:35:00.001-04:00</published><updated>2009-08-25T07:03:12.151-04:00</updated><title type='text'>Don’t Move the Table</title><content type='html'>&lt;p&gt;Last weekend I was at &lt;a href="http://www.devlink.com"&gt;devLink&lt;/a&gt; in Nashville. On Thursday I was trying to finish up some work and looked for a quiet spot, so I headed to the then-empty room where Open Spaces would be held the following two days. The room was a chapel at the venue’s campus; a great quiet spot where I could try to focus and get some things done. The room had lots of windows letting in beautiful natural light, and there was a wonderful high, vaulted ceiling with some nice decorative architecture. In short, a great place to get some undisturbed work done.&lt;/p&gt;  &lt;p&gt;Up at the front of the chapel was a table with two signs taped on it:&lt;/p&gt;  &lt;p&gt;&lt;img height="301" src="http://farm3.static.flickr.com/2422/3855078576_021594f032_b.jpg" width="400" /&gt; &lt;/p&gt;  &lt;p&gt;Interesting. I wondered about the rationale behind the signs, but I was in a hurry to get some work done, so I sat down in a different corner and tried to finish up my tasks. In between productive sprints of work, my brain kept coming back to the signs. “Why?” I wondered.&lt;/p&gt;  &lt;p&gt;Eventually, I began to think about how others might react to the sign. Being ever-interested in how my community hommies react to various things, I even went so far as to mention the sign to a few folks the next day. &lt;/p&gt;  &lt;p&gt;“Hey, the table in the Open Spaces room has a sign that says to not move the table,” I mentioned.&lt;/p&gt;  &lt;p&gt;One friend said “The sign says not to move it? I’M MOVING THE DAMN TABLE!”&lt;/p&gt;  &lt;p&gt;Another pal said “If I need that space I’m moving the table.”&lt;/p&gt;  &lt;p&gt;A third simply said “OK, so we won’t move it.”&lt;/p&gt;  &lt;p&gt;All three reactions were somewhat interesting, because none of the three asked “Why’s the sign there?” My first friend, being somewhat wonderfully contrarian in nature, was going to move the table simply because he’d been told not to. The second was going to move the table if he needed the space. The third just agreed to deal with the limitation and move on.&lt;/p&gt;  &lt;p&gt;Bear with me, because there’s actually a point here.&lt;/p&gt;  &lt;p&gt;Flash back to Thursday and my quiet working time in the chapel. After an hour or so, two workmen came in to the chapel and went over to the area by the table. They were discussing some painting that had to happen, so I sort of tuned them out. My ears perked up, however, when I heard them mention a water leak which had caused significant damage to the structure. It turns out they’d had issues with parts of the extremely high ceiling falling down onto the floor.&lt;/p&gt;  &lt;p&gt;The table was placed on that exact spot to block people from standing or sitting there. The “Do not move this table” sign was intended to ensure nobody was injured by falling debris.&lt;/p&gt;  &lt;p&gt;One could sit around and argue that the sign was badly written, leaving out critical information (“Sit here and you will DIE!”), or that something else should have been used to block off that area. (Police tape, orange snow fence, flashing lights, Albanian dwarf mimes)&lt;/p&gt;  &lt;p&gt;Those arguments are missing the point. &lt;em&gt;&lt;strong&gt;The sign made perfect sense to those who wrote it and there was a darn good reason for the sign being there.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;We constantly run in to similar situations with the folks we’re building software for. What seems an utter mystery to us is utterly clear to our clients, customers, stakeholders, whoever. Moreover, sometimes there’s something really important behind those things that seem, to us, stupid and incomprehensible. We’re outsiders, and we’re missing the critical context.&lt;/p&gt;  &lt;p&gt;Spend the time asking “Why?” with those whose problems you’re trying to solve. &lt;/p&gt;  &lt;p&gt;You may save yourself getting schwacked on the head with debris.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-273653954935395409?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/273653954935395409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=273653954935395409' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/273653954935395409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/273653954935395409'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/08/dont-move-table.html' title='Don’t Move the Table'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-1893946181601198271</id><published>2009-08-24T16:51:00.001-04:00</published><updated>2009-08-24T16:51:43.022-04:00</updated><title type='text'>Registration Open for SWE 101 Conference!</title><content type='html'>&lt;p&gt;Go &lt;a href="http://www.clicktoattend.com/invitation.aspx?code=140649"&gt;sign up now for the Software Engineering 101 conference&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;What is the SWE 101 conference? Go read &lt;a href="http://frazzleddad.blogspot.com/2009/08/save-date-software-engineering-101-on.html"&gt;my previous post on it&lt;/a&gt;!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-1893946181601198271?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/1893946181601198271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=1893946181601198271' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/1893946181601198271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/1893946181601198271'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/08/registration-open-for-swe-101.html' title='Registration Open for SWE 101 Conference!'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-1101356969107502458</id><published>2009-08-21T08:32:00.001-04:00</published><updated>2009-08-28T18:03:37.847-04:00</updated><title type='text'>Save The Date! Software Engineering 101 on 9/23/09</title><content type='html'>&lt;p&gt;&lt;strong&gt;UPDATE!&lt;/strong&gt; Registration &lt;a href="http://www.clicktoattend.com/invitation.aspx?code=140649"&gt;is open here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;A few great speakers and I are working to put on a unique event on Wednesday, 9/23: Software Engineering 101.&lt;/p&gt;  &lt;p&gt;This is a one-day, FREE event targeted to help you build your skills in how you build software. This isn’t about learning the basics of Silverlight, WPF, or &amp;lt;/insert_new_tech_of_day&amp;gt;. Rather, this conference will help you understand how to build software that’s better designed, more maintainable, and more testable. We’ll spend the morning on fundamentals around object-oriented programming, the SOLID principles, and a few other important skills. The afternoon will be a hands-on Test Driven Development workshop putting those skills to use.&lt;/p&gt;  &lt;p&gt;Here’s what we’ve got on the agenda:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="572" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="133"&gt;&lt;strong&gt;Time&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="247"&gt;&lt;strong&gt;Session&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="190"&gt;&lt;strong&gt;Speaker&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="135"&gt;8:15 – 8:20&lt;/td&gt;        &lt;td valign="top" width="246"&gt;Intro&lt;/td&gt;        &lt;td valign="top" width="190"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;8:20 – 9:30&lt;/td&gt;        &lt;td valign="top" width="246"&gt;Principles of Object Oriented Programming&lt;/td&gt;        &lt;td valign="top" width="189"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="137"&gt;9:35 – 10:45&lt;/td&gt;        &lt;td valign="top" width="246"&gt;SOLID&lt;/td&gt;        &lt;td valign="top" width="189"&gt;Jon Kruger&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="137"&gt;11:00 – 11:15&lt;/td&gt;        &lt;td valign="top" width="246"&gt;Understanding Code Metrics&lt;/td&gt;        &lt;td valign="top" width="189"&gt;Jim Holmes&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="137"&gt;11:20 – 12:30&lt;/td&gt;        &lt;td valign="top" width="246"&gt;Production Debugging&lt;/td&gt;        &lt;td valign="top" width="189"&gt;Scott Walker&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="137"&gt;12:30 – 1:30&lt;/td&gt;        &lt;td valign="top" width="246"&gt;Lunch&lt;/td&gt;        &lt;td valign="top" width="189"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="137"&gt;1:30 – 5:00&lt;/td&gt;        &lt;td valign="top" width="246"&gt;Hands on Test Driven Development&lt;/td&gt;        &lt;td valign="top" width="189"&gt;Leon Gersing and others&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="137"&gt;5:00 – 5:15&lt;/td&gt;        &lt;td valign="top" width="246"&gt;Closing remarks&lt;/td&gt;        &lt;td valign="top" width="190"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;The event will be at Microsoft’s office near Polaris Parkway in Columbus. I’m working on sponsorships to pay for light food and drink, but that may or may not pan out. Lunch will likely not be provided, but we’ll take an hour so folks can get out to eat at one of the many places in Polaris.&lt;/p&gt;  &lt;p&gt;You likely have noticed this event’s on a weekday. I purposely targeted a work day because lots of community folks already give up significant amounts of their weekend time – plus I’m interested in seeing if we can reach out to a new set of attendees who might not otherwise be able to attend.&lt;/p&gt;  &lt;p&gt;I’ll have a registration site up shortly, so stay tuned for details on how to sign up.&lt;/p&gt;  &lt;p&gt;In the meantime, spread the word and block off Wednesday, 9/23/09 on your calendars!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-1101356969107502458?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/1101356969107502458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=1101356969107502458' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/1101356969107502458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/1101356969107502458'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/08/save-date-software-engineering-101-on.html' title='Save The Date! Software Engineering 101 on 9/23/09'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-4237263027597349530</id><published>2009-08-18T22:45:00.001-04:00</published><updated>2009-08-18T22:45:32.431-04:00</updated><title type='text'>Two Book Reviews</title><content type='html'>&lt;p&gt;Here are reviews for two books I’ve recently run through.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;a href="http://www.amazon.com/gp/product/0321572882?ie=UTF8&amp;amp;tag=frazzleddadco-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0321572882"&gt;Stand Back and Deliver&lt;/a&gt;&lt;/em&gt; by Pollyanna Pixton, et. al. Pub by Addison Wesley, ISBN 0321572882.&lt;/p&gt;  &lt;p&gt;This is absolutely one of the best career-shaping books I’ve read, ever. It’s concise, it’s easy to read, and it’s chock full of some seriously vital things you need to get solid in your head as part of successful software delivery.&lt;/p&gt;  &lt;p&gt;I found a wide range of great wisdom in this book, some things which were new, and some which were things I'd let slip. There's insight on teams, personnel, risk management, and lots of other goodies. It's all laid out in short, well-written chapters authored by folks who've been around the block a number of times.&lt;/p&gt;  &lt;p&gt;While all of the book was extremely helpful, perhaps one of the most valuable things I found was their “Purpose Alignment Model,” (PAM) a simple quad chart with market differentiation on the Y axis and mission criticality on the X. The quads break down in to categories of Who Cares, Partner, Parity, and Differentiating. The authors walk the reader through clear, powerful exercises to help you focus on making decisions that will help you succeed at differentiating you and your company from your competitors – but retaining some focus on things you need to stay in parity with them. &lt;/p&gt;  &lt;p&gt;I found all the discussion around the PAM highly stimulating because it fits so well with my fundamental beliefs in being adamant and aggressive about Lean software development. The section on Context Leadership Model is probably just as important: it helps you assess a project’s uncertainty and complexity. Again, the authors do a tremendous job showing you utterly practical, real-world applications of this.&lt;/p&gt;  &lt;p&gt;I can’t recommend this book enough if you’re at all interested in improving how you decide what to build, and how you go about it.&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;em&gt;&lt;a href="http://www.amazon.com/gp/product/0596523025?ie=UTF8&amp;amp;tag=frazzleddadco-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0596523025"&gt;The Myths of Security&lt;/a&gt;&lt;/em&gt; by John Viega, pub by O’Reilly, ISBN 0596523025. &lt;/p&gt;  &lt;p&gt;This is a wonderfully contrarian view to much of the information we are fed regarding security. Viega brings a much-needed skeptical view to many of the things we as consumers and workers in the IT industry are fed. He skewers everything from antivirus to identity theft and takes a lot of effort to lay out his propositions around how bad guys are driven by money.&lt;/p&gt;  &lt;p&gt;I got a bit weary of the not-quite-shilling for McAffee, the company Viega works for, and there were a couple technical howlers (a server-side application which required 200 servers simply “because it was written in Java”). Those irritants aside, it really is a great read which, whether you agree with his points or not, should make you re-evaluate how you look at security.&lt;/p&gt;  &lt;p&gt;Books which make you think are &lt;strong&gt;&lt;em&gt;always&lt;/em&gt;&lt;/strong&gt; a Good Thing.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-4237263027597349530?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/4237263027597349530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=4237263027597349530' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/4237263027597349530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/4237263027597349530'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/08/two-book-reviews.html' title='Two Book Reviews'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-1897185836202119769</id><published>2009-08-17T21:48:00.001-04:00</published><updated>2009-08-17T21:48:06.399-04:00</updated><title type='text'>Slides &amp; Thoughts From devLink</title><content type='html'>&lt;p&gt;I gave my “Three Tips to Improve Your Process” talk at &lt;a href="http://www.devlink.net"&gt;devLink&lt;/a&gt; last week. You can find the deck &lt;a href="http://iterativerose.com/Presentations/ThreeThingsForProcess.pdf"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Thanks to the folks who attended! There was a great turnout and I got some great questions from the audience. I’ve already slightly tweaked my deck to reflect some of those questions. Feedback, FTW!&lt;/p&gt;  &lt;p&gt;Once again, John Kellar and his crew put on a fantastic conference, and once again, I spent the majority of my time hanging out with my friends in the Open Spaces sessions. (Can we &lt;strong&gt;&lt;em&gt;please&lt;/em&gt;&lt;/strong&gt; stop calling it “Open Spaces Technology” already?) I did catch two great “regular” sessions, one being Bryan Hunter’s Lean Workshop and the other Rick Kierner’s TDD in SharePoint.&lt;/p&gt;  &lt;p&gt;I also got a much needed lift from a couple close friends who gave me some good feedback and tough love. Plus, I got to sit on a Dot Net Rocks panel discussion with some neat folks. (Separate post on that soon.)&lt;/p&gt;  &lt;p&gt;The 12-hour round trip drive was greatly sped by having &lt;a href="http://twitter.com/fallenrogue"&gt;Leon&lt;/a&gt; in the car and I’m fairly sure we solved sixty or eighty problems including the &lt;a href="http://mathworld.wolfram.com/GoldbachConjecture.html"&gt;Golbach conjecture&lt;/a&gt;, the &lt;a href="http://en.wikipedia.org/wiki/Higgs_mechanism"&gt;Higgs mechanism&lt;/a&gt;, and a host of other pressing problems. Culture change in people who actively resist change thwarted us, but we did finally figure out we need to stop giving those people power over us.&lt;/p&gt;  &lt;p&gt;Overall, it was an awesome trip. I’m looking forward to returning to devLink again next year. After all, it is the region’s second best conference. (We all know what &lt;a href="http://www.codemash.org"&gt;the region’s best conference&lt;/a&gt; is!)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-1897185836202119769?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/1897185836202119769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=1897185836202119769' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/1897185836202119769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/1897185836202119769'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/08/slides-thoughts-from-devlink.html' title='Slides &amp;amp; Thoughts From devLink'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-751322812251233618</id><published>2009-08-10T10:35:00.001-04:00</published><updated>2009-08-10T10:35:29.206-04:00</updated><title type='text'>eRubyCon Slides &amp; Summary</title><content type='html'>&lt;p&gt;I was at &lt;a href="http://erubycon.com"&gt;eRubyCon&lt;/a&gt; this last week, courtesy of &lt;a href="http://twitter.com/objo"&gt;Joe O’Brien&lt;/a&gt; and the great folks at &lt;a href="http://edgecase.com/home"&gt;EdgeCase&lt;/a&gt; who invited me to speak.&lt;/p&gt;  &lt;p&gt;This was my first conference outside the .NET arena in years (excluding &lt;a href="http://www.codemash.org"&gt;CodeMash&lt;/a&gt;) and I’m kicking myself for not doing this more often. I got some great insights on different ways to solve problems, and I met some amazing folks who inspired me to get to work on fixing a few things in my life that need addressing. I also got fired up about a few neat tools and some changes to our environment at work. (CodeMash is awesome for this, but as an organizer I get little or no time to actually participate in it.)&lt;/p&gt;  &lt;p&gt;I gave my Leadership 101 talk as the first session of day 2. This is the second time I’ve given this talk, but it was in a completely different format than the 20 minute talk I gave at &lt;a href="http://kalamazoox.org/"&gt;KalamazooX&lt;/a&gt;. KalX was amazing (and I hope I get invited back there!), but the longer format of eRubyCon gave me a chance to flesh out a few points. I also mixed in some examples from my background to lend some detail and color.&lt;/p&gt;  &lt;p&gt;I always feel weird talking to a crowd about leadership because I don’t pretend to be a master of it, but the audience there was wonderful to speak to, and I got some nice feedback. &lt;/p&gt;  &lt;p&gt;The slide deck is my usual funky style: 14 slides total, two pictures, one number, and (aside from the opening quote) six words total, three of which are repeats. There are even a couple blank slides just because. The deck’s &lt;a href="http://iterativerose.com/Presentations/Leadership101.pdf"&gt;here&lt;/a&gt; and there are some notes on it, but the best resource is really &lt;a href="http://frazzleddad.blogspot.com/2009/01/leadership-101-my-take-on-fundamentals.html"&gt;the Leadership 101 blog series&lt;/a&gt; that inspired the talk.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://erubycon.com"&gt;eRubyCon&lt;/a&gt; has been one of the best conferences I’ve ever been to. I’m definitely attending next year regardless of whether or not I’m on the speaking docket. It was an awesome weekend!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-751322812251233618?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/751322812251233618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=751322812251233618' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/751322812251233618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/751322812251233618'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/08/erubycon-slides-summary.html' title='eRubyCon Slides &amp;amp; Summary'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-5154243656820272815</id><published>2009-07-28T10:21:00.001-04:00</published><updated>2009-07-28T10:37:23.110-04:00</updated><title type='text'>Looking for a QA Job? Come Work for Telligent!</title><content type='html'>&lt;p&gt;&lt;a href="http://www.telligent.com"&gt;Telligent&lt;/a&gt; is expanding our QA/testing team and we’re starting the process of looking for passionate, detail-oriented folks who might be a fit for the team. You’ll be working for me in my new role as the QA Team Lead, and you’ll be testing our neat products like &lt;a href="http://telligent.com/products/telligent-community/"&gt;Telligent Community&lt;/a&gt;, &lt;a href="http://telligent.com/products/telligent-enterprise/"&gt;Telligent Enterprise&lt;/a&gt;, &lt;a href="http://telligent.com/products/telligent-analytics/"&gt;Telligent Analytics&lt;/a&gt;, plus a host of cool add-ons like our Mail Gateway and SharePoint integration products.&lt;/p&gt;  &lt;p&gt;I don’t have a formal job description yet, but frankly, most job descriptions stink or don’t match reality.&amp;#160; Here’s my unofficial, completely unapproved description of what you’ll be doing:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Working hand-in-hand with our Product team to create testable acceptance criteria for each new work item (feature, user story, bug ticket). &lt;/li&gt;    &lt;li&gt;Developing automated test suites using a number of tools like Selenium, Watir, Cucumber, and Visual Studio’s web test. &lt;/li&gt;    &lt;li&gt;Creating, updating, and executing test plans for all our products. &lt;/li&gt;    &lt;li&gt;Creating and updating matrices for supported platforms, then executing test plans against those. (You’ll be helping stand up and maintain those platforms in various virtualization environments.) &lt;/li&gt;    &lt;li&gt;Working hard to exercise the systems through exploratory testing. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Below are some of the tools we’re using or exploring in our QA work right now. I’m all over using any tool that will bring value to our work, so if there’s something you’ve had success with then let me know.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;UI testing: Selenium, Watir, possibly VS web test &lt;/li&gt;    &lt;li&gt;Languages: C#, Ruby &lt;/li&gt;    &lt;li&gt;Other cool toys: Cucumber, PowerShell &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;What you’ll need to bring to the table:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A detail-oriented mindset. &lt;/li&gt;    &lt;li&gt;Passion about improving quality. &lt;/li&gt;    &lt;li&gt;Passion about improving yourself – what else are you doing other than reading my blog? &lt;/li&gt;    &lt;li&gt;Excellent communication skills in e-mail, written documentation, and verbally. &lt;/li&gt;    &lt;li&gt;Critical thought. Talk to me about how you approach problems. &lt;/li&gt;    &lt;li&gt;Patience and a pragmatic outlook. I plan on changing the world, but it will be a long haul. We’ll lose occasional battles but the war will be won. Fill in other over-used clichés here. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Notice I didn’t mention much about specific skills? What you’ve got in your head and heart are far more important to me. That said, it would be helpful, but not required, if you’ve got some exposure to the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Software development experience. Something .NET-ish best, other languages are fine too. &lt;/li&gt;    &lt;li&gt;Experience with SQL Server 2005 and/or SQL Server 2008. (Exposure to SQL of any type helpful.) &lt;/li&gt;    &lt;li&gt;Understanding of software development lifecycle. &lt;/li&gt;    &lt;li&gt;Exposure to Lean and Agile development. (If you’ve decided neither of those disciplines are of value then please look elsewhere for an environment that will make you happy. I’m emphatic about both and you won’t be a good fit if you’ve looked Lean and Agile over and don’t care for them.) &lt;/li&gt;    &lt;li&gt;Previous experience in a QA role. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Telligent’s located in Dallas, but we have remote workers scattered all over the country and a few overseas as well. I’m happy to work with remote folks, but you’ll need to demonstrate that you’re able to be productive from a home office.&lt;/p&gt;  &lt;p&gt;You’ll be working for me, so you may want to do a little digging around the blogosphere, Twitter, and the region’s dev community to see if that’s for you or not. I’m strong coffee with strong opinions that I’m happy to change when a well-thought debate is put forth. I care deeply about my work and I care even more deeply about my teams. Look up some folks who’ve worked for me or with me and get their opinions. (&lt;a href="http://twitter.com/stevenharman"&gt;Steve&lt;/a&gt;, &lt;a href="http://twitter.com/jamesbender"&gt;James&lt;/a&gt;, &lt;a href="http://twitter.com/brianhprince"&gt;Brian&lt;/a&gt;, &lt;a href="http://twitter.com/toddkaufman"&gt;Todd&lt;/a&gt;, &lt;a href="http://twitter.com/nkohari"&gt;Nate&lt;/a&gt;, &lt;a href="http://twitter.com/schambers"&gt;Sean&lt;/a&gt;, &lt;a href="http://twitter.com/arcware"&gt;Dave&lt;/a&gt;, &lt;a href="http://twitter.com/fallenrogue"&gt;Leon&lt;/a&gt;) I didn’t ask them if it was OK, but I think you’ll get varied, honest feedback from them.&amp;#160; &lt;/p&gt;  &lt;p&gt;Still interested? Drop me an e-mail with your resume: JHolmes AT Telligent DOT com. Feel free to drop me a note via the contact link on the blog’s sidebar, too.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-5154243656820272815?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/5154243656820272815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=5154243656820272815' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/5154243656820272815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/5154243656820272815'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/07/looking-for-qa-job-come-work-for.html' title='Looking for a QA Job? Come Work for Telligent!'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-1693002171569295337</id><published>2009-07-21T06:43:00.001-04:00</published><updated>2009-07-21T09:08:30.047-04:00</updated><title type='text'>Is Software Engineering Dead? (Process, not Construction)</title><content type='html'>&lt;p&gt;Tom DeMarco, author of the seminal book &lt;a href="http://www.amazon.com/gp/product/0932633439?ie=UTF8&amp;amp;tag=frazzleddadco-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0932633439"&gt;&lt;em&gt;Peopleware&lt;/em&gt;&lt;/a&gt; has written a short, interesting article &lt;em&gt;&lt;a href="http://www2.computer.org/cms/Computer.org/ComputingNow/homepage/2009/0709/rW_SO_Viewpoints.pdf"&gt;Software Engineering, An Idea Whose Time has Come and Gone&lt;/a&gt;?&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;DeMarco’s article is really around engineering as it refers to controlling the process of creating software, not the actual software construction itself. The article’s short and doesn’t start any in-depth discussion, but the general point is awfully good: working too hard to control the process of software construction is a bad thing. A great quote from the article:&lt;/p&gt;  &lt;blockquote&gt;&lt;em&gt;For the past 40 years, for example, we’ve tortured ourselves over our inability to finish a software project on time and on budget. But as I hinted earlier, this never should have been the supreme goal. The more important goal is transformation, creating software that changes the world or that transforms a company or how it does business.&lt;/em&gt;&lt;/blockquote&gt;  &lt;p&gt;We can’t use this as an excuse for being sloppy with our clients’ time or money, be those clients internal or external. That said, the points DeMarco makes line right up with my own beliefs:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;As an industry, we suck at estimation. Badly. The problems we solve are similar, but nearly always different from each other.&amp;#160; We make little or no effort to keep a good history of our estimates’ accuracy, nor do we do much to train folks on estimating. &lt;/li&gt;    &lt;li&gt;Because estimation is a time sink, use velocity for projecting project pace and what you can build within the client’s budget. (Get your work item granularity small, though!) &lt;/li&gt;    &lt;li&gt;Value is delivered to clients by creating software, not managing the project. Project management’s critical, but it needs to be a light hand. Oversight and correction versus harsh controls. (That means you’d damned well better spend a lot of time building great teams that are good enough to manage themselves, by the way.) &lt;/li&gt;    &lt;li&gt;Value is delivered to clients by being flexible enough to change what you’re building in order to meet the clients’ changing environment. (Or the clients’ evolving needs as their understanding of the business problem evolves.) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;DeMarco’s article is way too short, and I really wish he’d provided more detail on the metrics and measurements he’s decrying – but I think there’s some good conversation starters there.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-1693002171569295337?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/1693002171569295337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=1693002171569295337' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/1693002171569295337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/1693002171569295337'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/07/is-software-engineering-dead-process.html' title='Is Software Engineering Dead? (Process, not Construction)'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-3547168758932918111</id><published>2009-07-20T05:54:00.001-04:00</published><updated>2009-07-20T05:54:32.616-04:00</updated><title type='text'>Upcoming Speaking Gigs</title><content type='html'>&lt;p&gt;I’ve got a number of upcoming speaking gigs through September:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;23 July. &lt;em&gt;Three Tips to Improve Your Development Process&lt;/em&gt;, &lt;a href="www.DaytonDevGroup.net"&gt;Dayton .NET Developers Group&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;24 July. &lt;em&gt;Acceptance Testing with Selenium &amp;amp; Cucumber&lt;/em&gt;. &lt;a href="http://www.coalmg.org/2009/06/july-meeting-announcement-note-date.html"&gt;Central Ohio Application Lifecycle Management Group&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;7-9 Aug. &lt;em&gt;Leadership 101&lt;/em&gt;. &lt;a href="www.erubycon.com"&gt;eRubyCon&lt;/a&gt; in Columbus. &lt;/li&gt;    &lt;li&gt;13-15 Aug. &lt;em&gt;Three Tips to Improve Your Development Process&lt;/em&gt;, &lt;a href="www.devlink.net"&gt;devLink&lt;/a&gt; in Nashville. &lt;/li&gt;    &lt;li&gt;18 Aug. &lt;em&gt;Three Tips to Improve Your Development Process&lt;/em&gt;, &lt;a href="http://www.evansvillednug.com/"&gt;Evansville (IN) .NET user group&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;14 Sept. &lt;em&gt;Leadership 101&lt;/em&gt;. &lt;a href="http://www.colarc.org/"&gt;Columbus Architecture Group&lt;/a&gt;.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Let me know if you’re going to be around for any of those meetings!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-3547168758932918111?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/3547168758932918111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=3547168758932918111' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/3547168758932918111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/3547168758932918111'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/07/upcoming-speaking-gigs.html' title='Upcoming Speaking Gigs'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10748614.post-5587599853164774232</id><published>2009-07-17T06:46:00.001-04:00</published><updated>2009-07-17T06:46:43.667-04:00</updated><title type='text'>Book Review: Beautiful Security</title><content type='html'>&lt;p&gt;&lt;a href="http://www.amazon.com/gp/product/0596527489?ie=UTF8&amp;amp;tag=frazzleddadco-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0596527489"&gt;&lt;em&gt;Beautiful Security&lt;/em&gt;,&lt;/a&gt; ed. by Andy Oram and John Vega, ISBN 0596527489, published by O’Reilly.&lt;/p&gt;  &lt;p&gt;Like O’Reilly’s &lt;a href="http://www.amazon.com/gp/product/0596518021?ie=UTF8&amp;amp;tag=frazzleddadco-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0596518021"&gt;&lt;em&gt;Beautiful Teams&lt;/em&gt;&lt;/a&gt;, this book’s a series of essays by industry experts, this time focused on security. The various authors do a great job of covering topics from social engineering to forcing firms to focus on security. The chapters are all well-written, although a few do better jobs of keeping the material interesting and flowing.&lt;/p&gt;  &lt;p&gt;You’ll find plenty of security-related history in the book. Phil Zimmerman’s chapter on PGP’s Web Of Trust is one example. Pieter Zatko’s discussion of his work on the LH0phtCrack is another. Both stories help expose mindsets which, sadly, haven’t changed a whole lot.&lt;/p&gt;  &lt;p&gt;Security, as with testing or overall quality, is at its most fundamental roots a culture issue. Not every story focuses on this aspect, but pointing out bad culture is a common theme through many of the chapters. Zatko’s discussion of “Learned Helplessness,” John McManus’s &lt;em&gt;Security by Design&lt;/em&gt;, and Jim Routh’s &lt;em&gt;Forcing Firms to Focus&lt;/em&gt; are all great reads on this line. Many of the stories correctly emphasize that security isn’t just about someone hacking code – it’s a much broader issue.&lt;/p&gt;  &lt;p&gt;As with any good security book, there’s plenty of well-done content which will likely scare you in to re-thinking how you and your company approach security. &lt;a href="http://www.amazon.com/gp/product/0596527489?ie=UTF8&amp;amp;tag=frazzleddadco-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0596527489"&gt;&lt;em&gt;Beautiful Security&lt;/em&gt;&lt;/a&gt; can help you identify practices, problems, and mindsets which leave you, your company, or your clients at risk.&lt;/p&gt;  &lt;p&gt;Overall it’s a very useful, highly readable book on a critical subject.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10748614-5587599853164774232?l=frazzleddad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frazzleddad.blogspot.com/feeds/5587599853164774232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10748614&amp;postID=5587599853164774232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/5587599853164774232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10748614/posts/default/5587599853164774232'/><link rel='alternate' type='text/html' href='http://frazzleddad.blogspot.com/2009/07/book-review-beautiful-security.html' title='Book Review: Beautiful Security'/><author><name>Jim Holmes</name><uri>http://www.blogger.com/profile/05869146736565695900</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12557331546405565064'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>