<?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>Overpass Experiences &#187; Software Dev &amp; Productivity</title>
	<atom:link href="http://www.wroolie.co.uk/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wroolie.co.uk</link>
	<description>The Eric Wroolie Blog</description>
	<lastBuildDate>Fri, 27 Jan 2012 09:45:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>The Return of Javascript</title>
		<link>http://www.wroolie.co.uk/2012/01/24/the-return-of-javascript/</link>
		<comments>http://www.wroolie.co.uk/2012/01/24/the-return-of-javascript/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 21:54:28 +0000</pubDate>
		<dc:creator>Eric Wroolie</dc:creator>
				<category><![CDATA[Software Dev & Productivity]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://www.wroolie.co.uk/?p=661</guid>
		<description><![CDATA[A few years ago, I remember complaining that Javascript is a lost art.&#160; I was working with a .Net offshore team who claimed not to know HTML or Javascript—they only knew Asp.Net.&#160; When we were trying to come up with solutions to a particular web problem, I recommended we use Ajax.&#160; They didn’t know any [...]
Related posts:<ol>
<li><a href='http://www.wroolie.co.uk/2008/12/14/the-client-side-install/' rel='bookmark' title='The Client-Side Install'>The Client-Side Install</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>A few years ago, I remember complaining that Javascript is a lost art.&#160; I was working with a .Net offshore team who claimed not to know HTML or Javascript—they only knew Asp.Net.&#160; When we were trying to come up with solutions to a particular web problem, I recommended we use Ajax.&#160; They didn’t know any ajax outside of the Microsoft Ajax extensions.</p>
<p>I did a lot of Javascript back in the day.&#160; I can remember sitting down on a Saturday night in 1999 reading through a giant copy of the “Javascript Bible”.&#160; Before ajax was mainstream, you used to have to know how to store data islands in your source and store all kinds of arrays locally.&#160; The sites I did work on where Javascript was heavily used were cumbersome and difficult to maintain.&#160; They usually supported only IE.</p>
<p>Anyone who has ever worked with me knows how much I hate Asp.net web forms.&#160; I prefer classic ASP to webforms.&#160; I admire PHP developers who had full control over their html and javascript.</p>
<p>But now . . . Javascript is back. </p>
<p>When Silverlight was dropped in favour of HTML5, I moaned. I remember the bad old days of trying to write to the lowest common denominator in browsers.&#160; I don’t want to go back to that.&#160; I’m happy to stay in the Silverlight haven.&#160; They supported Macs at least, but not Lynux or tablets.</p>
<p>But in the past few months, I’ve been able to use Javascript to write games (Impact JS), phone apps (jQuery Mobile and Phone Gap(, and server applications (node.js).&#160; </p>
<p>Javascript is better than I ever remember it being.&#160; It seems to be experiencing a renaissance.&#160; While all the coders of other languages are having pointless arguments about which one is better, Javascript is proving the be the uniter.&#160; Learn JS, and you can do anything.</p>
<p>These are exciting times.&#160; Right now, everyone seems to have a Javascript framework.&#160; There are so many to choose from.&#160; </p>
<p>Javascript is beautiful.&#160; And no one is trying to control it.</p>
<p>I’m really looking forward to the next year.&#160; I’m sold.&#160; HTML5 is the way of the future.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=The+Return+of+Javascript+http%3A%2F%2Fwroolie.co.uk%2F%3Fp%3D661" title="Post to Twitter"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://www.wroolie.co.uk/2012/01/24/the-return-of-javascript/&amp;title=The+Return+of+Javascript" title="Post to Delicious"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.wroolie.co.uk/2012/01/24/the-return-of-javascript/&amp;title=The+Return+of+Javascript" title="Post to Digg"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-micro3.png" alt="Post to Digg" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://www.wroolie.co.uk/2012/01/24/the-return-of-javascript/&amp;t=The+Return+of+Javascript" title="Post to Facebook"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://ping.fm/ref/?method=microblog&amp;title=The+Return+of+Javascript&amp;link=http://www.wroolie.co.uk/2012/01/24/the-return-of-javascript/" title="Post to Ping.fm"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/ping/tt-ping-micro3.png" alt="Post to Ping.fm" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://www.wroolie.co.uk/2012/01/24/the-return-of-javascript/&amp;title=The+Return+of+Javascript" title="Post to StumbleUpon"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/su/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p></div><p>Related posts:<ol>
<li><a href='http://www.wroolie.co.uk/2008/12/14/the-client-side-install/' rel='bookmark' title='The Client-Side Install'>The Client-Side Install</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.wroolie.co.uk/2012/01/24/the-return-of-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running ImpactJs in Visual Studio 2010 with a Project Template</title>
		<link>http://www.wroolie.co.uk/2012/01/02/running-impactjs-in-visual-studio-2010-with-a-project-template/</link>
		<comments>http://www.wroolie.co.uk/2012/01/02/running-impactjs-in-visual-studio-2010-with-a-project-template/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 16:58:58 +0000</pubDate>
		<dc:creator>Eric Wroolie</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Software Dev & Productivity]]></category>

		<guid isPermaLink="false">http://www.wroolie.co.uk/2012/01/02/running-impactjs-in-visual-studio-2010-with-a-project-template/</guid>
		<description><![CDATA[I took December off to spend time with family and invest in some professional development.&#160; I worked mostly with HTML5 and javascript, but I did do some Drupal work too. For HTML5, I played with local storage, the new tags, backwards compatibility, PhoneGap, and finally the canvas tag.&#160; One thing I wanted to do was [...]
Related posts:<ol>
<li><a href='http://www.wroolie.co.uk/2009/09/18/line-breaks-in-webby/' rel='bookmark' title='Line Breaks in Webby'>Line Breaks in Webby</a></li>
<li><a href='http://www.wroolie.co.uk/2007/06/19/52/' rel='bookmark' title='PHP with Visual Studio'>PHP with Visual Studio</a></li>
<li><a href='http://www.wroolie.co.uk/2008/03/31/16/' rel='bookmark' title='MyGeneration &#8211; a timesaver'>MyGeneration &#8211; a timesaver</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I took December off to spend time with family and invest in some professional <a href="http://www.wroolie.co.uk/wp-content/uploads/2012/01/game.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="game" border="0" alt="My Game" align="right" src="http://www.wroolie.co.uk/wp-content/uploads/2012/01/game_thumb.png" width="244" height="150" /></a>development.&#160; I worked mostly with HTML5 and javascript, but I did do some Drupal work too.</p>
<p>For HTML5, I played with local storage, the new tags, backwards compatibility, PhoneGap, and finally the canvas tag.&#160; One thing I wanted to do was learn how to build games in HTML5.&#160; There are some great tutorials on starting a project from scratch—I’ll post more on them later, but there’s also a very good javascript game engine called <a href="http://impactjs.com/" target="_blank">ImpactJS</a>.</p>
<p>ImpactJS is written almost entirely in javascript, but it does us a few php files (and a server) to allow it to do things like read from and write to files.&#160; According to the instructions, you need to set up in Apache (but an IIS port is available).&#160; </p>
<p>But I spend most of my life in Visual Studio 2010 (and occasionally Eclipse).&#160; I work faster in that IDE and all the keyboard shortcuts come second nature. After purchasing Impact and creating a few games, I found it tedious assigning a new port in the Apache conf on my local machine for every game.&#160; Also, the Komodo IDE is very good, but I prefer my boring ol’ Visual Studio.</p>
<p>So, I looked at the php files and created my own Visual Studio template.&#160; This may sound a little heavy using this big IDE only for javascript and html, but I find it very helpful that it will create a new server port each time I create a new web project.</p>
<p>I created a project template was going to post it online, but it includes all the ImpactJS source (which costs $99—but I got for $49 on a Christmas sale), so that probably wouldn’t be doing the developer any favours if I put it on all online.&#160; So, here are my contributions and the instructions for anyone else who has purchased ImpactJS and wants to use it in Visual Studio 2010.</p>
<h2>Step 1:&#160; Create a New Project.</h2>
<p>Create an empty ASP.Net Web project.&#160; Make sure to choose an empty project—otherwise you have to delete all the plumbing they give you.&#160; All you want is the web.config (and you can get rid of that if you don’t need it).</p>
<h2>Step 2:&#160; Add ImpactJS framework </h2>
<p>Drag all your ImpactJS source into the new project from Windows Explorer.&#160; This should include all the folders.&#160; The two root documents should be index.html and weltmeister.html.</p>
<p><a href="http://www.wroolie.co.uk/wp-content/uploads/2012/01/image.png"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.wroolie.co.uk/wp-content/uploads/2012/01/image_thumb.png" width="197" height="244" /></a></p>
<p>At this point, you can right-click on index.html and choose “View In Browser”.&#160; It will give you the “It Works!” text on the canvas (but it will create a server instance like localhost:12345).&#160; This is unimpressive.&#160; The game itself does not use the server—the Weltmeister tool does.</p>
<h2>Step 3: Add the Generic Handlers.</h2>
<p>You can right-click and view the Weltmeister tool in the browser now, but it will not work the way it should.&#160; The Weltmeister level editor uses 4 php files:</p>
<ul>
<li><strong>/lib/weltmeister/api/browse.php</strong> (browses for files in the filesystem) </li>
<li><strong>/lib/weltmeister/api/config.php</strong> (provides the $fileRoot variable and a few methods). </li>
<li><strong>/lib/weltmeister/api/glob.php</strong> (gets files matching a certain pattern in the directories) </li>
<li><strong>/lib/weltmeister/api/save.php</strong> (saves files edited in Weltmeister to the directory) </li>
</ul>
<p>The contents of these four files are pretty straight forward and easy to convert to C#.&#160; I initially created a aspx pages to replace them, but then found Generic Handlers to be more effective since I didn’t need a front end webform.</p>
<p>So, we will create four files to replace these four (they can sit side by side—the php files won’t get in our way).&#160; </p>
<p>First add a Web.config file to the api folder (it will limit the scope to this folder only).&#160; In this file add the fileRoot variable:</p>
<pre>&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;configuration&gt;&#160;&#160; &lt;appSettings&gt;&#160;&#160;&#160;&#160; &lt;add key=&quot;fileRoot&quot; value=&quot;../../..&quot;/&gt;&#160;&#160; &lt;/appSettings&gt;
&lt;/configuration&gt;</pre>
<p>Now, add three more files of type “Generic Hander” to the api folder.</p>
<p>&#160;<a href="http://www.wroolie.co.uk/wp-content/uploads/2012/01/image1.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.wroolie.co.uk/wp-content/uploads/2012/01/image_thumb1.png" width="244" height="170" /></a></p>
<p>Give these files the same names as their PHP counterparts:</p>
<ul>
<li>browse.ashx </li>
<li>glob.ashx </li>
<li>save.ashx </li>
</ul>
<p>Here is the code for each file:</p>
<h3>browse.ashx:</h3>
<pre class="csharpcode"><span class="kwrd">using</span> System.IO;
<span class="kwrd">using</span> System.Text;
<span class="kwrd">using</span> System.Web;
<span class="kwrd">using</span> System.Web.Script.Serialization;

<span class="kwrd">namespace</span> SpaceShooter.lib.weltmeister.api
{
    <span class="rem">/// &lt;summary&gt;</span>
    <span class="rem">/// Summary description for browse</span>
    <span class="rem">/// &lt;/summary&gt;</span>
    <span class="kwrd">public</span> <span class="kwrd">class</span> browse : IHttpHandler
    {
        <span class="kwrd">public</span> <span class="kwrd">void</span> ProcessRequest(HttpContext context)
        {
            var fileRoot = context.Request.MapPath(System.Configuration.ConfigurationManager.AppSettings[<span class="str">&quot;fileRoot&quot;</span>].ToString());
            <span class="kwrd">if</span> (!fileRoot.EndsWith(<span class="str">&quot;/&quot;</span>))
                fileRoot += <span class="str">&quot;/&quot;</span>;

            var dir = fileRoot + context.Request.QueryString[<span class="str">&quot;dir&quot;</span>].ToString();
            <span class="kwrd">if</span> (!dir.EndsWith(<span class="str">&quot;/&quot;</span>))
                dir += <span class="str">&quot;/&quot;</span>;

            var find = <span class="str">&quot;*.*&quot;</span>;
            <span class="kwrd">switch</span> (context.Request.QueryString[<span class="str">&quot;type&quot;</span>].ToString())
            {
                <span class="kwrd">case</span> <span class="str">&quot;images&quot;</span>:
                    find = <span class="str">&quot;*.{png,gif,jpg,jpeg}&quot;</span>;
                    <span class="kwrd">break</span>;
                <span class="kwrd">case</span> <span class="str">&quot;scripts&quot;</span>:
                    find = <span class="str">&quot;*.js&quot;</span>;
                    <span class="kwrd">break</span>;
            }

            var dirs = Directory.GetDirectories(dir, <span class="str">&quot;*&quot;</span>, SearchOption.AllDirectories);
            var files = Directory.GetFiles(dir, find, SearchOption.AllDirectories);

            var fileRootLength = fileRoot.Length;
            <span class="kwrd">for</span> (var i = 0; i &lt; files.Length; i++)
            {
                files[i] = files[i].Replace(fileRoot, <span class="str">&quot;&quot;</span>);
            }
            <span class="kwrd">for</span> (var i = 0; i &lt; dirs.Length; i++)
            {
                dirs[i] = dirs[i].Replace(fileRoot, <span class="str">&quot;&quot;</span>);
            }

            var parent = dir.Substring(0, dir.ToString().IndexOf(<span class="str">&quot;/&quot;</span>));

            context.Response.ContentType = <span class="str">&quot;application/json&quot;</span>;
            context.Response.ContentEncoding = Encoding.UTF8;
            var jserializer = <span class="kwrd">new</span> JavaScriptSerializer();
            context.Response.Write(jserializer.Serialize(<span class="kwrd">new</span> Response()
            {
                parent = parent,
                dirs = dirs,
                files = files
            }));
        }

        <span class="kwrd">public</span> <span class="kwrd">bool</span> IsReusable
        {
            get
            {
                <span class="kwrd">return</span> <span class="kwrd">false</span>;
            }
        }

        <span class="kwrd">public</span> <span class="kwrd">class</span> Response
        {
            <span class="kwrd">public</span> <span class="kwrd">string</span> parent { get; set; }

            <span class="kwrd">public</span> <span class="kwrd">string</span>[] dirs { get; set; }

            <span class="kwrd">public</span> <span class="kwrd">string</span>[] files { get; set; }
        }
    }
}</pre>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<h3>glob.ashx:</h3>
<pre class="csharpcode">
<span class="kwrd">using</span> System.Collections.Generic;
<span class="kwrd">using</span> System.IO;
<span class="kwrd">using</span> System.Text;
<span class="kwrd">using</span> System.Web;
<span class="kwrd">using</span> System.Web.Script.Serialization;

<span class="kwrd">namespace</span> SpaceShooter.lib.weltmeister.api
{
    <span class="rem">/// &lt;summary&gt;</span>
    <span class="rem">/// Summary description for glob</span>
    <span class="rem">/// &lt;/summary&gt;</span>
    <span class="kwrd">public</span> <span class="kwrd">class</span> glob : IHttpHandler
    {

        <span class="kwrd">public</span> <span class="kwrd">void</span> ProcessRequest(HttpContext context)
        {
            var fileRoot = context.Request.MapPath(System.Configuration.ConfigurationManager.AppSettings[<span class="str">&quot;fileRoot&quot;</span>].ToString());
            <span class="kwrd">if</span> (!fileRoot.EndsWith(<span class="str">&quot;/&quot;</span>))
                fileRoot += <span class="str">&quot;/&quot;</span>;

            var globs = context.Request.QueryString[<span class="str">&quot;glob[]&quot;</span>].ToString();
            List&lt;<span class="kwrd">string</span>&gt; files = <span class="kwrd">new</span> List&lt;<span class="kwrd">string</span>&gt;();
            <span class="rem">//get the files</span>
            <span class="kwrd">foreach</span> (var glob <span class="kwrd">in</span> globs.Split(<span class="str">','</span>))
            {
                var pattern = glob.Replace(<span class="str">&quot;..&quot;</span>, <span class="str">&quot;&quot;</span>).Replace(<span class="str">&quot;/&quot;</span>,<span class="str">&quot;\\&quot;);
                files.AddRange(Directory.GetFiles(fileRoot, pattern));
            }

            //remove the fileRoot and reverse slashes
            for (var i = 0; i &lt; files.Count;i++ )
            {
                files[i] = files[i].Replace(fileRoot, &quot;</span><span class="str">&quot;);
                files[i] = files[i].Replace(@&quot;</span>\<span class="str">&quot;,&quot;</span>/<span class="str">&quot;);
            }
            context.Response.ContentType = &quot;</span>application/json<span class="str">&quot;;
            context.Response.ContentEncoding = Encoding.UTF8;
            var jserializer = new JavaScriptSerializer();
            context.Response.Write(jserializer.Serialize(files));

            //   return &quot;</span>&quot;;
        }

        <span class="kwrd">public</span> <span class="kwrd">bool</span> IsReusable
        {
            get
            {
                <span class="kwrd">return</span> <span class="kwrd">false</span>;
            }
        }
    }
}</pre>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<h3>save.ashx:</h3>
<pre class="csharpcode"><span class="kwrd">using</span> System;
<span class="kwrd">using</span> System.Collections.Generic;
<span class="kwrd">using</span> System.IO;
<span class="kwrd">using</span> System.Linq;
<span class="kwrd">using</span> System.Text;
<span class="kwrd">using</span> System.Web;
<span class="kwrd">using</span> System.Web.Script.Serialization;

<span class="kwrd">namespace</span> SpaceShooter.lib.weltmeister.api
{
    <span class="rem">/// &lt;summary&gt;</span>
    <span class="rem">/// Summary description for save</span>
    <span class="rem">/// &lt;/summary&gt;</span>
    <span class="kwrd">public</span> <span class="kwrd">class</span> save : IHttpHandler
    {

        <span class="kwrd">public</span> <span class="kwrd">void</span> ProcessRequest(HttpContext context)
        {
            var fileRoot = context.Request.MapPath(System.Configuration.ConfigurationManager.AppSettings[<span class="str">&quot;fileRoot&quot;</span>].ToString());
            <span class="kwrd">if</span> (!fileRoot.EndsWith(<span class="str">&quot;/&quot;</span>))
                fileRoot += <span class="str">&quot;/&quot;</span>;
            var path = context.Request.Form[<span class="str">&quot;path&quot;</span>].ToString();
            var data = context.Request.Form[<span class="str">&quot;data&quot;</span>].ToString();

            var result = <span class="kwrd">new</span> Result();

            <span class="kwrd">if</span> (!<span class="kwrd">string</span>.IsNullOrEmpty(path) &amp;&amp;
                !<span class="kwrd">string</span>.IsNullOrEmpty(path))
            {
                path = fileRoot + path.ToString().Replace(<span class="str">&quot;..&quot;</span>, <span class="str">&quot;&quot;</span>);

                <span class="kwrd">if</span> (path.EndsWith(<span class="str">&quot;.js&quot;</span>))
                {
                    <span class="kwrd">try</span>
                    {
                        <span class="rem">//if the file already exists, delete it</span>
                        <span class="kwrd">if</span> (File.Exists(path))
                        {
                            File.Delete(path);
                        }
                        var streamWriter = File.CreateText(path);
                        streamWriter.Write(data);
                    }
                    <span class="kwrd">catch</span> (Exception ex)
                    {
                        result.error = <span class="str">&quot;2&quot;</span>;
                        result.msg = <span class="kwrd">string</span>.Format(<span class="str">&quot;Couldn't write to file: {0}&quot;</span>, path);
                    }
                }
                <span class="kwrd">else</span>
                {
                    result.error = <span class="str">&quot;3&quot;</span>;
                    result.msg = <span class="str">&quot;File must have a .js suffix&quot;</span>;
                }

            }
            <span class="kwrd">else</span>
            {
                result.error = <span class="str">&quot;1&quot;</span>;
                result.msg = <span class="str">&quot;No Data or Path specified&quot;</span>;
            }
            context.Response.ContentType = <span class="str">&quot;application/json&quot;</span>;
            context.Response.ContentEncoding = Encoding.UTF8;
            var jserializer = <span class="kwrd">new</span> JavaScriptSerializer();
            context.Response.Write(jserializer.Serialize(result));

        }

        <span class="kwrd">public</span> <span class="kwrd">bool</span> IsReusable
        {
            get
            {
                <span class="kwrd">return</span> <span class="kwrd">false</span>;
            }
        }

        <span class="kwrd">public</span> <span class="kwrd">class</span> Result
        {
            <span class="kwrd">public</span> <span class="kwrd">string</span> error { get; set; }
            <span class="kwrd">public</span> <span class="kwrd">string</span> msg { get; set; }
        }
    }
}</pre>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>Your final api folder should look like this:</p>
<p><a href="http://www.wroolie.co.uk/wp-content/uploads/2012/01/image2.png"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.wroolie.co.uk/wp-content/uploads/2012/01/image_thumb2.png" width="212" height="190" /></a></p>
<p>You can get rid of the php files if you wish, but they should not be interfering with anything.</p>
<h2>Step 4:&#160; Amend config.js</h2>
<p>Finally, you need to tell the javascript classes to run these ashx files instead of the php files, this is can in the file /lib/welbmeister/config.js under the api property.&#160; Simply change the php extension to ashx:</p>
<pre>'api': {
		'save': 'lib/weltmeister/api/save.<strong>ashx'</strong>,
		'browse': 'lib/weltmeister/api/browse.<strong>ashx'</strong>,
		'glob': 'lib/weltmeister/api/glob.<strong>ashx'</strong>
	}</pre>
<h2>Step 5: Save the project as a template</h2>
<p>Now, you don’t want to have to do this for every new game project, so you need to turn this into a template (but you might want to test out the Weltmeister tool first and make sure everything is running as it should).</p>
<p>To create a new template, simply go to the file menu of Visual Studio and choose “Export Template”.&#160; Then you can go through the wizard to create a new template on your pc to quickly create new ImpactJS game projects.</p>
<p>You may also want to create an “entity” template to speed things up when you create new entities for your game using the same menu (but choose Item Template instead of Project Template).</p>
<h2>What about Baking?</h2>
<p>Okay, there are two other php files in the framework that could be converted.&#160; When you finish your ImpactJS game, you can use a command line tool to “bake” the game and get it ready for deployment.&#160; This basically consolidates all the javascript files into one file and minifies it.&#160; This is done in the tools folder using a file called bake.php.&#160; </p>
<p>I have not converted the bake file to c# yet.&#160; I don’t deploy too often. However, I may convert it in the future.&#160; I would use the <a href="http://geekswithblogs.net/lbugnion/archive/2007/02/23/107120.aspx" target="_blank">aspx port of jsmin</a> written by Laurent Bugnion and convert bake.php to an aspx or ashx file.&#160; The ImpactJS developer has put very little reliance on php, so conversion should not be difficult.</p>
<h2>Let me know how it goes</h2>
<p>That’s it.&#160; I hope, if you found this post, this gets you building games in Visual Studio (with your familiar shortcuts, plug ins, and code-completion).&#160; If you found it useful, please add a comment below.&#160; And if you convert the baking file, please let me know too.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Running+ImpactJs+in+Visual+Studio+2010+with+a+Project+Template+http%3A%2F%2Fwroolie.co.uk%2F%3Fp%3D656" title="Post to Twitter"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://www.wroolie.co.uk/2012/01/02/running-impactjs-in-visual-studio-2010-with-a-project-template/&amp;title=Running+ImpactJs+in+Visual+Studio+2010+with+a+Project+Template" title="Post to Delicious"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.wroolie.co.uk/2012/01/02/running-impactjs-in-visual-studio-2010-with-a-project-template/&amp;title=Running+ImpactJs+in+Visual+Studio+2010+with+a+Project+Template" title="Post to Digg"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-micro3.png" alt="Post to Digg" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://www.wroolie.co.uk/2012/01/02/running-impactjs-in-visual-studio-2010-with-a-project-template/&amp;t=Running+ImpactJs+in+Visual+Studio+2010+with+a+Project+Template" title="Post to Facebook"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://ping.fm/ref/?method=microblog&amp;title=Running+ImpactJs+in+Visual+Studio+2010+with+a+Project+Template&amp;link=http://www.wroolie.co.uk/2012/01/02/running-impactjs-in-visual-studio-2010-with-a-project-template/" title="Post to Ping.fm"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/ping/tt-ping-micro3.png" alt="Post to Ping.fm" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://www.wroolie.co.uk/2012/01/02/running-impactjs-in-visual-studio-2010-with-a-project-template/&amp;title=Running+ImpactJs+in+Visual+Studio+2010+with+a+Project+Template" title="Post to StumbleUpon"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/su/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p></div><p>Related posts:<ol>
<li><a href='http://www.wroolie.co.uk/2009/09/18/line-breaks-in-webby/' rel='bookmark' title='Line Breaks in Webby'>Line Breaks in Webby</a></li>
<li><a href='http://www.wroolie.co.uk/2007/06/19/52/' rel='bookmark' title='PHP with Visual Studio'>PHP with Visual Studio</a></li>
<li><a href='http://www.wroolie.co.uk/2008/03/31/16/' rel='bookmark' title='MyGeneration &#8211; a timesaver'>MyGeneration &#8211; a timesaver</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.wroolie.co.uk/2012/01/02/running-impactjs-in-visual-studio-2010-with-a-project-template/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Warming up to HTML5</title>
		<link>http://www.wroolie.co.uk/2011/12/15/warming-up-to-html5/</link>
		<comments>http://www.wroolie.co.uk/2011/12/15/warming-up-to-html5/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 18:24:39 +0000</pubDate>
		<dc:creator>Eric Wroolie</dc:creator>
				<category><![CDATA[Software Dev & Productivity]]></category>

		<guid isPermaLink="false">http://www.wroolie.co.uk/2011/12/15/warming-up-to-html5/</guid>
		<description><![CDATA[Last week, I finally got around to reading the Microsoft announcements from September about Windows 8 and WinRT.&#160; Like a lot of people, I was surprised by the dropping of Silverlight for the Metro UI.&#160; HTML5 (along with XAML) would be used prominently. HTML5 again. I’m old school and I can’t get rid of the [...]
Related posts:<ol>
<li><a href='http://www.wroolie.co.uk/2011/05/26/html5-its-dhtml-all-over-again/' rel='bookmark' title='HTML5, it&rsquo;s DHTML all over again'>HTML5, it&rsquo;s DHTML all over again</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Last week, I finally got around to reading the Microsoft announcements from September about Windows 8 and WinRT.&#160; Like a lot of people, I was surprised by the dropping of Silverlight for the Metro UI.&#160; HTML5 (along with XAML) would be used prominently.</p>
<p>HTML5 again.</p>
<p>I’m old school and I can’t get rid of the memories of coding conditional blocks of code for different browsers.&#160; A lot of web apps would only adhere to one browser because of the different capabilities.&#160; In corporate environments, this was mostly IE.&#160; The difference capabilities still exists, so I was not pleased about using conditional coding again.&#160; Silverlight was a nice hiding place—write once run anywhere (except Linux, and tablets, and phones—okay just Windows and Macs!).</p>
<p>But, things are much better than they were before.&#160; Now, we have <a href="http://www.modernizr.com/" target="_blank">Modernizr</a> and <a href="http://jquery.com/" target="_blank">jQuery</a>.&#160; Now we have devices which, for the most part, adhere to one browser only (If I write for IOS, I only have to worry about Safari).&#160; </p>
<p>I’m at the point now where I’m excited about HTML5.&#160; I’ve taken December off from my current contract to really have a good play with it.&#160; I’m very impressed with localStorage and GeoLocation.&#160; Canvas is what I’m playing with next.</p>
<p>And, after months of learning Android, I discovered <a href="http://phonegap.com" target="_blank">PhoneGap</a>.&#160; PhoneGap allows you to host html5 in a compiled application&#160; (IOS, Android, Windows Phone) and release it in an app store.&#160; It also provides a javascript library to interface with device libraries like GPS, camera, and the accelerometer.&#160; I’m struggling with the intricacies of Java (C# keeps getting in the way), but I can do just as much in javascript.</p>
<p>HTML5 allows for mobile apps (web and compiled) and MetroUI.</p>
<p>Once again, the future is bright.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Warming+up+to+HTML5+http%3A%2F%2Fwroolie.co.uk%2F%3Fp%3D647" title="Post to Twitter"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://www.wroolie.co.uk/2011/12/15/warming-up-to-html5/&amp;title=Warming+up+to+HTML5" title="Post to Delicious"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.wroolie.co.uk/2011/12/15/warming-up-to-html5/&amp;title=Warming+up+to+HTML5" title="Post to Digg"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-micro3.png" alt="Post to Digg" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://www.wroolie.co.uk/2011/12/15/warming-up-to-html5/&amp;t=Warming+up+to+HTML5" title="Post to Facebook"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://ping.fm/ref/?method=microblog&amp;title=Warming+up+to+HTML5&amp;link=http://www.wroolie.co.uk/2011/12/15/warming-up-to-html5/" title="Post to Ping.fm"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/ping/tt-ping-micro3.png" alt="Post to Ping.fm" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://www.wroolie.co.uk/2011/12/15/warming-up-to-html5/&amp;title=Warming+up+to+HTML5" title="Post to StumbleUpon"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/su/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p></div><p>Related posts:<ol>
<li><a href='http://www.wroolie.co.uk/2011/05/26/html5-its-dhtml-all-over-again/' rel='bookmark' title='HTML5, it&rsquo;s DHTML all over again'>HTML5, it&rsquo;s DHTML all over again</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.wroolie.co.uk/2011/12/15/warming-up-to-html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I love coding for WP7</title>
		<link>http://www.wroolie.co.uk/2011/12/08/i-love-coding-for-wp7/</link>
		<comments>http://www.wroolie.co.uk/2011/12/08/i-love-coding-for-wp7/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 17:59:06 +0000</pubDate>
		<dc:creator>Eric Wroolie</dc:creator>
				<category><![CDATA[C# Coding]]></category>

		<guid isPermaLink="false">http://www.wroolie.co.uk/2011/12/08/i-love-coding-for-wp7/</guid>
		<description><![CDATA[So, I’ve spent ages trying to learn to code on an Android.&#160; I’ve read a few books.&#160; I’ve got my dev environment all set up.&#160; I’ve coded a few test apps and put them on my phone.&#160; But the going is slow.&#160; If I were a Java developer, I’d probably be all over it. A [...]
Related posts:<ol>
<li><a href='http://www.wroolie.co.uk/2010/01/05/in-love-with-our-own-lingo/' rel='bookmark' title='In love with our own lingo'>In love with our own lingo</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>So, I’ve spent ages trying to learn to code on an Android.&#160; I’ve read a few books.&#160; I’ve got my dev environment all set up.&#160; I’ve coded a few test apps and put them on my phone.&#160; But the going is slow.&#160; If I were a Java developer, I’d probably be all over it.</p>
<p>A friend asked me to do a quick Windows Phone 7 app and I could not believe how easy it was.&#160; Since I’ve been working heavily with Silverlight for the past few years, I know most of the code already.&#160; I had to do minimal reading to get a full app up and running.&#160; It was was nice to work in Visual Studio again.&#160; Using Resharper, I was flying through the code.</p>
<p>I only wish more people had Windows Phone 7.&#160; </p>
<p>I would get a phone myself, but 3 things are holding me back currently:</p>
<ol>
<li>I don’t want to be one of 5 people in the UK with a Windows Phone 7.</li>
<li>It’s not open, like Android is.&#160; I would be at the mercy of the phone manufacturers for upgrades (like with an iPhone).</li>
<li>It doesn’t have expandable memory (to my knowledge).</li>
<li>My current contract isn’t up until April.</li>
</ol>
<p>But it’s nice to be able to write apps so quickly (since I spent so much time learning the trivial details of Silverlight).&#160; Maybe.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=I+love+coding+for+WP7+http%3A%2F%2Fwroolie.co.uk%2F%3Fp%3D646" title="Post to Twitter"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://www.wroolie.co.uk/2011/12/08/i-love-coding-for-wp7/&amp;title=I+love+coding+for+WP7" title="Post to Delicious"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.wroolie.co.uk/2011/12/08/i-love-coding-for-wp7/&amp;title=I+love+coding+for+WP7" title="Post to Digg"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-micro3.png" alt="Post to Digg" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://www.wroolie.co.uk/2011/12/08/i-love-coding-for-wp7/&amp;t=I+love+coding+for+WP7" title="Post to Facebook"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://ping.fm/ref/?method=microblog&amp;title=I+love+coding+for+WP7&amp;link=http://www.wroolie.co.uk/2011/12/08/i-love-coding-for-wp7/" title="Post to Ping.fm"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/ping/tt-ping-micro3.png" alt="Post to Ping.fm" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://www.wroolie.co.uk/2011/12/08/i-love-coding-for-wp7/&amp;title=I+love+coding+for+WP7" title="Post to StumbleUpon"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/su/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p></div><p>Related posts:<ol>
<li><a href='http://www.wroolie.co.uk/2010/01/05/in-love-with-our-own-lingo/' rel='bookmark' title='In love with our own lingo'>In love with our own lingo</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.wroolie.co.uk/2011/12/08/i-love-coding-for-wp7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The &#8220;View Source&#8221; belongs to me too.</title>
		<link>http://www.wroolie.co.uk/2011/10/18/the-view-source-belongs-to-me-too/</link>
		<comments>http://www.wroolie.co.uk/2011/10/18/the-view-source-belongs-to-me-too/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 05:45:10 +0000</pubDate>
		<dc:creator>Eric Wroolie</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[C# Coding]]></category>
		<category><![CDATA[MVC Framework]]></category>
		<category><![CDATA[Web Standards]]></category>

		<guid isPermaLink="false">http://www.wroolie.co.uk/2011/10/18/the-view-source-belongs-to-me-too/</guid>
		<description><![CDATA[For me, the sign of a good web developer (or web application developer) is someone who can right-click a web page to view the source and tell you why he did things the way he did.&#160; “I used this div to position this element over here, and used the unordered list for a sub-menu, . [...]
Related posts:<ol>
<li><a href='http://www.wroolie.co.uk/2008/07/02/6/' rel='bookmark' title='Baseball on Radio and Open Source'>Baseball on Radio and Open Source</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>For me, the sign of a good web developer (or web application developer) is someone who can right-click a web page to view the source and tell you why he did things the way he did.&#160; “I used this div to position this element over here, and used the unordered list for a sub-menu, . . . “</p>
<p>A bad web developer is someone who says “It looks fine in my browser” and “Well, I’m not a designer . . . “</p>
<p>One of the biggest crimes of ASP.net Web Forms was to strip HTML skills from new web developers.&#160; They view the source of their code (in the browser—not Visual Studio) as gobbledy-gook.&#160; And ASP.net ensures that it is.&#160; It’s full of ViewState and control names like ctl_100_className_ctrlName which the developer didn’t put there.&#160; It tried to remove the whole stateless-http challenges and make web development accessible to desktop developers.</p>
<p>I’m so very pleased every time I see a new site created with the Microsoft MVC Framework.&#160; MVC is making up for the ASP.Net webform crimes.&#160; Just like Ruby&#160; on Rails or PHP (or classic ASP), it allows the developer to think about what gets sent from the web server to the browser.&#160; When I do a site in MVC framework, I can view the source and recognize my own handy-work.&#160; I can make full use of CSS3 and jQuery.&#160; I know that everything in my user’s browser is something I put there intentionally.</p>
<p>CSS, Javascript, and HTML (along with images, flash movies, Silverlight, or other plugins) are the ingredients of any web application.&#160; Server languages like ASP, PHP, and Ruby are only tools to deliver these ingredients to the browser in unique and creative ways.&#160; A good web application developer (like a good chef) can look at his source and tell you exactly what everything does.&#160; ASP.Net webforms are like ready-meals.&#160; Everything is done for you, but you don’t really know everything that’s in it.</p>
<p>Now, don’t get me wrong, I’ve known some fantastic ASP.Net devs who build apps free of ViewState and server controls.&#160; But I’ve worked with too many who could drag a control onto a web canvas, set a few properties, and call themselves web developers.</p>
<p>I recently worked on a DotNetNuke project where we customised a third-party component.&#160; The page was not rendering as it should.&#160; ViewSource gave me a bunch of ViewState and nested tables.&#160;&#160; I knew of a 100 ways to get css to make the site look the way I wanted, but this wasn’t my source.&#160; It wasn’t even the developer’s source—it was the clientIds of the server control.&#160; Since I was struggling, a web guy (proper Mac-using, firebug-toting, standards-compliant, web guy) asked to see the source so he could suggest something.&#160; When he saw the source, he was mortified.&#160; I was embarrassed –“It’s not mine!&#160; I didn’t write it.”&#160; In the end, I hacked it with jQuery.&#160; I didn’t have the sourcecode to modify it properly.&#160; </p>
<p>The legacy of Web Forms lives on.&#160; Sharepoint 2010 is full of it.&#160; Young Microsoft developers (in the last 5 years or so) know nothing but how to use WebForms.&#160; (An ASP.net dev told me a few years ago “But I don’t know html.”).&#160; But, hopefully, one day we will get around this idea of creating tools that “do everything for you” for developers who should know to do it themselves.&#160; Just like I wouldn’t create ready meals for people who call themselves chefs.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=The+%E2%80%9CView+Source%E2%80%9D+belongs+to+me+too.+http%3A%2F%2Fwroolie.co.uk%2F%3Fp%3D644" title="Post to Twitter"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://www.wroolie.co.uk/2011/10/18/the-view-source-belongs-to-me-too/&amp;title=The+%E2%80%9CView+Source%E2%80%9D+belongs+to+me+too." title="Post to Delicious"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.wroolie.co.uk/2011/10/18/the-view-source-belongs-to-me-too/&amp;title=The+%E2%80%9CView+Source%E2%80%9D+belongs+to+me+too." title="Post to Digg"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-micro3.png" alt="Post to Digg" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://www.wroolie.co.uk/2011/10/18/the-view-source-belongs-to-me-too/&amp;t=The+%E2%80%9CView+Source%E2%80%9D+belongs+to+me+too." title="Post to Facebook"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://ping.fm/ref/?method=microblog&amp;title=The+%E2%80%9CView+Source%E2%80%9D+belongs+to+me+too.&amp;link=http://www.wroolie.co.uk/2011/10/18/the-view-source-belongs-to-me-too/" title="Post to Ping.fm"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/ping/tt-ping-micro3.png" alt="Post to Ping.fm" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://www.wroolie.co.uk/2011/10/18/the-view-source-belongs-to-me-too/&amp;title=The+%E2%80%9CView+Source%E2%80%9D+belongs+to+me+too." title="Post to StumbleUpon"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/su/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p></div><p>Related posts:<ol>
<li><a href='http://www.wroolie.co.uk/2008/07/02/6/' rel='bookmark' title='Baseball on Radio and Open Source'>Baseball on Radio and Open Source</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.wroolie.co.uk/2011/10/18/the-view-source-belongs-to-me-too/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DNN, Orchard, and Joomla&#8211;some thoughts</title>
		<link>http://www.wroolie.co.uk/2011/08/04/dnn-orchard-and-joomlasome-thoughts/</link>
		<comments>http://www.wroolie.co.uk/2011/08/04/dnn-orchard-and-joomlasome-thoughts/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 05:56:00 +0000</pubDate>
		<dc:creator>Eric Wroolie</dc:creator>
				<category><![CDATA[C# Coding]]></category>
		<category><![CDATA[Software Dev & Productivity]]></category>

		<guid isPermaLink="false">http://www.wroolie.co.uk/2011/08/04/dnn-orchard-and-joomlasome-thoughts/</guid>
		<description><![CDATA[Iâve been looking at CMS systems a lot recently.&#160; Here are some of my thoughts: DotNetNuke Iâm using DotNetNuke for a contract right now.&#160; Although itâs written in Asp.Net and I can code in that easily, itâs a pig to run.&#160; Even version 6, which was released last week, seems sluggish when run in the [...]
Related posts:<ol>
<li><a href='http://www.wroolie.co.uk/2009/07/31/some-thoughts-on-the-asp-net-mvc-framework/' rel='bookmark' title='Some thoughts on the ASP.Net MVC Framework'>Some thoughts on the ASP.Net MVC Framework</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Iâve been looking at CMS systems a lot recently.&#160; Here are some of my thoughts:</p>
<h5>DotNetNuke</h5>
<p>Iâm using DotNetNuke for a contract right now.&#160; Although itâs written in Asp.Net and I can code in that easily, itâs a pig to run.&#160; Even version 6, which was released last week, seems sluggish when run in the browser (even on my local machine with 8gb ram).&#160; </p>
<p>DNN is advancedâdonât get me wrong.&#160; There is no lazy-ness there.&#160; In fact, there is so much available in DNN, that it pains me that it runs so slowly.</p>
<p>Itâs an okay platform.&#160; But compared to MVC or PHP counterparts, the ASP.Net webforms are still far too slow and lack elegance.&#160; DNN will always have that Asp.Net webform dependency hanging around its neck.</p>
<h5>Orchard</h5>
<p>Orchard is a new CMS which was started by Microsoft.&#160; I fell in love with it last month.&#160; Itâs based on MVC3 with the razor engine.&#160; It supports multiple sites, just like DNN.&#160; There arenât many extensions or themes, but itâs written in C# so I can easily create what I need.</p>
<p>But, then . . . </p>
<p>But then I looked at the page source after it has been rendered in the browser.&#160; Although it doesnât have a lot of ugly ViewState like DNN (and all other webform pages have), it does include a lot of stuff that I didnât put there.&#160; There is huge amount of javascript added which would at least triple the size of my source.&#160; The beauty of MVC is that I have more control of the htmlâbut Orchard adds a stunning amount of code.&#160; Most of it is serialised model informationâbut Iâm not sure why it is on the client.</p>
<p>This really bothers me because I spent a lot of time working with Orchard.&#160; It is not easy to use as an Admin.&#160; While DNN is simple and I could give it to any client to customise, you have to really study Orchard just to add a few things onto a page.&#160; You canât just add something to a sidebar, for example, you have to create a layer and add a shape, and add some code so it only shows when a page uses that layer or shape.&#160; Really, it was ridiculously difficult. </p>
<p>So, Orchard adds too much to the source and is too difficult to use.&#160; But, in terms of speed, it is very fast.</p>
<h5>Joomla</h5>
<p>Okay, Joomla is PHP.&#160; Iâve done PHP projects for clients before, so Iâm fine with thatâbut I prefer C#.&#160; I looked at Joomla and Drupal just to see how they compare.</p>
<p>Joomla puts the .net CMS alternatives to shame.&#160; It is easy to set up, the code is very current, and it delivers pages super-fast.&#160; The admin interface is not as easy to use as DNN (in my opinion), but much easier than Orchard.&#160; There are loads of themes and extensions available.&#160; When I did a viewSource, all the html was what I expected it to be.</p>
<p>Why canât the .net projects be this good?</p>
<p>&#160;</p>
<p>One thing I hear a lot in my contracts are developers comparing .Net, PHP, and Java (and sometimes Rails).&#160; DotNet developers always say .Net is better.&#160; PHP and Java developers talk about how sluggish .Net is and how it is inferior because it requires being hosted on Windows (except for Monoâbut who really uses that?).&#160; The truth is, all these languages pretty much do the same thingâthey deliver HTML to the browser.&#160; You can write a site in any language and it wouldnât matter.&#160; Iâve seen .Net sites outperform PHP sites (but unfortunately, it is the other way around).&#160; </p>
<p>Iâve looked at other .net CMS systems lately too (Umbraco, Sitefinity, etc) and didnât like the look of those enough to even install.</p>
<p>I might start using Joomla.&#160; Page speed is far more important than how easy it is to code.&#160; Hopefully, someone will write a decent .Net CMS system one of these days.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=DNN%2C+Orchard%2C+and+Joomla%E2%80%93some+thoughts+http%3A%2F%2Fwroolie.co.uk%2F%3Fp%3D641" title="Post to Twitter"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://www.wroolie.co.uk/2011/08/04/dnn-orchard-and-joomlasome-thoughts/&amp;title=DNN%2C+Orchard%2C+and+Joomla%E2%80%93some+thoughts" title="Post to Delicious"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.wroolie.co.uk/2011/08/04/dnn-orchard-and-joomlasome-thoughts/&amp;title=DNN%2C+Orchard%2C+and+Joomla%E2%80%93some+thoughts" title="Post to Digg"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-micro3.png" alt="Post to Digg" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://www.wroolie.co.uk/2011/08/04/dnn-orchard-and-joomlasome-thoughts/&amp;t=DNN%2C+Orchard%2C+and+Joomla%E2%80%93some+thoughts" title="Post to Facebook"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://ping.fm/ref/?method=microblog&amp;title=DNN%2C+Orchard%2C+and+Joomla%E2%80%93some+thoughts&amp;link=http://www.wroolie.co.uk/2011/08/04/dnn-orchard-and-joomlasome-thoughts/" title="Post to Ping.fm"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/ping/tt-ping-micro3.png" alt="Post to Ping.fm" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://www.wroolie.co.uk/2011/08/04/dnn-orchard-and-joomlasome-thoughts/&amp;title=DNN%2C+Orchard%2C+and+Joomla%E2%80%93some+thoughts" title="Post to StumbleUpon"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/su/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p></div><p>Related posts:<ol>
<li><a href='http://www.wroolie.co.uk/2009/07/31/some-thoughts-on-the-asp-net-mvc-framework/' rel='bookmark' title='Some thoughts on the ASP.Net MVC Framework'>Some thoughts on the ASP.Net MVC Framework</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.wroolie.co.uk/2011/08/04/dnn-orchard-and-joomlasome-thoughts/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HTML5, it&#8217;s DHTML all over again</title>
		<link>http://www.wroolie.co.uk/2011/05/26/html5-its-dhtml-all-over-again/</link>
		<comments>http://www.wroolie.co.uk/2011/05/26/html5-its-dhtml-all-over-again/#comments</comments>
		<pubDate>Thu, 26 May 2011 05:14:57 +0000</pubDate>
		<dc:creator>Eric Wroolie</dc:creator>
				<category><![CDATA[Software Dev & Productivity]]></category>

		<guid isPermaLink="false">http://www.wroolie.co.uk/2011/05/26/html5-its-dhtml-all-over-again/</guid>
		<description><![CDATA[I watched a video from MIX 2011 called âHTML5 for Silverlight Developersâ last night and it was very compelling.&#160; I was all on-board.&#160; I would prefer to not code things in Silverlight and give my clients the caveatââbut it wonât work on an iPadâ.&#160; So, I whipped out Visual Studio and started to code. There [...]
Related posts:<ol>
<li><a href='http://www.wroolie.co.uk/2011/12/15/warming-up-to-html5/' rel='bookmark' title='Warming up to HTML5'>Warming up to HTML5</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I watched a video from MIX 2011 called â<a href="http://channel9.msdn.com/Events/MIX/MIX11/HTM14" target="_blank">HTML5 for Silverlight Developers</a>â last night and it was very compelling.&#160; I was all on-board.&#160; I would prefer to not code things in Silverlight and give my clients the caveatââbut it wonât work on an iPadâ.&#160; So, I whipped out Visual Studio and started to code.</p>
<p>There is something very cool about being able to code something and not have to wonder if they client has Silverlight installed.&#160; This was awesome.</p>
<p>Except . . . nothing works in a browser below IE9 or Chrome or Firefox or whatever.&#160; IE6 through IE8 didnât work at all.</p>
<p>I myself am a Chrome user and gave up IE long ago unless a contract requires that I use it. But most corporate environments are a long way from upgrading to IE 8, let alone the latest IE9.</p>
<p>After doing some googling, I found the <a href="http://code.google.com/p/html5shim/" target="_blank">HTML5 shim</a> which allows things to render properly in IE and the <a href="http://code.google.com/p/explorercanvas/" target="_blank">ExplorerCanvas</a> javascript plugin to allow using the canvas in IE.&#160; So, there are work-arounds.&#160; However, these plugins allowed me to do basic things in IE8âbut failed in other areas.&#160; For example, with these plugins I could draw a rectangle on the canvas in IE8âbut I couldnât implement the drag/drop interface.</p>
<p>At one point, I had 5 different browsers open and was refreshing each one after making a change to my html.&#160; Ever time, at least one of them failed.&#160; If I tried to cater for a quirk in IE, Chrome would stop working.&#160; When I got it working in Chrome, IE would give an ugly javascript error.</p>
<p>But this is nothing new.</p>
<p>Back in 1999, I bought an big Microsoft book called âDynamic HTMLâ which espoused DHTML as the future of the web.&#160; It gave loads of examples on how to create animations and include very cool stuff in your pages.&#160; DHTML was term used by Netscape and IE, but this book focused entirely on Internet Explorer.&#160; When you tried to run your same code in the counterpart Netscape browsers, nothing rendered at all and you ended up with javascript errors.&#160; The book got around the cross-browser difficulties by ignoring all other browsers.&#160; If you worked in a corporate environment and would never code on anything but Internet Explorer, DHTML (or the Microsoft version of it) was great.</p>
<p>DHTML was a broad term (as is HTML 5) and doesnât belong to company.&#160; You code to a certain specification and each browser (or device) renders that as they see fit.&#160; You have very little control over how it will look unless you code with a plugin like Flash (and now, Silverlight).</p>
<p>I have seen fantastic DHTML animations in IE which only worked in IE.&#160; I can remember seeing stunning animations in Netscape which didnât work in IE (all using âlayerâ tags).&#160; I remember last year seeing a cool Arcade Fire video in HTML 5 which worked great in Chrome but not in IE.&#160; There is still no consistency here.</p>
<p>The âHTML5 for Silverlight developersâ video was a lot like the DHTML book.&#160; It looks great until you dig deeper.</p>
<p>The reason Iâm hesitant to jump on the HTML5 bandwagon (and I reeeallly want to) is Internet Explorers slow adoption of it.&#160; Actually, itâs not Internet Explorerâsince they are implementing a lot of new features in IE9, but most corporate environments wonât take up the new browser for at least one or two years.&#160; So, if you put something on the web, you have to think about the large amount of lunchtime surfers who wonât even be able to see your page.&#160; You need to write loads of conditional code just to make sure your down-level browsers can even see a message saying âNot supported by your browserâ instead of a javascript âErrors in pageâ popup.</p>
<p>One thing you should never ask your clients is âWhat browser versions do you want this to support?â&#160; The answer is always the sameââWell, all of them.â&#160; This is why the IE-only inventions of the past (HTML+Time, background filters, etc) never took off.&#160; This is why a lot of the HTML5 featuresâas cool as they areâwonât take off either.&#160; We Chrome users donât carry enough weight yet to move the entire world to the newer code.&#160; If Apple had allowed Flash on the iPad, I donât think anyone would care about HTML5 at all.</p>
<p>I want to be converted and go back to plug-in-less web development. But so far, HTML5 (or rather, the browser creators) have let us down.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=HTML5%2C+it%E2%80%99s+DHTML+all+over+again+http%3A%2F%2Fwroolie.co.uk%2F%3Fp%3D639" title="Post to Twitter"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://www.wroolie.co.uk/2011/05/26/html5-its-dhtml-all-over-again/&amp;title=HTML5%2C+it%E2%80%99s+DHTML+all+over+again" title="Post to Delicious"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.wroolie.co.uk/2011/05/26/html5-its-dhtml-all-over-again/&amp;title=HTML5%2C+it%E2%80%99s+DHTML+all+over+again" title="Post to Digg"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-micro3.png" alt="Post to Digg" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://www.wroolie.co.uk/2011/05/26/html5-its-dhtml-all-over-again/&amp;t=HTML5%2C+it%E2%80%99s+DHTML+all+over+again" title="Post to Facebook"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://ping.fm/ref/?method=microblog&amp;title=HTML5%2C+it%E2%80%99s+DHTML+all+over+again&amp;link=http://www.wroolie.co.uk/2011/05/26/html5-its-dhtml-all-over-again/" title="Post to Ping.fm"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/ping/tt-ping-micro3.png" alt="Post to Ping.fm" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://www.wroolie.co.uk/2011/05/26/html5-its-dhtml-all-over-again/&amp;title=HTML5%2C+it%E2%80%99s+DHTML+all+over+again" title="Post to StumbleUpon"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/su/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p></div><p>Related posts:<ol>
<li><a href='http://www.wroolie.co.uk/2011/12/15/warming-up-to-html5/' rel='bookmark' title='Warming up to HTML5'>Warming up to HTML5</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.wroolie.co.uk/2011/05/26/html5-its-dhtml-all-over-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Looking forward to Silverlight 5</title>
		<link>http://www.wroolie.co.uk/2010/12/02/looking-forward-to-silverlight-5/</link>
		<comments>http://www.wroolie.co.uk/2010/12/02/looking-forward-to-silverlight-5/#comments</comments>
		<pubDate>Thu, 02 Dec 2010 19:41:45 +0000</pubDate>
		<dc:creator>Eric Wroolie</dc:creator>
				<category><![CDATA[C# Coding]]></category>
		<category><![CDATA[Software Dev & Productivity]]></category>

		<guid isPermaLink="false">http://www.wroolie.co.uk/2010/12/02/looking-forward-to-silverlight-5/</guid>
		<description><![CDATA[So, I watched the Silverlight Firestarter keynote where some of the Silverlight 5 features were revealed and have to say that it all looks really good.&#160; There were some pretty impressive interfaces demoâd.&#160; Iâm so tired of hearing how Microsoft is dumping Silverlight.&#160; The keynote alleviated some of those fears, I hope. The biggest benefit, [...]
Related posts:<ol>
<li><a href='http://www.wroolie.co.uk/2007/04/21/59/' rel='bookmark' title='Microsoft Silverlight'>Microsoft Silverlight</a></li>
<li><a href='http://www.wroolie.co.uk/2010/02/09/the-scary-thing-about-silverlight/' rel='bookmark' title='The scary thing about Silverlight . . .'>The scary thing about Silverlight . . .</a></li>
<li><a href='http://www.wroolie.co.uk/2010/11/02/i-take-back-all-the-things-ive-said-about-silverlight/' rel='bookmark' title='I take back all the things I&rsquo;ve said about Silverlight'>I take back all the things I&rsquo;ve said about Silverlight</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>So, I watched the Silverlight Firestarter keynote where some of the Silverlight 5 features were revealed and have to say that it all looks really good.&#160; </p>
<p>There were some pretty impressive interfaces demoâd.&#160; </p>
<p>Iâm so tired of hearing how Microsoft is dumping Silverlight.&#160; The keynote alleviated some of those fears, I hope.</p>
<p>The biggest benefit, I think, will be the ability to put breakpoints in xaml databinding.&#160; Most of the Silverlight problems I have are trying to figure out if the INotifyPropertyChanged event was fired for an element in my gui.&#160; </p>
<p>So, life will be easier . . . by the end of next year.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Looking+forward+to+Silverlight+5+http%3A%2F%2Fwroolie.co.uk%2F%3Fp%3D618" title="Post to Twitter"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://www.wroolie.co.uk/2010/12/02/looking-forward-to-silverlight-5/&amp;title=Looking+forward+to+Silverlight+5" title="Post to Delicious"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.wroolie.co.uk/2010/12/02/looking-forward-to-silverlight-5/&amp;title=Looking+forward+to+Silverlight+5" title="Post to Digg"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-micro3.png" alt="Post to Digg" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://www.wroolie.co.uk/2010/12/02/looking-forward-to-silverlight-5/&amp;t=Looking+forward+to+Silverlight+5" title="Post to Facebook"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://ping.fm/ref/?method=microblog&amp;title=Looking+forward+to+Silverlight+5&amp;link=http://www.wroolie.co.uk/2010/12/02/looking-forward-to-silverlight-5/" title="Post to Ping.fm"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/ping/tt-ping-micro3.png" alt="Post to Ping.fm" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://www.wroolie.co.uk/2010/12/02/looking-forward-to-silverlight-5/&amp;title=Looking+forward+to+Silverlight+5" title="Post to StumbleUpon"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/su/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p></div><p>Related posts:<ol>
<li><a href='http://www.wroolie.co.uk/2007/04/21/59/' rel='bookmark' title='Microsoft Silverlight'>Microsoft Silverlight</a></li>
<li><a href='http://www.wroolie.co.uk/2010/02/09/the-scary-thing-about-silverlight/' rel='bookmark' title='The scary thing about Silverlight . . .'>The scary thing about Silverlight . . .</a></li>
<li><a href='http://www.wroolie.co.uk/2010/11/02/i-take-back-all-the-things-ive-said-about-silverlight/' rel='bookmark' title='I take back all the things I&rsquo;ve said about Silverlight'>I take back all the things I&rsquo;ve said about Silverlight</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.wroolie.co.uk/2010/12/02/looking-forward-to-silverlight-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Homework</title>
		<link>http://www.wroolie.co.uk/2010/11/09/homework/</link>
		<comments>http://www.wroolie.co.uk/2010/11/09/homework/#comments</comments>
		<pubDate>Tue, 09 Nov 2010 05:56:45 +0000</pubDate>
		<dc:creator>Eric Wroolie</dc:creator>
				<category><![CDATA[Growing Up]]></category>
		<category><![CDATA[Software Dev & Productivity]]></category>

		<guid isPermaLink="false">http://www.wroolie.co.uk/2010/11/09/homework/</guid>
		<description><![CDATA[I was terrible about doing homework when I was a kid.Â  It was always so much easier to think of the excuse I was going to use the next day than it was to turn off the TV and just do it. I can remember too many occasions when the teacher would collect homework and [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p>I was terrible about doing homework when I was a kid.Â  It was always so much easier to think of the excuse I was going to use the next day than it was to turn off the TV and just do it.</p>
<p>I can remember too many occasions when the teacher would collect homework and try to name-and-shame me in front of the class.Â  âWhere is your homework, Eric?â</p>
<p>âI didnât do it,â I said while looking down at my desk and hoping the teacher would just move on to someone else.Â  I figured if I looked pitiful enough, he would leave me alone.</p>
<p>&#8220;Well, <em>why </em>didnât you do it?â he would insist.Â  I could see his legs at the edge of my desk as he towered above me waiting for an answer.Â  He wasnât going to accept that as my only answer. The whole classâ attention was on me.Â  I could feel my face getting hot with embarrassment, but hey, <em>Knight Rider</em> was worth it.</p>
<p>So, I gave the teacher the go-to answer for everything.Â  I give him the answer that Iâm sure all teachers loatheââI forgot.â</p>
<p>Towards the end of the school year, they usually gave up on me.Â  My parents tried everything to get me to do my homework, too.Â  But it was so easy to lie about how much homework I had.Â  Besides, I had a busy schedule starting with He-Man at 3:30 and ending with whatever prime time show was on that night before 9.</p>
<p>As I got older, the homework load got heavier and the likelihood of me doing it was much smaller.Â  My aversion to homework, along with my truancy habit, were the reasons I failed several classes in high school and went to Summer school ever year to make them up. My dad still talks about how he wasnât sure whether I would graduate from high school at all.Â  I never even applied to any colleges.</p>
<p>I can remember my mom telling me that homework was a part of life and that I would get homework all the time when I grew up and went to work.Â  I didnât really believe this.Â  Grown-ups donât have any homework.</p>
<p>Now, I do have homework.Â  But hereâs the big differenceâthe homework is not mandatory.Â  That <em>really</em> makes it difficult to do.</p>
<p>Now, I will sit down in the evenings with a big computer book read chapter after boring chapter of a subject which might not interest me in the slightest, but I need to know it.Â  I look at this homework the same way I look at running on a cold morningâthere are hundreds of reasons not to do it, but one or two compelling reasons to do it.</p>
<p>Now, my job is to stay competitive and relevant in a market that is always moving.Â  Now I must stay ahead of technology that is always shifting.Â  Now, I sell the skills and knowledge thatâs contained in between my ears.Â  My competition for work is not just in London, but in America, China, India, and the rest of the world.</p>
<p>So, I have to keep building that knowledge.Â  That means homework and studying.Â  What makes it easier is that not everyone does this.Â  To many people, if the boss doesnât demand it, or if it canât be a prominent bullet-point on the cv, itâs not worth learning.Â  The phrase I hear again and again is âThe last thing I want to do when I get home from a long day at work is think about computers.â</p>
<p>But Iâve also worked with a lot of really good people who will browse the tech manuals on the trains or watch tutorial videos in the evenings to constantly educate themselves too.</p>
<p>I remember listening to a Brian Tracy tape years ago where he said (Iâm paraphrasing), that you give eight hours to your employer and ever added hour goes to building you.</p>
<p>So, now I know the importance of homework and evening study.Â  Life would have been a lot easier if I learned it earlier.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Homework+http%3A%2F%2Fwroolie.co.uk%2F%3Fp%3D610" title="Post to Twitter"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://www.wroolie.co.uk/2010/11/09/homework/&amp;title=Homework" title="Post to Delicious"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.wroolie.co.uk/2010/11/09/homework/&amp;title=Homework" title="Post to Digg"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-micro3.png" alt="Post to Digg" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://www.wroolie.co.uk/2010/11/09/homework/&amp;t=Homework" title="Post to Facebook"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://ping.fm/ref/?method=microblog&amp;title=Homework&amp;link=http://www.wroolie.co.uk/2010/11/09/homework/" title="Post to Ping.fm"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/ping/tt-ping-micro3.png" alt="Post to Ping.fm" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://www.wroolie.co.uk/2010/11/09/homework/&amp;title=Homework" title="Post to StumbleUpon"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/su/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p></div><p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.wroolie.co.uk/2010/11/09/homework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I take back all the things I&#8217;ve said about Silverlight</title>
		<link>http://www.wroolie.co.uk/2010/11/02/i-take-back-all-the-things-ive-said-about-silverlight/</link>
		<comments>http://www.wroolie.co.uk/2010/11/02/i-take-back-all-the-things-ive-said-about-silverlight/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 05:43:46 +0000</pubDate>
		<dc:creator>Eric Wroolie</dc:creator>
				<category><![CDATA[C# Coding]]></category>
		<category><![CDATA[Software Dev & Productivity]]></category>

		<guid isPermaLink="false">http://www.wroolie.co.uk/2010/11/02/i-take-back-all-the-things-ive-said-about-silverlight/</guid>
		<description><![CDATA[After my initial resistance to using Silverlight, I have to say that I have been using it heavily for the past month and am very impressed with it.&#160; When I look at Silverlight as a web technology, I am amazed by the stuff you can do with it and how extensible it is. My apprehension [...]
Related posts:<ol>
<li><a href='http://www.wroolie.co.uk/2010/02/09/the-scary-thing-about-silverlight/' rel='bookmark' title='The scary thing about Silverlight . . .'>The scary thing about Silverlight . . .</a></li>
<li><a href='http://www.wroolie.co.uk/2010/12/02/looking-forward-to-silverlight-5/' rel='bookmark' title='Looking forward to Silverlight 5'>Looking forward to Silverlight 5</a></li>
<li><a href='http://www.wroolie.co.uk/2007/05/08/57/' rel='bookmark' title='Silverlight on Expression Blend with AVG Anti-Virus'>Silverlight on Expression Blend with AVG Anti-Virus</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>After my initial resistance to using Silverlight, I have to say that I have been using it heavily for the past month and am very impressed with it.&#160; When I look at Silverlight as a web technology, I am amazed by the stuff you can do with it and how extensible it is.</p>
<p>My apprehension was due to web standards.&#160; And I still have concerns here.&#160; Microsoft had a big win when they got SL to work on Macs as well as Windows.&#160; But the lack of a Linux version still bothers me (the Mono guys are working on this).&#160; The biggest blight on the technology is lack of iPad support.</p>
<p>I like HTML and I feel comfortable with it.&#160; When ASP.Net webforms were released 10 years ago, I felt Microsoft were trying to bring a Visual Basic-type development experience to the web.&#160; I canât tell you how many developers Iâve met who profess not to know html.&#160; They only know the very basics of html and a bunch of tags like &lt;asp:Button&gt;.&#160; With php, classic asp, and the new MVC framework, you have more control of how your page renders in different browsers because you wrote the code to do it.&#160; I guess Iâm a purist in this area.</p>
<p>But Silverlight is not html development.&#160; Itâs also not flash.&#160; Itâs more like writing a client application which runs on the desktopâbut has to play safely in a web sandbox.&#160; The rules are all different.&#160; All calls back to the server are asynchronous and you canât stop and wait for them.&#160; Binding is very heavily used, and the code-behind works better than in ASP.Net because there are no postbacks required.</p>
<p>In the past month, Iâve really geeked out.&#160; I spend most of my time thinking about the project Iâm working on and how I can improve it.&#160; Iâm reading my fourth book on Silverlight in the evenings and spending the days coding away.&#160; You might think thatâs sad (it has been said to me), but Iâm really enjoying it.&#160; It wonât last forever, so you need to take full advantage of enthusiasm when you get it.</p>
<p>Anyway, I take back some of the things I said before about Silverlight.&#160; </p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=I+take+back+all+the+things+I%E2%80%99ve+said+about+Silverlight+http%3A%2F%2Fwroolie.co.uk%2F%3Fp%3D609" title="Post to Twitter"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://www.wroolie.co.uk/2010/11/02/i-take-back-all-the-things-ive-said-about-silverlight/&amp;title=I+take+back+all+the+things+I%E2%80%99ve+said+about+Silverlight" title="Post to Delicious"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.wroolie.co.uk/2010/11/02/i-take-back-all-the-things-ive-said-about-silverlight/&amp;title=I+take+back+all+the+things+I%E2%80%99ve+said+about+Silverlight" title="Post to Digg"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-micro3.png" alt="Post to Digg" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://www.wroolie.co.uk/2010/11/02/i-take-back-all-the-things-ive-said-about-silverlight/&amp;t=I+take+back+all+the+things+I%E2%80%99ve+said+about+Silverlight" title="Post to Facebook"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://ping.fm/ref/?method=microblog&amp;title=I+take+back+all+the+things+I%E2%80%99ve+said+about+Silverlight&amp;link=http://www.wroolie.co.uk/2010/11/02/i-take-back-all-the-things-ive-said-about-silverlight/" title="Post to Ping.fm"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/ping/tt-ping-micro3.png" alt="Post to Ping.fm" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://www.wroolie.co.uk/2010/11/02/i-take-back-all-the-things-ive-said-about-silverlight/&amp;title=I+take+back+all+the+things+I%E2%80%99ve+said+about+Silverlight" title="Post to StumbleUpon"><img class="nothumb" src="http://www.wroolie.co.uk/wp-content/plugins/tweet-this/icons/en/su/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p></div><p>Related posts:<ol>
<li><a href='http://www.wroolie.co.uk/2010/02/09/the-scary-thing-about-silverlight/' rel='bookmark' title='The scary thing about Silverlight . . .'>The scary thing about Silverlight . . .</a></li>
<li><a href='http://www.wroolie.co.uk/2010/12/02/looking-forward-to-silverlight-5/' rel='bookmark' title='Looking forward to Silverlight 5'>Looking forward to Silverlight 5</a></li>
<li><a href='http://www.wroolie.co.uk/2007/05/08/57/' rel='bookmark' title='Silverlight on Expression Blend with AVG Anti-Virus'>Silverlight on Expression Blend with AVG Anti-Virus</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.wroolie.co.uk/2010/11/02/i-take-back-all-the-things-ive-said-about-silverlight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
