<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>SilverEnLightening</title>
	<atom:link href="http://silverenlightening.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://silverenlightening.com</link>
	<description>Learning is wonderful</description>
	<lastBuildDate>Wed, 02 Dec 2009 05:45:53 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='silverenlightening.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/df913ad30cde6f152a30eb85849036a2?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>SilverEnLightening</title>
		<link>http://silverenlightening.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://silverenlightening.com/osd.xml" title="SilverEnLightening" />
	<atom:link rel='hub' href='http://silverenlightening.com/?pushpress=hub'/>
		<item>
		<title>In Transition</title>
		<link>http://silverenlightening.com/2009/12/02/in-transition/</link>
		<comments>http://silverenlightening.com/2009/12/02/in-transition/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 05:45:53 +0000</pubDate>
		<dc:creator>Ben McCormack</dc:creator>
				<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://silverenlightening.com/2009/12/02/in-transition/</guid>
		<description><![CDATA[I finally decided to set up my own site from scratch (well, sort of).  You can find me at http://benmccormack.com.
WordPress was fairly easy to install.  So much magic, it&#8217;s almost scary!
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=silverenlightening.com&blog=8997975&post=46&subd=ossavir&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I finally decided to set up my own site from scratch (well, sort of).  You can find me at http://benmccormack.com.</p>
<p>WordPress was fairly easy to install.  So much magic, it&#8217;s almost scary!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ossavir.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ossavir.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ossavir.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ossavir.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ossavir.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ossavir.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ossavir.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ossavir.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ossavir.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ossavir.wordpress.com/46/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=silverenlightening.com&blog=8997975&post=46&subd=ossavir&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://silverenlightening.com/2009/12/02/in-transition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/05dd4a81f00b069aafa141ccaa4e188d?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">Ben McCormack</media:title>
		</media:content>
	</item>
		<item>
		<title>Dangers of Mobile E-mail</title>
		<link>http://silverenlightening.com/2009/09/29/dangers-of-mobile-e-mail/</link>
		<comments>http://silverenlightening.com/2009/09/29/dangers-of-mobile-e-mail/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 02:19:24 +0000</pubDate>
		<dc:creator>Ben McCormack</dc:creator>
				<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://ossavir.wordpress.com/2009/09/29/dangers-of-mobile-e-mail/</guid>
		<description><![CDATA[A few weeks ago, my company purchased a Blackberry for me to use.&#160; This is the first time that I’ve owned a mobile device that has had a constant connection to the internet.&#160; However, I’ve been surprised at how having a connected device can actually cause me to get less work done if I’m not [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=silverenlightening.com&blog=8997975&post=44&subd=ossavir&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago, my company purchased a Blackberry for me to use.&#160; This is the first time that I’ve owned a mobile device that has had a constant connection to the internet.&#160; However, I’ve been surprised at how having a connected device can actually cause me to get <em>less</em> work done if I’m not careful.&#160; here are a few reasons why:</p>
<p> <span id="more-44"></span><br />
<h3>1. Distractions, distractions, distractions</h3>
<p>There are about a billion ways that a connected phone can distract you, but the biggest one is hearing it ring or feeling it vibrate every time you receive an e-mail.&#160; There’s simply a natural impulse to see what’s going on and whether or not you need to respond.&#160; It’s easy to get distracted, no matter how important may be the task at hand, just because the phone rings or a little ‘toast’ notification pops up in the bottom right-hand corner of your screen.&#160; Sometimes we even <em>welcome</em> an interruption if we’re not heavily invested into our work.</p>
<p>Unless you’re in sales, where the quickness of your response might actually affect your chances of closing a sale, you’re mostly likely of the type of person that could do without being distracted every 5 minutes.&#160; Almost always, an e-mail can wait, and hopefully those who work with you regularly will learn that they need to call you if there’s anything they need urgently.</p>
<p>I’ve turned off all e-mail alerts on my desktop machine and almost always keep them off on my Blackberry.&#160; I find I got a lot more done this way.</p>
<h3>2. Checking E-mail Frequently Can Make You Forget To Process E-mail</h3>
<p>I have really enjoyed being able to access e-mail on the go, at home, or even when I’m at the other side of the office.&#160; Even though I have notifications turned off, I still check it from time to time (at a moment of my choosing) to see if I need to respond to anything.&#160; However, I notice that when I glance through my inbox for “actionable e-mails,” I tend to think that a batch of e-mail has already been processed.&#160; This is a problem.</p>
<p>If I think subconsciously that an e-mail has already been processed simply because it’s marked unread, I may forget to do something important at my desktop computer that I couldn’t do on my mobile phone.&#160; For example, I may get a request from a coworker to e-mail them a report that I had been working on.&#160; Having viewed the e-mail on my phone already, I may skip over the item on my desktop if I’m not purposefully taking the time to <em>process</em> my inbox.</p>
<p><em>Processing</em> your inbox (taken in part from David Allen’s <em>Getting Things Done</em>) involves going through your e-mail and filing away items that are reference only and taking action or postponing those that require more work.&#160; Even though I’m alerted of e-mail on the phone, I find that I still have to go back to my inbox on the computer and process e-mail.&#160; I’m always surprised at how often I come across something that I had forgotten about simply because I had read it already on my blackberry.</p>
<h3>3. Are You Connected To The Internet or Chained To It?</h3>
<p>A great speaker and writer, Matthew Kelly, says that technology is supposed to be our slave, but all too often we become <em>its</em> slave.&#160; Naturally, this isn’t limited to just mobile devices (how easy is it to waste time on Twitter, Facebook, and reading blogs?), but mobile devices can have a tendency to really rope us in and keep us from focusing on other important areas of our lives.</p>
<p>I try to put the phone in a different room before going to bed and keep from checking e-mail for at least an hour when I first get up in the morning.&#160; I really like to spend time in quiet reading and collecting my thoughts.&#160; The days that I do this, I notice I am much more focused throughout the day.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ossavir.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ossavir.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ossavir.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ossavir.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ossavir.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ossavir.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ossavir.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ossavir.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ossavir.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ossavir.wordpress.com/44/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=silverenlightening.com&blog=8997975&post=44&subd=ossavir&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://silverenlightening.com/2009/09/29/dangers-of-mobile-e-mail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/05dd4a81f00b069aafa141ccaa4e188d?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">Ben McCormack</media:title>
		</media:content>
	</item>
		<item>
		<title>Pass the IP Address of a User to Silverlight as a Parameter</title>
		<link>http://silverenlightening.com/2009/09/26/pass-the-ip-address-of-a-user-to-silverlight-as-a-parameter/</link>
		<comments>http://silverenlightening.com/2009/09/26/pass-the-ip-address-of-a-user-to-silverlight-as-a-parameter/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 13:48:35 +0000</pubDate>
		<dc:creator>Ben McCormack</dc:creator>
				<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://ossavir.wordpress.com/?p=24</guid>
		<description><![CDATA[In my beginning attempts to learn Silverlight, one of the first ideas for a project was to make a Silverlight video player that could change the source of the video file based on the location of the user.&#160; The goal was to reduce network congestion between the branch offices back to the main office by [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=silverenlightening.com&blog=8997975&post=24&subd=ossavir&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>In my beginning attempts to learn Silverlight, one of the first ideas for a project was to make a Silverlight video player that could change the source of the video file based on the location of the user.&#160; The goal was to reduce network congestion between the branch offices back to the main office by having the Silverlight client download the media file from their local branch.&#160; I wanted to give all users at the company the same URL to watch the video but the source of the video would actually change depending on the IP address of the user.&#160; This is the problem I had:</p>
<p><strong><em>How do I make Silverlight aware of the IP address of the user and then make that data available during the lifecycle of the Silverlight application?</em></strong></p>
<p>It turns out that there are quite a few ways to accomplish this task, both in how to make the Silverlight client aware of the user’s IP address as well as how to make the variable accessible during the life of the application.</p>
<p> <span id="more-24"></span>
<p>Before I go into the solution that I used, here are several resources I used to find my answer:</p>
<ul>
<li>Stack Overflow: <a href="http://stackoverflow.com/questions/1362219/how-to-make-silverlight-client-aware-of-users-ip-address" target="_blank">How to make Silverlight client aware of user’s IP address</a> </li>
<li>Stack Overflow: <a href="http://stackoverflow.com/questions/1363554/how-to-pass-parameter-into-silverlight-so-that-it-is-behind-the-scenes" target="_blank">How to pass parameter into silverlight so that it is “behind the scenes”</a> </li>
<li>Stack Overflow: <a href="http://stackoverflow.com/questions/1364611/how-to-make-string-value-accessible-from-one-area-to-another-in-c-silverlight-ap" target="_blank">How to make string value accessible from one area to another in C# Silverlight App</a> </li>
<li>Silverlight.net Video: <a href="http://www.silverlight.net/learn/videos/silverlight-videos/using-startup-parameters-with-silverlight/" target="_blank">Using Startup Parameters with Silverlight</a> – presented by Tim Heuer </li>
</ul>
<h3>Getting the IP Address</h3>
<p>I was a bit surprised to learn that there was no default method in Silverlight to get the IP Address of the current user.&#160; Then I remembered that Silverlight is <strong><em>client technology</em></strong> and accordingly it would need to get the user’s IP address from outside of itself.&#160; The easiest way (that I found) is to let the server that is hosting the application provide the IP address to the Silverlight client at startup.</p>
<p>If you looked at the answers in <a href="http://stackoverflow.com/questions/1362219/how-to-make-silverlight-client-aware-of-users-ip-address" target="_blank">my first Stack Overflow question</a> from above, you can see that some of the answers involve using JavaScript to directly modify a control within the Silverlight application.&#160; While this is certainly possible, it seems a little complicated and I don’t want to have to create a control in Silverlight just to hold the IP address.&#160; I found that using simple ASP.NET within the “initParams” parameters of the Silverlight object tag was the easiest method.&#160; The code will look something like this:</p>
<p><a href="http://ossavir.files.wordpress.com/2009/09/image2.png" target="_blank"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="Click to Enlarge" border="0" alt="Click to Enlarge" src="http://ossavir.files.wordpress.com/2009/09/image_thumb2.png?w=404&#038;h=182" width="404" height="182" /></a> </p>
<p>The “initParams” parameter can be used within the object tag of regular HTML or ASP.NET.&#160; However, since I need the server to communicate the IP address to Silverlight in some way, I’m using ASP.NET (which is on the server) to pass the parameter into “initParams”.</p>
<p><code>&lt;param name=&quot;initParams&quot;      <br /></code><code>value=&quot;txtUserIP=&lt;%=Request.UserHostAddress %&gt;,cc=true,m=/relative&quot;/&gt; </code></p>
<p>If you were to click “View Source” after the page had loaded, you would see the actual IP address instead of the ASP tags. </p>
<h3>Doing Something With InitParams Data</h3>
<p><code><font face="Verdana">After we pass the IP Address into InitParams, we have to do something with the data on the Silverlight side.&#160; <a href="http://stackoverflow.com/questions/1364611/how-to-make-string-value-accessible-from-one-area-to-another-in-c-silverlight-ap" target="_blank">My third question on Stack Overflow</a> sought to find the answer to this question, but I found the best answer to be in <a href="http://www.silverlight.net/learn/videos/silverlight-videos/using-startup-parameters-with-silverlight/" target="_blank">Tim Heuer’s video on Silverlight.net</a>. </font></code></p>
<p><code><font face="Verdana">The only place that InitParams are made available during the application lifecycle is at the application startup.&#160; Specifically, you need to look in the code-behind of your App.xaml file (in my case, it was App.xaml.cs since I was using C#).&#160; The Application_Startup method will look like this:</font></code></p>
<p><a href="http://ossavir.files.wordpress.com/2009/09/image3.png" target="_blank"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="Click to Enlarge" border="0" alt="Click to Enlarge" src="http://ossavir.files.wordpress.com/2009/09/image_thumb3.png?w=404&#038;h=50" width="404" height="50" /></a>&#160;</p>
<p><code><font face="Verdana">The InitParams are part of the <font face="Courier New">StartupEventArgs e</font> collection.&#160; If we want to do something with the parameters in the main page, it will be important to insert our code <em>before</em> <font face="Courier New">this.RootVisual = new MainPage();</font>.</font></code></p>
<h3>Storing the InitParams in a Resource Dictionary</h3>
<p><code><font face="Verdana">While I certainly could create a public variable in my App.xaml.cs class, I liked Tim’s idea of using a resource dictionary.&#160; He shows three different methods in his video demonstration, but the one I liked best was to simply pass the InitParams into the Application Resource Dictionary.&#160; This way, the IP address will be available during the life of the application.</font></code></p>
<p><a href="http://ossavir.files.wordpress.com/2009/09/image4.png" target="_blank"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="Click to Enlarge" border="0" alt="Click to Enlarge" src="http://ossavir.files.wordpress.com/2009/09/image_thumb4.png?w=404&#038;h=136" width="404" height="136" /></a> </p>
<p>A simple <font face="Courier New">foreach</font> loop will help us to add all of the InitParams to the Application’s Resource Dictionary.&#160; You can then get the parameter value from the resource dictionary using <font face="Courier New">App.Current.Resources[“txtUserIP”].ToString();</font>.</p>
<h3>Last Things</h3>
<p>If you’re interested in how to hook up the source of a video to a media player in Silverlight, I recommend checking out the source code for the <a href="http://www.codeplex.com/sl2videoplayer" target="_blank">Silverlight 2 Video Player on Codeplex</a>.&#160; If you look in App.xaml.cs in the source code, you can see how they format a URI to be set as the source for the Media control.&#160; You’ll need to use <font face="Courier New">URI(txtURL, UriKind.RelativeOrAbsolute)</font> if the link is external to your site and <font face="Courier New">URI(txtURL, UriKind.Relative)</font> if the link is in the same site.&#160; The Media control’s source must be a URI, not just a string.</p>
<p>Also, the source of your media control cannot be a UNC path (e.g. //InternalServer/video.wmv) because Silverlight is sandboxed so that it does not recognize local resources.&#160; If your Silverlight App is hosted in http, then the video must be an http source, and if it’s hosted in https, then the video must be an https source.&#160; I had hoped to be able to simply pull video from a network share at each branch office, but because of this restriction, I would actually have to set up IIS (or some other web server) to host the videos at each site.</p>
<p>In regards to the IP address of the user, the IP address returned to Silverlight will only extend as far as the site on which it is hosted.&#160; For example, if you run the Silverlight App from within your ASP.NET test hosting server on your local PC, you’ll probably get 127.0.0.1 (I think).&#160; If it’s hosted on an IIS server behind your company’s firewall, you’ll get your internal IP address.&#160; If the Silverlight App is hosted on a public website, you’ll get the user’s public IP address.</p>
<p>Lastly, make sure you video is encoded properly or else it won’t play in Silverlight.&#160; I recommend using MS Expression Encoder to handle this task.</p>
<p><code><font face="Verdana">&#160;</font></code></p>
</p>
<p><font face="Courier New"></font></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ossavir.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ossavir.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ossavir.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ossavir.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ossavir.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ossavir.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ossavir.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ossavir.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ossavir.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ossavir.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=silverenlightening.com&blog=8997975&post=24&subd=ossavir&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://silverenlightening.com/2009/09/26/pass-the-ip-address-of-a-user-to-silverlight-as-a-parameter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/05dd4a81f00b069aafa141ccaa4e188d?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">Ben McCormack</media:title>
		</media:content>

		<media:content url="http://ossavir.files.wordpress.com/2009/09/image_thumb2.png" medium="image">
			<media:title type="html">Click to Enlarge</media:title>
		</media:content>

		<media:content url="http://ossavir.files.wordpress.com/2009/09/image_thumb3.png" medium="image">
			<media:title type="html">Click to Enlarge</media:title>
		</media:content>

		<media:content url="http://ossavir.files.wordpress.com/2009/09/image_thumb4.png" medium="image">
			<media:title type="html">Click to Enlarge</media:title>
		</media:content>
	</item>
		<item>
		<title>Learning Software Development and Plato&#8217;s Cave</title>
		<link>http://silverenlightening.com/2009/09/22/learning-software-development-and-platos-cave/</link>
		<comments>http://silverenlightening.com/2009/09/22/learning-software-development-and-platos-cave/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 04:02:18 +0000</pubDate>
		<dc:creator>Ben McCormack</dc:creator>
				<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://ossavir.wordpress.com/2009/09/22/learning-software-development-and-platos-cave/</guid>
		<description><![CDATA[When I went to the Atlanta Silverlight Meetup Group this past Thursday, I met several people whose college degree (or lack thereof) was completely unrelated to software development.&#160; As someone who is trying to become a “professional” software developer and is beginning the tedious process of learning several new technologies, this discovery was very heartening [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=silverenlightening.com&blog=8997975&post=22&subd=ossavir&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>When I went to the <a href="http://www.meetup.com/The-Atlanta-Silverlight-Meetup-Group/">Atlanta Silverlight Meetup Group</a> this past Thursday, I met several people whose college degree (or lack thereof) was completely unrelated to software development.&#160; As someone who is trying to become a “professional” software developer and is beginning the tedious process of learning several new technologies, this discovery was very heartening and caused me to reflect on my own background in philosophy and a connection I made to learning new development technologies.</p>
<p>Learning software development technologies can be difficult.&#160; It’s as much about culture, language, and the greater community ecosystem as it is about making a bunch of lines of text do cool stuff.&#160; Sometimes it can be really difficult to understand the importance of technology without having an appreciation for where it fits in to the big picture.&#160; The following is a thought experiment to try to help you understand what I mean.</p>
<p> <span id="more-22"></span>
<p>I took a minute to think of all of the different technologies related to software development that I’ve come across in the past month.&#160; Take a look at the following list at see if you recognize the technology and concepts on this list (in no particular order):</p>
<ul>
<li>ASP </li>
<li>ASP.NET </li>
<li>.NET </li>
<li>ASP.NET MVC </li>
<li>MVVM </li>
<li>Ruby </li>
<li>Ruby on Rails </li>
<li>Mono </li>
<li>MonoTouch </li>
<li>Moonlight </li>
<li>Silverlight </li>
<li>JavaScript </li>
<li>HTML </li>
<li>DHTML </li>
<li>Java </li>
<li>JQuery </li>
<li>XAML </li>
<li>XML </li>
<li>XAP </li>
<li>MEF </li>
<li>OSLO </li>
<li>AJAX </li>
<li>DSL </li>
<li>C# </li>
<li>VB.NET </li>
<li>RIA Services </li>
<li>Entity Framework </li>
<li>WCF </li>
<li>CLR </li>
<li>OOP </li>
<li>Spark </li>
<li>Prism </li>
</ul>
<p>When looking at that list, how much did you recognize? How many of the pieces can you fit together?&#160; If you are an experienced developer, you were probably able to recognize the terms and automatically recognize how they exist in relation to one another.&#160; For example, you might automatically recognize that “a XAP file is really just a zip file for Silverlight applications” or “JQuery is a library for JavaScript, which is not really related to Java.”&#160; Sure, it’s a diverse list of technology, but you probably have at least a general idea of how the pieces fit together.</p>
<p>Now try to imagine (or remember) what it is like <em>not</em> to recognize these technologies and how they fit together.&#160; Try, for a moment, to abandon your <em>understanding</em> of what you already know and put yourself in the shoes of someone for whom the term <em>.NET</em> is just another group of letters in a malaise of technological alphabet soup.&#160; Think about what it might feel like to write your next Silverlight application without having a clue of why you would even <em>want</em> to use MVVM.</p>
<p>In this experiment, you may have found it quite difficult to forget things you have found important and to abandon your understanding of key technologies related to your field.&#160; Besides, you might ask, what’s the point of <em>trying</em>&#160;<em>to</em> <em>forget</em> things you’ve already learned?</p>
<p>That’s a great question, and to get at the answer, bear with me as we take a very brief look at ancient Greek philosophy.&#160; In Plato’s analogy of the cave (from the <em>Republic</em>), the majority of humanity is described as being in a dark, barely lit cave, trying to understand the world by the dim shadows cast on the walls of the cave.&#160; It’s hard to understand the world when all you have to go on is the shadows on the wall.</p>
<p>Some people, however, find their way out of the cave and “see the light.”&#160; No longer seeing just the shadows, with the light outside of the cave, they get to see the world as it “really is” and now have a better understanding of the world.&#160; This is great! Now what?</p>
<p>Let’s stop here for a second and make a connection to the world of software development.&#160; The people inside the cave represent people like me.&#160; Some of us are content with where we are and what we know, and some of us are trying to “see the light” so we can understand software better.&#160; Either way, we’re the ones who don’t know why we should go through the trouble of using class modules and objects in our VBA Excel applications.&#160; We don’t know why MVVM will save us time in Silverlight development, and the phrase “separating business logic from the UI” either means nothing or doesn’t seem applicable.</p>
<p>On the other hand, the people <em>outside</em> the cave know exactly what “ORM” means, have their personal favorite, and know how to use it correctly.&#160; Not only do they know <em>why</em> to use MVVM, but they contribute open source code to an MVVM framework.&#160; Whether in their specialized discipline or in a wide range of products, these developers “get it.”</p>
<p>Some devs “see the light” while others are still in the cave adding button controls to their boss’s excel report (guilty). Is that all there is to it?&#160; This is where we return to our thought experiment of trying to forget what we know about software development.</p>
<p>This is where the value of the analogy of the cave really shines.&#160; The philosopher (or developer, I suppose) who is outside of the cave could simply bask in the glory of their own understanding, but to be a true philosopher (errr…developer…), he must go back into the cave and try to convince the great unwashed that they should <em>want </em>to get out of the cave.&#160; He must try to get others to “see the light.”</p>
<p>The philosopher-developer must not only tell me where to download the latest bits for their technology of choice, they must tell me <em>why</em> I should want these bits in the first place.&#160; The philosopher-developer cannot only give a cool talk at MIX that demonstrates their favorite new tool, they ought to bring me to an understanding of why I should need that tool in the first place.</p>
<p>The hardest part about helping others to understand why to use such-and-such technology is trying to put yourself in their place, forgetting your assumptions and trying to remember what it feels like <em>not to know</em>.&#160; It’s easy to geek out and get excited with our peers, but it’s exceptionally difficult to remember what is was like to not even know why we would want to be geeking out in the first place.&#160; A person who has donated his or herself to bringing others into the light by meeting them at their level is truly embracing the essence of what it means to be a teacher.</p>
<p>Here’s an example of what I mean.&#160; I’ve read a few posts trying to explain MVVM.&#160; Almost always, these posts will describe the different pieces of MVVM and how they work together.&#160; That’s great, but what I need to see, as someone who is “inside the cave”, is why MVVM is even important.&#160; Try to forget about the greatness of MVVM for a second and walk me through an example of how I might build a simple application without it.&#160; Get on my level and try to imagine what I would do as I try to solve the problems of building the app.&#160; After you show me how to build an app “the traditional way,” show me how MVVM will actually help me when my boss wants to add a new text block to that data form we just built.&#160; Show me how I would have spent 2 hours making the change my way, and then show me how I would have spent 5 minutes making the change your way. </p>
<p>I might be kicking and screaming as I spend 8 hours trying to implement your new framework for the first time, but I’ll be grateful for your work after it’s saved my butt for the 50th time because management doesn’t know what they want in the UX of their product.&#160; More importantly, I’ll have actually <em>tried</em> your technology because you took the time to show me why it was important.&#160; In sum, you can yell and scream all you want about how great “the light” is outside of the cave, but until you <em>come into the cave, get on my level, and then drag me out</em>, I’ll never understand why I should want to join you.</p>
<p>Lastly, I’ll grant that every last blog post and conference talk does not need to be directed at the unenlightened few.&#160; Sometimes you just need to preach to the choir or demo some tools to your community.&#160; I understand that.&#160; However, there are still far too many “Introduction-to-Some-Technology” blog posts that show tools and bits without showing why they are even necessary.&#160; As frequently as new technology is introduced, you can’t always assume that everyone listening to your talk or reading your blog post about the next-big-thing is up to speed on why it is even important.</p>
<p>The best way to learn is by being taught by someone who wants to get on your level and guide you to a better understanding of the topic at hand.&#160; Any volunteers?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ossavir.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ossavir.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ossavir.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ossavir.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ossavir.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ossavir.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ossavir.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ossavir.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ossavir.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ossavir.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=silverenlightening.com&blog=8997975&post=22&subd=ossavir&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://silverenlightening.com/2009/09/22/learning-software-development-and-platos-cave/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/05dd4a81f00b069aafa141ccaa4e188d?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">Ben McCormack</media:title>
		</media:content>
	</item>
		<item>
		<title>Notes from the Silverlight Atlanta Firestarter</title>
		<link>http://silverenlightening.com/2009/08/24/notes-from-the-silverlight-atlanta-firestarter/</link>
		<comments>http://silverenlightening.com/2009/08/24/notes-from-the-silverlight-atlanta-firestarter/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 20:21:03 +0000</pubDate>
		<dc:creator>Ben McCormack</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[FireStarter]]></category>
		<category><![CDATA[Silverlight Atlanta]]></category>

		<guid isPermaLink="false">http://ossavir.wordpress.com/2009/08/24/notes-from-the-silverlight-atlanta-firestarter/</guid>
		<description><![CDATA[UPDATE: A full list of resources from the Silverlight Atlanta Firestarter is up: http://www.silverlightatlanta.net/?p=156
Here are a few quick notes that I took during the Silverlight Atlanta Firstarter.&#160;&#160; I didn’t even attempt to take comprehensive notes, but I did jot down a few things that I found interesting.&#160; These are more for my reference than anything [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=silverenlightening.com&blog=8997975&post=16&subd=ossavir&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p><em><strong>UPDATE:</strong> A full list of resources from the Silverlight Atlanta Firestarter is up: <a title="http://www.silverlightatlanta.net/?p=156" href="http://www.silverlightatlanta.net/?p=156">http://www.silverlightatlanta.net/?p=156</a></em></p>
<p>Here are a few quick notes that I took during the <a href="http://www.silverlightatlanta.net/Firestarter/minisite.html">Silverlight Atlanta Firstarter</a>.&#160;&#160; I didn’t even attempt to take comprehensive notes, but I did jot down a few things that I found interesting.&#160; These are more for my reference than anything else.&#160; You won’t find a lot of content for each talk, but you’ll find a few things that I found important and worth jotting down.</p>
<p>At the very least, I put links to everyone’s blog or home page if I could find it.&#160; That way you can easily look up the person if you’re interested.</p>
<p> <span id="more-16"></span><br />
<h3>Overall Impressions</h3>
<p>Overall, the event was great.&#160; I’m very thankful to all of the volunteers and sponsors who helped put it together.&#160; I’m really excited about continuing my “getting started” efforts in Silverlight and am looking forward to future <a href="http://www.meetup.com/The-Atlanta-Silverlight-Meetup-Group">meetups</a> and events.</p>
<p>Though they introduced a very large amount of information, it was generally presented very well and served as an excellent broad introduction to Silverlight.</p>
<h3>Introductions</h3>
<ul>
<li><a href="http://http://www.85turns.com/">Corey Schuman</a> emceed the event and introduced the speakers.&#160; Great job! </li>
<li><a href="http://blogs.msdn.com/glengordon/">Glenn Gordon</a> was present as the “Developer Evangelist” from Microsoft.&#160; He brings free Microsoft events, resources, and information to developers in the Southeast.&#160; Cool. </li>
</ul>
<h3></h3>
<h3>Keynote: Tim Heuer</h3>
<p><a href="http://timheuer.com/blog/">Tim Heuer</a> is a program manager for Silverlight at Microsoft.</p>
<ul>
<li>Tim doesn’t have a CS degree – I found this encouraging because <em>I</em> do not have a CS degree, but I want to get involved in web development </li>
<li>Apparently, Silverlight is really big with <a href="http://www.microsoft.com/japan/products/expression/cases/yahoo.aspx">Yahoo! Japan</a>. </li>
<li>Tim mentioned <a href="http://twitter.com/kevindente">Kevin Dente on Twitter</a>.&#160; <strike>Can’t remember why.</strike>
<ul>
<li><em>Update: Tim has been a guest on Kevin Dente’s podcast, “Herding Code,” which Tim recommended listening to.&#160; Thanks Alan for the reminder!</em> </li>
</ul>
</li>
<li>Search: <a href="http://www.bing.com/search?q=super+employee+alfred&amp;form=QBLH&amp;qs=n">Super Employee Alfred</a> – A really cool example of SEO and Deep Link functionality within SL. </li>
</ul>
<h3></h3>
<h3></h3>
<h3>Silverlight Soup to Nuts: Shawn Wildermuth</h3>
<p>I really wanted to pronounce his last name “Vildermuth.” <a href="http://wildermuth.com/">Shawn Wildermuth</a> did the talk on “Silverlight Soup to Nuts.” (For the record, his rotating profile picture on his blog is freaky as hell).</p>
<ul>
<li><a href="http://silverlight-tour.com/">Silverlight-tour.com</a> – A national tour for agilitrain giving workshops and classes about all the new stuff in Silverlight 3. </li>
<li>With XAML, you can name only the elements you want to appear in IntelliSense.&#160; This reduces the clutter (such as label3,label20421,etc.) of having everything named. </li>
<li><a href="http://www.hanselman.com/blog/IntroducingRockScroll.aspx">Rock Scroll – Visual Studio Plugin</a> – this is a cool plugin that Shawn had installed on his computer that puts a top-down look at all your code directly into the vertical scroll bar.&#160; Plugin is written (or published) by Scott Hanselman of Microsoft. </li>
<li>Ctrl K + Ctrl D – used to format code in Visual Studio (if you needed a hint that I’m brand new to developing apps in VS, here it is) </li>
<li><a href="http://www.codeplex.com/SLExtensions">SLExtensions</a> – Because no one should have to write their own converters.&#160; Silverlight Contrib and Silverlight Extensions recently merged. </li>
<li><font face="Courier New">this.OnPropertyChanged(“Name”)</font>; – can’t remember why I wrote this down </li>
</ul>
<h3>Anatomy of a Silverlight App: Tim Heuer</h3>
<p>Tim’s back.</p>
<ul>
<li>Silverlight Tools
<ul>
<li>Minimum
<ul>
<li>Silverlight Developer Runtime </li>
<li>SDK </li>
</ul>
</li>
<li>Recommended
<ul>
<li>Visual Studio 2008 SP1 (you can even use the free Visual Web Developer) </li>
<li>Visual Studio Tools for Silverlight </li>
<li>Expression Blend 3 </li>
<li>Expression Encoder 3 </li>
<li>See <a href="http://silverlight.net/GetStarted">http://silverlight.net/GetStarted</a> </li>
</ul>
</li>
</ul>
</li>
<li>Somebody asked how you can get MS software other than retail – When applicable: Microsoft Action Pack, StudentSpark? (A program that gives students free access to developer software), BizSpark (a program that gives start-up free developer software) </li>
<li><a href="http://www.dafont.com">DaFont.com</a> – a place to get free fonts </li>
<li>Fonts must be embedded as a resource – please respect the usage rights of the font developers </li>
<li><font face="Courier New">Loaded += new …</font> – Some events belong in the Loaded section, for after the UI has loaded. </li>
<li>.xap file is really just a zip file and contains:
<ul>
<li>appmanifest.xml </li>
<li>assemplies
<ul>
<li>your app </li>
<li>dependencies </li>
</ul>
</li>
<li>content </li>
</ul>
</li>
<li>Install Experience – See <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=961e96e8-9a7f-4b70-947a-97f0973cb38c">whitepaper for best practices</a>.&#160; See <a href="http://timheuer.com/blog/archive/0001/01/01/silverlight-installation-experience-guidance-available-whitepaper-code.aspx">post on Tim’s blog</a>. </li>
</ul>
<h3>Data Services: Rik Robinson and Steve Porter</h3>
<p><a href="http://www.r2musings.com/">Rik Robinson</a> presented on Data Binding</p>
<ul>
<li><font face="Courier New">{Binding …}</font> – This is used in XAML to bind data to a XAML element. </li>
</ul>
<p>Steve Porter also presented.</p>
<p>Note: At some point Chad Brooks was introduced.&#160; He’s an Architect Evangelist from Microsoft.&#160; He can be reached at Chad &lt; dawt &gt; Brooks &lt; at &gt; Microsoft &lt; dawt &gt; com.</p>
<h3>Lighting up the UI: Mason Brown and Roger Peters</h3>
<p>I can’t remember exactly who presented what from my notes, but <a href="http://maysundays.net/blog/">Mason Brown</a> did more of the graphics side and <a href="http://www.smartypantscoding.com/">Roger Peters</a> did more of the development side.</p>
<ul>
<li>“Design Width” in Blend is only for design time and doesn’t interfere with the actual end presentation. </li>
<li>You can double click on a control from the left panel in Blend to easily add it to your UI with minimal code clutter. </li>
</ul>
<p>It was hard to take notes on a lot of this stuff because it was so visually intensive in Blend.&#160; I really liked the explanation of behaviors, though.</p>
<p><em>Update: A demo of the UI they wrote <a href="http://www.silverlightatlanta.net/Firestarter/preso/ui/UIDemo.html">here</a>.</em></p>
<h3>Outside the Plugin: Jason Rainwater</h3>
<p><a href="http://www.attachedwpf.com">Jason Rainwater</a> presented on using SL 3 to interact with the browser and vice versa.&#160; Very cool stuff.</p>
<p>He mentioned checking out SL 3 resources on MSDN.&#160; I had trouble finding a link to that other than what directs to <a href="http://Silverlight.net">Silverlight.net</a>. </p>
<p>Note: During one of the breaks, I was talking to someone who mentioned <a href="http://subsonicproject.com/">SubSonic</a> as a possible way to interface MySQL with Silverlight and/or WCF.&#160; I’m going to have to check that out.</p>
<h3>Media: Corey Schuman</h3>
<p><a href="http://www.85turns.com/">Corey Schuman</a> presented on media in Silverlight.&#160; This was a great introduction to media in Silverlight.&#160; It’s incredible how easy it is to create a media player in Silverlight.</p>
<h3>Sketch Flow – Rob Zelt</h3>
<p><a href="http://robzelt.com/blog/">Rob Zelt</a> spoke about SkitchFlow.&#160; It was really neat to see an in-depth look at this new tool that comes with Blend 3 and SL3.&#160; Great job.</p>
<h3>Deployment Strategies – Sergey Barskiy</h3>
<p><a href="http://sergeybarskiy.spaces.live.com/">Sergey Barskiy</a> talked about setting up a successful Silverlight deployment.&#160; He also has a really cool accent.</p>
<ul>
<li>WCF diagnostics </li>
<li>system.diagnostics.xmlWriterTraceListener </li>
</ul>
<p>He didn’t get a chance to go over localization and reporting (I really wanted to see reporting), but he put a <a href="http://sergeybarskiy.spaces.live.com/blog/cns!2383900F69B808E0!372.entry">follow-up post on his blog</a> for those interested in those technologies.</p>
<h3>Community and Ecosystem – James Ashley</h3>
<p><a href="http://www.imaginativeuniversal.com/blog/Default.aspx">James Ashley</a> presented on the Silverlight ecosystem and all of the wonderful communities and resources available to help a programmer succeed in Silverlight.</p>
<p>I would type out my notes from his talk, but he managed to quickly <a href="http://www.imaginativeuniversal.com/blog/SilverlightResources.aspx">post the content onto his blog</a>.</p>
<p>Sidenote: His use of the word “phenomenology” in his blog subtitle is the only direct opportunity I’ve had to apply my degree in philosophy since starting learning Silverlight.&#160; Well done.</p>
<h3>Last Things</h3>
<p>Death. Judgment. Heaven. Hell.&#160; … err … I need to finish this post…</p>
<p>Shawn mentioned <a href="http://www.DevCow.com">DevCow.com</a> as a way to connect with other developers in the Atlanta area.</p>
<p>Thanks again to everyone for all their hard work!&#160; I have so many wonderful ideas.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ossavir.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ossavir.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ossavir.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ossavir.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ossavir.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ossavir.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ossavir.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ossavir.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ossavir.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ossavir.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=silverenlightening.com&blog=8997975&post=16&subd=ossavir&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://silverenlightening.com/2009/08/24/notes-from-the-silverlight-atlanta-firestarter/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/05dd4a81f00b069aafa141ccaa4e188d?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">Ben McCormack</media:title>
		</media:content>
	</item>
		<item>
		<title>SilverEnLightening is born!</title>
		<link>http://silverenlightening.com/2009/08/19/silverenlightening-is-born/</link>
		<comments>http://silverenlightening.com/2009/08/19/silverenlightening-is-born/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 19:40:27 +0000</pubDate>
		<dc:creator>Ben McCormack</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://ossavir.wordpress.com/2009/08/19/silverenlightening-is-born/</guid>
		<description><![CDATA[I really wish I could take credit for the title of this blog.&#160; My friend Jeff gave me the idea when he asked me “How’s the Silver-enligthening going?”&#160; I had been trying to think of a name for my blog about exploring Silverlight and in about 30 minutes after reading Jeff’s e-mail, silverenlightening.com was registered.&#160; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=silverenlightening.com&blog=8997975&post=9&subd=ossavir&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I really wish I could take credit for the title of this blog.&#160; My friend Jeff gave me the idea when he asked me “How’s the Silver-enligthening going?”&#160; I had been trying to think of a name for my blog about exploring Silverlight and in about 30 minutes after reading Jeff’s e-mail, silverenlightening.com was registered.&#160; The purpose of this blog is to keep up with my enlightening adventure of learning Silverlight.</p>
<h3>Why blog about learning Silverlight?</h3>
<p>I find that maintaining a weblog while learning a new technology is a great way to stay on task, document the learning process, and interact with the online community.&#160; When I was first learning SharePoint, I created <a href="http://unitedsupplyco.sharepointsite.net/publicfacing/bensblog/default.aspx">a blog to document my experience</a>.&#160; I ended up having to stop blogging because my focus at work shifted from tinkering with SharePoint to transitioning to a new ERP system, but it was good while it lasted.</p>
<p> <span id="more-9"></span><br />
<h3>My Background in Application Development</h3>
<p>I am brand to new Silverlight development.&#160; In fact, C#, .NET, ASP.NET, and WCF are all new technologies for me to me learn (there are plenty of other acronyms to add, I’m sure).&#160; Thankfully, there’s a great community of Silverlight enthusiasts and a lot of content in books and online to help me get started.</p>
<p>A lot of my work has involved writing small applications that facilitate the retrieval and presentation of business data.&#160; I had become quite experienced in Excel and Access with a good deal of VBA in the background.&#160; My later projects involved a lot of automation and data manipulation after pulling data into Excel or Access directly from our MySQL data warehouse.</p>
<p>While these Excel and Access applications were far ahead of anything we had in the past, deployment and maintenance was still a pain.&#160; Each new user had to have the MySQL connector installed and pushing out updates was always a pain as I had to remember which employees used that particular application and subsequently forward them the update.</p>
<p>I’ve been chewing on the beginnings of a few projects, all of them involving multiple users with input and output of business data.&#160; Trying to maintain an Access deployment of a regularly used program would be way too much work.&#160; I began looking for an alternative.</p>
<h5></h5>
<h3>Looking at Web Applications</h3>
<p>During his summer off from college, my brother worked with me and I assigned him the task of writing a web application to present sales data about customers to an end user.&#160; He ended up coming up with a functioning PHP web site in a <a href="http://en.wikipedia.org/wiki/WAMP">WAMP</a> environment.&#160; For the most part, his solution was moving in the right direction.&#160; It provided a centrally-located solution that was easy to deploy and gave the user a great deal of control over the information they chose to see.&#160; Great!</p>
<p>However, when I sat down with Alex to learn to code his website for myself, I was surprised at how much code was involved just to present info to the end user.&#160; Granted, PHP had some nice built-in methods for handling MySQL, but there was still a lot of work involved just to get a simple query to print to the screen, and without some work in CSS styling, it usually wasn’t pretty.</p>
<p>I went back to the drawing board and tried to find an ideal technology or group of technologies for delivering simple business applications.&#160; I didn’t go terribly in depth, but I considered PHP, AJAX (with JQuery), ASP.NET, and finally Silverlight.&#160; As I got closer to making my decision, I even <a href="http://betaforums.silverlight.net/forums/t/120027.aspx">asked users on the forums of Silverlight.net</a>.&#160; I was glad I took the time and energy to discover where to best to invest my time and energy as I learn a new technology.</p>
<h5></h5>
<h3>Why I Chose Silverlight</h3>
<p>In the end, Silverlight seemed the best choice for delivering business applications to the web.&#160; Oddly enough, <a href="http://en.wikipedia.org/wiki/Silverlight#Silverlight_1.1">Silverlight 1.1</a> mostly involved rich media with almost no connection to business data.&#160; At this point, I feel it’s an easy decision to go with Silverlight.</p>
<p>JavaScript and AJAX may be all the rage right now, and certainly if I were writing websites to be consumed by the public I would be learning these technologies, but I really don’t want to have to worry about developing for different browsers.&#160; I like how Silverlight provides a consistent presentation framework once the plug-in is installed by the end user.</p>
<p>My friend Jeff develops using Microsoft technologies and he suggested looking at Silverlight for its rich user experience and potentially rapid application development.&#160; He came over on a Saturday afternoon and helped me set up a demo website to display MySQL Data in a Silverlight application.&#160; After only a few hours, we had set up a simple Silverlight application that connected to a WCF service which pulled data from MySQL (I plan to write up a blog post on a lot of this stuff at a later time).&#160; I was sold.</p>
<h3>Beginning Development</h3>
<p>I have a lot to learn to even get started, and I must admit that I find the whole mess very intimidating.&#160; I was comfortable in my world of Excel/Access/VBA, but those technologies aren’t ideal for what I’m doing and besides, it’s fun to learn new things that will carry well into the future.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ossavir.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ossavir.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ossavir.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ossavir.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ossavir.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ossavir.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ossavir.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ossavir.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ossavir.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ossavir.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=silverenlightening.com&blog=8997975&post=9&subd=ossavir&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://silverenlightening.com/2009/08/19/silverenlightening-is-born/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/05dd4a81f00b069aafa141ccaa4e188d?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">Ben McCormack</media:title>
		</media:content>
	</item>
	</channel>
</rss>