<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9089704904013576412</id><updated>2011-04-21T12:30:54.277-07:00</updated><category term='C#'/><category term='OS'/><title type='text'>oddSprite Tech</title><subtitle type='html'>Tech Articles on .net Development and more.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://oddspritetech.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9089704904013576412/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://oddspritetech.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>oddSprite</name><uri>http://www.blogger.com/profile/09851220819240661191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_6rRBZa74eXE/Sf8vbQs4rNI/AAAAAAAAABo/8csXChgT4B8/S220/msn_bw.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9089704904013576412.post-4064106348259081921</id><published>2009-05-11T05:24:00.001-07:00</published><updated>2009-05-11T05:24:11.026-07:00</updated><title type='text'>Visual Studio 2008 Add Ins</title><content type='html'>&lt;p&gt;Since Visual Studio 2008 comes with a powerful add-in architecture it seems a shame not to put it to good use.&amp;#160; There are possibly hundreds of add-ins for Visual Studio, some which have varying degrees of usefulness.&amp;#160; Some completely change VS functionality, others you’d almost never know you were running.&amp;#160; Over the course of this week I’ll be reviewing a list of 4 Visual Studio add-ins that I believe every C# programmer using Visual Studio 2008 should be running.&lt;/p&gt;  &lt;h2&gt;1.&amp;#160; Microsoft’s Style Cop (&lt;a href="http://code.msdn.microsoft.com/sourceanalysis" target="_blank"&gt;CLICK HERE&lt;/a&gt;)&lt;/h2&gt;  &lt;p&gt;StyleCop analyses code for style and layout picking up on defects with syntax, identifiers and minor formatting issues.&amp;#160; This add-in is useful for maintaining readable code that ends up being of a standard format and style from anyone within a development team (providing they actually adhere to the rules of course).&amp;#160; When run on a document StyleCop will output a list of warnings to the Error List window.&amp;#160; It’s up to the developer to correct these defects manually so it’s advisable to run StyleCop continuously throughout a project.&amp;#160; If left until the end of the project it’s entirely possible to have a defect count well over 1000.&lt;/p&gt;  &lt;p&gt;StyleCop by default also encourages good code documentation as by default it demands that every method, property and field have a properly completed documentation header.&amp;#160; This requires documenting parameters and returns for methods too.&lt;/p&gt;  &lt;p&gt;One rather annoying default setting is that StyleCop delights in analysing Designer and Generated source files, which is usually unnecessary as manually modifying Designer files especially is generally frowned upon.&amp;#160; I’ve also had difficulty working out how to apply StyleCop settings to more than one VS Project at a time.&amp;#160; However upon realising this issue, a quick Google search revealed the following MSDN Blog post on the subject: &lt;a href="http://blogs.msdn.com/sourceanalysis/pages/sharing-source-analysis-settings-across-projects.aspx" target="_blank"&gt;Click Here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;All in all StyleCop is a useful utility, if one that takes a little getting used to.&amp;#160; But once you start following all its guidelines automatically you’ll find that StyleCop complains far less about your code.&lt;/p&gt;  &lt;p&gt;The Good:&amp;#160; Uniformly styled and formatted code which corresponds to MS Coding guidelines (which seem sensible), which leaves code more readable as a result.&amp;#160; Fully configurable.&amp;#160; Encourages good code documentation.&lt;/p&gt;  &lt;p&gt;The Bad:&amp;#160; No Auto Correction of defects.&amp;#160; If left for too long the defect count can rise quickly (although this isn’t necessarily a fault with StyleCop itself, more probably the person using it).&lt;/p&gt;  &lt;p&gt;oddSprite&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9089704904013576412-4064106348259081921?l=oddspritetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oddspritetech.blogspot.com/feeds/4064106348259081921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oddspritetech.blogspot.com/2009/05/visual-studio-2008-add-ins.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9089704904013576412/posts/default/4064106348259081921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9089704904013576412/posts/default/4064106348259081921'/><link rel='alternate' type='text/html' href='http://oddspritetech.blogspot.com/2009/05/visual-studio-2008-add-ins.html' title='Visual Studio 2008 Add Ins'/><author><name>oddSprite</name><uri>http://www.blogger.com/profile/09851220819240661191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_6rRBZa74eXE/Sf8vbQs4rNI/AAAAAAAAABo/8csXChgT4B8/S220/msn_bw.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9089704904013576412.post-5108190100003203141</id><published>2009-05-06T13:51:00.001-07:00</published><updated>2009-05-06T13:51:14.509-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>C# Event Handle ‘Accessors’</title><content type='html'>&lt;p&gt;Whilst coding today I found myself realising that exposing public event&amp;#160; handlers ( which are essentially public&amp;#160; fields) is considered by many to be bad programming practice.&amp;#160; Properties expose private fields so surely there’s a similar technique for exposing private event handlers?&lt;/p&gt;  &lt;p&gt;public event EventHandler MyEvent   &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; add { this.myEvent += value; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; remove { this.myEvent –= value; }    &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;// Register Event Handler (and de-register) in the same manner.   &lt;br /&gt;SomeClass.MyEvent += this.OnMyEvent;&lt;/p&gt;  &lt;p&gt;Event ‘accessors’ can also be used to allow external classes to register with user controls events (and obviously other private or internal events associated with .net Class Library Components).&amp;#160; Quite why this golden nugget of information isn’t more easily accessible I have no idea.&amp;#160; But then I might have been looking in the wrong places…&lt;/p&gt;  &lt;p&gt;oddSprite&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9089704904013576412-5108190100003203141?l=oddspritetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oddspritetech.blogspot.com/feeds/5108190100003203141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oddspritetech.blogspot.com/2009/05/c-event-handle-accessors.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9089704904013576412/posts/default/5108190100003203141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9089704904013576412/posts/default/5108190100003203141'/><link rel='alternate' type='text/html' href='http://oddspritetech.blogspot.com/2009/05/c-event-handle-accessors.html' title='C# Event Handle ‘Accessors’'/><author><name>oddSprite</name><uri>http://www.blogger.com/profile/09851220819240661191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_6rRBZa74eXE/Sf8vbQs4rNI/AAAAAAAAABo/8csXChgT4B8/S220/msn_bw.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9089704904013576412.post-7646970174038725472</id><published>2009-05-05T12:34:00.001-07:00</published><updated>2009-05-06T13:53:09.629-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS'/><title type='text'>Windows 7</title><content type='html'>&lt;p&gt;So, the Windows 7 RC has arrived.&amp;#160; I must admit to installing the beta (build 7000) to have a poke around when it was released, but for the most part I stuck with Vista (dual-boot on a desktop).&amp;#160; But for the RC I decided to take the plunge:&amp;#160; I backed up my laptop and wacked on a fresh install of W7.&amp;#160; So far the whole experience seems to be quite quick, apart from a long black pause on the second reboot (on which I’m typing now, using Windows Live Writer (I had no idea this existed, I might review it at some point), hopefully the pause will not be present on subsequent reboots).&amp;#160; I found IE8 to be quite slow on Vista (sometimes taking in excess of 30 seconds to start) but it’s almost as fast as Google Chrome on W7.&lt;/p&gt;  &lt;p&gt;Some controversy may be caused by the following opinion:&amp;#160; I like the new taskbar.&amp;#160; It looks slick, having only an icon per program is intuitive (providing the icon for the program is recognisable, which may cause some issues with ‘older’ software) and the window preview feature now has a proper use.&amp;#160; Of course I’m using Aero with glass, who wouldn’t be?&amp;#160; I very much doubt that anyone considering upgrading to W7 will lack the hardware for the new and improved Aero.&amp;#160; Despite having the same minimum system requirements as Vista, W7 Aero seems to be far more responsive.&amp;#160; On a purely visual note, I do like how the title bar of a maximised window is still transparent instead of solid black as in Vista.&amp;#160; It gives less of a claustrophobic feel to the proceedings.&lt;/p&gt;  &lt;p&gt;These are just my immediate first impressions, check back for some detail later in the week.&lt;/p&gt;  &lt;p&gt;oddSprite&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9089704904013576412-7646970174038725472?l=oddspritetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oddspritetech.blogspot.com/feeds/7646970174038725472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oddspritetech.blogspot.com/2009/05/windows-7.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9089704904013576412/posts/default/7646970174038725472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9089704904013576412/posts/default/7646970174038725472'/><link rel='alternate' type='text/html' href='http://oddspritetech.blogspot.com/2009/05/windows-7.html' title='Windows 7'/><author><name>oddSprite</name><uri>http://www.blogger.com/profile/09851220819240661191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_6rRBZa74eXE/Sf8vbQs4rNI/AAAAAAAAABo/8csXChgT4B8/S220/msn_bw.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9089704904013576412.post-6535283208505751136</id><published>2009-05-04T11:02:00.000-07:00</published><updated>2009-05-04T11:08:48.529-07:00</updated><title type='text'>First Post!</title><content type='html'>Instead of using my existing blog (&lt;a href="http://oddsprite.blogspot.com/"&gt;link&lt;/a&gt;) for development and tech blogging I decided to launch this one instead.  It seems to make sense to separate the two as the other blog was primarily about the music that I compose whereas this blog will be focused on tech stuff.  Mostly related to .net programming, maybe a bit of linux, useful programs that you may not have heard of but should probably be using (although of course most such choices are down to personal taste) and some general tech articles (and maybe a lot about gaming!).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The first article proper will begin a series of round-ups about good utilities and programs that I never realised I needed until I started using them.  With any luck the blog should be updated 2-3 times a week.  However, I really don't know why I bother saying this as it never actually happens...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;oddSprite&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9089704904013576412-6535283208505751136?l=oddspritetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oddspritetech.blogspot.com/feeds/6535283208505751136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oddspritetech.blogspot.com/2009/05/first-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9089704904013576412/posts/default/6535283208505751136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9089704904013576412/posts/default/6535283208505751136'/><link rel='alternate' type='text/html' href='http://oddspritetech.blogspot.com/2009/05/first-post.html' title='First Post!'/><author><name>oddSprite</name><uri>http://www.blogger.com/profile/09851220819240661191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_6rRBZa74eXE/Sf8vbQs4rNI/AAAAAAAAABo/8csXChgT4B8/S220/msn_bw.png'/></author><thr:total>0</thr:total></entry></feed>
