<feed version="0.3" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns="http://purl.org/atom/ns#" xml:lang="en-US"><title>Geek Noise</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/" /><tagline type="text/html">Rants, rambles, news and notes from Peter Provost</tagline><id>http://blogs.provost.org/peter/</id><author><name>Peter Provost</name><url>http://blogs.provost.org/peter/</url></author><generator url="http://scottwater.com/blog" version=".Text Version 0.95.2005.109">.Text</generator><modified>2008-07-04T23:26:38Z</modified><entry><title>Last blog post on the old engine</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/07/04/24509.aspx" /><id>http://blogs.provost.org/peter/archive/2008/07/04/24509.aspx</id><created>2008-07-04T23:27:00Z</created><issued>2008-07-05T07:27:00-08:00</issued><modified>2008-07-04T23:27:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;This post will be my last post on my old .TEXT based blog engine as I am now moving over to a new host (DiscountASP.net) and a new blog engine (BlogEngine.net).&lt;/p&gt; &lt;p&gt;This post will only appear on the old site.&lt;/p&gt; &lt;p&gt;Since everyone should be using my Feedburner feed, RSS should continue without issue. Also, I've got 301 redirects in place for any links to the old URLs.&lt;/p&gt; &lt;p&gt;Hopefully I didn't miss anything.&lt;/p&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24509.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>Tab Management Shortcuts for IE7</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/07/03/24507.aspx" /><id>http://blogs.provost.org/peter/archive/2008/07/03/24507.aspx</id><created>2008-07-03T14:07:00Z</created><issued>2008-07-03T22:07:00-08:00</issued><modified>2008-07-03T14:07:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;So there I am browsing a couple of internal sites suddenly IE7 switches into a mode where it shows me thumbnails of all my open tabs.&lt;/p&gt; &lt;p&gt;"Wha happan??"&lt;/p&gt; &lt;p&gt;I pressed ESC and it went away. But then I couldn't figure out what did it. No combination of Shift, Ctrl, Alt + Tab would do it. Hmmm... Oh well... Back to work.&lt;/p&gt; &lt;p&gt;Five minutes later it happened again. Twice was enough for me to find the pattern.&lt;/p&gt; &lt;p&gt;I was using Outlook Web Access (aka OWA). For a long time I've been a stickler for keeping track of which messages I've really read and which I haven't. So in regular Outlook, I turn off the "auto mark as read" feature of the preview pane and manually mark as read or unread using Ctrl+Q and Ctrl+U.&lt;/p&gt; &lt;p&gt;A thought that back in IE6, Ctrl+Q behaved that way in OWA too, and for all I know the code is still there. But now, in IE7, when I press Ctrl+Q I get the thumbnail view:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.peterprovost.org/Files/TabManagementShortcutsforIE7_E28E/image.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="238" alt="image" src="http://www.peterprovost.org/Files/TabManagementShortcutsforIE7_E28E/image_thumb.png" width="244" border="0"&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.peterprovost.org/Files/TabManagementShortcutsforIE7_E28E/image_3.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="238" alt="image" src="http://www.peterprovost.org/Files/TabManagementShortcutsforIE7_E28E/image_thumb_3.png" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Very cool! Not sure how much I'll use it, but it is neat. It also got me wondering about other shortcuts. I'm sure there are more, but I also found that it support Ctrl+1, Ctrl+2, etc. for direct selection of tabs. (Firefox does this too.)&lt;/p&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24507.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>Inherit to Be Reused, Not to Reuse</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/06/30/24503.aspx" /><id>http://blogs.provost.org/peter/archive/2008/06/30/24503.aspx</id><created>2008-06-30T19:26:00Z</created><issued>2008-07-01T03:26:00-08:00</issued><modified>2008-06-30T19:26:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;I'm surprised how often I have to say this to other developers and engineers, but violations of this simple object-oriented mantra seems to be everywhere. Almost every time I look at a class inheritance hierarchy, I find this principle violated.&lt;/p&gt; &lt;p&gt;Why is this use of inheritance bad? First of all, let's talk about what inheritance is good for:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming"&gt;Polymorphism&lt;/a&gt; - In OOP, this means that you can treat derived classes as if you had been passed an instance of the parent. This was formalized by Barbara Liskov in her 1988 paper "Data Abstraction and Hierarchy". Another way to say is is, "Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it." [&lt;a href="http://www.objectmentor.com/resources/articles/lsp.pdf"&gt;Martin-96&lt;/a&gt;]  &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Categorization"&gt;Categorization&lt;/a&gt; - The process in which ideas and objects are recognized, differentiated and understood. Categorization implies that objects are grouped into categories, usually for some specific purpose. Ideally, a category illuminates a relationship between the subjects and objects of knowledge.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Let me refer you to the wonderful book, &lt;a href="http://www.amazon.com/gp/product/0321113586?ie=UTF8&amp;amp;tag=peterprovosto-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0321113586"&gt;C++ Coding Standards: 101 Rules, Guidelines, and Best Practices&lt;/a&gt;&lt;img style="margin: 0px; border-top-style: none! important; border-right-style: none! important; border-left-style: none! important; border-bottom-style: none! important" height="1" alt="" src="http://www.assoc-amazon.com/e/ir?t=peterprovosto-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0321113586" width="1" border="0"&gt; by Herb Sutter and Andrei Alexandrescu:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Despite two decades of object-oriented design knowledge, the purpose and practice of public inheritance are still frequently misunderstood, and many uses of inheritance are flawed.  &lt;p&gt;Public inheritance must always model "is-a" ("works-like-a") according to the Liskov Substitution Principle: All base contracts must be fulfilled, and so all overrides of virtual member functions must require no more and promise no less than their base versions if they are to successfully fulfill the base's contract. Code using a pointer or reference to a Base must behave correctly even when that pointer or reference actually points to a Derived.  &lt;p&gt;...  &lt;p&gt;Public inheritance is indeed about reuse, but not the way many programmers seem to think. As already pointed out, the purpose of public inheritance is to implement substitutability. The purpose of public inheritance is not for the derived class to reuse base class code to implement itself in terms of the base class's code. Such an is-implemented-in-terms-of relationship can be entirely proper, but should be modeled by composition—or, in special cases only, by nonpublic inheritance (see Item 34).&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Let me call out one of the more importance sentences in that quote:&lt;/p&gt; &lt;blockquote&gt; &lt;p style="background: yellow"&gt;The purpose of public inheritance is not for the derived class to reuse base class code to implement itself in terms of the base class's code. &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;The inheritance relationship is one of the strongest coupling relationships we can have in OOP. Everyone knows that coupling is bad and cohesion is good, but we still couple like mad via inheritance. We do this for a number of reasons, but one of the big ones is that very few college grads seem to get taught this in school. It makes me wonder how many undergraduate compsci teachers actually get it. Daniel Pietraru wrote a bit about this and how he has used inheritance questions &lt;a href="http://littletutorials.com/2008/06/23/inheritance-not-for-code-reuse/"&gt;as interview questions&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;The other reason I think it is so common is that our languages and tools make it look so easy and so proper. Even Fowler-esque Refactoring has refactorings called "Pull Up Method/Field/etc." that seem to be all about putting shared code into the base class. There is also the &lt;a href="http://c2.com/cgi/wiki?AbstractTest"&gt;Abstract Test Pattern&lt;/a&gt; in TDD which specifically describes using base classes as "a way to reuse test cases". &lt;/p&gt; &lt;p&gt;Whenever possible, you should look to use composition instead of inheritance in your designs. The problem is that composition is harder to do, even though it results in cleaner more modular designs. Despite that, composition has a number of benefits over inheritance. Again, I'll let Messrs. Sutter and Alexandrescu tell it (remember that some of the techniques for pointers and such are very C/C++ centric and aren't relevant here, but the underlying meaning is still true):&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Composition has important advantages over inheritance:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Greater flexibility without affecting calling code: A private data member is under your control. You can switch from holding it by value to holding by (smart) pointer or Pimpl (see Item 43) without breaking client code; you would only need to change the implementations of the class's own member functions that use it. If you decide you need different functionality, you can easily change the type of the member or the manner of holding it while keeping the class's public interface consistent. In contrast, if you begin with a public inheritance relationship, it is likely that clients have already come to depend on the inheritance; you have therefore committed your class to it and cannot easily change your base class decision later on.  &lt;li&gt;Greater compile-time insulation, shorter compile times: Holding an object by pointer (preferably a smart pointer), rather than as a direct member or base class, can also allow you to reduce header dependencies because declaring a pointer to an object doesn't require that object's full class definition. By contrast, inheritance always requires the full definition of the base class to be visible. A common technique is to aggregate all private members behind a single opaque pointer, called a Pimpl.  &lt;li&gt;Less weirdness: Inheriting from a type can cause name lookup to pull in functions and function templates defined in the same namespace as that type. This is very subtle and hard to debug.  &lt;li&gt;Wider applicability: Some classes were not designed to be bases in the first place. Most classes, however, can fulfill the role of a member.  &lt;li&gt;Great robustness and safety: The tighter coupling of inheritance makes it more difficult to write error-safe code.  &lt;li&gt;Less complexity and fragility: Inheritance exposes you to additional complications, such as name hiding and other complications that can arise in the presence of later changes to the base class.&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt; &lt;p&gt;In essence, inheriting for code reuse makes your design brittle. Changes in strange places manifest themselves in even stranger places. If your language doesn't support multiple inheritance (like C# and Java), then if you use an form of class-based inheritance in your code, you are effectively preventing good Liskov-style inheritance by people who consume your code. Bad bad bad bad.&lt;/p&gt; &lt;p&gt;When you do use inheritance from a base class in your design, look for these gotchas:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Protected methods in the base class - This is the stink that is the smell that Herb talks about above.&lt;/li&gt; &lt;li&gt;Calling public methods in the base class from the derived class - Slightly less smelly, but still not good.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Honestly, it makes me want to try to eliminate all nonabstract inheritance in my code. In languages with good duck typing, I'd say eliminate inheritance entirely, because in those systems the only good reason to use inheritance is for derived class code reuse. I know this is an over aggressive reaction but I do wonder what our code would look like if we had good composition constructs in the language (we don't) and if we either went with pure duck typing (ala Ruby) or interface-only inheritance.&lt;/p&gt; &lt;p&gt;Like that's gonna happen...&lt;/p&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24503.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>Replacing ExpectedException in NUnit 2.4</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/06/27/24500.aspx" /><id>http://blogs.provost.org/peter/archive/2008/06/27/24500.aspx</id><created>2008-06-27T12:14:00Z</created><issued>2008-06-27T20:14:00-08:00</issued><modified>2008-06-27T12:14:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;&lt;a href="http://jamesnewkirk.typepad.com/posts/"&gt;Jim Newkirk&lt;/a&gt;, &lt;a href="http://bradwilson.typepad.com/"&gt;Brad Wilson&lt;/a&gt; and I have been in agreement about the evils of ExpectedException for a long time. When Jim and Brad wrote xUnit.net, in fact, they left it out and opted instead for a new Throws method that lets you be a lot more precise about what and when you are testing the exception.&lt;/p&gt; &lt;p&gt;But NUnit 2.4.x doesn't have this feature (2.5 will). Fear not! Jim has written a nice little sample of the Throws method for NUnit 2.4.x that provides this same experience in his new post &lt;a href="http://jamesnewkirk.typepad.com/posts/2008/06/replacing-expec.html"&gt;Replacing ExpectedException in NUnit&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;If you are using NUnit today, I would really suggest you read the post and consider changing the way you test exceptions in your unit tests.&lt;/p&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24500.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>In Redmond for the next week</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/06/22/24482.aspx" /><id>http://blogs.provost.org/peter/archive/2008/06/22/24482.aspx</id><created>2008-06-22T19:00:00Z</created><issued>2008-06-23T03:00:00-08:00</issued><modified>2008-06-22T19:00:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;Time for another trip home to the mother ship for my monthly dose. I'll be in building 25 all week and staying at my (still unsold) house in Sammamish. Looking forward to some quality face time with my team.&lt;/p&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24482.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>Mount an ISO in Vista</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/06/20/24468.aspx" /><id>http://blogs.provost.org/peter/archive/2008/06/20/24468.aspx</id><created>2008-06-20T12:48:00Z</created><issued>2008-06-20T20:48:00-08:00</issued><modified>2008-06-20T12:48:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;I used to use the &lt;a href="http://download.microsoft.com/download/7/b/6/7b6abd84-7841-4978-96f5-bd58df02efa2/winxpvirtualcdcontrolpanel_21.exe"&gt;Microsoft Virtual CD-ROM&lt;/a&gt; tool, but the public one doesn't work in Vista. I also used Daemon Tools, but apparently it now bundles some SpyWare so I won't touch it.&lt;/p&gt; &lt;p&gt;After a bit of digging today, I found this: &lt;a title="http://www.howtogeek.com/howto/windows-vista/mount-an-iso-image-in-windows-vista/" href="http://www.howtogeek.com/howto/windows-vista/mount-an-iso-image-in-windows-vista/"&gt;Mount and ISO Image in Windows Vista :: the How-To Geek&lt;/a&gt;&lt;/p&gt; &lt;p&gt;It works perfectly and is free. &lt;/p&gt; &lt;p&gt;PS. I still don't understand why this isn't baked into the OS, but it isn't.&lt;/p&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24468.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>Speeding Up Vista Boot Time</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/06/20/24467.aspx" /><id>http://blogs.provost.org/peter/archive/2008/06/20/24467.aspx</id><created>2008-06-20T12:06:00Z</created><issued>2008-06-20T20:06:00-08:00</issued><modified>2008-06-20T12:06:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;Found this little gem while looking for something else... thought I'd share it.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;When you have a computer with a recent model CPU, chances are it's a dual-core CPU. Both Intel &amp;amp; AMD have been producing dual core CPU's for a few years now. By default, Windows Vista will only use a single core during boot-up. You can easily change this from the System Configuration utility:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;In Vista's Start Search type msconfig &amp;amp; hit the [Enter] key on your keyboard&lt;/li&gt; &lt;li&gt;Once System Configuration has started, select the Boot tab and click the Advanced Options button&lt;br&gt;&lt;a href="http://www.peterprovost.org/Files/SpeedingUpVistaBootTime_C506/image.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="421" alt="image" src="http://www.peterprovost.org/Files/SpeedingUpVistaBootTime_C506/image_thumb.png" width="617" border="0"&gt;&lt;/a&gt;&lt;/li&gt; &lt;li&gt;In the BOOT Advanced Options dialog, check the "Number of processors" check box, and choose 2 (or 4 if you have quad core) for the number of processors.&lt;br&gt;&lt;a href="http://www.peterprovost.org/Files/SpeedingUpVistaBootTime_C506/image_3.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="421" alt="image" src="http://www.peterprovost.org/Files/SpeedingUpVistaBootTime_C506/image_thumb_4.png" width="425" border="0"&gt;&lt;/a&gt; &lt;/li&gt; &lt;li&gt;Click OK twice.&lt;/li&gt;&lt;/ol&gt;&lt;/blockquote&gt; &lt;p&gt;Done and done. :)&lt;/p&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24467.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>What is good tequila?</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/06/20/24465.aspx" /><id>http://blogs.provost.org/peter/archive/2008/06/20/24465.aspx</id><created>2008-06-20T07:20:00Z</created><issued>2008-06-20T15:20:00-08:00</issued><modified>2008-06-20T07:20:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;I've been a tequila sipper for years. When I was young I had an incident with whiskey that put me off it, possibly for life, and tequila has nicely filled that gap.&lt;/p&gt; &lt;p&gt;I know the difference between good tequila and bad tequila. Good tequila is 100% blue agave and has a little number on the label that say NOM ####. That number if the distillery registration number. Look for it.&lt;/p&gt; &lt;p&gt;My good friend and fellow tequila sipper &lt;a href="http://denversurfreport.blogspot.com/"&gt;Aaron Mikulich&lt;/a&gt; sent me this great article today that sums up good tequila better than I ever could:&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.friday.com/bbum/2008/06/19/what-is-good-tequila/"&gt;bbum’s weblog-o-mat » What is good tequila?&lt;/a&gt; &lt;/p&gt; &lt;p&gt;A choice quote from the beginning:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;First, Cuervo Gold is not good tequila. It is actually a really terrible product, quality wise, backed by some brilliant market. Sadly, most of the tequila consumed in the United States is Cuervo Gold or something equally as bad. And by “bad”, I mean bad taste and vicious hangover.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Amen brother!&lt;/p&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24465.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>OneNote Instant Navigator</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/06/17/24458.aspx" /><id>http://blogs.provost.org/peter/archive/2008/06/17/24458.aspx</id><created>2008-06-17T21:30:00Z</created><issued>2008-06-18T05:30:00-08:00</issued><modified>2008-06-18T10:13:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;We use OneNote a LOT at work. Once you get used to it, it is basically an offline Wiki. You can link all over the place easily, store it on a server to share, and work offline. I love it.&lt;/p&gt; &lt;p&gt;But once you get to using it this way, you end up with a whole bunch of notes. It can be hard to find something when you need it.&lt;/p&gt; &lt;p&gt;Enter OneNote Instant Navigator...&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.peterprovost.org/Files/OneNoteInstantNavigator_DDFA/image.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="431" alt="OneNote Instant Navigator" src="http://www.peterprovost.org/Files/OneNoteInstantNavigator_DDFA/image_thumb.png" width="481" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Assign a hotkey (I use Win+I) and now you can very quickly get to any note you want. I love it.&lt;/p&gt; &lt;p&gt;UPDATE: Forgot the link: &lt;a title="http://i-navigator.hut2.ru/" href="http://i-navigator.hut2.ru/"&gt;http://i-navigator.hut2.ru/&lt;/a&gt;&lt;/p&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24458.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>Skinner's Blog : New role running the VSTS Architecture Edition team</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/06/16/24418.aspx" /><id>http://blogs.provost.org/peter/archive/2008/06/16/24418.aspx</id><created>2008-06-16T14:11:00Z</created><issued>2008-06-16T22:11:00-08:00</issued><modified>2008-06-16T14:11:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;Cameron Skinner, the Product Unit Manager for VSTS Architecture Edition, has returned to the blogging world by announcing (a little bit late) his new role.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/camerons/archive/2008/06/13/new-role-running-the-vsts-architecture-edition-team.aspx"&gt;Skinner's Blog : New role running the VSTS Architecture Edition team&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Hopefully he'll keep blogging more!&lt;/p&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24418.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>The Last vsvars32.ps1 I'll Ever Need</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/06/14/24398.aspx" /><id>http://blogs.provost.org/peter/archive/2008/06/14/24398.aspx</id><created>2008-06-14T12:48:00Z</created><issued>2008-06-14T20:48:00-08:00</issued><modified>2008-06-18T12:33:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;I know &lt;a href="http://www.tavaresstudios.com/Blog/"&gt;Chris Tavares&lt;/a&gt; mentioned this at work one day when I was at P&amp;amp;P, and I'm very excited that he blogged it and made it so easy to do. &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.tavaresstudios.com/Blog/post/The-last-vsvars32ps1-Ill-ever-need.aspx"&gt;The last vsvars32.ps1 I'll ever need&lt;/a&gt; &lt;/p&gt; &lt;p&gt;I made one tiny modification, which is to default to 9.0 instead of 8.0 since that is the environment I use, but other than that it seems to work great.&lt;/p&gt; &lt;p&gt;Thanks Chris!&lt;/p&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24398.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>Enterprise Library for VS 2008 Released!</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/06/11/24391.aspx" /><id>http://blogs.provost.org/peter/archive/2008/06/11/24391.aspx</id><created>2008-06-11T08:57:00Z</created><issued>2008-06-11T16:57:00-08:00</issued><modified>2008-06-11T08:57:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;Not sure how I missed this, but a few weeks ago the &lt;em&gt;patterns &amp;amp; practices&lt;/em&gt; team released Enterprise Library for VS 2008 (aka EntLib 4.0).&lt;/p&gt; &lt;p&gt;Grigori Melnik has blogged all about it here:&lt;br&gt;&lt;a title="http://blogs.msdn.com/agile/archive/2008/05/16/enterprise-library-4-0-for-visual-studio-2008-released.aspx" href="http://blogs.msdn.com/agile/archive/2008/05/16/enterprise-library-4-0-for-visual-studio-2008-released.aspx"&gt;http://blogs.msdn.com/agile/archive/2008/05/16/enterprise-library-4-0-for-visual-studio-2008-released.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Check it out! Lots of good stuff in there!&lt;/p&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24391.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>TechEd 2008 Coverage of VSTS Architect Edition</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/06/11/24390.aspx" /><id>http://blogs.provost.org/peter/archive/2008/06/11/24390.aspx</id><created>2008-06-11T08:09:00Z</created><issued>2008-06-11T16:09:00-08:00</issued><modified>2008-06-11T08:13:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;Brian Harry's blog about the keynote: &lt;a title="http://blogs.msdn.com/bharry/archive/2008/06/05/teched-2008-keynote.aspx" href="http://blogs.msdn.com/bharry/archive/2008/06/05/teched-2008-keynote.aspx"&gt;http://blogs.msdn.com/bharry/archive/2008/06/05/teched-2008-keynote.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;TechEd Online - "Visual Studio Team System Panel - Meet the Team"&lt;br&gt;&lt;a title="http://mfile.akamai.com/14853/wmv/microsofttec.download.akamai.com/14853/TechEdOnline/Videos/08_NA_Dev_TEOPanel_10_low.asx" href="http://mfile.akamai.com/14853/wmv/microsofttec.download.akamai.com/14853/TechEdOnline/Videos/08_NA_Dev_TEOPanel_10_low.asx"&gt;http://mfile.akamai.com/14853/wmv/microsofttec.download.akamai.com/14853/TechEdOnline/Videos/08_NA_Dev_TEOPanel_10_low.asx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;David Starr&lt;br&gt;&lt;a title="http://elegantcode.com/2008/06/06/architecture-modeling-in-rosario-with-peter-provost/" href="http://elegantcode.com/2008/06/06/architecture-modeling-in-rosario-with-peter-provost/"&gt;http://elegantcode.com/2008/06/06/architecture-modeling-in-rosario-with-peter-provost/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Jeff Bramwell&lt;br&gt;&lt;a title="http://devmatter.blogspot.com/2008/06/tech-ed-2008-final-day.html" href="http://devmatter.blogspot.com/2008/06/tech-ed-2008-final-day.html"&gt;http://devmatter.blogspot.com/2008/06/tech-ed-2008-final-day.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Doug Holland&lt;br&gt;&lt;a title="http://softwareblogs.intel.com/2008/06/03/microsoft-teched-2008-developers-conference-keynote/" href="http://softwareblogs.intel.com/2008/06/03/microsoft-teched-2008-developers-conference-keynote/"&gt;http://softwareblogs.intel.com/2008/06/03/microsoft-teched-2008-developers-conference-keynote/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I'm sure there's more, but that's all I could find this morning.&lt;/p&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24390.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>Willy-Peter Schaub's Review of Rosario CTP12</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/06/11/24389.aspx" /><id>http://blogs.provost.org/peter/archive/2008/06/11/24389.aspx</id><created>2008-06-11T08:02:00Z</created><issued>2008-06-11T16:02:00-08:00</issued><modified>2008-06-11T08:02:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;I'm always digging around looking for people talking about our stuff. FOund another one today by Willy-Peter Schaub, an MVP. He does a pretty good job, with screenshots and all that, of talking about the features in the CTP.&lt;/p&gt; &lt;p&gt;&lt;a href="http://dotnet.org.za/willy/archive/2008/05/29/rosario-april-2008-ctp-investigation-part-3-architecture.aspx"&gt;Rosario April 2008 CTP Investigation (Part 3) - Architecture - Willy-Peter Schaub's Cave of Chamomile Simplicity&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24389.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>Tech Ed, Team Arch and More</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/06/09/24383.aspx" /><id>http://blogs.provost.org/peter/archive/2008/06/09/24383.aspx</id><created>2008-06-09T11:27:00Z</created><issued>2008-06-09T19:27:00-08:00</issued><modified>2008-06-09T11:27:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;I'm back from TechEd 2008 Developer where we showed off not only our VSTS 2008 stuff but spent a lot of time talking about our Rosario features and in particular our UML support.&lt;/p&gt; &lt;p&gt;We got some time in the Billg keynote which was great, had thousands of excited customers come by our booth and I did a session all about Team Arch Rosario on Friday.&lt;/p&gt; &lt;p&gt;Feedback has been continuously positive and we're all very excited about what we're doing and about how customers are feeling about it. The UML direction seems to be very positive so far.&lt;/p&gt; &lt;p&gt;Also, via Mark Groves I found another blogger talking about our stuff, this time with a demo video of Reverse Engineering UML Sequence Diagrams from code. I've yet to do a demo of this where people don't get excited.&lt;/p&gt; &lt;p&gt;&lt;a title="http://theumlguy.spaces.live.com/blog/cns!B4665B67C2981533!136.entry" href="http://theumlguy.spaces.live.com/blog/cns!B4665B67C2981533!136.entry"&gt;http://theumlguy.spaces.live.com/blog/cns!B4665B67C2981533!136.entry&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Enjoy!&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9b58b207-1116-430e-ab9f-e1d9b5fe19b6" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/TechEd%202008" rel="tag"&gt;TechEd 2008&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Rosario" rel="tag"&gt;Rosario&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VSTS" rel="tag"&gt;VSTS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/UML" rel="tag"&gt;UML&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Sequence%20Diagrams" rel="tag"&gt;Sequence Diagrams&lt;/a&gt;&lt;/div&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24383.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>Tracking Actual Work Done vs Estimated Work Remaining</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/05/29/24360.aspx" /><id>http://blogs.provost.org/peter/archive/2008/05/29/24360.aspx</id><created>2008-05-29T08:51:00Z</created><issued>2008-05-29T16:51:00-08:00</issued><modified>2008-05-29T08:51:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;I see this get discussed all the time on some of the agile aliases I'm on. &lt;p&gt;&lt;strong&gt;I care how much time is left, not how much time you spent on it.&lt;/strong&gt; &lt;p&gt;I know people like to talk about “using the data to make our estimating better” but there are flaws in that argument that just can’t be ignored: &lt;ol&gt; &lt;li&gt;Nobody ever does it. In fact, I don’t even know of a process to achieve this. Hollering at people who over/under estimate is not an improvement process.&lt;/li&gt; &lt;li&gt;It assumes you can make developer estimates better. More experienced developers estimate better, that I’ll take as a given, but can you accelerate this with novice/junior developers or testers? I don’t think so.&lt;/li&gt; &lt;li&gt;Software is NOT like mechanical engineering. It is a craft. Every activity you do is very likely the first time you’ve done it exactly that way. So our inability to accurately and precisely estimate shouldn’t be all that surprising.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;At least that’s how I see it. :) &lt;img src ="http://blogs.provost.org/peter/aggbug/24360.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>Another April CTP Review</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/05/13/24337.aspx" /><id>http://blogs.provost.org/peter/archive/2008/05/13/24337.aspx</id><created>2008-05-13T13:59:00Z</created><issued>2008-05-13T21:59:00-08:00</issued><modified>2008-05-13T13:59:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;Jeff Levinson's has followed up &lt;a href="http://visualstudiomagazine.com/columns/article.aspx?editorialsid=2583"&gt;his last column&lt;/a&gt; on the April 2008 VSTS CTP with a new one called &lt;a href="http://visualstudiomagazine.com/columns/article.aspx?editorialsid=2617"&gt;The Joy of Sequence Diagrams&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;In this article Jeff reviews the Logical Class Diagram and the Sequence Diagram.&lt;/p&gt; &lt;p&gt;My favorite bit:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;The benefit of the revamped diagrams is that not only can the represented information be semantic, but it can also be non-semantic. That is, it can be used to communicate ideas and thoughts without adding any particular constraints to a solution. This makes the new suite of diagrams in the Architecture Edition particularly powerful and useful. &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Hopefully Jeff will cover more in his upcoming articles.&lt;/p&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24337.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>Simulated Agile Team Rooms</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/05/13/24333.aspx" /><id>http://blogs.provost.org/peter/archive/2008/05/13/24333.aspx</id><created>2008-05-13T11:32:00Z</created><issued>2008-05-13T19:32:00-08:00</issued><modified>2008-05-13T11:32:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;&lt;em&gt;Today on an internal agile alias, a discussion came up about simulating agile team rooms for disbursed teams. I've played around with this for years and had some suggestions for them:&lt;/em&gt;&lt;/p&gt; &lt;hr&gt;  &lt;p&gt;It can be simulated, but it is hard and requires extra discipline by the team. A few key things:  &lt;ol&gt; &lt;li&gt;Think about how to simulate the “in the room” experience where you can overhear and participate in conversations going on around you? Team void chat software like Ventrilo, Team Speak or our own Corporate Conference Calling system can work. Can you have an “open mic” in the team room? You also can give up on audio and use team room chat software like IRC. I’ve used them all. There are plusses and minuses to each. &lt;/li&gt; &lt;li&gt;Think about the changes you may need to make to development practices. Do you use Pair-Programming and TDD? If so, you may want to take a look at &lt;a href="http://www.peterprovost.org/archive/2006/08/07/18053.aspx"&gt;Micro-pairing&lt;/a&gt; as a technique for coordinating the TDD/Pair handoffs. (Micro-pairing was actually created in response this exact scenario. I was pairing with another developer who was remote.) &lt;/li&gt; &lt;li&gt;In addition to practice changes, think about how to deal with remote desktop sharing. Live Meeting works, but can be a bit heavy. Virtual Server and the standalone Virtual Server client actually let two people connect to the same desktop. I know that VNC, an open source remoting tool, also allows this, but I would recommend you to be cautious with that tool. It has some known security bugs and your network admins may not allow it. Check with them first.&lt;/li&gt; &lt;li&gt;Make sure everyone on the team has all the necessary access they need to be a full team member. Access to version control, portals, file shares, email aliases, etc. all must be available. &lt;/li&gt; &lt;li&gt;Think carefully about how you do your team meetings. When you have only 1 or 2 people who are remote and the rest of the team is in a room, the person on the far side WILL feel out of the loop unless you run the meeting as if everyone were remote. One thing I’ve heard of is to actually have everyone go into their individual offices and dial-in to the meeting so everyone is on an equal footing. &lt;/li&gt; &lt;li&gt;Drastic time zone differences can make this very very hard on some team members. Ultimately this can be make-or-break for successful disbursed teaming. If people are 8 hours apart, when do you schedule standups and IP meetings? My rule of thumb is that more than 3-4 hours apart will kill you and you should split it into two teams that are closer in time to each other. &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;These are based on 3-4 years of playing around with these concepts at P&amp;amp;P. YMMV.&lt;/p&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24333.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>VSTS CTP Getting Noticed</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/05/02/24320.aspx" /><id>http://blogs.provost.org/peter/archive/2008/05/02/24320.aspx</id><created>2008-05-02T10:16:00Z</created><issued>2008-05-02T18:16:00-08:00</issued><modified>2008-05-02T10:16:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;I know I've been kinda quiet since moving to VSTS Team Architect, but getting settled into a new job and moving your family can be a bit time consuming.&lt;/p&gt; &lt;p&gt;However, I was taking a break looking at some blogs and stuff and found a few people talking about some of the new stuff in &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=65D0E3BD-9DF3-421A-804F-8F01BD90F0B4&amp;amp;displaylang=en"&gt;our most recent CTP&lt;/a&gt;! &lt;/p&gt; &lt;p&gt;Very cool indeed and I wanted to share them with you.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://visualstudiomagazine.com/columns/article.aspx?editorialsid=2583"&gt;Visual Studio Magazine: Doing Architecture with Team System Rosario&lt;/a&gt; by Jeff Levinson&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.clemensreijnen.nl/post/2008/04/UML%2c-the-Most-Wanted-Feature-in-Team-Architect.aspx"&gt;UML, the Most Wanted Feature in Team Architect&lt;/a&gt; by Clemens Reinjnen&lt;/li&gt; &lt;li&gt;&lt;a href="http://robkuijt.nl/index.php?entry=entry080423-135750"&gt;Generating Test Cases from Activity Diagrams Part 1&lt;/a&gt; and &lt;a href="http://robkuijt.nl/index.php?entry=entry080426-113932"&gt;Part 2&lt;/a&gt; by Rob Kuijt&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;It got me excited to see people talking about our new stuff. I promise I'll be writing more about it soon... just give me some time.&lt;/p&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24320.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>MVP Talks About VSTS Architect Edition</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/04/17/24300.aspx" /><id>http://blogs.provost.org/peter/archive/2008/04/17/24300.aspx</id><created>2008-04-17T11:09:00Z</created><issued>2008-04-17T19:09:00-08:00</issued><modified>2008-04-17T11:09:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;I ran across &lt;a href="http://blog.dotnetspeech.net/archive/2008/04/16/rosario-rocks-architecture-edition-again.aspx"&gt;this post by Jeff Certain&lt;/a&gt; on his blog talking about the Rosario release of VSTS Architect Edition. Sounds like we're moving in a positive direction:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;I attended the Rosario Architecture Edition preview yesterday. Frankly, I'm two orders of magnitude more excited about this than I am about anything else I've seen here at the summit yet.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Woot!&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f20e2f41-3378-4a17-a3cb-80d2de490ad4" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/VSTS" rel="tag"&gt;VSTS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Architect" rel="tag"&gt;Architect&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MVP" rel="tag"&gt;MVP&lt;/a&gt;&lt;/div&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24300.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>xUnit.net 1.0 RC3 Released Today</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/04/10/24284.aspx" /><id>http://blogs.provost.org/peter/archive/2008/04/10/24284.aspx</id><created>2008-04-10T11:23:00Z</created><issued>2008-04-10T19:23:00-08:00</issued><modified>2008-04-10T11:23:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;See Brad Wilson's post: &lt;a title="http://bradwilson.typepad.com/blog/2008/04/xunitnet-10-rc3.html" href="http://bradwilson.typepad.com/blog/2008/04/xunitnet-10-rc3.html"&gt;http://bradwilson.typepad.com/blog/2008/04/xunitnet-10-rc3.html&lt;/a&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0cdc5d08-84c6-49c0-8341-ae8e2044cf08" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/NUnit" rel="tag"&gt;NUnit&lt;/a&gt;,&lt;a href="http://technorati.com/tags/xUnit" rel="tag"&gt;xUnit&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TDD" rel="tag"&gt;TDD&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Agile" rel="tag"&gt;Agile&lt;/a&gt;&lt;/div&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24284.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>AaronX is blogging!</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/03/27/24252.aspx" /><id>http://blogs.provost.org/peter/archive/2008/03/27/24252.aspx</id><created>2008-03-27T09:08:00Z</created><issued>2008-03-27T17:08:00-08:00</issued><modified>2008-03-27T09:08:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;I never thought I'd see the day, but my good friend AaronX has finally started blogging. He and used to have a blog-like site that was just cool links that we found, little or no commentary and this this his new take on that idea.&lt;/p&gt; &lt;p&gt;&lt;a title="http://denversurfreport.blogspot.com/" href="http://denversurfreport.blogspot.com/"&gt;http://denversurfreport.blogspot.com/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Enjoy!&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f2d40d09-0357-4221-af90-036af7c9cb11" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/AaronX" rel="tag"&gt;AaronX&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Denver" rel="tag"&gt;Denver&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Music" rel="tag"&gt;Music&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Movies" rel="tag"&gt;Movies&lt;/a&gt;&lt;/div&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24252.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>Edjez is back!</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/03/07/24191.aspx" /><id>http://blogs.provost.org/peter/archive/2008/03/07/24191.aspx</id><created>2008-03-07T07:34:00Z</created><issued>2008-03-07T15:34:00-08:00</issued><modified>2008-03-07T07:34:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;My good friend Eduardo Jezierski has returned to the blog-o-sphere. &lt;a href="http://edjez.instedd.org/"&gt;His new blog&lt;/a&gt; is up and running and his first post explains what he's been doing at &lt;a href="http://www.instedd.org/"&gt;InSTEDD&lt;/a&gt; since leaving Microsoft.&lt;/p&gt; &lt;p&gt;He's promised me that he'll blog about all kinds of interesting technology and how they're using it for really cool humanitarian efforts around the world.&lt;/p&gt; &lt;p&gt;Good to see you Ed and good luck on your mission!&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4c7dcdb9-bd77-421a-bef2-5bdf9d9e8eef" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/edjez" rel="tag"&gt;edjez&lt;/a&gt;,&lt;a href="http://technorati.com/tags/instedd" rel="tag"&gt;instedd&lt;/a&gt;&lt;/div&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24191.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>List of musical works in unusual time signatures</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/02/26/24163.aspx" /><id>http://blogs.provost.org/peter/archive/2008/02/26/24163.aspx</id><created>2008-02-26T11:59:00Z</created><issued>2008-02-26T19:59:00-08:00</issued><modified>2008-02-26T11:59:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;Haha... I love the Internet sometimes. I was sitting here in my office listening to the Tool song Jambi, tapping my foot along, counting the beats on a background thread as I am wont to do...&lt;/p&gt; &lt;p&gt;"Hmm... this is in 9/4 time signature. COOL!"&lt;/p&gt; &lt;p&gt;You see, I've always loved finding songs that have unusual time signatures. One quick search later and I found this little page over on Answers.com:&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.answers.com/topic/list-of-musical-works-in-unusual-time-signatures"&gt;List of musical works in unusual time signatures&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Cool. I'm gonna have to dig through my music for some of those.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:801d7c67-4171-4840-aa78-78a6bfae0c60" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Music" rel="tag"&gt;Music&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Tool" rel="tag"&gt;Tool&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Time%20Signatures" rel="tag"&gt;Time Signatures&lt;/a&gt;&lt;/div&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24163.aspx" width = "1" height = "1" /&gt;</content></entry><entry><title>Agile Chronicles: Leading Volunteers with Agility</title><link rel="alternate" type="text/html" href="http://blogs.provost.org/peter/archive/2008/02/26/24162.aspx" /><id>http://blogs.provost.org/peter/archive/2008/02/26/24162.aspx</id><created>2008-02-26T10:36:00Z</created><issued>2008-02-26T18:36:00-08:00</issued><modified>2008-02-26T10:36:00Z</modified><content type="text/html" mode="escaped">&lt;p&gt;I found this nice article today in this month's Agile Chronicles: &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.agilechronicles.com/blog/2008/02/leading-volunte.html"&gt;Agile Chronicles: Leading Volunteers with Agility&lt;/a&gt; &lt;/p&gt; &lt;p&gt;I found it particularly relevant because I am an officer in a club and have often felt that I could better apply some of the agile values to that organization and not just to my work as in software development.&lt;/p&gt; &lt;p&gt;Enjoy!&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9a1c4734-5b80-4298-ad77-ac54cca841df" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Agile" rel="tag"&gt;Agile&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Volunteer" rel="tag"&gt;Volunteer&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Management" rel="tag"&gt;Management&lt;/a&gt;&lt;/div&gt;&lt;img src ="http://blogs.provost.org/peter/aggbug/24162.aspx" width = "1" height = "1" /&gt;</content></entry></feed>