<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Elegant Code &#187; Reviews</title>
	<atom:link href="http://elegantcode.com/tag/reviews/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Sun, 12 Feb 2012 04:40:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Review: Dreaming in Code by Scott Rosenburg</title>
		<link>http://elegantcode.com/2008/03/22/review-dreaming-in-code-by-scott-rosenburg/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=review-dreaming-in-code-by-scott-rosenburg</link>
		<comments>http://elegantcode.com/2008/03/22/review-dreaming-in-code-by-scott-rosenburg/#comments</comments>
		<pubDate>Sun, 23 Mar 2008 03:14:07 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/03/22/review-dreaming-in-code-by-scott-rosenburg/</guid>
		<description><![CDATA[I recently finished reading Dreaming in Code by Scott Rosenburg; I requested it for Christmas last year because I thought it would be an inspiring story of a successful software project. Heck, I want to learn about the nirvana of what it would be like to live the dream. Who wouldn&#8217;t? At the very real [...]]]></description>
			<content:encoded><![CDATA[<p>I recently finished reading <em><a href="http://www.dreamingincode.com/" target="_blank">Dreaming in Code</a></em> by Scott Rosenburg; I requested it for Christmas last year because I thought it would be an inspiring story of a successful software project. Heck, I want to learn about the nirvana of what it would be like to live the dream. Who wouldn&#8217;t?</p>
<p><img src="http://www.dreamingincode.com/code_cover.jpg" align="left" /></p>
<p>At the very real risk of getting myself blacklisted by the very famous rock star geeks named in this book, <em>Dreaming in Code</em> is anything but a success story. Indeed, the story of this software development effort provides great insight into why so many people hate computers, software, and programmers.</p>
<p>This is a real life story of the ineffectiveness of self driven work teams who can&#8217;t make a decision in the absence of an empowered leader. The team spends months deciding &quot;architectural direction&quot; before delivering anything, millions of dollars to deliver little to no value.</p>
<p><em>Dreaming in Code</em> chronicles the team dynamics surrounding the group of people who built <a href="http://chandlerproject.org/" target="_blank">Chandler</a>, Yet Another Outlook Killer application that, of course, did no such thing. The company established to create Chandler was founded by Mitchell Kapor, of the <a href="http://www.osafoundation.org/" target="_blank">Open Source Application Foundation</a> (OSAF) and original founder of Lotus Development Corp. Apparently this is what bored millionaires do with their fortunes in Silicon Valley rather than taking a vacation or feeding a village. </p>
<p>This team actually didn&#8217;t ship v1.0 for 3 years. They slid every schedule, they argued about the fundamental features of the system for months, they hard coded dependencies everywhere, and in short: They squandered money like only a group of self important, over-privileged , 21st century knowledge workers could.</p>
<p>Guess what? Life as a software developer (or as a user or customer) doesn&#8217;t have to be this way. Find a company lead by a visionary with the sense to hire a group of operators to execute on the vision. If everyone&#8217;s head is in the same cloud, none of them will keep their feet on the ground. Thankfully the team was beginning to use time boxed iterations with a set delivery timeline toward the end of the book. Who knows, maybe someday they&#8217;ll release v1.1.</p>
<p>I highly recommend this book. <em>Dreaming in Code</em> is the best anti-pattern for running a software team/project/company I have ever read.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/03/22/review-dreaming-in-code-by-scott-rosenburg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reflector Screen cast</title>
		<link>http://elegantcode.com/2008/03/22/reflector-screen-cast/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=reflector-screen-cast</link>
		<comments>http://elegantcode.com/2008/03/22/reflector-screen-cast/#comments</comments>
		<pubDate>Sun, 23 Mar 2008 01:56:20 +0000</pubDate>
		<dc:creator>Chris Brandsma</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/03/22/reflector-screen-cast/</guid>
		<description><![CDATA[OK, here it is: my first screen cast.&#160; It is a short video on how to use Reflector.&#160; Let the heckling begin! Anyway, if you are a .Net developer and don&#8217;t already have Reflector, get it immediately.&#160; The only thing it will cost you is a one-time download. Also, like I said, this is my [...]]]></description>
			<content:encoded><![CDATA[<p>OK, here it is: my first screen cast.&nbsp; It is a short video on how to use <a href="http://www.aisto.com/roeder/dotnet/">Reflector</a>.&nbsp; Let the heckling begin!</p>
<p>Anyway, if you are a .Net developer and don&#8217;t already have Reflector, get it immediately.&nbsp; The only thing it will cost you is a one-time download.</p>
<p>Also, like I said, this is my first screen cast &#8212; don&#8217;t be kind.&nbsp; I want to know how to improve.&nbsp; I&#8217;ll take any criticism aside from &#8220;you suck&#8221; and &#8220;change the sound of your voice&#8221;.&nbsp; </p>
<p>Things I learned doing this: getting an opening statement ready and a small script together is key.&nbsp; If you&#8217;ve ever seen one of my presentations you know I rarely script anything, preferring to just wing it.&nbsp; Also, my microphone picks up EVERYTHING!&nbsp; The background voice are my kids.&nbsp; I need to learn how to use Audacity and filter that out&#8230;or buy a better microphone.</p>
<div class="wlWriterSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:e13420b9-65d7-49e5-8c3d-36481a79017e" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<div id="521fef52-00ca-48a2-87ad-b27bcde38de3" style="margin: 0px; padding: 0px; display: inline;">
<div><a href="http://video.google.com/videoplay?docid=-6159938059372574667" target="_new"><img src="http://elegantcode.com/wp-content/uploads/2008/03/videoe3c7134695b3.jpg" galleryimg="no" onload="var downlevelDiv = document.getElementById('521fef52-00ca-48a2-87ad-b27bcde38de3'); downlevelDiv.innerHTML = &quot;&lt;div&gt;&lt;embed style=\&quot;width:400px; height:326px;\&quot; id=\&quot;VideoPlayback\&quot; type=\&quot;application/x-shockwave-flash\&quot; src=\&quot;http://video.google.com/googleplayer.swf?docId=-6159938059372574667&amp;hl=en\&quot; flashvars=\&quot;\&quot;&gt; &lt;\/embed&gt;&lt;\/div&gt;&quot;;" alt=""></a></div>
</div>
</div>
<p><a href="http://video.google.com/videoplay?docid=-6159938059372574667">http://video.google.com/videoplay?docid=-6159938059372574667</a><br /><a href="http://elegantcode.com/files/video/Reflector_video.wmv">Download it</a></p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/03/22/reflector-screen-cast/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>VMWare Fusion vs. Parallels</title>
		<link>http://elegantcode.com/2008/03/15/vmware-fusion-vs-parallels/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=vmware-fusion-vs-parallels</link>
		<comments>http://elegantcode.com/2008/03/15/vmware-fusion-vs-parallels/#comments</comments>
		<pubDate>Sun, 16 Mar 2008 05:46:14 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/03/15/vmware-fusion-vs-parallels/</guid>
		<description><![CDATA[In the spirit of full disclosure, this post is a direct result of&#160; a previous post I made on falling back in love with my MacBook Pro. What happened is that within a few hours of posting, a representative of VMware contacted me and gave me a free license to their Fusion product, a virtual [...]]]></description>
			<content:encoded><![CDATA[<p>In the spirit of full disclosure, this post is a direct result of&#160; a previous post I made on <a href="http://elegantcode.com/2008/03/13/falling-in-love-all-over-again-with-my-mac/" target="_blank">falling back in love with my MacBook Pro</a>. What happened is that within a few hours of posting, a representative of VMware contacted me and gave me a free license to their Fusion product, a virtual machine client for the Mac.</p>
<p>So, I am running both VMware and Parallels on the same VM. I did this by using the VMware Importer. I simply pointed the Importer application at my Parallels VM and 30 minutes later it had made the VMware PC I am using as I write this post in Live Writer. Not too shabby.</p>
<p>That said, the importer application will not create a Fusion VM from a Windows Virtual PC VHD, which is what I wish it would do. For that, you must download a different application, which installs on the machine you want to turn into a VM for Fusion and it builds itself. Parallels also has an application that does this, an both work the same way.</p>
<p>This is my most frequent way to get a VM onto my Mac, create one from a pre-existing physical box or a Virtual PC VM. It would be nice if either vendor would make a Mac VM out of the PC one by simply operating on the VHD file, but not at this time.</p>
<p>Advantage: None.</p>
<p>Neither VM application will let me use the extra buttons on my MS Explorer track ball, because they both emulate a PS2 mouse driver to connect through to the mouse.</p>
<p>Advantage: None.</p>
<p>In Unity mode, Cohesion in Parallels, my favorite windows app, RocketDock, looks very pixelated and is pretty chopped up. In parallels, it looks great. This isn&#8217;t a big deal in an of itself, but the implication is the graphics are somewhat choppy coming across the OS boundary.</p>
<p>Advantage: Parallels</p>
<p>While in Unity mode, there is a menu item for Applications, which works like the start menu in Windows, only a little better. In Parallels, the Windows start menu and whole lower menu bar show up right on your Mac desktop. The difference is simply a matter of personal preference, as the functionality is exactly the same. I personally like VM Ware&#8217;s execution of this feature.</p>
<p>Advantage: VMware, but subjective</p>
<p>What about the important stuff? What about performance? Reliability?</p>
<p>I have no way of knowing (at least I am not aware) of how to measure the actual performance of the 2 VMs while they are spooled up. I guess I could test them by timing a run of some application, but this is a little beyond me caring. I will say that the Fusion VM seems slower. This is totally unscientific, though. I almost feel uncomfortable writing it, because it may not be true. It may just be a perception on my part.</p>
<p>Advantage: None.</p>
<p>Here&#8217;s one: VMware has one file that represents the VM. Nice. I wish the other VM manufacturers had this instead of the myriad of little nugget files that they spawn off.</p>
<p>Advantage: VMware</p>
<p>Size on my Mac disc for the Parallels hard drive: 27.7G. Size for the entire VMware virtual machine: 24.4G.</p>
<p>Advantage: VMware</p>
<p>VMware has support for 64 bit operating systems. Parallels doesn&#8217;t. Yet.</p>
<p>Advantage VMware</p>
<h2>Conclusion? Not really.</h2>
<p>So what will I run with? I am not sure yet. It is pretty difficult to find an advantage other than the 64 bit OS support. Feature parity between the two is almost scary equitable. I guess it&#8217;s a tight race. Both solutions will obviously do a good job. With VMware&#8217;s penetration into the enterprise space, I am sure they will sell more licenses simply because people will have good interop with their corporate environment. Parallels isn&#8217;t a big name in the enterprise space at this time, although they are making inroads.</p>
<p>They are very comparable on price point, too.</p>
<p>The one thing that would sway me in a particular direction is the ability to dynamically re-size a VM&#8217;s hard drive without too much pain. This is a nightmare in MS Virtual PC. Parallels provides a 3rd party utility that does it for you when you buy the $100 Premium version. This is good, but I would rather just have that baked in to the base product.</p>
<p>I cannot find similar functionality in Fusion. Maybe someone from VMware would chime in here to let us know wassup wit dat? Maybe it&#8217;s there and I can&#8217;t find it?</p>
<p>If I find anything truly differentiating in either product I will blog on it, but for now both suit my needs fine. </p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/03/15/vmware-fusion-vs-parallels/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>A Windows Guy on a MacBook Pro</title>
		<link>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-windows-guy-on-a-macbook-pro</link>
		<comments>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 05:09:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/</guid>
		<description><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade. I have to [...]]]></description>
			<content:encoded><![CDATA[<p>This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade.</p>
<p>I have to admit that even though my plans for this machine are all about getting Windows Vista installed as soon as my Leopard CDs arrive, this OS X thing is intriguing. Although it is frustrating not knowing my way around as I o in Windows, the obvious beauty and attention to aesthetic are really nice to work with. Frankly, the darn windows are just nice to look at.</p>
<p>I want to make it perfectly clear before I go into the next part of this article that I did not buy this machine for the OS X capabilities, although I am giving them due diligence. I bought the machine for the hardware performance and unparalleled form factor. Frankly, it is one of the most beautiful pieces of hardware I have ever seen and I don&#8217;t regret it a bit.</p>
<p>That said, all is not  perfect in MacVille. I am pretty used to hearing all about how Macs kick chicken and OSX is the greatest thing since peanut butter, so let me offer some observations.</p>
<p>When I tried joining my wireless network I had the stupidest issue I can imagine. The network connection utility kept telling my my password was wrong. I double and triple checked it. I even plugged in a wire and then copied and pasted the password from my router&#8217;s management screen. No dice. Ultimately I learned somewhere in the bowels of a newsgroup that when you are inputting a hex password you must prefix that password with a $ dollar sign as a signal to the connection gods that your password is in hex. What the&#8230;? That is the weirdest thing I have ever heard of. My mom would never have gotten that to work.</p>
<p>Next, Apple is making this great play with BootCamp, the revolutionary dual booting technology that Windows users have enjoyed for the last 10 years? Well anyway, what you don&#8217;t get with OSX is virtualization software. Or baked in remote desktop technology. Or 2 mouse pad buttons on the touchpad when right-click is a feature of the Apple OS (I simply don&#8217;t understand that one).</p>
<p>I can&#8217;t believe I am saying this, but I am getting the idea that it is cheaper to outfit a Windows machine with all the software you need. There is so darn much Windows software in the world, much of it open source or freeware. I could run all the same Java applications on both platforms, but I just have to have Visual Studio, Live Writer, Enterprise Architect, TextPad, and several other things that go along with the MS stack.</p>
<p>Non of this really matters, of course, because the reason I got this machine was to run Windows like a flaming pig runs downhill. Since Apple understandably pulled BootCamp from beta in preparation for the Leopard launch Friday I will have to tell you how that goes sometime next week. Once my Leopard upgrade arrives I will get Vista on here. Now there is some irony for you.</p>
<p>My last OSX comment of the day? This thing is prettier than a bag of redheads. I could get used to it if I&#8217;m not careful. After all, I can type ls on the command line for the first time since college.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile2007 &#8211; Wrap Up</title>
		<link>http://elegantcode.com/2007/08/20/agile2007-wrap-up/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=agile2007-wrap-up</link>
		<comments>http://elegantcode.com/2007/08/20/agile2007-wrap-up/#comments</comments>
		<pubDate>Mon, 20 Aug 2007 21:53:00 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=634</guid>
		<description><![CDATA[I missed the opportunity to blog details of my last 2 days of the Agile2007 conference. One big reason is the volume of activity over the last 2 days plus the time I tool to go see Washington D.C. I had never been there before and I had to do the tourist rounds. The following [...]]]></description>
			<content:encoded><![CDATA[<p>I missed the opportunity to blog details of my last 2 days of the Agile2007 conference. One big reason is the volume of activity over the last 2 days plus the time I tool to go see Washington D.C. I had never been there before and I had to do the tourist rounds.</p>
<p>The following sessions are ones that stand out vividly in my memory as being thought provoking or valuable.</p>
<h2>Smells in Agile Software Development Workshop</h2>
<p>[<a target="_blank" href="http://www.agile2007.org/agile2007/index.php?page=sub/&amp;id=413">Link to Session</a>]</p>
<p><a atomicselection="true" target="_blank" href="http://www.elegantcode.com/files/images/Agile2007Day5_5E3E/image.png"><img border="0" align="right" width="128" src="http://www.elegantcode.com/files/images/Agile2007Day5_5E3E/image_thumb.png" alt="Click Me" height="240" style="margin: 10px; border: 0px" /></a> Jutta Eckstein is a founding organizer of the Agile conferences and she <a target="_blank" href="http://www.agile2007.org/agile2007/index.php?page=sub/&amp;id=413">conducted this advanced level workshop</a> focusing on common anti-patterns people are experiencing in their Agile implementations. Topics ranged between the process and technical sides of the discussion but one theme stood out to me as we worked our way through the workshop; People are having challenges scaling Agile when the concepts are introduced to the company from the bottom up. This is doesn&#8217;t seem to be the case in top down implementations.</p>
<p>This image to the right links to a mind map I made during the workshop illustrating the 5 most common anti-patterns (smells) identified by the group. These all ring true in my experience and techniques for working with each situation is worthy of discussion individually.</p>
<h2>xUnit Test Patterns</h2>
<p>I spoke several times around the conference with Gerard Meszaros and he was an energetic voice of reason in all discussions in which I heard him engage. I didn&#8217;t realize that he was leading a session at the conference until I happened into his session, <em>xUnit Test Patterns</em>. Gerard&#8217;s session was shamelessly named after his book, <a target="_blank" href="http://www.amazon.com/xUnit-Test-Patterns-Refactoring-Addison-Wesley/dp/0131495054"><em>xUnit Test Patterns: Refactoring Test Code</em></a>, and provided an amazing amount of information for just a 3.5 hour talk.</p>
<p>xUnit in this conversation refers to any unit test framework and is meant as a stand in term for nUnit, jUnit, mbUnit, csUnit, etc. You get the idea. His techniques for simplifying unit tests kept me up all night Thursday refactoring tests within a little pet project of mine and loving every minute of it. He had some great technique suggestions and although I have not yet ordered his book, I recommend it to you.</p>
<h2>Domain Driven Design : Strategy</h2>
<p>[<a target="_blank" href="http://www.agile2007.org/agile2007/index.php?page=sub/&amp;id=889">Link to Session</a>]</p>
<p><a target="_blank" href="http://www.domainlanguage.com/about/ericevans.html">Eric Evans</a> (who looks bizarrely like Russell Crow)  is a patient man. Despite the random fire alarms in the hotel he managed to walk an enthusiastic audience of 25 or so through an introductory lesson in Domain Modeling for driving software systems. This dude has serious gray matter and introduced me to a subject I am definitely interested in. Eric walked us through a model of a system within a fictional organization that claimed money savings was its market differential. As you may guess, a model of the system of departmental interactions within the company showed that the system was actually optimized for a very different purpose.</p>
<p>In other words,are you really in the business you want to be in? Do all of your development activities support that position? Eric introduced a great framework for modeling these systems and companies and I <a target="_blank" href="http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215">ordered his book</a> this morning.</p>
<h3>My Random Thoughts on Domain Modeling</h3>
<p>There is an inherent lack of technology that will reverse engineer a model from code and build a conceptual representation in the process. For instance, to drop class files onto a Class Diagram Model in Visual Studio is a very helpful thing for class visualization, but the model generated does not know that the classes it has received work together to form a particular design pattern. Nowhere in the model do we see an entity represented as &#8220;The Strategy Pattern&#8221;. Nor does the model represent a group of classes as a domain specific thought.</p>
<p>This makes models inherently unstable due to their lack of value after an initial implementation generation event. Simply put, models get out of sync with code after only a little drift and reverse engineering the code doesn&#8217;t build the model well enough to make it useful beyond &#8220;seeing&#8221; classes. We have some technical evolution to experience here.</p>
<p style="display: inline; margin: 0px; padding: 0px" contentEditable="false" id="0767317B-992E-4b12-91E0-4F059A8CECA8:add5395b-e714-4a68-8989-762c25e43478" class="wlWriterSmartContent">Technorati tags: <a rel="tag" href="http://technorati.com/tags/Agile2007">Agile2007</a>, <a rel="tag" href="http://technorati.com/tags/Agile">Agile</a>, <a rel="tag" href="http://technorati.com/tags/Unit%20Testing">Unit Testing</a>, <a rel="tag" href="http://technorati.com/tags/DDD">DDD</a></p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/08/20/agile2007-wrap-up/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Agile2007 Day 2</title>
		<link>http://elegantcode.com/2007/08/14/agile2007-day-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=agile2007-day-2</link>
		<comments>http://elegantcode.com/2007/08/14/agile2007-day-2/#comments</comments>
		<pubDate>Tue, 14 Aug 2007 22:00:34 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=629</guid>
		<description><![CDATA[The Absolute Worst Keynote at a Technical Conference. Ever. Today&#8217;s keynote was the the longest 90 minutes in my recent memory.  That&#8217;s 1.5 hours of my life I will never get back. The keynote address for the Agile 2007 conference was given by Susan Ershler who spent my precious 90 minutes saying things like, &#8220;Rah, rah&#8221; and &#8220;You [...]]]></description>
			<content:encoded><![CDATA[<h2>The Absolute Worst Keynote at a Technical Conference. Ever.</h2>
<p>Today&#8217;s keynote was the the longest 90 minutes in my recent memory.  That&#8217;s 1.5 hours of my life I will never get back. The keynote address for the Agile 2007 conference was given by <a href="http://www.susanershler.com">Susan Ershler</a> who spent my precious 90 minutes saying things like, &#8220;Rah, rah&#8221; and &#8220;You can do it&#8221; and sounding like a weak imitation of the already sad <a target="_blank" href="http://en.wikipedia.org/wiki/Tony_Robbins">Tony Robbins</a>. I am surprised she wasn&#8217;t wearing a head mike, although she did have the podium removed for her shtick.</p>
<p>In a community this diverse and full of rock star geeks they couldn&#8217;t find someone who wasn&#8217;t trying to hawk their book about climbing Mount Everest? (That was serious, BTW) There are enough opportunities to get cheese from the snack bars during the breaks without serving that much of it for breakfast. I am sorely disappointed in whoever thought she was a good idea.</p>
<p>&#8216;Nuff said. But, yuck.</p>
<h2>Session: Agile Developer Practices for Dynamic Languages</h2>
<p>In <a target="_blank" href="http://agile2007.com/agile2007/index.php?page=sub/&amp;id=642">this excellent session</a>, Paul King did an amazing job of touring us through some fundamental differences between static and dynamic languages. He clearly groks his subject matter and was able to represent reasonable arguments for static typing goodness. What was that? Ruby doesn&#8217;t save the world? Well, it may have when it was Perl back in 1990, but that&#8217;s another story <img src='http://elegantcode.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> .</p>
<p>Long story short, some really cool basic patterns we implement in static languages are rolled into dynamic languages. Things like mocking may be accomplished with additional frameworks wince we have code injection baked right in. Weird. Conversely, how can you test for all conditions when you are not testing to an interface or concrete implementation? If I know that my object may change at runtime, how can I be assured I have tested it&#8217;s functionality? Again, I cannot. Again, weird.</p>
<p>Although I have done HelloWorld in Ruby, I don&#8217;t know much about dynamic languages yet. I intend to focus on learning one soon to truly grok the idea as I am told I must or die.</p>
<h2>Session: Lean and Agile In the Large &#8211; Principles, Practices and Experiences for Large Scale Software Development</h2>
<p>Gosh, that was a mouthful. Dave Thomas is a dynamic speaker and <a target="_blank" href="http://agile2007.com/index.php?page=sub/&amp;id=790">this session</a> was thoroughly enjoyable. Speaking to the already converted, this was an intermediate course focusing on pearls of wisdom Dave learns in his work with <a target="_blank" href="http://www.objectmentor.com/">Object Mentor</a> in scaling Agile practices to very large implementations.</p>
<p>Here are some of Dave&#8217;s nuggets:</p>
<ul>
<li>10% of your project time should be spent figuring out what you really want. This can be termed an &#8220;Envisioning Phase&#8221;. This is the result of prototyping in a set of iterations.</li>
<li>Only metrics provide transparency across the organization. Publish your metrics loudly and publicly.</li>
<li>The whole point of Agile is to make project management everyone&#8217;s responsibility.</li>
<li>Things only go bad one day at a time. You can stop a bad smell at any time.</li>
<li>All work items, including training, go in the backlog.</li>
<li>If you aren&#8217;t prototyping, you aren&#8217;t iterating. You must be willing to throw code away in order to foster learning. This is the heart of fail often to succeed.</li>
<li>Product Management is useless without perfect backlogs. User personas are great, clarity of desirements is better.</li>
<li>Concrete architectures are code, not instructional documents. A reasonable way to derive the code is with models, which should be versioned as code.</li>
<li>Customers don&#8217;t buy components, they buy features. This matters because a feature often must expand beyond the bounds of a prescribed component boundary and work across an entire framework.</li>
<li>Use planning poker, make management learn what it means.</li>
<li>Non-code artifacts belong in a Wiki or something like it. Along with code, your build process should tie code to a non-code artifact version as well. Ensure you can version your WIki as part of your build.</li>
<li>If you don&#8217;t have good executive leadership it doesn&#8217;t matter what you are doing, you are screwed.</li>
</ul>
<h2>Session: Agile adoption at Google</h2>
<p>Mark Striebeck uses his 20% time to foster Agile adoption at Google. In <a target="_blank" href="http://agile2007.com/index.php?page=sub/&amp;id=713">his session</a> he discussed how this has worked.</p>
<ul>
<li>At Google, employees are encouraged to attend at least one Tech. Talk a day, getting up and away from their workstation.</li>
<li>Grouplets at Google are the same as Communities of Interest and are made of volunteers. These groups are described as &#8220;Engineers making other engineer&#8217;s lives better.&#8221; Grouplets have a budget plus administrative support as needed.  Once per year, there is a Grouplet open house in which Grouplets try to recruit new members. This may be what people do in their 20% time.</li>
<li>Fix-It! is a one day event involving the entire company around one goal, usually fostered by a Grouplet. This is a rare, maybe once per quarter event, the motto for which is &#8220;Imagine what 5000 engineers can do in one day!&#8221;</li>
<li>The one rule at Google for development is that everything checked in to source control repository must be reviewed by at least one person.</li>
<li>&#8220;Google is the left side of the Agile Manifesto&#8221;</li>
<li>2-3 engineers make a development team.</li>
<li>Very different practices for different projects.</li>
<li>People love tools, let them use their favorites. Wiki for the backlog? Fine.
<ul>
<li>What is the mechanism for communicating across the entire enterprise?</li>
</ul>
</li>
<li>Teams get an audience with a VP and say &#8220;look what we made&#8221;. That&#8217;s how things get attention for market consideration.</li>
<li>Pairing not particularly favored</li>
<li>How do you keep people from duplicating work? We don&#8217;t. It happens. People of similar concerns usually know of each other through Grouplets.</li>
<li>Google does not worry about sustainable pace. They hire people who voluntarily work crushing hours anyway.</li>
<li>I work at Google and we rock harder than you. Seriously.</li>
</ul>
<p style="display: inline; float: none; margin: 0px; padding: 0px" contentEditable="false" id="0767317B-992E-4b12-91E0-4F059A8CECA8:ea96c90a-e7bd-445f-8940-87a58209e136" class="wlWriterSmartContent">Technorati tags: <a rel="tag" href="http://technorati.com/tags/Agile">Agile</a>, <a rel="tag" href="http://technorati.com/tags/Agile2007">Agile2007</a>, <a rel="tag" href="http://technorati.com/tags/Agile%20Architecture">Agile Architecture</a>, <a rel="tag" href="http://technorati.com/tags/Google">Google</a>, <a rel="tag" href="http://technorati.com/tags/Ruby">Ruby</a>, <a rel="tag" href="http://technorati.com/tags/Groovy">Groovy</a></p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/08/14/agile2007-day-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Ten Laws of Simplicity</title>
		<link>http://elegantcode.com/2007/07/13/the-ten-laws-of-simplicity/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-ten-laws-of-simplicity</link>
		<comments>http://elegantcode.com/2007/07/13/the-ten-laws-of-simplicity/#comments</comments>
		<pubDate>Fri, 13 Jul 2007 18:49:40 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=615</guid>
		<description><![CDATA[I am working at home today and listening to Friday&#8217;s Talk of the Nation on NPR, which is the Science Friday edition.&#160; Today&#8217;s guest is John Maeda, author of the Laws of Simplicity, and founder of the Simplicity Consortium at the MIT Media Lab. John has published these 10 laws that are not only worthy [...]]]></description>
			<content:encoded><![CDATA[<p>I am working at home today and listening to Friday&#8217;s <a href="http://www.kqed.org/programs/program-landing.jsp?progID=RD44" target="_blank">Talk of the Nation</a> on <a href="http://npr.org" target="_blank">NPR</a>, which is the <a href="http://www.npr.org/programs/scifri/" target="_blank">Science Friday edition</a>.&nbsp; Today&#8217;s guest is <a href="http://plw.media.mit.edu/people/maeda/" target="_blank">John Maeda</a>, author of the <a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&amp;path=ASIN/0262134721&amp;tag=maedastudio&amp;camp=1789&amp;creative=9325" target="_blank">Laws of Simplicity</a>, and founder of the <a href="http://simplicity.media.mit.edu/" target="_blank">Simplicity Consortium</a> at the <a href="http://www.mit.edu/" target="_blank">MIT</a> Media Lab.</p>
<p>John has published <a href="http://lawsofsimplicity.com/category/laws?order=ASC" target="_blank">these 10 laws</a> that are not only worthy of reading, but worthy of groking all the way to your core.&nbsp; Adherence to these principals is why companies like <a href="http://37signals.com/" target="_blank">37 Signals</a> and <a href="http://apple.com" target="_blank">Apple</a> are getting so much good play.</p>
<h2>John Maeda&#8217;s 10 Laws of Simplicity</h2>
<ol>
<li><a href="http://lawsofsimplicity.com/?p=50" target="_blank">Reduce</a></li>
<li><a href="http://lawsofsimplicity.com/?p=51" target="_blank">Organize</a></li>
<li><a href="http://lawsofsimplicity.com/?p=52" target="_blank">Time</a></li>
<li><a href="http://lawsofsimplicity.com/?p=53" target="_blank">Learn</a></li>
<li><a href="http://lawsofsimplicity.com/?p=54" target="_blank">Differences</a></li>
<li><a href="http://lawsofsimplicity.com/?p=55" target="_blank">Context</a></li>
<li><a href="http://lawsofsimplicity.com/?p=56" target="_blank">Emotion</a></li>
<li><a href="http://lawsofsimplicity.com/?p=57" target="_blank">Trust</a></li>
<li><a href="http://lawsofsimplicity.com/?p=58" target="_blank">Failure</a></li>
<li><a href="http://lawsofsimplicity.com/?p=59" target="_blank">The One</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/07/13/the-ten-laws-of-simplicity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Irritating Behavior on iGoogle Bookmarks</title>
		<link>http://elegantcode.com/2007/07/12/irritating-behavior-on-igoogle-bookmarks/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=irritating-behavior-on-igoogle-bookmarks</link>
		<comments>http://elegantcode.com/2007/07/12/irritating-behavior-on-igoogle-bookmarks/#comments</comments>
		<pubDate>Thu, 12 Jul 2007 14:57:49 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=612</guid>
		<description><![CDATA[Google Bookmarks is a no-brainer application.  To have all of your bookmarks available via your Google Toolbar is great because you get the same set of bookmarks from one browser to another and even one computer to another. Taking that to the next level, you can include the iGoogle Bookmark gadget on your iGoogle page. [...]]]></description>
			<content:encoded><![CDATA[<p><a target="_blank" href="http://www.google.com/bookmarks">Google Bookmarks</a> is a no-brainer application.  To have all of your bookmarks available via your Google Toolbar is great because you get the same set of bookmarks from one browser to another and even one computer to another. Taking that to the next level, you can include the <a target="_blank" href="http://www.google.com/ig/directory?url=http://bashennekam.googlepages.com/google_gadget_bookmarks.xml">iGoogle Bookmark gadget</a> on your <a target="_blank" href="http://www.google.com/ig">iGoogle</a> page.</p>
<p>This is good stuff and I use these things constantly, but I have found one little weirdness.</p>
<p>When I bookmark a server within my firewall the bookmark works fine via the toolbar, but does not show up in the iGoogle gadget.  Weird.  Further, I have a tag of bookmarks that all point within my domain and the iGoogle gadget doesn&#8217;t even show the tag.</p>
<p style="display: inline; margin: 0px; padding: 0px" contentEditable="false" id="0767317B-992E-4b12-91E0-4F059A8CECA8:786cef8c-a778-4d71-944e-d077b047bdbd" class="wlWriterSmartContent">Technorati tags: <a rel="tag" href="http://technorati.com/tags/iGoogle">iGoogle</a>, <a rel="tag" href="http://technorati.com/tags/Google">Google</a></p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/07/12/irritating-behavior-on-igoogle-bookmarks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing iTunes 7 on Vista</title>
		<link>http://elegantcode.com/2007/06/05/installing-itunes-7-on-vista/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=installing-itunes-7-on-vista</link>
		<comments>http://elegantcode.com/2007/06/05/installing-itunes-7-on-vista/#comments</comments>
		<pubDate>Tue, 05 Jun 2007 15:07:08 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=598</guid>
		<description><![CDATA[When trying to upgrade to iTunes 7.1 this morning I received an error message from the installer about VB Script being disabled and the installer was unable to continue.  After a little poking around it turns out that this is actually the issue.  In Vista, VB Script is not enabled by default. To enable it [...]]]></description>
			<content:encoded><![CDATA[<p>When trying to upgrade to iTunes 7.1 this morning I received an error message from the installer about VB Script being disabled and the installer was unable to continue.  After a little poking around it turns out that this is actually the issue.  In Vista, VB Script is not enabled by default.</p>
<p>To enable it and complete your iTunes upgrade, do this:</p>
<blockquote><p>regsvr32 C:\Windows\System32\vbscript.dll</p></blockquote>
<p>What cracks me up about this is why in the world is Apple using VB Script in the first place?  That is bizarre to me.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/06/05/installing-itunes-7-on-vista/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Books Lately</title>
		<link>http://elegantcode.com/2007/04/25/books-lately/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=books-lately</link>
		<comments>http://elegantcode.com/2007/04/25/books-lately/#comments</comments>
		<pubDate>Thu, 26 Apr 2007 04:38:13 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=571</guid>
		<description><![CDATA[I have been trying to concentrate on technical reading lately to no avail, I&#8217;m afraid.&#160; We are going through planning for our new fiscal year at work and this amount of paperwork leaves me brain dead at&#160;the end of each day.&#160; Strategic planning, team planning, goal statements, performance appraisals, budgeting, yeesh. You can see why [...]]]></description>
			<content:encoded><![CDATA[<p>I have been trying to concentrate on technical reading lately to no avail, I&#8217;m afraid.&nbsp; We are going through planning for our new fiscal year at work and this amount of paperwork leaves me brain dead at&nbsp;the end of each day.&nbsp; Strategic planning, team planning, goal statements, performance appraisals, budgeting, yeesh.</p>
<p>You can see why I&nbsp;haven&#8217;t had&nbsp;the fortitude lately to soldier through design patterns in bed at night. Here is a list of what I have been reading instead.</p>
<h2>Finished</h2>
<p><a href="http://www.amazon.com/Year-South-Ordinary-Tumultuous-American/dp/0060582480/ref=sr_1_1/104-1546373-9495110?ie=UTF8&amp;s=books&amp;qid=1177560007&amp;sr=1-1" target="_blank"><strong>A Year in the South: 1865</strong></a><strong> by Steven Ash</strong></p>
<p>Written by a colleague of my brother-in-law, this book explores the lives of 4 people in the most tumultuous year of American&nbsp;history, 1865.&nbsp; Steven Ash is a history professor at the University of Tennessee in Knoxville and an expert on the Civil War.&nbsp; He meticulously researched this book and delivers the story in a way that personally involves us in the fate of these very real people.</p>
<p>I will never be able to fully comprehend the gravity of the emancipation proclamation, but this book gets awfully close to making me feel the intensity of the time.</p>
<p><a href="http://www.amazon.com/gp/product/0307387895/sr=53-1/qid=1177560202/ref=tr_312951/104-1546373-9495110" target="_blank"><strong>The Road</strong></a><strong> by Cormac McCarthy</strong></p>
<p>This story is <a href="http://www.amazon.com/Giver-Lois-Lowry/dp/0440237688/ref=pd_bbs_sr_1/104-1546373-9495110?ie=UTF8&amp;s=books&amp;qid=1177560369&amp;sr=1-1" target="_blank">The Giver</a> meets <a href="http://www.amazon.com/Stand-Complete-Uncut-Stephen-King/dp/0385199570/ref=sr_1_5/104-1546373-9495110?ie=UTF8&amp;s=books&amp;qid=1177560427&amp;sr=1-5" target="_blank">The Stand</a>.&nbsp; A nameless father and son walk hopelessly starving through a post-apocalyptic America.&nbsp; The worst part of this book is the fact that it is an Oprah Book Club book and now I am getting Dr. Phil recommendations on my Amazon front page.&nbsp;Gross.</p>
<p><a href="http://www.amazon.com/First-90-Days-Critical-Strategies/dp/1591391105/ref=pd_bbs_sr_1/104-1546373-9495110?ie=UTF8&amp;s=books&amp;qid=1177560186&amp;sr=1-1" target="_blank"><strong>The First 90 Days</strong></a><strong> by Michael Watkins</strong></p>
<p>Like most business books, this one is a collection of anecdotes and rules of thumb.&nbsp; This rules of thumb&nbsp;in this particular book happen to be quite useful.&nbsp; They appear an questions to ask yourself when moving into a new job or position.</p>
<p>Things like, &#8220;How will I be measured?&#8221; and &#8220;What motivates my new boss?&#8221;&nbsp; Actually answering these things is a very valuable exercise.</p>
<p><a href="http://www.amazon.com/exec/obidos/ISBN=1841768545/snipercountryA" target="_blank"><strong>Out of Nowhere</strong></a><strong> by Martin Pegler</strong></p>
<p>A history military snipers from the trenches of France in WWI to modern day, this book is definitive guide to the the evolution of today&#8217;s military sniper.&nbsp; I appreciate the focus on marksmen and snipers from other branches than the Marine Corps.</p>
<h2>What&#8217;s Up Next</h2>
<p><a href="http://www.amazon.com/Wisdom-Crowds-James-Surowiecki/dp/0385721706/ref=pd_bbs_sr_1/104-1546373-9495110?ie=UTF8&amp;s=books&amp;qid=1177560171&amp;sr=1-1" target="_blank"><strong>The Wisdom of Crowds</strong></a><strong> by James Surowiecki</strong></p>
<p><a href="http://www.amazon.com/Children-Hurin-Deluxe-J-R-R-Tolkien/dp/0618904417/ref=pd_bbs_sr_1/104-1546373-9495110?ie=UTF8&amp;s=books&amp;qid=1177560130&amp;sr=1-1" target="_blank"><strong>The Children of Hurin</strong></a><strong> by J.R.R. Tolkien, Christopher Tolkien, and Alan Lee</strong></p>
<p><a href="http://www.amazon.com/Agile-Modeling-Effective-Practices-Programming/dp/0471202827/ref=pd_bbs_sr_1/104-1546373-9495110?ie=UTF8&amp;s=books&amp;qid=1177561103&amp;sr=1-1" target="_blank"><strong>Agile Modeling</strong></a><strong> by Scott W. Ambler and Ron Jeffries</strong></p>
<p><a href="http://www.amazon.com/Code-Craft-Practice-Writing-Excellent/dp/1593271190/ref=pd_bbs_sr_1/104-1546373-9495110?ie=UTF8&amp;s=books&amp;qid=1177562205&amp;sr=1-1" target="_blank"><strong>Code Craft</strong></a><strong> by Pete Goodliffe</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/04/25/books-lately/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

