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

<channel>
	<title>RepeatGeek &#187; Technical</title>
	<atom:link href="http://repeatgeek.com/category/technical/feed/" rel="self" type="application/rss+xml" />
	<link>http://repeatgeek.com</link>
	<description>Helping geeks achieve success</description>
	<lastBuildDate>Mon, 19 Dec 2011 22:30:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<meta name="generator" content="deStyle 0.9.3" />
		<item>
		<title>Keyword Counts of Popular Programming Languages</title>
		<link>http://repeatgeek.com/technical/keyword-counts-of-popular-programming-languages/</link>
		<comments>http://repeatgeek.com/technical/keyword-counts-of-popular-programming-languages/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 02:24:26 +0000</pubDate>
		<dc:creator>dhirschl</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[keyword]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[reserved]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[VB.NET]]></category>

		<guid isPermaLink="false">http://repeatgeek.com/?p=732</guid>
		<description><![CDATA[In a previous post, 10 Problems with &#8216;Hello World&#8221;, I made a remark that a &#8216;Hello World&#8217; program only teaches you on average a single keyword. Without doing any research, I asserted that there are hundreds or thousands or keywords in a given programming language &#8211; until someone called me out on it. What I [...]
Related posts:<ol>
<li><a href='http://repeatgeek.com/technical/how-to-master-a-programming-language-v/' rel='bookmark' title='How To Master a Programming Language V'>How To Master a Programming Language V</a></li>
<li><a href='http://repeatgeek.com/technical/how-to-master-a-programming-language-iv/' rel='bookmark' title='How To Master a Programming Language IV'>How To Master a Programming Language IV</a></li>
<li><a href='http://repeatgeek.com/personal/do-something-else-besides-programming/' rel='bookmark' title='Do Something Else Besides Programming!'>Do Something Else Besides Programming!</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a title="Keys. by Bohman, on Flickr" href="http://www.flickr.com/photos/bohman/210977249/"><img src="http://farm1.static.flickr.com/97/210977249_da533e62a4_m.jpg" alt="Keys." width="240" height="180" /></a></p>
<p>In a previous post, <a href="http://repeatgeek.com/technical/10-problems-with-hello-world/">10 Problems with &#8216;Hello World&#8221;</a>, I made a remark that a &#8216;Hello World&#8217; program only teaches you on average a single keyword. Without doing any research, I asserted that there are hundreds or thousands or keywords in a given programming language &#8211; until someone called me out on it.</p>
<p>What I found couldn&#8217;t be further from the truth.</p>
<p>Based on a list of the <a href="http://www.devtopics.com/most-popular-programming-languages/">Most Popular Programming Languages</a>, I researched how many keywords and reserved words each language had. I am certain my counts are not exact and depending on specific implementations and versions of languages &#8211; the keyword counts may vary.</p>
<p>Here are my findings in descending keyword/reserved word count:</p>
<h2>VB.NET</h2>
<h3>Keyword/Reserved Word Count: 159</h3>
<table width="100%">
<tbody>
<tr>
<td>AddHandler</td>
<td>AddressOf</td>
<td>Alias</td>
<td>And</td>
<td>AndAlso</td>
</tr>
<tr>
<td>As</td>
<td>Boolean</td>
<td>ByRef</td>
<td>Byte</td>
<td>ByVal</td>
</tr>
<tr>
<td>Call</td>
<td>Case</td>
<td>Catch</td>
<td>CBool</td>
<td>CByte</td>
</tr>
<tr>
<td>CChar</td>
<td>CDate</td>
<td>CDbl</td>
<td>CDec</td>
<td>Char</td>
</tr>
<tr>
<td>CInt</td>
<td>Class</td>
<td>CLng</td>
<td>CObj</td>
<td>Const</td>
</tr>
<tr>
<td>Continue</td>
<td>CSByte</td>
<td>CShort</td>
<td>CSng</td>
<td>CStr</td>
</tr>
<tr>
<td>CType</td>
<td>CUInt</td>
<td>CULng</td>
<td>CUShort</td>
<td>Date</td>
</tr>
<tr>
<td>Decimal</td>
<td>Declare</td>
<td>Default</td>
<td>Delegate</td>
<td>Dim</td>
</tr>
<tr>
<td>DirectCast</td>
<td>Do</td>
<td>Double</td>
<td>Each</td>
<td>Else</td>
</tr>
<tr>
<td>ElseIf</td>
<td>End</td>
<td>EndIf</td>
<td>Enum</td>
<td>Erase</td>
</tr>
<tr>
<td>Error</td>
<td>Event</td>
<td>Exit</td>
<td>False</td>
<td>Finally</td>
</tr>
<tr>
<td>For (in For…Next)</td>
<td>For Each…Next</td>
<td>Friend</td>
<td>Function</td>
<td>Get</td>
</tr>
<tr>
<td>GetType</td>
<td>GetXMLNamespace</td>
<td>Global</td>
<td>GoSub</td>
<td>GoTo</td>
</tr>
<tr>
<td>Handles</td>
<td>If</td>
<td>Implements</td>
<td>Imports</td>
<td>In</td>
</tr>
<tr>
<td>Inherits</td>
<td>Integer</td>
<td>Interface</td>
<td>Is</td>
<td>IsNot</td>
</tr>
<tr>
<td>Let</td>
<td>Lib</td>
<td>Like</td>
<td>Long</td>
<td>Loop</td>
</tr>
<tr>
<td>Me</td>
<td>Mod</td>
<td>Module</td>
<td>MustInherit</td>
<td>MustOverride</td>
</tr>
<tr>
<td>MyBase</td>
<td>MyClass</td>
<td>Namespace</td>
<td>Narrowing</td>
<td>New</td>
</tr>
<tr>
<td>Next</td>
<td>Not</td>
<td>Nothing</td>
<td>NotInheritable</td>
<td>NotOverridable</td>
</tr>
<tr>
<td>Object</td>
<td>Of</td>
<td>On</td>
<td>Operator</td>
<td>Option</td>
</tr>
<tr>
<td>Optional</td>
<td>Or</td>
<td>OrElse</td>
<td>Out</td>
<td>Overloads</td>
</tr>
<tr>
<td>Overridable</td>
<td>Overrides</td>
<td>ParamArray</td>
<td>Partial</td>
<td>Private</td>
</tr>
<tr>
<td>Property</td>
<td>Protected</td>
<td>Public</td>
<td>RaiseEvent</td>
<td>ReadOnly</td>
</tr>
<tr>
<td>ReDim</td>
<td>REM</td>
<td>RemoveHandler</td>
<td>Resume</td>
<td>Return</td>
</tr>
<tr>
<td>SByte</td>
<td>Select</td>
<td>Set</td>
<td>Shadows</td>
<td>Shared</td>
</tr>
<tr>
<td>Short</td>
<td>Single</td>
<td>Static</td>
<td>Step</td>
<td>Stop</td>
</tr>
<tr>
<td>String</td>
<td>Structure</td>
<td>Sub</td>
<td>SyncLock</td>
<td>Then</td>
</tr>
<tr>
<td>Throw</td>
<td>To</td>
<td>True</td>
<td>Try</td>
<td>TryCast</td>
</tr>
<tr>
<td>TypeOf…Is</td>
<td>UInteger</td>
<td>ULong</td>
<td>UShort</td>
<td>Using</td>
</tr>
<tr>
<td>Variant</td>
<td>Wend</td>
<td>When</td>
<td>While</td>
<td>Widening</td>
</tr>
<tr>
<td>With</td>
<td>WithEvents</td>
<td>WriteOnly</td>
<td>Xor</td>
<td>#Const</td>
</tr>
<tr>
<td>#Else</td>
<td>#ElseIf</td>
<td>#End</td>
<td>#If</td>
</tr>
</tbody>
</table>
<p>Source: <a href="http://msdn.microsoft.com/en-us/library/dd409611.aspx">http://msdn.microsoft.com/en-us/library/dd409611.aspx</a></p>
<hr />
<h2>C++</h2>
<h3>Keyword/Reserved Word Count: 144</h3>
<p>registerreinterpret_castreturnsafecastsealed</p>
<table width="100%">
<tbody>
<tr>
<td>__abstract</td>
<td>__alignof</td>
<td>__asm</td>
<td>__assume</td>
<td>__based</td>
</tr>
<tr>
<td>__box</td>
<td>__cdecl</td>
<td>__declspec</td>
<td>__delegate</td>
<td>__event</td>
</tr>
<tr>
<td>__except</td>
<td>__fastcall</td>
<td>__finally</td>
<td>__forceinline</td>
<td>__gc</td>
</tr>
<tr>
<td>__hook</td>
<td>__identifier</td>
<td>__if_exists</td>
<td>__if_not_exists</td>
<td>__inline</td>
</tr>
<tr>
<td>__int16</td>
<td>__int32</td>
<td>__int64</td>
<td>__int8</td>
<td>__interface</td>
</tr>
<tr>
<td>__leave</td>
<td>__m128</td>
<td>__m128d</td>
<td>__m128i</td>
<td>__m64</td>
</tr>
<tr>
<td>__multiple_inheritance</td>
<td>__nogc</td>
<td>__noop</td>
<td>__pin</td>
<td>__property</td>
</tr>
<tr>
<td>__raise</td>
<td>__sealed</td>
<td>__single_inheritance</td>
<td>__stdcall</td>
<td>__super</td>
</tr>
<tr>
<td>__thiscall</td>
<td>__try/__except</td>
<td> __try/__finally</td>
<td>__try_cast</td>
<td>__unaligned</td>
</tr>
<tr>
<td>__unhook</td>
<td>__uuidof</td>
<td>__value</td>
<td>__virtual_inheritance</td>
<td>__w64</td>
</tr>
<tr>
<td>__wchar_t</td>
<td>wchar_t</td>
<td>abstract</td>
<td>array</td>
<td>auto</td>
</tr>
<tr>
<td>bool</td>
<td>break</td>
<td>case</td>
<td>catch</td>
<td>char</td>
</tr>
<tr>
<td>class</td>
<td>const</td>
<td>const_cast</td>
<td>continue</td>
<td>decltype</td>
</tr>
<tr>
<td>default</td>
<td>delegate</td>
<td>delete</td>
<td>deprecated</td>
<td>dllexport</td>
</tr>
<tr>
<td>dllimport</td>
<td>do</td>
<td>double</td>
<td>dynamic_cast</td>
<td>else</td>
</tr>
<tr>
<td>enum</td>
<td>event</td>
<td>explicit</td>
<td>extern</td>
<td>false</td>
</tr>
<tr>
<td>finally</td>
<td>float</td>
<td>for</td>
<td>for each, in</td>
<td>friend</td>
</tr>
<tr>
<td>friend_as</td>
<td>gcnew</td>
<td>generic</td>
<td>goto</td>
<td>if</td>
</tr>
<tr>
<td>initonly</td>
<td>inline</td>
<td>int</td>
<td>interface</td>
<td>interior_ptr</td>
</tr>
<tr>
<td>literal</td>
<td>long</td>
<td>mutable</td>
<td>naked</td>
<td>namespace</td>
</tr>
<tr>
<td>new</td>
<td>noinline</td>
<td>noreturn</td>
<td>nothrow</td>
<td>novtable</td>
</tr>
<tr>
<td>nullptr</td>
<td>operator</td>
<td>private</td>
<td>property</td>
<td>protected</td>
</tr>
<tr>
<td>public</td>
<td>ref</td>
<td>selectany</td>
<td>short</td>
<td>signed</td>
</tr>
<tr>
<td>sizeof</td>
<td>static</td>
<td>static_assert</td>
<td>static_cast</td>
<td>struct</td>
</tr>
<tr>
<td>switch</td>
<td>template</td>
<td>this</td>
<td>thread</td>
<td>throw</td>
</tr>
<tr>
<td>true</td>
<td>try</td>
<td>typedef</td>
<td>typeid</td>
<td>typename</td>
</tr>
<tr>
<td>union</td>
<td>unsigned</td>
<td>using</td>
<td>uuid</td>
<td>value</td>
</tr>
<tr>
<td>virtual</td>
<td>void</td>
<td>volatile</td>
<td>while</td>
</tr>
</tbody>
</table>
<p>Source: <a href="http://msdn.microsoft.com/en-us/library/2e6a4at9(v=VS.100).aspx">http://msdn.microsoft.com/en-us/library/2e6a4at9(v=VS.100).aspx</a></p>
<hr />
<h2>C#</h2>
<h3>Keyword/Reserved Word Count: 98</h3>
<table width="100%">
<tbody>
<tr>
<td>abstract</td>
<td>as</td>
<td>base</td>
<td>bool</td>
<td>break</td>
</tr>
<tr>
<td>byte</td>
<td>case</td>
<td>catch</td>
<td>char</td>
<td>checked</td>
</tr>
<tr>
<td>class</td>
<td>const</td>
<td>continue</td>
<td>decimal</td>
<td>default</td>
</tr>
<tr>
<td>delegate</td>
<td>do</td>
<td>double</td>
<td>else</td>
<td>enum</td>
</tr>
<tr>
<td>event</td>
<td>explicit</td>
<td>extern</td>
<td>false</td>
<td>finally</td>
</tr>
<tr>
<td>fixed</td>
<td>float</td>
<td>for</td>
<td>foreach</td>
<td>goto</td>
</tr>
<tr>
<td>if</td>
<td>implicit</td>
<td>in</td>
<td>int</td>
<td>interface</td>
</tr>
<tr>
<td>internal</td>
<td>is</td>
<td>lock</td>
<td>long</td>
<td>namespace</td>
</tr>
<tr>
<td>new</td>
<td>null</td>
<td>object</td>
<td>operator</td>
<td>out</td>
</tr>
<tr>
<td>override</td>
<td>params</td>
<td>private</td>
<td>protected</td>
<td>public</td>
</tr>
<tr>
<td>readonly</td>
<td>ref</td>
<td>return</td>
<td>sbyte</td>
<td>sealed</td>
</tr>
<tr>
<td>short</td>
<td>sizeof</td>
<td>stackalloc</td>
<td>static</td>
<td>string</td>
</tr>
<tr>
<td>struct</td>
<td>switch</td>
<td>this</td>
<td>throw</td>
<td>true</td>
</tr>
<tr>
<td>try</td>
<td>typeof</td>
<td>uint</td>
<td>ulong</td>
<td>unchecked</td>
</tr>
<tr>
<td>unsafe</td>
<td>ushort</td>
<td>using</td>
<td>virtual</td>
<td>void</td>
</tr>
<tr>
<td>volatile</td>
<td>while</td>
<td>add</td>
<td>alias</td>
<td>ascending</td>
</tr>
<tr>
<td>descending</td>
<td>dynamic</td>
<td>from</td>
<td>get</td>
<td>global</td>
</tr>
<tr>
<td>group</td>
<td>into</td>
<td>join</td>
<td>let</td>
<td>orderby</td>
</tr>
<tr>
<td>partial</td>
<td>remove</td>
<td>select</td>
<td>set</td>
<td>value</td>
</tr>
<tr>
<td>var</td>
<td>where</td>
<td>yield</td>
</tr>
</tbody>
</table>
<p>Source: <a href="http://msdn.microsoft.com/en-us/library/x53a06bb(v=VS.100).aspx">http://msdn.microsoft.com/en-us/library/x53a06bb(v=VS.100).aspx</a></p>
<hr />
<h2>PHP</h2>
<h3>Keyword/Reserved Word Count: 56</h3>
<table width="100%">
<tbody>
<tr>
<td>abstract</td>
<td>and</td>
<td>array()</td>
<td>as</td>
<td>break</td>
</tr>
<tr>
<td>case</td>
<td>catch</td>
<td>cfunction</td>
<td>class</td>
<td>clone</td>
</tr>
<tr>
<td>const</td>
<td>continue</td>
<td>declare</td>
<td>default</td>
<td>do</td>
</tr>
<tr>
<td>else</td>
<td>elseif</td>
<td>enddeclare</td>
<td>endfor</td>
<td>endforeach</td>
</tr>
<tr>
<td>endif</td>
<td>endswitch</td>
<td>endwhile</td>
<td>extends</td>
<td>final</td>
</tr>
<tr>
<td>for</td>
<td>foreach</td>
<td>function</td>
<td>global</td>
<td>goto</td>
</tr>
<tr>
<td>if</td>
<td>implements</td>
<td>interface</td>
<td>instanceof</td>
<td>namespace</td>
</tr>
<tr>
<td>new</td>
<td>old_function</td>
<td>or</td>
<td>private</td>
<td>protected</td>
</tr>
<tr>
<td>public</td>
<td>static</td>
<td>switch</td>
<td>throw</td>
<td>try</td>
</tr>
<tr>
<td>use</td>
<td>var</td>
<td>while</td>
<td>xor</td>
<td>__CLASS__</td>
</tr>
<tr>
<td>__DIR__</td>
<td>__FILE__</td>
<td>__LINE__</td>
<td>__FUNCTION__</td>
<td>__METHOD__</td>
</tr>
<tr>
<td>__NAMESPACE__</td>
</tr>
</tbody>
</table>
<p>Source: <a href="http://php.net/manual/en/reserved.keywords.php">http://php.net/manual/en/reserved.keywords.php</a></p>
<hr />
<h2>Java</h2>
<h3>Keyword/Reserved Word Count: 53</h3>
<table width="100%">
<tbody>
<tr>
<td>abstract</td>
<td>continue</td>
<td>for</td>
<td>new</td>
<td>switch</td>
</tr>
<tr>
<td>assert</td>
<td>default</td>
<td>goto</td>
<td>package</td>
<td>synchronized</td>
</tr>
<tr>
<td>boolean</td>
<td>do</td>
<td>if</td>
<td>private</td>
<td>this</td>
</tr>
<tr>
<td>break</td>
<td>double</td>
<td>implements</td>
<td>protected</td>
<td>throw</td>
</tr>
<tr>
<td>byte</td>
<td>else</td>
<td>import</td>
<td>public</td>
<td>throws</td>
</tr>
<tr>
<td>case</td>
<td>enum</td>
<td>instanceof</td>
<td>return</td>
<td>transient</td>
</tr>
<tr>
<td>catch</td>
<td>extends</td>
<td>int</td>
<td>short</td>
<td>try</td>
</tr>
<tr>
<td>char</td>
<td>final</td>
<td>interface</td>
<td>static</td>
<td>void</td>
</tr>
<tr>
<td>class</td>
<td>finally</td>
<td>long</td>
<td>strictfp</td>
<td>volatile</td>
</tr>
<tr>
<td>const</td>
<td>float</td>
<td>native</td>
<td>super</td>
<td>while</td>
</tr>
<tr>
<td>true</td>
<td>false</td>
<td>null</td>
</tr>
</tbody>
</table>
<p>Source: <a href="http://download.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html">http://download.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html</a></p>
<hr />
<h2>Ruby</h2>
<h3>Keyword/Reserved Word Count: 42</h3>
<table width="100%">
<tbody>
<tr>
<td>BEGIN</td>
<td>END</td>
<td>__ENCODING__</td>
<td>__END__</td>
<td>__FILE__</td>
</tr>
<tr>
<td>__LINE__</td>
<td>alias</td>
<td>and</td>
<td>begin</td>
<td>break</td>
</tr>
<tr>
<td>case</td>
<td>class</td>
<td>def</td>
<td>defined?</td>
<td>do</td>
</tr>
<tr>
<td>else</td>
<td>elsif</td>
<td>end</td>
<td>ensure</td>
<td>false</td>
</tr>
<tr>
<td>for</td>
<td>if</td>
<td>in</td>
<td>module</td>
<td>next</td>
</tr>
<tr>
<td>nil</td>
<td>not</td>
<td>or</td>
<td>redo</td>
<td>rescue</td>
</tr>
<tr>
<td>retry</td>
<td>return</td>
<td>self</td>
<td>super</td>
<td>then</td>
</tr>
<tr>
<td>true</td>
<td>undef</td>
<td>unless</td>
<td>until</td>
<td>when</td>
</tr>
<tr>
<td>while</td>
<td>yield</td>
</tr>
</tbody>
</table>
<p>Source: <a href="http://www.ruby-doc.org/docs/keywords/1.9/">http://www.ruby-doc.org/docs/keywords/1.9/</a></p>
<hr />
<h2>Javascript</h2>
<h3>Keyword/Reserved Word Count: 29</h3>
<table width="100%">
<tbody>
<tr>
<td>break</td>
<td>const</td>
<td>continue</td>
<td>delete</td>
<td>do</td>
</tr>
<tr>
<td>while</td>
<td>export</td>
<td>for</td>
<td>function</td>
<td>if</td>
</tr>
<tr>
<td>else</td>
<td>import</td>
<td>in</td>
<td>instanceOf</td>
<td>label</td>
</tr>
<tr>
<td>let</td>
<td>new</td>
<td>return</td>
<td>switch</td>
<td>this</td>
</tr>
<tr>
<td>throw</td>
<td>try</td>
<td>catch</td>
<td>typeof</td>
<td>var</td>
</tr>
<tr>
<td>void</td>
<td>while</td>
<td>with</td>
<td>yield</td>
</tr>
</tbody>
</table>
<p>Source: <a href="http://www.aptana.com/reference/html/api/JSKeywords.index.html">http://www.aptana.com/reference/html/api/JSKeywords.index.html</a></p>
<hr />
<h2>Python</h2>
<h3>Keyword/Reserved Word Count: 29</h3>
<table width="100%">
<tbody>
<tr>
<td>and</td>
<td>del</td>
<td>for</td>
<td>is</td>
<td>raise</td>
</tr>
<tr>
<td>assert</td>
<td>elif</td>
<td>from</td>
<td>lambda</td>
<td>return</td>
</tr>
<tr>
<td>break</td>
<td>else</td>
<td>global</td>
<td>not</td>
<td>try</td>
</tr>
<tr>
<td>class</td>
<td>except</td>
<td>if</td>
<td>or</td>
<td>while</td>
</tr>
<tr>
<td>continue</td>
<td>exec</td>
<td>import</td>
<td>pass</td>
<td>yield</td>
</tr>
<tr>
<td>def</td>
<td>finally</td>
<td>in</td>
<td>print</td>
</tr>
</tbody>
</table>
<p>Source: <a href="http://docs.python.org/release/2.3.5/ref/keywords.html">http://docs.python.org/release/2.3.5/ref/keywords.html</a></p>
<hr />
<p>If you find any errors or omissions, please let me know. If there is a particular language I did not include, please share the keyword/reserved word source and I would be happy to add it.</p>
<p>Related posts:<ol>
<li><a href='http://repeatgeek.com/technical/how-to-master-a-programming-language-v/' rel='bookmark' title='How To Master a Programming Language V'>How To Master a Programming Language V</a></li>
<li><a href='http://repeatgeek.com/technical/how-to-master-a-programming-language-iv/' rel='bookmark' title='How To Master a Programming Language IV'>How To Master a Programming Language IV</a></li>
<li><a href='http://repeatgeek.com/personal/do-something-else-besides-programming/' rel='bookmark' title='Do Something Else Besides Programming!'>Do Something Else Besides Programming!</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://repeatgeek.com/technical/keyword-counts-of-popular-programming-languages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Experience at Orlando Code Camp 2011</title>
		<link>http://repeatgeek.com/technical/my-experience-at-orlando-code-camp-2011/</link>
		<comments>http://repeatgeek.com/technical/my-experience-at-orlando-code-camp-2011/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 11:00:20 +0000</pubDate>
		<dc:creator>dhirschl</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Fundamentals]]></category>
		<category><![CDATA[NET]]></category>
		<category><![CDATA[Orlando]]></category>
		<category><![CDATA[Programmers]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://repeatgeek.com/?p=717</guid>
		<description><![CDATA[As a follow up to last years post: My Experience at Orlando Code Camp 2010, I thought I would share my experience at Orlando Code Camp 2011. This year I took away a lot more, compared to last year as I tried expose myself to more variety by focusing on the Showcase sessions and not [...]
Related posts:<ol>
<li><a href='http://repeatgeek.com/technical/10-resources-for-design-challenged-programmers/' rel='bookmark' title='10 Resources for Design-Challenged Programmers'>10 Resources for Design-Challenged Programmers</a></li>
<li><a href='http://repeatgeek.com/technical/how-to-view-inception-through-code/' rel='bookmark' title='How To View Inception Through Code'>How To View Inception Through Code</a></li>
<li><a href='http://repeatgeek.com/career/5-types-of-comments-to-avoid-making-in-your-code/' rel='bookmark' title='5 Types of Comments to Avoid Making in Your Code'>5 Types of Comments to Avoid Making in Your Code</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>As a follow up to last years post: <a href="http://repeatgeek.com/technical/my-experience-at-orlando-code-camp-2010/">My Experience at Orlando Code Camp 2010</a>, I thought I would share my experience at <a href="http://www.orlandocodecamp.com/">Orlando Code Camp</a> 2011.</p>
<p>This year I took away a lot more, compared to last year as I tried expose myself to more variety by focusing on the Showcase sessions and not sessions that were &#8220;how to do this with &lt; insert technology here &gt;&#8221;.  </p>
<p>There was a great variety of tracks this year:</p>
<ul>
<li>Showcase</li>
<li>Fundamentals</li>
<li>Web</li>
<li>Azure</li>
<li>Design and Animation</li>
<li>Languages</li>
<li>Patterns</li>
<li>Services &#038; More</li>
<li>Collaboration</li>
<li>Visual Studio &#038; ALM</li>
<li>Silverlight</li>
<li>SQL Server</li>
<li>Windows Phone 7</li>
<li>DotNetNuke Development</li>
<li>DotNetNuke Design</li>
<li>DotNetNuke Administration</li>
</ul>
<p>I know that Code Camps are Microsoft-centric, but the one thing that continues to bother me (I see it at .NET User Group meetings also), is the Microsoft Fanboy attitude. </p>
<p>Sorry, I do not think that Windows Phone 7 is an &#8220;iPhone Killer&#8221; nor is it an &#8220;Android Killer.&#8221; I also refuse to use Bing as my primary search engine &#8211; Google works just fine thank you.  It was comforting to see some iPads and MacBooks among the attendees.<br />
<div id="attachment_721" class="wp-caption aligncenter" style="width: 309px"><img src="http://repeatgeek.com/wp-content/uploads/2011/03/IMG_0233.jpg" alt="Orlando Code Camp Keynote" title="Orlando Code Camp Keynote" width="299" height="209" class="size-full wp-image-721" /><p class="wp-caption-text">Orlando Code Camp Keynote</p></div></p>
<p>Here is the breakdown of each session I attended:</p>
<h1>Session 1</h2>
<h2>Applied Object-Oriented Design Principles</h2>
<h3>Presented by: Jay HIll</h3>
<p>Jay presented several design patterns that are based on Bob Martin&#8217;s <a href="http://en.wikipedia.org/wiki/Solid_(object-oriented_design)">SOLID Principles</a>.</p>
<p><strong>Take Away:</strong> There are many <a href="http://www.dofactory.com/Patterns/Patterns.aspx">design patterns</a> that can be used in practice that extend beyond those originally written by the <a href="http://en.wikipedia.org/wiki/Design_Patterns">Gang of Four</a>. </p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Null_Object_pattern">Null Object Pattern</a> &#8211; this is the assurance that you will never receive a NULL object, therefore avoiding the dreaded ArgumentNullException.</li>
<li><a href="http://lostechies.com/jimmybogard/2008/08/12/enumeration-classes/">Enumeration Classes</a></li>
<p> &#8211; a way to extend basic enums and prevent enum growth.</p>
<li><a href="http://stackoverflow.com/questions/1083032/why-would-i-ever-need-to-use-c-nested-classes">Nested Classes</a></li>
<p> &#8211; a reason to use nested classes in your code.</p>
<li><a href="http://en.wikipedia.org/wiki/Composite_Pattern">Composite Pattern</a></li>
<p> &#8211; treating objects as if they are a single instance.
</ul>
<p><strong>Links</strong></p>
<p><a href="http://codequota.com/archive/2011/03/30/Orlando_Code_Camp_2011_OOP.aspx">Code Quota</a> </p>
<hr/>
<h1>Session 2</h2>
<h2>Decoupled UI</h2>
<h3>Presented by: Page Horton</h3>
<p>Page demonstrated an application that completely separates the UI from Business Logic. </p>
<p><strong>Take Away</strong></p>
<ul>
<li>Decoupled UI allows for better testability of your application.</li>
<li>Use <a href="http://json.org/fatfree.html">JSON</a> for messaging vs. XML Web Services</li>
<li>Utilize <a href="http://en.wikipedia.org/wiki/Adapter_pattern">Adapter Pattern</a> for creating applications that run on multiple platforms (e.g. iOS, Android)</li>
<li>Use <a href="http://en.wikipedia.org/wiki/Model_View_ViewModel">MVVM</a> Pattern</li>
<li>Use <a href="http://mef.codeplex.com/">Managed Extensibility Framework</a> (MEF)</li>
</ul>
<p><strong>Links</strong></p>
<p><a href="http://www.pagehorton.com">pagehorton.com</a></p>
<hr/>
<h1>Session 3</h2>
<h2>Visual Studio 2010 Tips and Tricks</h2>
<h3>Presented by: Sean Laberee</h3>
<p>Sean demonstrated several new features and shortcuts available in Visual Studio 2010.  </p>
<p><strong>Take Away:</strong> The Extension Manager can be used to install additional functionality into Visual Studio 2010. Including:</p>
<ul>
<li>Start Page Project Template</li>
<li>Productivity Power Tools</li>
<li>Visual Studio Color Theme Editor</li>
</ul>
<hr/>
<h1>Session 4</h2>
<h2>Intro to MVC 3</h2>
<h3>Presented by: Ken Tucker</h3>
<p>Ken demonstrated creating a MVC website that went a little bit beyond the <a href="http://www.asp.net/mvc/tutorials">MVC Tutorials at ASP.NET</a>. </p>
<p><strong>Take Away: </strong> MVC 3 can be added to Visual Studio 2010 by installing the Microsoft Web Platform Installer 3.0.</p>
<p><strong>Links:</strong></p>
<ul>
<li><a href="http://www.onteorasoftware.net/">Onteora Software</a></li>
<li><a href="http://www.microsoft.com/web/downloads/platform.aspx">Microsoft Web Platform Installer 3.0</a></li>
<li><a href="http://nuget.codeplex.com/">NuGet</a></li>
</ul>
<hr/>
<h1>Session 5</h2>
<h2>Design for Developers: Bad Design Kills Good Projects</h2>
<h3>Presented by: Diane Leeper</h3>
<p>Diane demonstrated six things that can decide the fate of your web project. </p>
<p><strong>Take Away: </strong> Developers are typically not known for their design capabilities (see <a href="http://repeatgeek.com/technical/10-resources-for-design-challenged-programmers/">10 Resources for Design-Challenged Programmers</a>), so it was a wake-up call to hear things from a designers standpoint.</p>
<p><strong>Links</strong></p>
<ul>
<li><a href="http://www.dianeleeper.com/">dianeleeper.com</a></li>
<li><a href="http://www.amazon.com/gp/product/0596516258/ref=as_li_ss_tl?ie=UTF8&#038;tag=link0e-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0596516258">Designing Web Interfaces: Principles and Patterns for Rich Interactions</a></li>
<li><a href="http://new.myfonts.com/">MyFonts</a></li>
<li><a href="http://www.colourlovers.com/">COLOURlovers</a></li>
<li><a href="http://kuler.adobe.com/">Adobe kuler</a></li>
<li><a href="http://www.colorotate.org/">ColoRotate</a></li>
</ul>
<hr/>
<h1>Session 6</h2>
<h2>Meet the Visual Studio Team!</h2>
<h3>Presented by:</h3>
<ul>
<li>Adrian &#8220;Spotty&#8221; Bowles &#8211; Compilers QA</li>
<li>Prakash Balasubramanian &#8211; Compilers QA</li>
<li>Sayed Ibrahim Hashimi &#8211; VS Web PM</li>
<li>Kevin Halverson &#8211; Compilers QA (VB/C#)</li>
<li>Sean Laberee &#8211; Editor/VB/C# IDE PM</li>
</ul>
<p><img src="http://repeatgeek.com/wp-content/uploads/2011/03/IMG_0235.jpg" alt="Visual Studio Team" title="Visual Studio Team" width="400" height="299" class="aligncenter size-full wp-image-722" /></p>
<p>The Visual Studio Team answered audience questions:</p>
<p><strong>Question:</strong> What does a Program Manager do?<br />
<strong>Answer: </strong> A Program Manager is the &#8220;voice of the customer&#8221; who tries to understand what the end-users want.<br />
<br/><br />
<strong>Question: </strong> When is the next version of Visual Studio due out?<br />
<strong>Answer: </strong> The typical version lifecycle for Visual Studio is 18 months.<br />
<br/><br />
<strong>Question: </strong> How is Microsoft moving towards combining the functionalities of Expression Blend and Visual Studio?<br />
<strong>Answer: </strong> They are looking to make Expression Blend more developer friendly and Visual Studio more designer friendly.<br />
<br/><br />
<strong>Question: </strong> Where can I report issues or make suggestions?<br />
<strong>Answer: </strong> <a href="http://connect.microsoft.com/">Microsoft Connect</a><br />
<br/><br />
<strong>Question: </strong> Are there plans to include Silverlight or XNA updates in Web Platform Installer?<br />
<strong>Answer: </strong> No, Silverlight and XNA have a different product lifecycle than Visual Studio.<br />
<br/><br />
<strong>Question: </strong> Why is Visual Studio 2010 so slow?<br />
<strong>Answer: </strong> The Visual Studio team is currently looking at ways in to improve memory management. Other factors could be:</p>
<ul>
<li>Running VS 2010 in Windows XP &#8211; doesn&#8217;t support video hardware acceleration</li>
<li>Installation of multiple extensions</li>
<li>Windows Forms Designer is known to leak memory on rebuilds</li>
</ul>
<p><br/><br />
<strong>Question: </strong> Will future versions of Visual Studio support Design view of MVC projects similar to Web Forms?<br />
<strong>Answer: </strong> The Visual Studio team is currently looking at ways to display a view in design mode.<br />
<br/><br />
<strong>Question: </strong> Will Visual Studio be offered in the cloud &#8211; similar to Office 360?<br />
<strong>Answer: </strong> See <a href="http://www.tryfsharp.org/">Try F#</a> from Microsoft Research.<br />
<br/><br />
<strong>Question: </strong> Will the next version of Visual Studio include the Ribbon?<br />
<strong>Answer: </strong> Not in the short-term. The next release will have more simplified menus. Future releases will have a variation of the ribbon, but won&#8217;t be identical to the one found in MS Office.<br />
<br/><br />
<strong>Question: </strong> What can I do to prevent repositioning of windows after compiling?<br />
<strong>Answer: </strong>Visual Studio 2010 supports multi-monitor support. Also the window positions will vary in Design Mode vs Debug Mode.<br />
<br/></p>
<hr/>
<p>Overall, it was a great experience to expose myself to different approaches and ways of thinking that are presented in a classroom setting rather than a book or a blog. </p>
<p>If you have the opportunity to check out a Code Camp near you, I highly recommend it.</p>
<p>Related posts:<ol>
<li><a href='http://repeatgeek.com/technical/10-resources-for-design-challenged-programmers/' rel='bookmark' title='10 Resources for Design-Challenged Programmers'>10 Resources for Design-Challenged Programmers</a></li>
<li><a href='http://repeatgeek.com/technical/how-to-view-inception-through-code/' rel='bookmark' title='How To View Inception Through Code'>How To View Inception Through Code</a></li>
<li><a href='http://repeatgeek.com/career/5-types-of-comments-to-avoid-making-in-your-code/' rel='bookmark' title='5 Types of Comments to Avoid Making in Your Code'>5 Types of Comments to Avoid Making in Your Code</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://repeatgeek.com/technical/my-experience-at-orlando-code-camp-2011/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>10 Problems with &#8216;Hello World!&#8217;</title>
		<link>http://repeatgeek.com/technical/10-problems-with-hello-world/</link>
		<comments>http://repeatgeek.com/technical/10-problems-with-hello-world/#comments</comments>
		<pubDate>Sun, 02 Jan 2011 15:09:03 +0000</pubDate>
		<dc:creator>dhirschl</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[art]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[programmer]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[programming language]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://repeatgeek.com/?p=662</guid>
		<description><![CDATA[I think it&#8217;s fair to say that every programmer is familiar with a &#8220;Hello World!&#8221; program. By convention it is a quick and dirty way to start learning a programming language and getting your first program to compile and run. However, beyond this it offers very little value. I have come up with this list [...]
Related posts:<ol>
<li><a href='http://repeatgeek.com/technical/a-list-of-coding-standard-websites/' rel='bookmark' title='A List of Coding Standard Websites'>A List of Coding Standard Websites</a></li>
<li><a href='http://repeatgeek.com/technical/how-to-master-a-programming-language-iv/' rel='bookmark' title='How To Master a Programming Language IV'>How To Master a Programming Language IV</a></li>
<li><a href='http://repeatgeek.com/technical/how-to-master-a-programming-language-iii/' rel='bookmark' title='How To Master a Programming Language III'>How To Master a Programming Language III</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://repeatgeek.com/wp-content/uploads/2011/01/World.jpg" alt="Hello World" title="Hello World" width="200" height="355" class="alignleft size-full wp-image-685" /><br />
I think it&#8217;s fair to say that every programmer is familiar with a &#8220;Hello World!&#8221; program. By convention it is a quick and dirty way to start learning a programming language and getting your first program to compile and run. </p>
<p>However, beyond this it offers very little value. I have come up with this list of the 10 problems with &#8220;Hello World.&#8221;</p>
<hr/>
<h3>10. Why &#8220;Hello World&#8221; ? Why not &#8220;Hello Dave&#8221; (i.e. <a href="http://en.wikipedia.org/wiki/HAL_9000">HAL 9000</a> from 2001) or &#8220;It Works!&#8221;?</h3>
<p>I know this one seems like a bit of a stretch. Where did the saying &#8220;Hello World!&#8221; come from? When was the last time that anyone in the world ran your program besides yourself? Perhaps it would make more sense to use &#8220;Hello &lt;Insert Your Name Here&gt;!&#8221;</p>
<hr/>
<h3>9. It&#8217;s Only Good For One Thing</h3>
<p>I&#8217;m not making the argument that &#8220;Hello World!&#8221; doesn&#8217;t have its uses. However, they only thing it is good for is a sanity check. </p>
<p>&#8220;Hello World!&#8221; doesn&#8217;t help you learn any programming language, it simply helps you write a simple program that you are able to compile and execute and that&#8217;s it. </p>
<p>It is a way to maintain your sanity so you can say to yourself, &#8220;I&#8217;ve got that working!&#8221;. </p>
<hr/>
<h3>8. Not Cool or Fun</h3>
<p>With intensive graphics in gaming and the interactivity of the Internet, few people are impressed with an application that prints a couple words on the screen. </p>
<p>With that being said, writing a &#8220;Hello World!&#8221; program is not something that will impress anybody but yourself. Beyond that, it probably won&#8217;t be your motivator in learning to program.</p>
<hr/>
<h3>7. It&#8217;s impractical</h3>
<p>When was the last time that you needed to write a program that&#8217;s only task was to print a string to standard output? One could say that fewer programs are written these days that don&#8217;t involve a GUI &#8211; whether it be a web,  windows interface or even a to a file or database. Perhaps it practical in academia, where you consistently write programs to that display a calculation or value, but not professionally.</p>
<hr/>
<h3>6. No interactivity</h3>
<p>&#8216;Hello World&#8217; is an example that does not rely on the end-user to do anything except verify that &#8220;Hello World!&#8221; is displayed on the screen. There is no interactivity to prompt the user to enter his/her name, exit the program, or run the program again. It teaches nothing about how end-users interact with programs.</p>
<hr/>
<h3>5. No logic or calculations</h3>
<p>Computing relies heavily on logical constructs (e.g., print this statement if this condition is true) and calculations. Most programs written will utilize some decision logic based upon a set of criteria. Even the basic building blocks of a computer (machine code) represent a logical expression: 1 = True, 0 = False. </p>
<hr/>
<h3>4. Too similar across languages</h3>
<p>If you take a look at <a href="http://en.wikipedia.org/wiki/Hello_world_program_examples">Hello World in several different languages</a>, you will notice that they are all very similar to one another. </p>
<p>Once you are proficient in writing a &#8220;Hello World!&#8221; program in one language, you are pretty much proficient in writing it in all languages.  </p>
<hr/>
<h3>3. Uses only one concept</h3>
<p>If you saw the <a href="http://en.wikipedia.org/wiki/Hello_world_program_examples">list of Hello World examples</a>, the commonality among most of them is that they use a single keyword. </p>
<p>How many keywords does a programming language have: Hundreds? Thousands? Learning a single keyword is an extremely small step in learning a programming language.  </p>
<p>Edit: You can make the argument that there are probably less than 100 keywords in most programming languages. However, if you include every language construct (such as classes, methods, etc.) &#8211; these might add up in the hundreds.</p>
<hr/>
<h3>2. Ignores variables, constants</h3>
<p>As I&#8217;ve said before learning a programming language involves a lot more than the capability of displaying something on the screen. </p>
<p>Few programs can be written that don&#8217;t use a variable of some sort. </p>
<p>You could make the argument that &#8220;Hello World!&#8221; teaches bad programming practices by hardcoding a string in statement. </p>
<p>The &#8220;Hello World!&#8221; example could at least use a constant to store the value of the &#8220;Hello World!&#8221; string.</p>
<hr/>
<h3>1. Ignores Functions, OO Concepts, Etc.</h3>
<p>&#8220;Hello World!&#8221; examples don&#8217;t try to explain the other requirements of a given program language to get a program to run.</p>
<p>Some of things that are taken for granted are:</p>
<ul>
<li>Function Signatures</li>
<li>Class Structure</li>
<li>Namespace Imports</li>
<li>Inheritance</li>
</ul>
<p>Most seasoned programmers will be able to figure out the syntax of these, but it could be discouraging for beginning programmers or those with only a procedural programming background.</p>
<hr/>
<p>What bugs you about &#8220;Hello World!&#8221;? or Better yet what type of programming do you do to learn a new language? </p>
<p>Please share below&#8230;</p>
<p>Related posts:<ol>
<li><a href='http://repeatgeek.com/technical/a-list-of-coding-standard-websites/' rel='bookmark' title='A List of Coding Standard Websites'>A List of Coding Standard Websites</a></li>
<li><a href='http://repeatgeek.com/technical/how-to-master-a-programming-language-iv/' rel='bookmark' title='How To Master a Programming Language IV'>How To Master a Programming Language IV</a></li>
<li><a href='http://repeatgeek.com/technical/how-to-master-a-programming-language-iii/' rel='bookmark' title='How To Master a Programming Language III'>How To Master a Programming Language III</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://repeatgeek.com/technical/10-problems-with-hello-world/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>10 Websites On How To Be A Better Programmer</title>
		<link>http://repeatgeek.com/technical/10-websites-on-how-to-be-a-better-programmer/</link>
		<comments>http://repeatgeek.com/technical/10-websites-on-how-to-be-a-better-programmer/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 02:00:24 +0000</pubDate>
		<dc:creator>dhirschl</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[Danny Burbol]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[effort]]></category>
		<category><![CDATA[environment]]></category>
		<category><![CDATA[exercise]]></category>
		<category><![CDATA[experience]]></category>
		<category><![CDATA[interest]]></category>
		<category><![CDATA[Jeff Atwood]]></category>
		<category><![CDATA[Joel Spolsky]]></category>
		<category><![CDATA[Matt Ward]]></category>
		<category><![CDATA[motivation]]></category>
		<category><![CDATA[Phil Haack]]></category>
		<category><![CDATA[programmer]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[pseudocode]]></category>
		<category><![CDATA[quality]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[summary]]></category>

		<guid isPermaLink="false">http://repeatgeek.com/?p=623</guid>
		<description><![CDATA[We all want to be better at the things that we do. Why? Perhaps it will lead to less work, less stress, a sense of pride or more money. Whatever your motivation for improving your skills &#8211; the point is that your skills are not static; however, there are different ways that you can approach [...]
Related posts:<ol>
<li><a href='http://repeatgeek.com/personal/the-secret-to-being-a-successful-programmer/' rel='bookmark' title='The Secret to Being a Successful Programmer'>The Secret to Being a Successful Programmer</a></li>
<li><a href='http://repeatgeek.com/technical/a-list-of-coding-standard-websites/' rel='bookmark' title='A List of Coding Standard Websites'>A List of Coding Standard Websites</a></li>
<li><a href='http://repeatgeek.com/career/get-hired-by-solving-programming-puzzles/' rel='bookmark' title='Get Hired By Solving Programming Puzzles'>Get Hired By Solving Programming Puzzles</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>We all want to be better at the things that we do. Why? Perhaps it will lead to less work, less stress, a sense of pride or more money. </p>
<p>Whatever your motivation for improving your skills &#8211; the point is that your skills are not static; however, there are different ways that you can approach improving them. </p>
<p>Below are 10 websites that I have found (both old and new) that offer suggestions on how programmers can improve their programming skills. </p>
<p>In no particular order:</p>
<h2>1. <a href="http://secretgeek.net/6min_program.asp">8 ways to be a better programmer in 6 minutes</a></h2>
<p>SecretGeek takes you through modifying your development environment and utilizing tools to improve your coding. Most of these tasks can be done in 6 minutes if you are familiar with your IDE or coding environment.</p>
<hr/>
<h2>2. <a href="http://www.codinghorror.com/blog/2007/01/how-to-become-a-better-programmer-by-not-programming.html">How To Become a Better Programmer by Not Programming</a></h2>
<p>Jeff Atwood reflects on interviews he read about with Bill Gates. Bill says that you cannot improve your programming skills only by programming, you must become familiar with your surroundings and work environment.</p>
<hr/>
<h2>3. <a href="http://www.flipcode.com/archives/Being_A_Better_Programmer.shtml">Being A Better Programmer</a></h2>
<p>Written almost 10 years ago, Danny Burbol mentions 10 ways that you can improve &#8211; many of which can be applied to life: know your limits, fix it, don&#8217;t hack it, don&#8217;t get personal, etc.</p>
<p>There is also a nice summary of his points at the bottom of the page.</p>
<hr/>
<h2>4. <a href="http://www.codelathe.com/blog/index.php/2009/04/07/5-sure-fire-ways-to-become-better-at-programming/">5 sure-fire ways to become better at programming</a></h2>
<p>This site focuses on programmer passion and interest; and attempts to look at the role of a programmer as similar to a mason. </p>
<p>This could be alternatively titled, &#8220;5 sure-fire ways to know if programming is right for you.&#8221;</p>
<hr/>
<h2> 5. <a href="http://www.programming4scientists.com/2009/03/03/4-ways-to-become-a-better-programmer/">4 ways to become a better programmer</a></h2>
<p>This site takes a simplistic approach to becoming a better programmer. I don&#8217;t want to give away the 4 ways, but these could easily be applied to becoming better in any profession.</p>
<hr/>
<h2>6. <a href="http://rc3.org/2010/04/25/becoming-a-better-programmer/">Becoming a better programmer takes exercise</a></h2>
<p>This site focuses on the why of programming. We might know how conceptually a sorting routine works, but you never truly understand it until you attempt to implement it. </p>
<p>I always say don&#8217;t wonder how things work, do some research to know how things work.</p>
<hr/>
<h2>7. <a href="http://www.codercaste.com/2009/11/06/12-tips-that-will-make-you-a-better-programmer/">12 Tips That Will Make You a Better Programmer</a></h2>
<p>Spyros Panagiotopoulos points out 12 areas of which programmers should be familiar (e.g. Version Control, Commenting, etc.) </p>
<p>I feel more often than not programmers know they should do certain things, but just skip to coding for the sake of time. </p>
<hr/>
<h2>8. <a href="http://sixrevisions.com/web-development/5-good-habits-that-will-make-you-a-better-coder/">5 Good Habits That Will Make You a Better Coder</a></h2>
<p>Matt Ward approaches becoming a better code from the perspective of a web developer. The obvious way to get better at something is to read about it and practice. </p>
<p>I find his approach to writing logic through comments intriguing. I agree that writing pseudocode beforehand definitely makes coding easy. </p>
<hr/>
<h2>9. <a href="http://haacked.com/archive/2007/01/30/Better_Programming_By_Programming_Better.aspx">Better Programming By Programming Better</a></h2>
<p>Phil Haack picks up where Jeff Atwood left off in <a href="http://www.codinghorror.com/blog/2007/01/how-to-become-a-better-programmer-by-not-programming.html">How To Become a Better Programmer by Not Programming</a>. </p>
<p>Comparing programming to a sport, becoming a better programmer doesn&#8217;t lie in the experience that one has but the effort he/she puts in to identify weaknesses in your current skills.</p>
<hr/>
<h2>10. <a href="http://www.joelonsoftware.com/articles/fog0000000043.html">The Joel Test: 12 Steps to Better Code</a></h2>
<p>In another post from over 10 years ago, Joel Spolsky notes that there are things that all programmers should practice if one is to produce quality code.  </p>
<p>The 12 steps are actually questions that you can ask yourself to gauge the quality of your software development environment. </p>
<hr/>
<p>I think we can all become better programmers, but we need to start with wanting to become a better programmer &#8211; and that involves putting forth the effort to improve. </p>
<p>Related posts:<ol>
<li><a href='http://repeatgeek.com/personal/the-secret-to-being-a-successful-programmer/' rel='bookmark' title='The Secret to Being a Successful Programmer'>The Secret to Being a Successful Programmer</a></li>
<li><a href='http://repeatgeek.com/technical/a-list-of-coding-standard-websites/' rel='bookmark' title='A List of Coding Standard Websites'>A List of Coding Standard Websites</a></li>
<li><a href='http://repeatgeek.com/career/get-hired-by-solving-programming-puzzles/' rel='bookmark' title='Get Hired By Solving Programming Puzzles'>Get Hired By Solving Programming Puzzles</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://repeatgeek.com/technical/10-websites-on-how-to-be-a-better-programmer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 Resources for Design-Challenged Programmers</title>
		<link>http://repeatgeek.com/technical/10-resources-for-design-challenged-programmers/</link>
		<comments>http://repeatgeek.com/technical/10-resources-for-design-challenged-programmers/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 12:35:47 +0000</pubDate>
		<dc:creator>dhirschl</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[Brian P. Hogan]]></category>
		<category><![CDATA[Challenged]]></category>
		<category><![CDATA[Color]]></category>
		<category><![CDATA[comfort]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[designer]]></category>
		<category><![CDATA[Designers]]></category>
		<category><![CDATA[Fundamentals]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[Joel Spolsky]]></category>
		<category><![CDATA[Mistakes]]></category>
		<category><![CDATA[objectivity]]></category>
		<category><![CDATA[programmer]]></category>
		<category><![CDATA[Robin Williams]]></category>
		<category><![CDATA[Techniques]]></category>
		<category><![CDATA[thinker]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://repeatgeek.com/?p=600</guid>
		<description><![CDATA[When it comes to design, why do programmers tend to have difficulty in creating a simple and user-friendly user interface? Perhaps because programmers are traditionally left-brained and more focused on logic, analytics, objectivity, etc. This type of thinking is encouraged in academics. Designers are right-brained and focus on being intuitive, creative and subjective. This is [...]
Related posts:<ol>
<li><a href='http://repeatgeek.com/leadership/write-your-own-programmers-credo/' rel='bookmark' title='Write Your Own Programmers Credo'>Write Your Own Programmers Credo</a></li>
<li><a href='http://repeatgeek.com/tools/6-books-to-inspire-creativity-in-programmers/' rel='bookmark' title='6 Books to Inspire Creativity in Programmers'>6 Books to Inspire Creativity in Programmers</a></li>
<li><a href='http://repeatgeek.com/technical/10-websites-on-how-to-be-a-better-programmer/' rel='bookmark' title='10 Websites On How To Be A Better Programmer'>10 Websites On How To Be A Better Programmer</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>When it comes to design, why do programmers tend to have difficulty in creating a simple and user-friendly user interface? </p>
<p>Perhaps because programmers are traditionally left-brained and more focused on logic, analytics, objectivity, etc. This type of thinking is encouraged in academics.</p>
<p>Designers are right-brained and focus on being intuitive, creative and subjective. This is the best kind of thinking when designing a user interface (UI) or user experience (UX). </p>
<p>Just because you tend to be a left-brained thinker, you cannot also have some qualities of a right-brained thinker. People typically resist change or want to break out of their comfort zone. If you are a programmer who wants to start to becoming more creative and a better designer, here is a list of 10 resources (web sites and books) to identify your current design faults and break you out of your comfort zone:</p>
<hr/>
<h2>1. <a href="http://www.voyce.com/index.php/2009/09/14/the-7-signs-your-ui-was-created-by-a-programmer/">The 7 Signs Your UI was Created by a Programmer</a></h2>
<p><a href="http://www.voyce.com/index.php/2009/09/14/the-7-signs-your-ui-was-created-by-a-programmer/"><img src="http://repeatgeek.com/wp-content/uploads/2010/08/Screenshot1-300x139.png" alt="The 7 Signs Your UI was Created by a Programmer" title="The 7 Signs Your UI was Created by a Programmer" width="300" height="139" class="size-medium wp-image-607" /></a></p>
<hr/>
<h2>2. <a href="http://www.flairbuilder.com/8-things-programmers-should-know-about-ui-design/">8 Things Programmers Should Know About UI Design</a></h2>
<p><a href="http://www.flairbuilder.com/8-things-programmers-should-know-about-ui-design/"><img src="http://repeatgeek.com/wp-content/uploads/2010/08/Screenshot2-300x139.png" alt="8 Things Programmers Should Know About UI Design" title="8 Things Programmers Should Know About UI Design" width="300" height="139" class="size-medium wp-image-608" /></a></p>
<hr/>
<h2>3. <a href="http://www.uxdesignedge.com/2010/03/dont-design-like-a-programmer/">Don&#8217;t Design Like a Programmer</a></h2>
<p><a href="http://www.uxdesignedge.com/2010/03/dont-design-like-a-programmer/"><img src="http://repeatgeek.com/wp-content/uploads/2010/08/Screenshot3-300x139.png" alt="Donâ€™t Design Like a Programmer" title="Donâ€™t Design Like a Programmer" width="300" height="139" class="size-medium wp-image-609" /></a></p>
<hr/>
<h2>4. <a href="http://www.codinghorror.com/blog/2006/11/this-is-what-happens-when-you-let-developers-create-ui.html">This Is What Happens When You Let Developers Create UI</a></h2>
<p><a href="http://www.codinghorror.com/blog/2006/11/this-is-what-happens-when-you-let-developers-create-ui.html"><img src="http://repeatgeek.com/wp-content/uploads/2010/08/Screenshot4-300x139.png" alt="This Is What Happens When You Let Developers Create UI" title="This Is What Happens When You Let Developers Create UI" width="300" height="139" class="size-medium wp-image-610" /></a></p>
<hr/>
<h2>5. Web Design for Programmers (via <a href="http://www.peachpit.com/">peachpit.com</a>)</h2>
<p><a href="http://www.peachpit.com/articles/article.aspx?p=23670"><img src="http://repeatgeek.com/wp-content/uploads/2010/08/Screenshot5-300x139.png" alt="Web Design for Programmers" title="Web Design for Programmers" width="300" height="139" class="size-medium wp-image-611" /></a></p>
<ul>
<li><a href="http://www.peachpit.com/articles/article.aspx?p=23670">Part 1: Fundamentals</a></li>
<li><a href="http://www.peachpit.com/articles/article.aspx?p=23671">Part 2: Color</a></li>
<li><a href="http://www.peachpit.com/articles/article.aspx?p=23669">Part 3: Graphics</a></li>
</ul>
<hr/>
<h2>6. <a href="http://www.wakeuplater.com/website-building/8-web-design-mistakes-that-developers-make.aspx">8 Web Design Mistakes That Developers Make</a></h2>
<p><a href="http://www.wakeuplater.com/website-building/8-web-design-mistakes-that-developers-make.aspx"><img src="http://repeatgeek.com/wp-content/uploads/2010/08/Screenshot6-300x139.png" alt="8 Web Design Mistakes That Developers Make" title="8 Web Design Mistakes That Developers Make" width="300" height="139" class="size-medium wp-image-612" /></a></p>
<hr/>
<h2>7. <a href="http://www.betaversion.org/~stefano/linotype/news/169/">Why Programmers Suck at CSS Design</a></h2>
<p><a href="http://www.betaversion.org/~stefano/linotype/news/169/"><img src="http://repeatgeek.com/wp-content/uploads/2010/08/Screenshot7-300x136.png" alt="Why Programmers Suck at CSS Design" title="Why Programmers Suck at CSS Design" width="300" height="136" class="size-medium wp-image-613" /></a></p>
<hr/>
<h2>8. User Interface Design for Programmers by Joel Spolsky</h2>
<ul>
<li><a href="http://joelonsoftware.com/uibook/fog0000000249.html">First 9 Chapters (Free)</a></li>
<p><a href="http://joelonsoftware.com/uibook/fog0000000249.html"><img src="http://repeatgeek.com/wp-content/uploads/2010/08/Screenshot8-300x139.png" alt="User Interface Design for Programmers Website" title="User Interface Design for Programmers Website" width="300" height="139" class="size-medium wp-image-614" /></a></p>
<li><a href="http://www.apress.com/book/view/1893115941">eBook via Apress.com</a></li>
<p><a href="http://www.apress.com/book/view/1893115941"><img src="http://repeatgeek.com/wp-content/uploads/2010/08/41AeNwwfk1L._SL160_.jpg" alt="User Interface Design for Programmers Book" title="User Interface Design for Programmers Book" width="118" height="160" class="alignnone size-full wp-image-604" /></a></p>
</ul>
<hr/>
<h2>9. <a href="http://www.amazon.com/gp/product/0321534042?ie=UTF8&#038;tag=link0e-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0321534042">The Non-Designer&#8217;s Design Book</a> by Robin Williams</h2>
<p><a href="http://www.amazon.com/gp/product/0321534042?ie=UTF8&#038;tag=link0e-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0321534042"><img border="0" src="http://repeatgeek.com/wp-content/uploads/2010/08/41diInIFp8L._SL160_.jpg"></a></p>
<hr/>
<h2>10. <a href="http://www.amazon.com/gp/product/1934356131?ie=UTF8&#038;tag=link0e-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=1934356131">Web Design for Developers: A Programmer&#8217;s Guide to Design Tools and Techniques</a> by Brian P. Hogan</h2>
<p><a href="http://www.amazon.com/gp/product/1934356131?ie=UTF8&#038;tag=link0e-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=1934356131"><img border="0" src="http://repeatgeek.com/wp-content/uploads/2010/08/41p96KMPOuL._SL160_.jpg"></a></p>
<hr/>
<p>Did you identify any design mistakes that you currently make as a programmer? </p>
<p>What are the next steps that you will take to move from left-brained to right-brained (or vice versa)? </p>
<p>Are there any other websites or books that you think should be included in this list? </p>
<p>Related posts:<ol>
<li><a href='http://repeatgeek.com/leadership/write-your-own-programmers-credo/' rel='bookmark' title='Write Your Own Programmers Credo'>Write Your Own Programmers Credo</a></li>
<li><a href='http://repeatgeek.com/tools/6-books-to-inspire-creativity-in-programmers/' rel='bookmark' title='6 Books to Inspire Creativity in Programmers'>6 Books to Inspire Creativity in Programmers</a></li>
<li><a href='http://repeatgeek.com/technical/10-websites-on-how-to-be-a-better-programmer/' rel='bookmark' title='10 Websites On How To Be A Better Programmer'>10 Websites On How To Be A Better Programmer</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://repeatgeek.com/technical/10-resources-for-design-challenged-programmers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A List of Coding Standard Websites</title>
		<link>http://repeatgeek.com/technical/a-list-of-coding-standard-websites/</link>
		<comments>http://repeatgeek.com/technical/a-list-of-coding-standard-websites/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 03:02:14 +0000</pubDate>
		<dc:creator>dhirschl</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[C Style]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[Conventions]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[organization]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Standardize]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[Unofficial]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://repeatgeek.com/?p=552</guid>
		<description><![CDATA[Do you adhere to a certain coding style or standard when programming in your language of choice? If you are not following an official coding standard or a standard set-forth by your place of employment &#8211; perhaps you should start. Why follow a coding standard? Standardize coding practices allow code to be more easily read [...]
Related posts:<ol>
<li><a href='http://repeatgeek.com/technical/10-problems-with-hello-world/' rel='bookmark' title='10 Problems with &#8216;Hello World!&#8217;'>10 Problems with &#8216;Hello World!&#8217;</a></li>
<li><a href='http://repeatgeek.com/technical/10-websites-on-how-to-be-a-better-programmer/' rel='bookmark' title='10 Websites On How To Be A Better Programmer'>10 Websites On How To Be A Better Programmer</a></li>
<li><a href='http://repeatgeek.com/technical/how-to-master-a-programming-language-iv/' rel='bookmark' title='How To Master a Programming Language IV'>How To Master a Programming Language IV</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Do you adhere to a certain coding style or standard when programming in your language of choice? If you are not following an official coding standard or a standard set-forth by your place of employment &#8211; perhaps you should start. </p>
<p>Why follow a coding standard? Standardize coding practices allow code to be more easily read by other programmers. Just imagine if you inherited code that was labeled as follows: </p>
<div class="codesnip-container" >
<div class="csharp codesnip" style="font-family:monospace;"><span class="kw4">string</span> a<span class="sy0">;</span><br />
<span class="kw4">string</span> b<span class="sy0">;</span><br />
<span class="kw4">int</span> flag1<span class="sy0">;</span><br />
<span class="kw4">int</span> flag2<span class="sy0">;</span></div>
</div>
<p>This might look like the code you wrote when you wrote your first program. However, if you saw this coding style in a professional environment you might have a difficult time understanding the meaning behind the variable names.</p>
<p>Coding standards are not necessarily dictated by the creator of the language. Many have just evolved into standards among the programmers who use the language. </p>
<p>I have compiled this list of several coding standards and styles. If want to start adhering to coding standards, I suggest you start with the official standards (if available). Also, check with your organization to see if they have a coding standards document already created.</p>
<h3>.NET (C#/VB.NET)</h3>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/czefa0ke%28VS.71%29.aspx">Design Guidelines for Class Library Developers</a></li>
<li><a href="http://www.dotnetspider.com/tutorials/bestpractices.aspx">C# Coding Standards and Best Programming Practices</a></li>
<li><a href="http://www.dotnetspider.com/tutorials/CodingStandards.doc">C# Coding Standards and Best Programming Practices (.doc)</a></li>
<li><a href="http://weblogs.asp.net/lhunt/pages/CSharp-Coding-Standards-document.aspx">C# Coding Standards Document</a></li>
<li><a href="http://www.google.com/url?sa=t&#038;source=web&#038;cd=2&#038;ved=0CB4QFjAB&#038;url=http%3A%2F%2Fwww.suleymanpetek.com%2Fcontent%2Fbinary%2FVB%2520NET%2520Coding%2520Standards.doc&#038;rct=j&#038;q=VB.net%20coding%20standards&#038;ei=eUVnTKidGcKC8gaEq9CzBA&#038;usg=AFQjCNFec3OwK9xgL_cGtnmHA2nOEnX9IQ&#038;sig2=npAagKPsNPAIkAb7lnSuzQ&#038;cad=rja">VB.NET Coding Standards (.doc)</a></li>
<li><a href="http://10rem.net/articles/net-naming-conventions-and-programming-standards---best-practices">.NET Naming Conventions and Programming Standards<br />
</a></li>
</ul>
<h3>PHP</h3>
<ul>
<li><a href="http://pear.php.net/manual/en/standards.php">PEAR Coding Standards</a></li>
<li><a href="http://www.dagbladet.no/development/phpcodingstandard/">PHP Coding Standard</a></li>
<li><a href="http://framework.zend.com/manual/en/coding-standard.html">Zend Framework Coding Standard for PHP</a></li>
</ul>
<h3>C/C++</h3>
<ul>
<li><a href="http://www.jetcafe.org/jim/c-style.html">C Coding Standards</a></li>
<li><a href="http://www.psgd.org/paul/docs/cstyle/cstyle.htm">Recommended C Style and Coding Standards</a></li>
<li><a href="http://www.possibility.com/Cpp/CppCodingStandard.html">C++ Coding Standard</a></li>
</ul>
<h3>Python</h3>
<ul>
<li><a href="http://www.python.org/dev/peps/pep-0008/">PEP 8 &#8212; Style Guide for Python Code</a></li>
<li><a href="http://www.python.org/dev/peps/pep-0257/">PEP 257 &#8212; Docstring Conventions</a></li>
<li><a href="http://eikke.com/how-not-to-write-python-code/">How Not To Write Python Code</a></li>
</ul>
<h3>Java</h3>
<ul>
<li><a href="http://www.oracle.com/technetwork/java/codeconv-138413.html">Code Conventions for the Java Programming Language</a></li>
<li><a href="http://www.ontko.com/java/java_coding_standards.html">Java Coding Standards</a></li>
</ul>
<h3>Ruby</h3>
<ul>
<li><a href="http://www.caliban.org/ruby/rubyguide.shtml">The Unofficial Ruby Usage Guide</a></li>
<li><a href="http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=RubyCodingConvention">RubyCodingConvention</a></li>
</ul>
<h3>HTML/CSS/Javascript</h3>
<ul>
<li><a href="http://www.peachpit.com/articles/article.aspx?p=24011&#038;seqNum=3">HTML Coding Guidelines</a></li>
<li><a href="http://coffeepowered.co.uk/2010/01/css-coding-standards/">CSS Coding Standards (via coffeepowered.co.uk)</a></li>
<li><a href="http://drupal.org/node/302199">CSS Coding Standards (via drupal.org)</a></li>
<li><a href="http://www.phpied.com/css-coding-conventions/">CSS Coding Conventions (via phpied.com)</a></li>
<li><a href="http://javascript.crockford.com/code.html">Code Conventions for the JavaScript Programming Language</a></li>
<li><a href="http://drupal.org/node/172169">JavaScript Coding Standards (via drupal.org)</a></li>
<li><a href="http://www.brevardcounty.us/is/webdevguide/codingstandards/javascript/jsguide.htm">JavaScript Coding Standards (via brevardcounty.us)</a></li>
</ul>
<h3>Objective-C</h3>
<ul>
<li><a href="http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.html">Introduction to Coding Guidelines for Cocoa</a></li>
<li><a href="http://cocoadevcentral.com/articles/000082.php">Cocoa Style for Objective-C</a></li>
</ul>
<p>If I left out your favorite programming language, check out the <a href="http://en.wikipedia.org/wiki/Coding_standards">Coding Conventions for languages</a> at wikipedia.</p>
<p>Do you know of any other coding standards resources that I should include in the list above? Please share in the comments.</p>
<p>Related posts:<ol>
<li><a href='http://repeatgeek.com/technical/10-problems-with-hello-world/' rel='bookmark' title='10 Problems with &#8216;Hello World!&#8217;'>10 Problems with &#8216;Hello World!&#8217;</a></li>
<li><a href='http://repeatgeek.com/technical/10-websites-on-how-to-be-a-better-programmer/' rel='bookmark' title='10 Websites On How To Be A Better Programmer'>10 Websites On How To Be A Better Programmer</a></li>
<li><a href='http://repeatgeek.com/technical/how-to-master-a-programming-language-iv/' rel='bookmark' title='How To Master a Programming Language IV'>How To Master a Programming Language IV</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://repeatgeek.com/technical/a-list-of-coding-standard-websites/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>How To View Inception Through Code</title>
		<link>http://repeatgeek.com/technical/how-to-view-inception-through-code/</link>
		<comments>http://repeatgeek.com/technical/how-to-view-inception-through-code/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 15:28:30 +0000</pubDate>
		<dc:creator>dhirschl</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[Bubble]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[dream]]></category>
		<category><![CDATA[exception]]></category>
		<category><![CDATA[FIFO]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[implementation]]></category>
		<category><![CDATA[Inception]]></category>
		<category><![CDATA[Join]]></category>
		<category><![CDATA[Limbo]]></category>
		<category><![CDATA[Loop]]></category>
		<category><![CDATA[programmer]]></category>
		<category><![CDATA[Pushed]]></category>
		<category><![CDATA[Recursion]]></category>
		<category><![CDATA[Stack]]></category>
		<category><![CDATA[Thread]]></category>
		<category><![CDATA[Threading]]></category>
		<category><![CDATA[ThreadStart]]></category>

		<guid isPermaLink="false">http://repeatgeek.com/?p=529</guid>
		<description><![CDATA[If you have not seen Inception yet, I highly recommend doing so before reading this post. **** SPOILERS AHEAD **** Inception combines the best elements of movies in the Simulism genre; such as Dark City, eXistenZ, The Thirteenth Floor and The Maxtrix Trilogy; and creates an original, thought provoking film. Watching the film from the [...]
Related posts:<ol>
<li><a href='http://repeatgeek.com/technical/my-experience-at-orlando-code-camp-2011/' rel='bookmark' title='My Experience at Orlando Code Camp 2011'>My Experience at Orlando Code Camp 2011</a></li>
<li><a href='http://repeatgeek.com/technical/10-websites-on-how-to-be-a-better-programmer/' rel='bookmark' title='10 Websites On How To Be A Better Programmer'>10 Websites On How To Be A Better Programmer</a></li>
<li><a href='http://repeatgeek.com/technical/my-experience-at-orlando-code-camp-2010/' rel='bookmark' title='My Experience at Orlando Code Camp 2010'>My Experience at Orlando Code Camp 2010</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>If you have not seen Inception yet, I highly recommend doing so before reading this post. </p>
<p><center><strong>**** SPOILERS AHEAD ****</strong></center></p>
<p><img src="http://repeatgeek.com/wp-content/uploads/2010/07/InceptionPoster-186x300.png" alt="Inception Movie Poster" title="InceptionPoster" width="186" height="300" class="aligncenter size-medium wp-image-535" /></p>
<p>Inception combines the best elements of movies in the <a href="http://www.simulism.org/Simulism_Home">Simulism</a> genre; such as <a href="http://www.imdb.com/title/tt0118929/">Dark City</a>, <a href="http://www.imdb.com/title/tt0120907/">eXistenZ</a>, <a href="http://www.imdb.com/title/tt0139809/">The Thirteenth Floor</a> and <a href="http://www.imdb.com/title/tt0133093/">The Maxtrix Trilogy</a>; and creates an original, thought provoking film. </p>
<p>Watching the film from the standpoint of a programmer, I could not help seeing the similarities between the plot devices and basic programming concepts. </p>
<h2>The Kick</h2>
<p><strong>The Kick</strong> is the concept they use in the movie to return to a dream level above the existing one. For example, if you perceive that you are falling in a dream, you have a tendency to wake up.</p>
<p>The Kick can be portrayed in programming in several different ways:</p>
<h3>Recursion</h3>
<div class="codesnip-container" >
<div class="csharp codesnip" style="font-family:monospace;"><span class="kw1">public</span> <span class="kw4">bool</span> Dream<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp;kick <span class="sy0">=</span> CheckForKick<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span>kick<span class="br0">&#41;</span> <span class="kw1">return</span> true<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp;<span class="kw1">return</span> Dream<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></div>
</div>
<p>* CheckForKick() implementation has been omitted.</p>
<p>In this recursion example, each call to function Dream() will call another sub-Dream &#8211; until the CheckForKick() function returns true, which can occur however many levels deep.   </p>
<h3>Exception Bubble</h3>
<div class="codesnip-container" >
<div class="csharp codesnip" style="font-family:monospace;"><span class="kw1">public</span> <span class="kw4">bool</span> Dream<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">try</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">try</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">try</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">throw</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> DreamException<span class="br0">&#40;</span><span class="st0">&quot;Receive Kick&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">catch</span><span class="br0">&#40;</span>DreamException dx<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">throw</span> dx<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">catch</span><span class="br0">&#40;</span>DreamException dx<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">throw</span> dx<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">catch</span><span class="br0">&#40;</span>DreamException dx<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Handle Kick thrown 3 levels deep.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">WriteLine</span><span class="br0">&#40;</span>dx.<span class="me1">Message</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</div>
<p>In this Exception example, an exception is thrown within a nested try block. Rather than handling the exception at that level, it&#8217;s bubbled up until is (hopefully) handled gracefully.</p>
<h3>Stack</h3>
<p>This can best be represented by the following infographic, which I reconstructed to be a stack. Here is the <a href="http://geeksofdoom.com/2010/07/27/inception-infographics-explain-the-films-levels-kicks/2010-07-27-inception_levels/">original source</a>.</p>
<p><a href="http://repeatgeek.com/wp-content/uploads/2010/07/InceptionStack.png"><img src="http://repeatgeek.com/wp-content/uploads/2010/07/InceptionStack-189x300.png" alt="Inception Stack" title="InceptionStack" width="189" height="300" class="aligncenter size-medium wp-image-536" /></a></p>
<p>A stack is one of the most fundamental data structures in computing. A stack operates in the following: items are added in a Last-In, First-Out (LIFO) manner. They are added via being &#8220;Pushed&#8221; onto the stack and removed via being &#8220;popped&#8221; from the Stack. </p>
<p>In the movie, each sub-dream is pushed onto the stack starting with reality. Our characters cannot return to a different dream level by popping the dream above off the stack.</p>
<h2>Sedation</h2>
<p>They use <strong>Sedation</strong> in the movie to prevent the dreamers from waking up any means other than &#8220;falling&#8221; on all dream levels above the first. At the first dream level, the only way to wake up is for the machine&#8217;s time to elapse. </p>
<p>Sedation in the movie can be explained through the use of Threading.</p>
<h3>Threading</h3>
<div class="codesnip-container" >
<div class="csharp codesnip" style="font-family:monospace;"><span class="kw1">public</span> <span class="kw1">void</span> Inception<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp;Machine mach <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> Machine<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp;Sedation sed <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> Sedation<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp;Thread machineThread <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> Thread<span class="br0">&#40;</span><a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> ThreadStart<span class="br0">&#40;</span>mach.<span class="me1">Start</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp;Thread sedationThread <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> Thread<span class="br0">&#40;</span><a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> ThreadStart<span class="br0">&#40;</span>sed.<span class="me1">Sedate</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp;<span class="kw1">try</span><br />
&nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sedationThread.<span class="me1">Start</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; machineThread.<span class="me1">Start</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sedationThread.<span class="me1">Join</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; machineThread.<span class="me1">Join</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ReturnToReality<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp;<span class="kw1">catch</span><span class="br0">&#40;</span>Exception ex<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Limbo ???</span><br />
&nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
</div>
<p>* Machine implementation omitted. Sedation implementation below.</p>
<p>In this example, you can think of the sedation and starting the &#8220;dream machine&#8221; as being two separate threads &#8211; both induce unconsciousness, but in different ways.</p>
<p>The sedation occurs first as indicated by the sedationThread.Start(), followed by the machine start machineThread.Start(). The Sedation.Sedate() implementation may look like the following:</p>
<div class="codesnip-container" >
<div class="csharp codesnip" style="font-family:monospace;"><span class="kw1">public</span> <span class="kw1">void</span> Sedate<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; Thread.<span class="me1">Sleep</span><span class="br0">&#40;</span>36000000<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// 10 Hours</span><br />
<span class="br0">&#125;</span></div>
</div>
<p>By calling join on the threads, the ReturnToReality() function will not get called until both the sedation wears off or the machine time elapses. </p>
<h2>Limbo</h2>
<p><strong>Limbo</strong> is defined in the movie has a mental state where your mind doesn&#8217;t know if you are in reality or not. The only way out is to realize that Limbo is not reality.</p>
<p>I already hinted at how Limbo could be represented in code in the previous example &#8211; if there is an exception (i.e. death) during the running of the threads that does not allow them to complete. Also, Limbo could also be represented by the following:</p>
<h3>Infinite Loop or Infinite Recursion</h3>
<div class="codesnip-container" >
<div class="csharp codesnip" style="font-family:monospace;"><span class="kw1">while</span><span class="br0">&#40;</span><span class="sy0">!</span>IsAwareOfReality<span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp;CreateBuildings<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp;CreateFromMemories<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp;QuestionReality<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></div>
</div>
<p>Most of the time that we are programming and find ourselves in an infinite loop, we are not aware of it until we start to question:</p>
<ul>
<li>Why is this taking so long?</li>
<li>Why is my memory decreasing?</li>
<li>Why is my CPU pegged at 100%</li>
</ul>
<p>Fortunately in programming there are ways to identify that we are in an infinite loop state.</p>
<p>If you are not aware of these conditions, you will stay there until your program runs out of memory or crashes (dies) or you realize you are in a loop (meet a condition) &#8211; by calling the QuestionReality() function. </p>
<h2>Architect</h2>
<p><img src="http://repeatgeek.com/wp-content/uploads/2010/07/EllenPage.png" alt="Ellen Page" title="EllenPage" width="266" height="269" class="aligncenter size-full wp-image-534" /></p>
<p>The last item I will mention is the role of Architect. In the movie, Ariadne (Ellen Page) is responsible for creating the dreamscapes. This shares similarities with Software Architecture. As a software architect you responsible for knowing the systems (the main characters in movie) that you work with and to create the best solutions (e.g. Never Ending Staircase) to new problems that need to be solved (Inception).  Being able to see the world around you as objects with state and behavior is a useful skill for both understanding Object Oriented Design/Programming; and as a Software Architect.</p>
<p>I was surprised how many people shared similar thoughts with comparing the movie with programming. If you enjoyed my post, please read their perspectives:</p>
<ul>
<li><a href="http://walterh.posterous.com/inception-a-programmers-guide-spoiler-warning">Inception: A programmer&#8217;s guide (spoiler warning)</a></li>
<li><a href="http://veetrag.net/2010/07/19/a-programmers-explanation-to-inception/">A Programmer&#8217;s Explanation to Inception</a></li>
<li><a href="http://latestatic.com/what-a-programmer-sees-when-he-watches-incept">What a Programmer Sees When He Watches Inception</a></li>
<p>Related posts:<ol>
<li><a href='http://repeatgeek.com/technical/my-experience-at-orlando-code-camp-2011/' rel='bookmark' title='My Experience at Orlando Code Camp 2011'>My Experience at Orlando Code Camp 2011</a></li>
<li><a href='http://repeatgeek.com/technical/10-websites-on-how-to-be-a-better-programmer/' rel='bookmark' title='10 Websites On How To Be A Better Programmer'>10 Websites On How To Be A Better Programmer</a></li>
<li><a href='http://repeatgeek.com/technical/my-experience-at-orlando-code-camp-2010/' rel='bookmark' title='My Experience at Orlando Code Camp 2010'>My Experience at Orlando Code Camp 2010</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://repeatgeek.com/technical/how-to-view-inception-through-code/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>ASP.NET &#8211; Access To Path is Denied</title>
		<link>http://repeatgeek.com/technical/asp-net-access-to-path-is-denied/</link>
		<comments>http://repeatgeek.com/technical/asp-net-access-to-path-is-denied/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 02:29:11 +0000</pubDate>
		<dc:creator>dhirschl</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[ASP]]></category>
		<category><![CDATA[ASPNET]]></category>
		<category><![CDATA[dened]]></category>
		<category><![CDATA[directory]]></category>
		<category><![CDATA[folder]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[path]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[security settings]]></category>

		<guid isPermaLink="false">http://repeatgeek.com/?p=502</guid>
		<description><![CDATA[If your ASP.NET program is attempting to read, write and/or delete a fie it can display the error &#8220;Access to Path &#8230; is Denied&#8221;. If this is the case, the directory may have the incorrect security settings. Here are the steps to add the correct the user security settings on Windows Server 2003: 1. Find [...]
Related posts:<ol>
<li><a href='http://repeatgeek.com/career/how-to-get-started-with-windows-sharepoint-application-development/' rel='bookmark' title='How to Get Started with Windows SharePoint Application Development'>How to Get Started with Windows SharePoint Application Development</a></li>
<li><a href='http://repeatgeek.com/tools/output-pdf-binary-to-browser-in-asp-net/' rel='bookmark' title='Output PDF Binary to Browser in ASP.NET'>Output PDF Binary to Browser in ASP.NET</a></li>
<li><a href='http://repeatgeek.com/tools/using-subversion-with-xcode-part-iii/' rel='bookmark' title='Using Subversion with Xcode, Part III'>Using Subversion with Xcode, Part III</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>If your ASP.NET program is attempting to read, write and/or delete a fie it can display the error <strong>&#8220;Access to Path &#8230; is Denied&#8221;</strong>. If this is the case, the directory may have the incorrect security settings. </p>
<p>Here are the steps to add the correct the user security settings on Windows Server 2003:</p>
<p>1. Find the folder or file that you are trying to access.<br />
2. Right-click the folder<br />
3. Select <strong>Properties</strong><br />
4. Click the <strong>Security</strong> tab<br />
5. Click the <strong>Add</strong> button</p>
<p><a href="http://repeatgeek.com/wp-content/uploads/2010/07/Properties.png"><img src="http://repeatgeek.com/wp-content/uploads/2010/07/Properties-150x150.png" alt="" title="Properties" width="150" height="150" class="aligncenter size-thumbnail wp-image-503" /></a></p>
<p>6. Enter the user: <strong><em>&lt;SERVERNAME&gt;</em>\IIS_WPG</strong><br />
7. Click <strong>Check Names </strong>button</p>
<p><a href="http://repeatgeek.com/wp-content/uploads/2010/07/SelectUsersorGroups.png"><img src="http://repeatgeek.com/wp-content/uploads/2010/07/SelectUsersorGroups-150x150.png" alt="" title="SelectUsersorGroups" width="150" height="150" class="aligncenter size-thumbnail wp-image-504" /></a></p>
<p>8. Click <strong>OK</strong> button<br />
9. Verify user has correct permissions (Read/Write)</p>
<p><a href="http://repeatgeek.com/wp-content/uploads/2010/07/UserPermissions.png"><img src="http://repeatgeek.com/wp-content/uploads/2010/07/UserPermissions-150x150.png" alt="" title="UserPermissions" width="150" height="150" class="aligncenter size-thumbnail wp-image-505" /></a></p>
<p>10. Click <strong>OK</strong> button</p>
<p>Other Windows operating systems (XP, Vista, 7) may require the user: <strong><em>&lt;SERVERNAME&gt;</em>\ASPNET</strong> to be added.</p>
<p>Related posts:<ol>
<li><a href='http://repeatgeek.com/career/how-to-get-started-with-windows-sharepoint-application-development/' rel='bookmark' title='How to Get Started with Windows SharePoint Application Development'>How to Get Started with Windows SharePoint Application Development</a></li>
<li><a href='http://repeatgeek.com/tools/output-pdf-binary-to-browser-in-asp-net/' rel='bookmark' title='Output PDF Binary to Browser in ASP.NET'>Output PDF Binary to Browser in ASP.NET</a></li>
<li><a href='http://repeatgeek.com/tools/using-subversion-with-xcode-part-iii/' rel='bookmark' title='Using Subversion with Xcode, Part III'>Using Subversion with Xcode, Part III</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://repeatgeek.com/technical/asp-net-access-to-path-is-denied/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePoint 2010 Development Resources</title>
		<link>http://repeatgeek.com/technical/sharepoint-2010-development-resources/</link>
		<comments>http://repeatgeek.com/technical/sharepoint-2010-development-resources/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 16:50:13 +0000</pubDate>
		<dc:creator>dhirschl</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[development resources]]></category>
		<category><![CDATA[MOSS]]></category>
		<category><![CDATA[Professional]]></category>
		<category><![CDATA[Sandbox]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://repeatgeek.com/?p=487</guid>
		<description><![CDATA[Implementing SharePoint 2010 is an idea that is being thrown around at my place of employment right now. As a developer, there seems to be some significant differences between WSS 3.0/MOSS 2007 and SharePoint 2010 (SharePoint 2010 Sandbox Environment) and I wanted to make sure that my skills were updated for the latest release of [...]
Related posts:<ol>
<li><a href='http://repeatgeek.com/technical/10-resources-for-design-challenged-programmers/' rel='bookmark' title='10 Resources for Design-Challenged Programmers'>10 Resources for Design-Challenged Programmers</a></li>
<li><a href='http://repeatgeek.com/technical/my-experience-at-orlando-code-camp-2010/' rel='bookmark' title='My Experience at Orlando Code Camp 2010'>My Experience at Orlando Code Camp 2010</a></li>
<li><a href='http://repeatgeek.com/career/how-to-get-started-with-windows-sharepoint-application-development/' rel='bookmark' title='How to Get Started with Windows SharePoint Application Development'>How to Get Started with Windows SharePoint Application Development</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Implementing SharePoint 2010 is an idea that is being thrown around at my place of employment right now. As a developer, there seems to be some significant differences between WSS 3.0/MOSS 2007 and SharePoint 2010 (<a href="http://klopmp.com/2010/sharepoint/standing-up-a-sharepoint-2010-sandbox-environment">SharePoint 2010 Sandbox Environment</a>) and I wanted to make sure that my skills were updated for the latest release of SharePoint.</p>
<p>For everyone who is already developing or those who will start, I put together this list of resources that are available.</p>
<h2>Videos</h2>
<p>There are a few hands-on videos if you are a visual learner.</p>
<ul>
<li> <a href="http://msdn.microsoft.com/en-us/library/ff770300.aspx">Microsoft Patterns and Practices &#8211; Developing Applications for SharePoint 2010</a></li>
<li> <a href="http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx">MSDN &#8211; Get Started Developing on SharePoint 2010</a></li>
</ul>
<h2>Books</h2>
<p>If you prefer to learn from a book, there are many more resources available for SharePoint 2010 than there were previously for WSS 3.0 or MOSS 2007.</p>
<h3>Pro SharePoint 2010 Solution Development: Combining .NET, SharePoint, and Office</h3>
<h4>Ed Hild and Chad Wach</h4>
<p><a href="http://www.amazon.com/gp/product/1430227818?ie=UTF8&amp;tag=link0e-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1430227818"><img src="http://repeatgeek.com/wp-content/uploads/2010/07/ProSharePoint2010.jpg" border="0" alt="" /></a></p>
<hr/>
<h3>SharePoint 2010 as a Development Platform</h3>
<h4>Joerg Krause, Martin Daring, Christian Langhirt, Bernd Pehlke, Alexander Sterff</h4>
<p><a href="http://www.amazon.com/gp/product/1430227060?ie=UTF8&amp;tag=link0e-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1430227060"><img src="http://repeatgeek.com/wp-content/uploads/2010/07/SharePointDevelopmentPlatform.jpg" border="0" alt="" /></a></p>
<hr/>
<h3>SharePoint 2010 Development with Visual Studio 2010</h3>
<h4>Eric Carter, Boris Scholl, Peter Jausovec</h4>
<p><a href="http://www.amazon.com/gp/product/0321718313?ie=UTF8&amp;tag=link0e-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0321718313"><img src="http://repeatgeek.com/wp-content/uploads/2010/07/SharePointVisualStudio.jpg" border="0" alt="" /></a></p>
<hr/>
<h3>Beginning SharePoint 2010 Development</h3>
<h4>Steve Fox</h4>
<p><a href="http://www.amazon.com/gp/product/0470584637?ie=UTF8&amp;tag=link0e-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0470584637"><img src="http://repeatgeek.com/wp-content/uploads/2010/07/BeginningSharePoint.jpg" border="0" alt="" /></a></p>
<hr/>
<h3>Professional SharePoint 2010 Development</h3>
<h4>Tom Rizzo, Reza Alirezaei, Jeff Fried, Paul Swider, Scot Hillier, Kenneth Schaefer</h4>
<p><a href="http://www.amazon.com/gp/product/0470529423?ie=UTF8&amp;tag=link0e-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0470529423"><img src="http://repeatgeek.com/wp-content/uploads/2010/07/ProfessionalSharePoint.jpg" border="0" alt="" /></a></p>
<p>Related posts:<ol>
<li><a href='http://repeatgeek.com/technical/10-resources-for-design-challenged-programmers/' rel='bookmark' title='10 Resources for Design-Challenged Programmers'>10 Resources for Design-Challenged Programmers</a></li>
<li><a href='http://repeatgeek.com/technical/my-experience-at-orlando-code-camp-2010/' rel='bookmark' title='My Experience at Orlando Code Camp 2010'>My Experience at Orlando Code Camp 2010</a></li>
<li><a href='http://repeatgeek.com/career/how-to-get-started-with-windows-sharepoint-application-development/' rel='bookmark' title='How to Get Started with Windows SharePoint Application Development'>How to Get Started with Windows SharePoint Application Development</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://repeatgeek.com/technical/sharepoint-2010-development-resources/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My Experience at Orlando Code Camp 2010</title>
		<link>http://repeatgeek.com/technical/my-experience-at-orlando-code-camp-2010/</link>
		<comments>http://repeatgeek.com/technical/my-experience-at-orlando-code-camp-2010/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 18:08:58 +0000</pubDate>
		<dc:creator>dhirschl</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[Adam Jorgensen]]></category>
		<category><![CDATA[art]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[David Silverlight]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Jeremy Groves]]></category>
		<category><![CDATA[Kevin Rohling]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[OLAP]]></category>
		<category><![CDATA[Orlando]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[SASS]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Solution]]></category>
		<category><![CDATA[Sql]]></category>
		<category><![CDATA[Warehouse]]></category>
		<category><![CDATA[Wes Dumey]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[Workflow]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://repeatgeek.com/?p=479</guid>
		<description><![CDATA[This post is long overdue but I thought I would share my experiences with attending my first code camp: Orlando Code Camp 2010. Code Camp is something that always interested me, I thought it would be cool to experience some of the bleeding-edge technology and also receive some &#8220;free&#8221; training in the process. If you [...]
Related posts:<ol>
<li><a href='http://repeatgeek.com/technical/my-experience-at-orlando-code-camp-2011/' rel='bookmark' title='My Experience at Orlando Code Camp 2011'>My Experience at Orlando Code Camp 2011</a></li>
<li><a href='http://repeatgeek.com/social/20-great-quotes-steve-jobs-vs-bill-gates/' rel='bookmark' title='20 Great Quotes: Steve Jobs vs. Bill Gates'>20 Great Quotes: Steve Jobs vs. Bill Gates</a></li>
<li><a href='http://repeatgeek.com/technical/how-to-view-inception-through-code/' rel='bookmark' title='How To View Inception Through Code'>How To View Inception Through Code</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>This post is long overdue but I thought I would share my experiences with attending my first code camp: <a href="http://orlandocodecamp.com/">Orlando Code Camp 2010</a>.</p>
<p>Code Camp is something that always interested me, I thought it would be cool to experience some of the bleeding-edge technology and also receive some &#8220;free&#8221; training in the process. </p>
<p>If you are not aware of what a Code Camp is, it is an event where developers volunteer their time to present on several different topics &#8211; typically related to Microsoft products and technology and is sponsored by local technology companies.</p>
<p>Here is a breakdown of each session I attended:</p>
<h2>Session 1</h2>
<h3>What to Know About WF 4.0</h3>
<h4>Presented by: Bayer White</h4>
<p>I have just introduced myself to Windows Workflow Foundation (WF) since I have been teaching myself <a href="http://repeatgeek.com/career/how-to-get-started-with-windows-sharepoint-application-development/">Windows SharePoint Services</a> &#8211; so I thought I would get some exposure to what&#8217;s new in WF 4.0. </p>
<p><strong>Take Away:</strong> WF 4.0 is significantly different from it&#8217;s predecessors, but there are some features that make it more productive: activities. A lot of the information was a bit over my head for being a novice at WF; however, once I get a good understanding of WF 3.0, I will migrate my skills to WF 4.0.</p>
<p><strong>Links:</strong><br />
<a href="http://www.humanworkflow.net">www.humanworkflow.net</a><br />
<a href="http://www.flowfocus.com">www.flowfocus.com</a></p>
<hr/>
<h2>Session 2</h2>
<h3>Building a Data Warehouse Using Sql Server 2008</h3>
<h4>Presented by Wes Dumey</h4>
<p>The topic of Building a Data Warehouse is not new to me. I have taken graduate-level classes on the subject and actually built a Data Warehouse for a hospital as a team project &#8211; back in the days of Sql Server 2000. However, since taking this class, I have not had much exposure to the topic and the tools from Microsoft have changed significantly.</p>
<p>In the week previous to Orlando Code Camp I had attended several webinars by <a href="http://pragmaticworks.com/">Pragmatic Works</a> on Business Intelligence, so a lot of the information was review.</p>
<p><strong>Take Away:</strong> Wes shared some &#8216;best practices&#8217; that his firm adopted, such as storing the extracts after each step of the ETL process to verify the data.</p>
<p><strong>Links:</strong><br />
<a href="http://www.durableimpact.com">Durable Impact Consulting</a><br />
<a href="http://www.dayofdata.com">www.dayofdata.com</a></p>
<hr/>
<h2>Session 3</h2>
<h3>Developing OLAP Solutions with SASS 2008</h3>
<h4>Presented by: Adam Jorgensen</h4>
<p>One of the webinar sessions I missed with Pragmatic Works, was this very same presentation with Adam. So it was a treat to see Adam present this in person and demo the BI tools in Sql Server 2008.</p>
<p><strong>Take Away:</strong> Since I have not used Sql Server 2008 BI Tools or even Sql Server 2005 BI Tools for that matter, I think there was an assumption that the audience had prior exposure. Adam frequently referred to the differences between 2005 and 2008 and also shared his pet peeve of naming dimensions with underscores. </p>
<p><strong>Links:</strong><br />
<a href="http://pragmaticworks.com/">Pragmatic Works</a></p>
<hr/>
<h2>Session 4</h2>
<h3>Getting Started with WPF</h3>
<h4>Presented by: Shervin Shakibi</h4>
<p>I haven&#8217;t had much exposure to WPF, so I thought I would check out this session for beginners. The presenter Shervin Shakibi is very comical and made the session pretty enjoyable. </p>
<p><strong>Take Away:</strong><br />
From what I understand about WPF, is that it add additional functionality to creating Windows Forms and is primarily driven by XAML. It is possible to create web apps using WPF, but Shervin suggested to use Silverlight for that purpose.</p>
<p><strong>Links:</strong><br />
<a href="http://www.computerways.com">www.computerways.com</a></p>
<hr/>
<h2>Session 5</h2>
<h3>Silverlight Viewer for Reporting Services</h3>
<h4>Presented by: Jeremy Groves</h4>
<p>This had to be the most unproductive session that I attended. It seemed as if the presenter was there against his will  &#8211; the session only lasted about 10 minutes. </p>
<p><strong>Take Away:</strong><br />
Silverlight Viewer for Reporting Services is actually a product by Perpetuumsoft and this session was nothing more than a marketing presentation to buy their product.</p>
<p><strong>Links:</strong><br />
<a href="http://www.perpetuumsoft.com">www.perpetuumsoft.com</a></p>
<hr/>
<h2>Session 5.5</h2>
<h3>Stream It! Live + HD + Silverlight</h3>
<h4>Presented by Kevin Rohling</h4>
<p>Since I had some time to kill, I went to this session since it was the location for Session 6. </p>
<p><strong>Take Away:</strong><br />
Kevin Rohling made note of a video (that I had never heard of before) that is available in the public domain: Big Buck Bunny.</p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/allOsEHARo8&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/allOsEHARo8&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p><strong>Links:</strong><br />
<a href="http://www.perpetuumsoft.com">www.perpetuumsoft.com</a></p>
<hr/>
<h2>Session 6</h2>
<h3>Dissecting a Real-World Silverlight 4 Application</h3>
<h4>David Silverlight</h4>
<p>I really wanted to see Silverlight development in action and I was provided this opportunity in David Silverlight&#8217;s session. </p>
<p>Note: I have to admit I once thought that Silverlight was named after him.</p>
<p><strong>Take Away:</strong><br />
David presented a User Group Website Starter Kit software package that was developed using Silverlight, and is available to download via CodePlex.</p>
<p><strong>Links:</strong><br />
<a href="http://silverlightugstarter.codeplex.com/">Silverlight User Group Website Starter Kit</a><br />
<a href="http://www.perpetuumsoft.com">www.perpetuumsoft.com</a></p>
<hr/>
<p>Overall, I was exposed to a lot of new technology at Orlando Code Camp. I look forward to attending Tampa Code Camp later this year.</p>
<p>More Blogs about Orlando Code Camp:</p>
<ul>
<li><a href="http://estebanfg.blogspot.com/2010/04/orlando-code-camp-2010.html">Orlando Code Camp 2010</a></li>
<li><a href="http://www.russtoolshed.net/videos.aspx">Speaker Idol Florida Finals 2010</a></li>
</ul>
<p>Related posts:<ol>
<li><a href='http://repeatgeek.com/technical/my-experience-at-orlando-code-camp-2011/' rel='bookmark' title='My Experience at Orlando Code Camp 2011'>My Experience at Orlando Code Camp 2011</a></li>
<li><a href='http://repeatgeek.com/social/20-great-quotes-steve-jobs-vs-bill-gates/' rel='bookmark' title='20 Great Quotes: Steve Jobs vs. Bill Gates'>20 Great Quotes: Steve Jobs vs. Bill Gates</a></li>
<li><a href='http://repeatgeek.com/technical/how-to-view-inception-through-code/' rel='bookmark' title='How To View Inception Through Code'>How To View Inception Through Code</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://repeatgeek.com/technical/my-experience-at-orlando-code-camp-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

