﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Roy Lawson's .NET Ramblings</title>
    <description>This blog is Roy Lawson's take on technology, community events, and comments on recent user group meetings.</description>
    <link>http://www.lakelandug.net/Home/tabid/54/BlogId/1/Default.aspx</link>
    <language>en-US</language>
    <managingEditor>relawson@sdsflorida.com</managingEditor>
    <webMaster>admin@cfdotnet.re-invent.net</webMaster>
    <pubDate>Sun, 05 Feb 2012 17:46:18 GMT</pubDate>
    <lastBuildDate>Sun, 05 Feb 2012 17:46:18 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Blog RSS Generator Version 3.5.1.19887</generator>
    <item>
      <title>WCF RIA Services Presentation - Slide deck and cheat sheet</title>
      <description>&lt;p&gt;I have recently been working with WCF RIA Services and tonight and presenting at the Tampa Silverlight User Group meeting.  Attached is my slide deck as well as a DRAFT version of a RIA Services Cheat Sheet.  Currently it is focused on validation.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.lakelandug.net/Portals/0/Blog/Files/AnonymousBlogAttachments/Silverlight WCF RIA Services Cheat Sheet And Presentation.zip"&gt;Silverlight WCF RIA Services Cheat Sheet And Presentation.zip&lt;/a&gt;&lt;/p&gt;&lt;a href=http://www.lakelandug.net/Blog/tabid/65/EntryId/18/WCF-RIA-Services-Presentation-Slide-deck-and-cheat-sheet.aspx&gt;More...&lt;/a&gt;</description>
      <link>http://www.lakelandug.net/Blog/tabid/65/EntryId/18/WCF-RIA-Services-Presentation-Slide-deck-and-cheat-sheet.aspx</link>
      <author>relawson@sdsflorida.com</author>
      <comments>http://www.lakelandug.net/Blog/tabid/65/EntryId/18/WCF-RIA-Services-Presentation-Slide-deck-and-cheat-sheet.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.lakelandug.net/Blog/tabid/65/EntryId/18/WCF-RIA-Services-Presentation-Slide-deck-and-cheat-sheet.aspx</guid>
      <pubDate>Thu, 23 Sep 2010 20:40:00 GMT</pubDate>
      <slash:comments>9</slash:comments>
      <trackback:ping>http://www.lakelandug.net/DesktopModules/Blog/Trackback.aspx?id=18</trackback:ping>
    </item>
    <item>
      <title>TRAC plugin for Visual Studio 2005 and 2008</title>
      <description>&lt;p&gt;At last nights user group meeting which David Hayden spoke on, we got into an interesting discussion regarding TFS, Subversion, and ultimately TRAC.  My main concern with TRAC was that it wasn't integrated with the IDE where you are able to manage work items quite easily in TFS.&lt;/p&gt;
&lt;p&gt;There may be a solution to this problem.&lt;/p&gt;&lt;a href=http://www.lakelandug.net/Blog/tabid/65/EntryId/17/TRAC-plugin-for-Visual-Studio-2005-and-2008.aspx&gt;More...&lt;/a&gt;</description>
      <link>http://www.lakelandug.net/Blog/tabid/65/EntryId/17/TRAC-plugin-for-Visual-Studio-2005-and-2008.aspx</link>
      <author>relawson@sdsflorida.com</author>
      <comments>http://www.lakelandug.net/Blog/tabid/65/EntryId/17/TRAC-plugin-for-Visual-Studio-2005-and-2008.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.lakelandug.net/Blog/tabid/65/EntryId/17/TRAC-plugin-for-Visual-Studio-2005-and-2008.aspx</guid>
      <pubDate>Wed, 22 Apr 2009 15:16:00 GMT</pubDate>
      <slash:comments>9</slash:comments>
      <trackback:ping>http://www.lakelandug.net/DesktopModules/Blog/Trackback.aspx?id=17</trackback:ping>
    </item>
    <item>
      <title>March Lakeland .NET User Group Meeting – Featuring Paul Jackson on Parallelism</title>
      <description>&lt;p&gt;&lt;font face="Arial" size="3"&gt;The March Lakeland .NET User Group is off to a great start!  I've decided to live-blog our meetings so we retain a history.  Please add comments to this blog entry if you would like to continue the discussion offline.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial" size="3"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;strong&gt;Why Care About Parallelism&lt;/strong&gt;&lt;br /&gt;
&lt;em&gt;aka The Inevitable Shift&lt;/em&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/font&gt;&lt;a href="http://www.lakelandug.nethttp://www.lakelandug.net/Portals/0/ParallelAthens.zip"&gt;Download the Slides&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;font face="Arial" size="3"&gt;&lt;span style="font-size: 12pt;"&gt; &lt;strong&gt;Abstract&lt;/strong&gt;&lt;br /&gt;
Examine the drivers behind the current drive toward parallelism and multi-threaded programming -- from hardware considerations to user-experience demands. Find out why parallelism is a growing trend in application development and how upcoming changes in .Net and Visual Studio will make implementing these features easier than ever. &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial" size="3"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;strong&gt;Bio&lt;/strong&gt;&lt;br /&gt;
Paul Jackson has been a professional software developer for almost twenty years, starting with Visual Basic 1.0 and then defecting to PowerBuilder and Java before returning to the Microsoft fold and .Net. His current focus is building line-of-business, composite client applications. &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial" size="3"&gt;Here are some more pictures of the meeting and the slides to the presentation is also attached.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;img height="232" width="307" src="/Portals/0/Blog/Files/1/15/031709_2328_MarchLakela1.jpg" alt="" /&gt;&lt;br /&gt;
Paul Jackson - Introduction&lt;/p&gt;
&lt;p&gt;&lt;img src="/Portals/0/Blog/Files/1/15/031709_2328_MarchLakela2.png" alt="" /&gt;&lt;br /&gt;
Good attendance.  Spring break is in full effect, so no USF students this time.&lt;/p&gt;
&lt;p&gt;&lt;img src="/Portals/0/Blog/Files/1/15/031709_2328_MarchLakela3.png" alt="" /&gt;&lt;br /&gt;
Charlie Pell enjoying sanity days before the new family member is to arrive.  Remember what sleep feels like Charlie!&lt;/p&gt;
&lt;p&gt;&lt;img src="/Portals/0/Blog/Files/1/15/031709_2328_MarchLakela4.png" alt="" /&gt;&lt;br /&gt;
Someone combined their cooking and computing hobbies.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.lakelandug.nethttp://www.lakelandug.net/Portals/0/ParallelAthens.zip"&gt;&lt;br /&gt;
&lt;/a&gt;&lt;/p&gt;</description>
      <link>http://www.lakelandug.net/Blog/tabid/65/EntryId/15/March-Lakeland-NET-User-Group-Meeting-Featuring-Paul-Jackson-on-Parallelism.aspx</link>
      <author>relawson@sdsflorida.com</author>
      <comments>http://www.lakelandug.net/Blog/tabid/65/EntryId/15/March-Lakeland-NET-User-Group-Meeting-Featuring-Paul-Jackson-on-Parallelism.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.lakelandug.net/Blog/tabid/65/EntryId/15/March-Lakeland-NET-User-Group-Meeting-Featuring-Paul-Jackson-on-Parallelism.aspx</guid>
      <pubDate>Tue, 17 Mar 2009 23:28:18 GMT</pubDate>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.lakelandug.net/DesktopModules/Blog/Trackback.aspx?id=15</trackback:ping>
    </item>
    <item>
      <title>March Bass Fishing in Central Florida + Photos</title>
      <description>&lt;p&gt;Florida, and especially Polk County, is home to some really good lakes and if you know when and where to go the fishing is great.  My brother Travis and I set off fishing at 6am Sunday morning with canoe, paddles, and fishing tackle.  The great thing about a canoe is that you can get in places that other boats can't – places that bass like to hide.  They were hitting hard at the time we arrived, and by 9am the biting came to a stop.  This trip we did catch and release.
&lt;/p&gt;&lt;p&gt;Travis – paddling out before first light.  I help.  My paddle is connected to a battery.
&lt;/p&gt;&lt;p&gt;&lt;img src="/Portals/0/Blog/Files/1/14/031509_1635_MarchBassFi1.jpg" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Roy lands the first fish, a large mouth bass.  $1 spinner lure does the trick.
&lt;/p&gt;&lt;p&gt;&lt;img src="/Portals/0/Blog/Files/1/14/031509_1635_MarchBassFi2.jpg" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Who's the chunkiest?
&lt;/p&gt;&lt;p&gt;&lt;img src="/Portals/0/Blog/Files/1/14/031509_1635_MarchBassFi3.jpg" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Roy lands his second large mouth bass.  Not as chunky as the last one.
&lt;/p&gt;&lt;p&gt;&lt;img src="/Portals/0/Blog/Files/1/14/031509_1635_MarchBassFi4.jpg" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Travis pulls one in 
&lt;/p&gt;&lt;p&gt;&lt;img src="/Portals/0/Blog/Files/1/14/031509_1635_MarchBassFi5.jpg" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Travis with a nice size large-mouth bass.  You can't get your 17 foot boat in here – all those monthly payments and all you needed was a $300 canoe!
&lt;/p&gt;&lt;p&gt;&lt;img src="/Portals/0/Blog/Files/1/14/031509_1635_MarchBassFi6.jpg" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Packing it in
&lt;/p&gt;&lt;p&gt;&lt;img src="/Portals/0/Blog/Files/1/14/031509_1635_MarchBassFi7.jpg" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;But not before saying bye to our little friend.  Ah, soakin' up the sun.
&lt;/p&gt;&lt;p&gt;&lt;img src="/Portals/0/Blog/Files/1/14/031509_1635_MarchBassFi8.jpg" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Great trip.  Hope to do another again real soon!  Next time I'm going to bring some live bait and get some other fish when the bass quit hitting.  &lt;/p&gt;</description>
      <link>http://lakelandug.net/Blog/tabid/65/EntryId/14/March-Bass-Fishing-in-Central-Florida-Photos.aspx</link>
      <author>relawson@sdsflorida.com</author>
      <comments>http://lakelandug.net/Blog/tabid/65/EntryId/14/March-Bass-Fishing-in-Central-Florida-Photos.aspx#Comments</comments>
      <guid isPermaLink="true">http://lakelandug.net/Blog/tabid/65/EntryId/14/March-Bass-Fishing-in-Central-Florida-Photos.aspx</guid>
      <pubDate>Sun, 15 Mar 2009 16:35:30 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.lakelandug.net/DesktopModules/Blog/Trackback.aspx?id=14</trackback:ping>
    </item>
    <item>
      <title>Basic Software Design Principles</title>
      <description>&lt;p&gt;One thing I feel we (the developer community) do is focus heavily on the more advanced topics.  After all, he who speaks on the latest and greatest tools and advanced patterns gets the most attention and praise from fellow developers.  Since moving our user group to USF Polytechnic and being forced to contemplate how to best serve those new to our field and get them more interested, it has occurred to me: we have ignored those new to .NET and are doing a bad job reaching out to them.  
&lt;/p&gt;&lt;p&gt;I would like to encourage everyone in the community (especially MVPs and User Group leaders) to provide more for the people who are the future of our profession.  That's not to say that you should abandon advanced topics and the technologies that are of interest to you – but do just a little for those who are not at your experience level yet.  It doesn't make you less of a developer or speaker to do 100 and 200 level topics.
&lt;/p&gt;&lt;p&gt;In the spirit of the comments above, I'm starting a thread in my blog on basic topics.  If you have a blog that covers this type of stuff please let me know and I'll use the RSS feed to integrate it into our site.  Joe Healy gave me a great book to get me started – this one is Microsoft .NET: Architecting Applications for the Enterprise (by Dino Esposito and Andrea Saltarello).  There are advanced topics in the book, but I'm going to focus on some of the basic topics.  I'm not going to tackle the broader architecture issues – just enough to help developers build better applications.
&lt;/p&gt;&lt;h1&gt;Spaghetti Code
&lt;/h1&gt;&lt;p&gt;When you start coding, how much thought or time do you put into making sure your application is easily maintained, can meet growth demands, is easy to change, or can be reused?  Have you considered why we use interfaces and why having a contract helps us build more flexible software?  Hopefully of the course of our discussions at user group meetings and in this blog junior developers start asking those questions.
&lt;/p&gt;&lt;p&gt;I have seen many good applications built that serve their purpose well.  The user interface is elegant and the end result is what the business or customer requires at the time.  To the untrained eye, it is a good application.  However, these applications may become future problems for the business.  Business requirements change quite frequently and what worked one year in our software might not be desirable the next year.  So we must make changes.  If our application or database is poorly designed (spaghetti code) it becomes increasingly difficult and expensive to keep up with the moving target.  Change is usually never easy; however there are things we can do to make change &lt;em&gt;easier&lt;/em&gt;.  We see this problem in small, relatively simply systems.  Now imagine when we have this problem in very large and complex systems!
&lt;/p&gt;&lt;p&gt;When I was new to programming, I thought that following standards (capitalizing public properties, using camel case, etc) was what made good design.  I thought that comments made it really good design.  What I didn't realize was that although those two things are important, they aren't &lt;em&gt;as&lt;/em&gt; important as the principles I am about to discuss (and they aren't really design issues).
&lt;/p&gt;&lt;h1&gt;Separation of Concerns
&lt;/h1&gt;&lt;p&gt;&lt;a href="http://ecx.images-amazon.com/images/I/51qSICjLK7L._SL500_AA240_.jpg"&gt;&lt;img align="left" src="/Portals/0/Blog/Files/1/13/031409_1911_BasicSoftwa1.jpg" alt="" border="0"/&gt;&lt;/a&gt;Quoting partially from the &lt;a href="http://ecx.images-amazon.com/images/I/51qSICjLK7L._SL500_AA240_.jpg"&gt;book&lt;/a&gt;, rigidity "is characterized by some resistance to changes" and "is measured in terms of regression".  If you make a change to one part of your code, it cascades down to the code that is dependent on it.  The way to make your code more flexible is through decoupling – or using modularity and "separation of concerns" or SoC.  Soc requires that you dissect your system into unique and ideally non-overlapping features.  Each feature represents a concern, or aspect of your system.  In practice each concern is expressed in a software module (or class/method in object oriented programming).
&lt;/p&gt;&lt;p&gt;The way you achieve SoC is to use something called information hiding, or abstracting the complexities of your code from consumers.  These are fancy words, so let's break it down.  In simple terms, all we are doing here is exposing to our consumers (other code) only what they need to use our code.  Suppose we have written code to allow the operation of an engine.  I'm no mechanic, but what I do know about engines is that we need to have air, fuel, and fire (a spark) to make it work.  However the operator of that engine (a driver) only needs to know how to start the engine, adjust the speed, and get basic information such as the current speed.  We wouldn't want the driver to be responsible for adjusting the air and fuel mixture and certainly not responsible for sending a spark to the right plug at the right time.  Our engine simply wouldn't work.
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div&gt;Engine Class Methods
&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Start Engine&lt;strong&gt;
					&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Adjust Speed&lt;strong&gt;
					&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Get Speed&lt;strong&gt;
					&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Adjust Air Flow&lt;strong&gt;
					&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Send Spark to Cylinder&lt;strong&gt;
					&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Adjust Fuel Flow&lt;strong&gt;
					&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Based on what we now know, which methods do you think should be made public (available to the consumer) and which do you think should be private (hidden from the consumer)?  I'll let you think and discuss this among yourselves.
&lt;/p&gt;&lt;p&gt;Exposing all of those methods publicly would enable consumers to make themselves responsible for things they should not be controlling, which could cause problems in our engine.  Now that we have hidden the complexity of our engine class from the consumer, let's introduce some spaghetti code to our Engine class:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div&gt;&lt;span style="text-decoration:underline"&gt;Public&lt;/span&gt; Engine Methods
&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Start Engine
&lt;/li&gt;&lt;li&gt;Adjust Speed
&lt;/li&gt;&lt;li&gt;Get Speed
&lt;/li&gt;&lt;li&gt;Adjust Mirror
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;What method doesn't belong?  I hope it is obvious that the engine class should not concern itself with adjusting the mirror.  By doing this, we have made our code more rigid and resistant to change.  Any time we want to change the way our mirror operates, we must make changes to the engine class.  We have also made this code less reusable by other code.  
&lt;/p&gt;&lt;p&gt;Suppose you build another application for a new &lt;em&gt;electric&lt;/em&gt; car that needs to reuse the functionality in the engine class to adjust mirrors.  The electric car will not need most code from the engine class because it uses the Electric Motor class and operates completely differently.  Most likely the developer of the electric motor class would simply re-code the mirror class (or copy and paste).  We have just defeated one of the key benefits of object oriented programming.  We would now have two different ways to adjust mirrors.  And when the business wanted to change how mirrors are adjusted we would need to remember to change it everywhere it is used.  This can get really messy!
&lt;/p&gt;&lt;p&gt;I wrote this blog entry so that hopefully someone new to programming would understand.  Please let me know if anything I said was confusing or could be misleading, or if there is anything that should be added.  Better yet, add your own thoughts in comments below.&lt;/p&gt;</description>
      <link>http://lakelandug.net/Blog/tabid/65/EntryId/13/Basic-Software-Design-Principles.aspx</link>
      <author>relawson@sdsflorida.com</author>
      <comments>http://lakelandug.net/Blog/tabid/65/EntryId/13/Basic-Software-Design-Principles.aspx#Comments</comments>
      <guid isPermaLink="true">http://lakelandug.net/Blog/tabid/65/EntryId/13/Basic-Software-Design-Principles.aspx</guid>
      <pubDate>Sat, 14 Mar 2009 19:11:19 GMT</pubDate>
      <slash:comments>4</slash:comments>
      <trackback:ping>http://www.lakelandug.net/DesktopModules/Blog/Trackback.aspx?id=13</trackback:ping>
    </item>
    <item>
      <title>Unhealthiest job in the world</title>
      <description>&lt;p&gt;Unless there is a twinky taster out there, I would venture that software developer tops the list of unhealthy jobs – simply because just about everything we do is sitting down.  Growing up, I was always very slender.  Then I made a life choice (perhaps it should be called a death choice) to start smoking during my late teens and early twenties.  
&lt;/p&gt;&lt;p&gt;The good news is that I have been smoke free for years and no longer desire the product.  The bad news is that smoking was replaced with snacking and when combined with years of IT work my body is now unhealthy.  I've packed on some pounds, get winded when walking up steps, and my energy level is really low.  
&lt;/p&gt;&lt;p&gt;&lt;img align="left" src="/Portals/0/Blog/Files/1/12/031209_0251_Unhealthies1.jpg" alt=""/&gt;I don't think of myself as a big person (well didn't anyways), but it was when colleague Jeff Odell sent off some photos of our Tampa Firestarter event that I spoke at yesterday that, it hit me like a brick.  I'm getting big and I've got to do something!  So, I headed off to &lt;a href="http://www.lff.com/FitnessClasses.aspx"&gt;Lifestyle Family Fitness&lt;/a&gt; and signed up.  
&lt;/p&gt;&lt;p&gt;Of course, there are many people who pay their monthly gym membership and remain unhealthy (because they don't show up).  I'm trying something a bit different and going the boot camp route.  Hopefully the structure, peer pressure, and big guy with whistle help me move towards a healthier direction.
&lt;/p&gt;&lt;div&gt;&lt;table style="border-collapse:collapse" border="0"&gt;&lt;colgroup&gt;&lt;col style="width:162px"/&gt;&lt;col style="width:155px"/&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr&gt;&lt;td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px"&gt;&lt;p style="text-align: justify"&gt;&lt;img src="/Portals/0/Blog/Files/1/12/031209_0251_Unhealthies2.jpg" alt=""/&gt;&lt;span style="color:#2e2e2e; font-family:Arial; font-size:9pt"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px"&gt;&lt;p style="text-align: justify"&gt;&lt;span style="color:#2e2e2e; font-family:Arial; font-size:9pt"&gt;Lifestyle Boot Camp is a 10-week team training experience that combines strength endurance training and cardiovascular fitness training in one intense fitness program. From plyometrics to sport drills, Boot Camp challenges people of all levels of fitness and athletic capabilities to progress to previously unobtainable fitness levels. &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;So tomorrow at 7:30 pm I report for the first day of what I hope will be a healthier future.  I'll be sure to take before pictures.  I'll be speaking again at Orlando CodeCamp later this month so don't expect any miracles by then – but hopefully by our April or May user group meeting there will be a difference.  
&lt;/p&gt;&lt;p&gt;Although I also want to lose some weight and expect to, my primary goal is to become healthier so no more wheezing when I go up the steps or shooting hoops with my brother.  A common misconception is that skinny people are healthy.  Although being too heavy is not healthy, there are plenty of skinny people who are also very out of shape.&lt;/p&gt;</description>
      <link>http://lakelandug.net/Blog/tabid/65/EntryId/12/Unhealthiest-job-in-the-world.aspx</link>
      <author>relawson@sdsflorida.com</author>
      <comments>http://lakelandug.net/Blog/tabid/65/EntryId/12/Unhealthiest-job-in-the-world.aspx#Comments</comments>
      <guid isPermaLink="true">http://lakelandug.net/Blog/tabid/65/EntryId/12/Unhealthiest-job-in-the-world.aspx</guid>
      <pubDate>Thu, 12 Mar 2009 02:51:31 GMT</pubDate>
      <slash:comments>5</slash:comments>
      <trackback:ping>http://www.lakelandug.net/DesktopModules/Blog/Trackback.aspx?id=12</trackback:ping>
    </item>
    <item>
      <title>I.M. Wright’s “Hard Code”</title>
      <description>&lt;p&gt;Thank you Microsoft (Joe Healy) for the I.M. Wright's "Hard Code" book which is probably going to become a bloggers best friend simply because I can switch to just about any chapter and have something edgy to blog about.  That's much better for my career than picking fights between Netflix and Microsoft ;-)  (reference previous blog)
&lt;/p&gt;&lt;p&gt;&lt;img align="left" src="/Portals/0/Blog/Files/1/11/031109_0236_IMWrights1.jpg" alt=""/&gt;What is interesting about the book is that it represents 49 "Hard Code" opinion columns written by a Microsoft development manager Eric Brechner, who used the pseudonym I.M. Wright.  Buy this book and you get to share the wisdom (or rubbish, depending on your perspective) with thousands of Microsoft developers internally.  If you don't want to buy it, attend a user group meeting and you run a chance of winning one.
&lt;/p&gt;&lt;p&gt;Because it's spread over time, it is interesting to see how the authors views changed progressivley, even if slightly.  Because his comments could have been construed as disrespectful of Microsoft management, one wonders how he retained his job.  I wonder if his comments were more tongue in cheek than serious.
&lt;/p&gt;&lt;p&gt;As an example, one job I will not ever be applying for at Microsoft is the role of PUM – or Product Unit Manager.  I have no idea what this manager does (the title gives most of it away) but according to Wright, PUMs are nothing more than bums.  And in an attempt to not insult actual bums, Brechner makes it clear that actual bums do not all suffer from mental illness – however PUMs have not escaped that curse.
&lt;/p&gt;&lt;p&gt;PUMs apparently spend hours in meetings "talking strategy" and foster "key relationships with partners and customers".  Isn't that called doing business?  As a consultant with a Microsoft partner, I see a value in a person who fills that role.  Call me crazy.
&lt;/p&gt;&lt;p&gt;&lt;img align="left" src="/Portals/0/Blog/Files/1/11/031109_0236_IMWrights2.jpg" alt=""/&gt;I guess the biggest complaint of Brechner is that PUMs aren't down in the trenches and don't appear to understand the daily struggles of the team because they are wrapped up in more abstract things.  The closest thing in my world I have to relate with a PUM is either a practice director or an account executive – people who "make it rain".  I'm not sure I want these people in the trenches with me – I prefer that they are in the trenches with current and future clients.  Maybe that isn't an apple to apples comparison to a PUM – I sure hope I get to meet one someday so I know about this mysterious PUM person.  If you have the book reference page 189 and you will see what I am talking about.
&lt;/p&gt;&lt;p&gt;So I started blogging about a week ago and now I can't stop.  Joe encouraged me to start – you've unleashed a monster!  I don't take this all that serious because after all, it's a blog.  Who, besides a handful of Lakeland UG members are going to read this blog?  This is much cheaper than a therapist.
&lt;/p&gt;</description>
      <link>http://lakelandug.net/Blog/tabid/65/EntryId/11/I-M-Wright-s-Hard-Code.aspx</link>
      <author>relawson@sdsflorida.com</author>
      <comments>http://lakelandug.net/Blog/tabid/65/EntryId/11/I-M-Wright-s-Hard-Code.aspx#Comments</comments>
      <guid isPermaLink="true">http://lakelandug.net/Blog/tabid/65/EntryId/11/I-M-Wright-s-Hard-Code.aspx</guid>
      <pubDate>Wed, 11 Mar 2009 02:36:57 GMT</pubDate>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.lakelandug.net/DesktopModules/Blog/Trackback.aspx?id=11</trackback:ping>
    </item>
    <item>
      <title>Domestic Outsourcers Now Favored By Most Tech CFOs</title>
      <description>&lt;p&gt;&lt;span style="font-family: Arialhttp://www.lakelandug.net"&gt;&lt;font size="2"&gt;In an interesting twist, American CFOs appear to favor American outsourcers over foreign firms. The lay person may expect offshoring to become more prolific during a time of economic contraction – after all offshoring is cheaper, right? Perhaps not. Surveys have indicated that the cost savings offshore are not as large as advertised, and that large numbers of projects have failed because of communication issues and other challenges faced in offshore projects. &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Arialhttp://www.lakelandug.net"&gt;&lt;font size="2"&gt;According to an &lt;/font&gt;&lt;a href="http://www.informationweek.com/news/global-cio/outsourcing/showArticle.jhtml?articleID=215801296http://www.lakelandug.net"&gt;&lt;font size="2"&gt;InformationWeek article&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; released today on the &lt;/font&gt;&lt;a href="http://www.bdo.com/http://www.lakelandug.net"&gt;&lt;font size="2"&gt;BDO Seidman&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&lt;span style="color: black"&gt; 2009 Technology Outlook Survey of 100 CFOs&lt;/span&gt;, "62&lt;span style="color: black"&gt;% of CFOs at leading American technology companies outsource services or manufacturing&lt;/span&gt;" with 22% planning to leverage American companies, 16% in China, and 14% in India. Because the survey includes manufacturing, the results appear to hide the fact that India is the favorite IT offshoring destination. Manufacturing is the most common function outsourced, followed by IT services. Based on the millions of American jobs lost in manufacturing, this is clearly an issue that American IT workers need to be thinking about. &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Arialhttp://www.lakelandug.net"&gt;&lt;font size="2"&gt;One interesting statistic is that "&lt;span style="color: black"&gt;Forty-two percent of CFOs said their international operations are based outside the United States, down from 79% last year." I simply don't believe that there was nearly a 50% shift relocation of international operations back to the US (I doubt the accuracy of these statistics – too good to be true), however there must have been a substantial shift. &lt;/span&gt;So what is changing the balance? Here is what the CFOs reported in the survey: &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
    &lt;p&gt;&lt;span style="font-family: Arialhttp://www.lakelandug.net"&gt;&lt;font size="2"&gt;Global recession &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;p&gt;&lt;span style="font-family: Arialhttp://www.lakelandug.net"&gt;&lt;font size="2"&gt;Satyam's fraud case &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;p&gt;&lt;span style="font-family: Arialhttp://www.lakelandug.net"&gt;&lt;font size="2"&gt;Mumbai terrorist attacks &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;p&gt;&lt;span style="font-family: Arialhttp://www.lakelandug.net"&gt;&lt;font size="2"&gt;Supply Chain/Shipping costs in China &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-family: Arialhttp://www.lakelandug.net"&gt;&lt;font size="2"&gt;The problem I see is this: recessions go away, fraud is soon forgotten, terrorism is a plague that can impact any nation, and the cost of shipping can be fixed (I don't get that one, considering the relatively low cost of oil). What we as American IT workers need to NOW be doing is proving to our clients (internal or external) why we are the better choice. &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Arialhttp://www.lakelandug.net"&gt;&lt;font size="2"&gt;That means that we need to be serious about our profession; we must compete globally if we are to survive and he who thinks that Indian IT professionals aren't going to fight us for every last contract is foolish. Does that mean slashing our billing rates and competing on price? I don't think so. I think it means delivering the most value. Knowledge is what determines our value so we have got to out-do our competitors when it comes to learning the skills and technologies that best serve our clients. How do you do that? &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Arialhttp://www.lakelandug.net"&gt;&lt;font size="2"&gt;For a start, participate in learning/networking events that IT community leaders have organized. Make sure you finish your college degree if you haven't, get certifications, and distinguish yourself from the rest. We can't compete on cost alone when it comes to India and China so there is no point trying. We need to transition our American IT workforce from being commoditized services to more of a profession. The best lawyer isn't the one who chases the most ambulances – it is the one who wins the high-profile cases. The best heart surgeon isn't the one who swaps out the most hearts; it is the one who saves the most lives. And to continue that logic, the best developer isn't the one who writes the most lines of code, it is the one who produces the most value for the company (through savings or profits). &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Arialhttp://www.lakelandug.net"&gt;&lt;font size="2"&gt;If you are a "nine to five-er" – meaning you believe that learning and advancing your IT career ends at five o'clock sharp, you are going to soon find the technology world leaving your obsolete skills in the dust. If you really want to prove those people who say "American IT skills are in decline" wrong, show up at user group meetings, codecamps, and training events. If you live near Central Florida, join me the third Wednesday of the month at 6:30 pm sharp for our monthly Lakeland User Group Meeting (&lt;/font&gt;&lt;a href="http://www.lakelandug.net"&gt;&lt;font size="2"&gt;www.lakelandug.net&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;). &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <link>http://www.lakelandug.net/Blog/tabid/65/EntryId/10/Domestic-Outsourcers-Now-Favored-By-Most-Tech-CFOs.aspx</link>
      <author>relawson@sdsflorida.com</author>
      <comments>http://www.lakelandug.net/Blog/tabid/65/EntryId/10/Domestic-Outsourcers-Now-Favored-By-Most-Tech-CFOs.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.lakelandug.net/Blog/tabid/65/EntryId/10/Domestic-Outsourcers-Now-Favored-By-Most-Tech-CFOs.aspx</guid>
      <pubDate>Tue, 10 Mar 2009 00:36:03 GMT</pubDate>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.lakelandug.net/DesktopModules/Blog/Trackback.aspx?id=10</trackback:ping>
    </item>
    <item>
      <title>Silverlight a black eye for Netflix – or Netflix a black eye for Silverlight?</title>
      <description>&lt;p&gt;First, let me say that I am a big fan of Silverlight. It's a great technology and in my view it is going to change enterprise application development as we know it (eventually – say version 3 or 4).&lt;/p&gt;
&lt;p&gt;OK, now it's truth time. I am a recent user of NetFlix and I have come to enjoy their on-demand service more than the DVDs themselves. I've watched titles that are classics that simply are not found at the video rental store. Their collection is vast. However, unless the (perceived) Silverlight issue I (and many others) am experiencing is corrected Silverlight will suffer a black eye. We all know how important first impressions are. Already people are reportedly canceling their Netflix subscriptions because of this very issue. I don't work for the company so I can't say how many – but anecdotal information (blogs) seems to suggest a substantial amount.&lt;/p&gt;
&lt;div style="text-align: center"&gt;
&lt;table style="width: 349px; border-collapse: collapse; height: 129px" border="0"&gt;
    &lt;colgroup&gt;&lt;col style="width: 148px"&gt;&lt;/col&gt;&lt;col style="width: 148px"&gt;&lt;/col&gt;&lt;col style="width: 154px"&gt;&lt;/col&gt;&lt;/colgroup&gt;
    &lt;tbody valign="top"&gt;
        &lt;tr style="height: 132px"&gt;
            &lt;td style="padding-right: 7px; padding-left: 7px"&gt;
            &lt;p&gt;&lt;img height="62" width="100" alt="" src="/Portals/0/Blog/Files/1/9/030509_0439_Silverlight1.jpg" /&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="padding-right: 7px; padding-left: 7px"&gt;
            &lt;p&gt;&lt;img height="103" width="100" alt="" src="/Portals/0/Blog/Files/1/9/030509_0439_Silverlight2.jpg" /&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="padding-right: 7px; padding-left: 7px"&gt;
            &lt;p&gt;&lt;img height="74" width="100" alt="" src="/Portals/0/Blog/Files/1/9/030509_0439_Silverlight3.jpg" /&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;Recently Netflix switched from using Windows Media Player to stream their content to an embedded Silverlight control. Many people have negative things to say about the video quality and many report their CPU being pegged and crashes. In my case, I am not able to use my personal laptop to view videos on demand and must use my company laptop instead. I have an AMD 64 (dual core) with 4GB of memory and 2 GHz CPU, running Vista Ultimate (32bit version). Not the ideal setup (I wish Dell shipped the 64 bit version pre-installed because there is no upgrade from 32 to 64). However, it's still got enough muscle to handle streaming without a problem. I spent hours trying to fix it, until I finally came to the conclusion that it's not me – it's them.&lt;/p&gt;
&lt;p&gt;When streaming Netflix using their Silverlight control, within 10 minutes my CPU is pegged and eventually the video comes to a screeching halt. I cannot determine if the issue is a Silverlight bug or if it is the Netflix implementation (there are other factors, such as DRM). It really doesn't matter what the cause is because the GENERAL PERCEPTION is that Silverlight is the culprit. Perception matters in the world of marketing and branding.&lt;/p&gt;
&lt;p&gt;Given the high profile of Netflix and their use putting the spotlight on Silverlight, I suggest that Microsoft send as many consultants as it takes from MCS to fix the problem. Reading the blogs I see finger pointing – some say Netflix's DRM and some say Silverlight. At the end of the day Silverlight's brand will be tarnished; Netflix's brand will remain strong. It will be a real black eye for Silverlight if Netflix switches back or if this issue continues much longer.&lt;/p&gt;
&lt;p&gt;Don't believe there is a problem? Read these headlines:&lt;/p&gt;
&lt;div&gt;
&lt;table style="border-collapse: collapse" border="0"&gt;
    &lt;colgroup&gt;&lt;col style="width: 434px"&gt;&lt;/col&gt;&lt;/colgroup&gt;
    &lt;tbody valign="top"&gt;
        &lt;tr&gt;
            &lt;td style="border-right: black 0.5pt solid; padding-right: 7px; border-top: black 0.5pt solid; padding-left: 7px; border-left: black 0.5pt solid; border-bottom: black 0.5pt solid"&gt;
            &lt;p&gt;&lt;a href="http://news.cnet.com/8301-1023_3-10187442-93.html"&gt;http://news.cnet.com/8301-1023_3-10187442-93.html&lt;/a&gt;&lt;/p&gt;
            &lt;p&gt;&lt;span style="color: #666666; font-family: Arial"&gt;March 3, 2009 4:17 PM PST &lt;br /&gt;
            &lt;/span&gt;&lt;span style="font-size: 24pt; font-family: Times New Roman"&gt;&lt;strong&gt;Netflix stands behind Microsoft Silverlight&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: #666666; font-family: Arial"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;p&gt;Netflix is trying to locate the source of a series of glitches that some users of the company's streaming service are blaming on Microsoft's Silverlight video player.&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt;"The new player is far better. It's faster, more reliable and provides greater stability. The vast majority of Netflix members have had a great experience." --Steve Swasey, Netflix spokesman&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt;Over the weekend, a steady stream of angry messages was posted to Netflix's blog. The complaints range from choppy video, to audio that doesn't sync with the picture, to grainy image quality.&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt;The complaints began accumulating soon after the Web's largest video-rental service switched to Microsoft's Silverlight in November. The posts appear to have trickled in until last weekend, when a score of customers began reporting problems.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;If you read the blog that the article referred to (&lt;a href="http://blog.netflix.com/2008/10/opt-in-for-new-netflix-movie-player.html?commentPage=3"&gt;http://blog.netflix.com/2008/10/opt-in-for-new-netflix-movie-player.html?commentPage=3&lt;/a&gt;) I think the comments within are enough to cause concern.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" align="left" src="/Portals/0/Blog/Files/1/9/030509_0439_Silverlight4.jpg" /&gt;To be fair to Microsoft, part of the problem is that Netflix didn't give users the ability to continue using the Windows Media Player – or have a transition period. Bad planning on their part kind of puts everyone in a pickle – and now both Netflix and Silverlight have "mud on their face".&lt;/p&gt;
&lt;p&gt;And to make matters even worse, I did not enjoy my movie experience tonight. Although I had to stop and start it quite a few times, and put in a call to tech support, a good movie is "The Mission" starring Robert Dinero. Hopefully my next Netflix experience is better.&lt;/p&gt;</description>
      <link>http://www.lakelandug.net/Blog/tabid/65/EntryId/9/Silverlight-a-black-eye-for-Netflix-or-Netflix-a-black-eye-for-Silverlight.aspx</link>
      <author>relawson@sdsflorida.com</author>
      <comments>http://www.lakelandug.net/Blog/tabid/65/EntryId/9/Silverlight-a-black-eye-for-Netflix-or-Netflix-a-black-eye-for-Silverlight.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.lakelandug.net/Blog/tabid/65/EntryId/9/Silverlight-a-black-eye-for-Netflix-or-Netflix-a-black-eye-for-Silverlight.aspx</guid>
      <pubDate>Thu, 05 Mar 2009 04:39:10 GMT</pubDate>
      <slash:comments>13</slash:comments>
      <trackback:ping>http://www.lakelandug.net/DesktopModules/Blog/Trackback.aspx?id=9</trackback:ping>
    </item>
    <item>
      <title>WCF: REST or SOAP?</title>
      <description>&lt;p&gt;&lt;span style="font-size: 9pt; font-family: Arial"&gt;&lt;span style="color: black"&gt;After my last post, I wandered over to Brian Noyes' blog and read some of his comments from earlier this year on the short term forecast for .NET. He had some interesting comments overall, but what stuck out in my mind was his comments on the use of REST over SOAP and how the hype of REST will lead to people making the wrong choice. As with most emerging technologies we must avoid hype from influencing our decisions. In my view, REST is the better choice than SOAP in some situations, and not the best choice in others. So how does one make that decision? Read Brian's comments below for that answer:&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;table style="border-collapse: collapse" border="0"&gt;
    &lt;colgroup&gt;&lt;col style="width: 638px"&gt;&lt;/col&gt;&lt;/colgroup&gt;
    &lt;tbody valign="top"&gt;
        &lt;tr&gt;
            &lt;td style="border-right: black 0.5pt solid; padding-right: 7px; border-top: black 0.5pt solid; padding-left: 7px; border-left: black 0.5pt solid; border-bottom: black 0.5pt solid"&gt;
            &lt;p&gt;&lt;a href="http://www.softinsight.com/bnoyes/2009/01/02/NETTechnicalForecast2009.aspx"&gt;&lt;span style="font-size: 9pt; font-family: Arial"&gt;http://www.softinsight.com/bnoyes/2009/01/02/NETTechnicalForecast2009.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 9pt; color: black; font-family: Arial"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;p&gt;&lt;span style="font-size: 9pt; color: black; font-family: Arial"&gt;&lt;em&gt;(Regarding REST): Unfortunately, I predict that more people &lt;span style="text-decoration: underline"&gt;will end up using that model instead of SOAP-based messages than probably should, just because it has the hype right now&lt;/span&gt;. REST makes a lot of sense for externally exposed, resource-oriented services to put a minimum bar for consumption of data out there. For secure, reliable enterprise services though, you need the additional protocols that the WS-* stack gives you. Consumption of a SOAP based service is also still far easier due to simple code generation of the proxy. So &lt;strong&gt;internal services should still be using SOAP&lt;/strong&gt; in my opinion, but &lt;strong&gt;REST makes perfect sense for public exposure of data&lt;/strong&gt;, whether read only or read-write.&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;span style="font-size: 9pt; font-family: Arial"&gt;&lt;span style="color: black"&gt;&lt;br /&gt;
&lt;/span&gt;I hope that clears things up for everyone. I asked this same question last year at a Lakeland User Group meeting and I regret that we didn't discuss the topic more than we did. People probably walked away thinking "REST replaces SOAP", unfortunately. The next question I have is how do we make REST more secure? So let me solicit your comments. What factors would you consider when choosing between using REST or SOAP? &lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-size: 9pt; font-family: Arial"&gt;When searching for the answer, I found this little bit of humor. They have more humor on their website so you must check it out. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekandpoke.typepad.com/geekandpoke/2007/06/the_consultants.html"&gt;&lt;span style="font-size: 9pt; font-family: Arial"&gt;http://geekandpoke.typepad.com/geekandpoke/2007/06/the_consultants.html&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 9pt; font-family: Arial"&gt; &lt;br /&gt;
&lt;img alt="" src="/Portals/0/Blog/Files/1/8/030409_1444_WCFRESTorSO1.jpg" /&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;</description>
      <link>http://www.lakelandug.net/Blog/tabid/65/EntryId/8/WCF-REST-or-SOAP.aspx</link>
      <author>relawson@sdsflorida.com</author>
      <comments>http://www.lakelandug.net/Blog/tabid/65/EntryId/8/WCF-REST-or-SOAP.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.lakelandug.net/Blog/tabid/65/EntryId/8/WCF-REST-or-SOAP.aspx</guid>
      <pubDate>Wed, 04 Mar 2009 14:44:47 GMT</pubDate>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.lakelandug.net/DesktopModules/Blog/Trackback.aspx?id=8</trackback:ping>
    </item>
  </channel>
</rss>
