<?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>kdmurray.blog &#187; software</title>
	<atom:link href="http://kdmurray.net/tag/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://kdmurray.net</link>
	<description>The crossroads of life and tech</description>
	<lastBuildDate>Sun, 20 May 2012 21:42:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Programming Languages 101</title>
		<link>http://kdmurray.net/2012/05/12/programming-languages-101/</link>
		<comments>http://kdmurray.net/2012/05/12/programming-languages-101/#comments</comments>
		<pubDate>Sat, 12 May 2012 09:40:12 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[Lessons]]></category>
		<category><![CDATA[Soapbox]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[compiled]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[interpreted]]></category>
		<category><![CDATA[introduction]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://kdmurray.net/?p=1222</guid>
		<description><![CDATA[A few weeks ago I got an email from my brother asking about some programming tools for a project he wanted to try. He&#8217;s a fairly technically savvy guy, but has very little experience programming. He had asked a couple of questions which made assumptions about the lineage of some modern programming languages &#8212; assumptions [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago I got an email from my brother asking about some programming tools for a project he wanted to try. He&#8217;s a fairly technically savvy guy, but has very little experience programming. He had asked a couple of questions which made assumptions about the lineage of some modern programming languages &#8212; assumptions which are totally reasonable given the names, but which didn&#8217;t reflect the actual nature of the languages.</p>

<p>This post is based on the email response I sent him.</p>

<blockquote>
  <p><em><strong>Disclaimer:</strong> I realize that I have glossed over a number of technical details, and even introduced some of the concepts in a way which may even have some technical inaccuracies. This is not intended to be a technical manual, simply an introduction to a technical topic in terms that most non-programmers should be able to figure out.</em></p>
</blockquote>

<p>Typically there have been two primary types of programming languages, <a href="http://en.wikipedia.org/wiki/Compiler" title="Compiler on Wikipedia">compiled</a> and <a href="http://en.wikipedia.org/wiki/Interpreter_%28computing%29" title="Interpreter (computing) on Wikipedia">interpreted</a>. The source code of a compiled language is read by a lexer, parsed and then re-written into low-level machine instructions which can be executed directly on the hardware involved. Compiled languages almost always need to be recompiled for each individual platform because the physical instruction sets of <a href="http://en.wikipedia.org/wiki/X86" title="x86 Architecture (Wikipedia)">Intel (x86)</a>, <a href="http://en.wikipedia.org/wiki/SPARC" title="SPARC processors on Wikipedia">SPARC</a>, <a href="http://en.wikipedia.org/wiki/ARM" title="ARM architecture on Wikipedia">ARM</a> and other processors are all different. Operating system calls are also different. This means that code compiled to run on an Windows-based Intel machine won&#8217;t run on a Solaris-based SPARC machine.</p>

<p>Interpreted languages are not compiled. They are executed as they are read by some other process. These are sometimes called &#8220;hosted&#8221; programs since they don&#8217;t execute natively on the computer which is running them. The host process (web browser, game, or other runtime environment) reads the script line by line and then takes the appropriate action. So it&#8217;s the host process which actually reads files, communicates with the Internet or displays graphics on the screen. The interpreted language (script) is little more than a recipe. This is why differences in the implementation of the specification behind the script can cause such big problems. When you have 5 different web browsers which don&#8217;t quite agree on how to execute a particular construct of <a href="http://en.wikipedia.org/wiki/JavaScript" title="JavaScript on Wikipedia">JavaScript</a> it&#8217;s like the chef&#8217;s at 5 different restaurants having a different idea of what a medium-rare steak is. Sure it&#8217;s nice if one happens to do things the way you want, but you&#8217;ll never know until you try them all.</p>

<p><a href="http://en.wikipedia.org/wiki/C_%28programming_language%29" title="C programming language on Wikipedia">C</a> is like the grand-daddy of modern languages. It&#8217;s curly-brace syntax pervades many modern languages (<a href="http://en.wikipedia.org/wiki/C%2B%2B" title="C++ on Wikipedia">C++</a>, <a href="http://en.wikipedia.org/wiki/Java_%28programming_language%29" title="Java programming language on Wikipedia">Java</a>, <a href="http://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29" title="C# programming language on Wikipedia">C#</a>, JavaScript and many others). It is, however, a much lower-level language providing direct control of many system resources. C can also be optimized for speed and does not explicitly require any external frameworks or libraries to work. It&#8217;s a good language to have a grasp on, but may not be one you would ever use on a day-to-day basis.</p>

<p>JavaScript (a variant of and predecessor to the <a href="http://en.wikipedia.org/wiki/ECMAScript" title="ECMAScript on Wikipedia">ECMAScript</a> standard) was a language developed by Netscape in the 1990s to be a part of its web browser. Aside from the curly-brace design and the name, <a href="http://www.dannyg.com/ref/javavsjavascript.html" title="Java vs. JavaScript at dannyg.com">JS has absolutely nothing to do with Java</a>. Until very recently, JS was purely an interpreted language. Its domain was to live inside the browser and help animate funny little things on screen or possibly display messages as you filled out a form. It&#8217;s only in the past few years that JS has really taken on a more leading role as massive libraries of complex JavaScript (<a href="http://jquery.com/" title="the jQuery project">jQuery</a>) and people doing some seriously cool stuff with the language have led to uses of JS outside the browser. The <a href="http://nodejs.org/" title="The node.js project">node.js</a> project is a perfect example. Node (whose executable is written in C) will serve as an engine for running JavaScript from the command-line much in the same way as <a href="http://en.wikipedia.org/wiki/Python_%28programming_language%29" title="Python programming language on Wikipedia">Python</a>, <a href="http://en.wikipedia.org/wiki/Perl" title="Perl on Wikipedia">Perl</a> and <a href="http://en.wikipedia.org/wiki/PHP" title="PHP on Wikipedia">PHP</a> do.</p>

<p>Just as most rules are made to be broken, so is the rule about a language being either compiled or interpreted. There are some languages which are a strange (and powerful) hybrid of both. Java and C# are both compiled languages. The thing is, they don&#8217;t compile down to natively executable machine code. They compile down to an intermediate format which is then interpreted when the code is executed. This provides a mechanism for the compiler to optimize the code for faster execution, while also providing a mechanism for the code to be ported to other platforms with minimal modifications.</p>

<p>From a language perspective C# and Java are like half-siblings&#8230; both members of a generation of languages designed to help build large cross-platform enterprise business systems, which have been drawn out into other areas due to sheer popularity. Visually the two languages look almost identical, with similar features and a &#8220;C-like&#8221; syntax, but due to each one being built to operate primarily with it&#8217;s own native framework (<a href="http://msdn.microsoft.com/en-us/library/zw4w595w.aspx" title=".NET Framework Overview on msdn.microsoft.com">.NET</a> for C# and <a href="http://docs.oracle.com/javase/1.4.2/docs/api/overview-summary.html" title="J2SE API Reference on docs.oracle.com">J2SE</a> for Java) the source code is essentially incompatible with the exception of a few trivial examples.</p>

<p>This all brings me to <a href="http://html5.org/" title="html5.org">HTML5</a>. This term has to be one of the most overused, over-hyped and poorly understood technological terms of the past decade. The name would imply that HTML5 is a new version of the HTML specification, designed to replace the rather aged HTML 4 specification in use on most websites today. And technically, that&#8217;s exactly what it is. There is a new version of HTML with some new tags (like &lt;;video>; and &lt;;canvas>;) which will provide web developers with some new tools to create compelling website experiences. The problem is that there are a lot more things behind the scenes that really make the next generation of web platforms powerful. A new version of <a href="http://platform.html5.org/" title="The HTML5 web platform on html5.org">HTML is just the start</a>.</p>

<p>The new additions to the HTML DOM (Document Object Model) bring with them more powerful capabilities for JavaScript and <a href="http://en.wikipedia.org/wiki/Cascading_Style_Sheets" title="Cascading Style Sheets on Wikipedia">CSS</a> to help code and style the way web applications work. The &lt;;canvas>; element is great, but it doesn&#8217;t do much without some fabulous JavaScript code to do the heavy lifting.</p>

<p>The next iteration of the CSS will provide more versatile styling for websites, allowing designs to function both for the desktop as well as the dozens or hundreds of combinations of screen sizes and browser capabilities on modern mobile devices. There&#8217;s a big difference between the kinds of things an iPhone 4S can display compared to a 3-year old BlackBerry Bold &#8212; both of which I have on the desk in front of me.</p>

<p>To wrap this up I really wanted to thank my brother for asking the question and giving me the opportunity to examine this question in detail. It isn&#8217;t something that I think about in my day-to-day work with software, but it&#8217;s still something important that bears examining from time to time.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2012/05/12/programming-languages-101/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Accessing HttpContext objects from other classes</title>
		<link>http://kdmurray.net/2011/11/07/accessing-httpcontext-objects-from-other-classes/</link>
		<comments>http://kdmurray.net/2011/11/07/accessing-httpcontext-objects-from-other-classes/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 10:36:55 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[Lessons]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[HttpContext]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[page lifecycle]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://kdmurray.net/?p=1013</guid>
		<description><![CDATA[I could swear I wrote about this at some point in the distant past, but I couldn&#8217;t find the article this week when I needed it to help troubleshoot an issue with another developer. The issue he was having was how to access objects from the executing web page&#8217;s HttpContext object from a class other [...]]]></description>
			<content:encoded><![CDATA[<p>I could swear I wrote about this at some point in the distant past, but I couldn&#8217;t find the article this week when I needed it to help troubleshoot an issue with another developer. The issue he was having was how to access objects from the executing web page&#8217;s HttpContext object from a class other than the CodeBehind of the executing web-forms page. Essentially he was looking for a way to map a web-path to a physical folder path without needing to hard-code it or know where the application was deployed on the server in question.</p>

<p>If done correctly, an application can reside anywhere in the file system and be deployed to a virtual directory at any depth without causing a problem with URL resolution. In the code-behind of a web-forms page, the code is simple:</p>

<pre>
string physicalPath = Server.MapPath("~/somefolder/myfile.xml");
</pre>

<p>However doing this from another page involves just a little bit more work:</p>

<pre>
Using System.Web;
string physicalPath = HttpContext.Current.Server.MapPath("~/somefilder/myfile.xml");
</pre>

<p>It&#8217;s really quite straightforward when you see it, and I can&#8217;t believe that I forget how to do it. This method will also provide you access to lots of other useful objects which makeup the &#8220;state&#8221; of the application from an HTTP perspective.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2011/11/07/accessing-httpcontext-objects-from-other-classes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aftermath of a Hack</title>
		<link>http://kdmurray.net/2011/09/30/aftermath-of-a-hack/</link>
		<comments>http://kdmurray.net/2011/09/30/aftermath-of-a-hack/#comments</comments>
		<pubDate>Sat, 01 Oct 2011 04:52:17 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Soapbox]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[authorization]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[maintenance]]></category>
		<category><![CDATA[PKI]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[updates]]></category>

		<guid isPermaLink="false">http://kdmurray.net/?p=933</guid>
		<description><![CDATA[This site was hacked. While it’s still unclear exactly how it happened, or precisely when, sometime in the past 6 weeks my blog, at least 2 other websites and possibly my DreamHost shell account were all hacked. I’m generally a pretty security conscious person, but even I get lazy from time to time. It wasn’t [...]]]></description>
			<content:encoded><![CDATA[<p>This site was hacked. While it’s still unclear exactly how it happened, or precisely when, sometime in the past 6 weeks my blog, at least 2 other websites and possibly my <a href="http://www.dreamhost.com/r.cgi?105113">DreamHost</a> shell account were all hacked. I’m generally a pretty security conscious person, but even I get lazy from time to time. It wasn’t clear to me just how dangerous that laziness could be until this week. I’m going to outline a bit below some of the issues which may have led to my problems, and talk about the steps that have now been taken to help prevent them from occurring again in the future.</p>

<h2>The Problem</h2>

<p><a title="Problem Alert by Krypto, on Flickr" href="http://www.flickr.com/photos/krypto/509911344/"><img class="alignleft" style="margin: 8px;" src="http://farm1.static.flickr.com/196/509911344_a9e7d94b9d_m.jpg" alt="Problem Alert" width="180" height="135" /></a>In retrospect I can see five things I did wrong, and all of them can be traced back to laziness or perhaps, to be less forbidding, they can be traced back to actions taken (or not taken) for the sake of convenience.</p>

<h3>Error #1 &#8211; Out-of-date Software</h3>

<p>Many of us take the time to make sure our operating systems and browsers are up-to-date and fully patched; but do we take the necessary time to make sure that all of our software is patched? Particularly things which don’t reside on our home computers? If you run your own blog, forum or other website and are responsible for your own updates can you say unequivocally that you are currently running the latest and greatest version? Software that is out of date by as little as one revision may have critical vulnerabilities which could allow for disruption of your site, or even execution of commands on your web server.</p>

<p>([<em><strong>aside</strong></em>: If you don't use <a href="http://secunia.com/vulnerability_scanning/personal/" target="_blank">Secunia's PSI product</a> on your home PC at least once a month, you should.])</p>

<h3>Error #2 &#8211; Abandoned Web Properties</h3>

<p>This goes hand-in-hand with the out-of-date software but is, in some ways, a bit trickier to prevent. It is far easier to remember to update software on sites which you update and monitor on a regular basis. It’s far more difficult to monitor sites which have been, for lack of a better term, abandoned. In my case there were three separate sites on my account which were running versions of their software which were more than 12 months out-of-date. The reason was that I was no longer maintaining these sites and had, in essence, forgotten they were still there. I had hidden a couple of them by renaming the homepage which made it look (to the casual observer) like the sites weren’t there but of course all of the other pages were still in their normal locations and were full of holes.</p>

<h3>Error #3 &#8211; Shared User Accounts</h3>

<p>Sharing is good, right? Not in this case&#8230; I have a several different domains hosted under a single hosting account. DreamHost is really generous allowing customers to register any number of domains and attach them to the account. I host sites for myself, for family and for a couple of organizations I’m affiliated with. This in and of itself does not cause a problem. The security hole in my plan was that most of these domains were hosted on a single user account. This means that if that shared user account gets compromised, all of the domains which are run on that user account are potentially at risk.</p>

<h3>Error #4 &#8211; Lack of Backups</h3>

<p>The websites had no viable backups. Because no regular backups were being run of the account, it was virtually impossible to trace when the hack initially occurred. If there had been regular full or differential backups being made of the various websites it may have been possible to determine when the initial attack took place and roll all of the sites back to the way they were before they were compromised. In addition, if there had been any data loss (there does not appear to have been) the lack of backups could have meant the loss of many hours of work.</p>

<h3>Error #5 &#8211; Reused Credentials</h3>

<p>We hear it all the time – do not reuse usernames and passwords on your various accounts, particularly accounts you care about or are important. Account reuse increases the chances that a hack on one site can do more wide-spread damage than the initial compromised password should really allow. My main SSH credentials were a username and password that I had used on over 100 different sites and services. I know for sure that one of the web properties I use had these particular credentials released into the wild. Why didn&#8217;t I change the password? I don&#8217;t know. If that was the entry vector, it is quite possible that a number of other accounts of mine have also been compromised.</p>

<h2>Overall Impact</h2>

<p><a title="&quot;Fire in the Hole&quot; by jurvetson, on Flickr" href="http://www.flickr.com/photos/jurvetson/2899529924/"><img class="alignright" style="margin: 8px;" src="http://farm4.static.flickr.com/3204/2899529924_f4bdcdf6e7_m.jpg" alt="&quot;Fire in the Hole&quot;" width="83" height="120" /></a>The impact was (thankfully) minimal. Only two sites of value were compromised, and it appears that all of the data for those sites is undamaged. A number of other obsolete sites were compromised as well but as they are no longer actively used they are of no great loss.
It also appears that some sort of mass-mailing script was being run from the account as well. My server-side user account had received over 27K “Message Undeliverable” replies from various web servers. I hate to think how many it was able to send successfully.</p>

<h2>The Cleanup</h2>

<p><a title="Pug WIth Mop and Mop Bucket by zoomar, on Flickr" href="http://www.flickr.com/photos/zoomar/132638187/"><img class="alignleft" style="margin: 8px;" src="http://farm1.static.flickr.com/45/132638187_071e853af4_m.jpg" alt="Pug WIth Mop and Mop Bucket" width="240" height="197" /></a>The cleanup had to be done in phases, addressing each of the five defects individually. Some of them were very easy to change, others required quite a bit more effort to implement and verify. However before any of the remediation could begin, the site needed to be cleansed.</p>

<p>The very first step was to ensure that my local machine had not been infected or compromised. I was pretty sure that it was clean as scans are run every night, but it would be like trying to wash a car with mud. No amount of scrubbing with the muddy sponge would get it clean. The machine checked out.</p>

<p>The second step was to change the passwords for all of the users on my hosting account, and change the main password for the account itself.</p>

<p>Next, data from the websites that needed to be saved was exported. None of the code for the software running those sites was saved, only the data. There was no way to tell if the software was clean or compromised so I decided to take no chances. The application software is not that difficult to install, and I was willing to take the hit on setting up modules, components and themes anew.</p>

<p>Once the data was backed up I wiped out all of the data on the user accounts which were being preserved. This meant a full wipe from the file-system from the operating-system shell on the server. All files and directories including “hidden” and “special” folders were wiped out. Some of these operations required the assistance of a DreamHost technician.</p>

<h3>Step #1 &#8211; Remove all unused or obsolete websites</h3>

<p>This was taken care of as part of the cleanup activities mentioned above. Simply removing the affected websites greatly decreased the attack surface of the account and reduced the number of attack vectors which could be used to attack the websites and/or the account.</p>

<h3>Step #2 – Remove all un-needed user accounts</h3>

<p>In the case of any obsolete sites, test accounts or test databases, these were removed directly from the hosting provider’s control panel as they would no longer be needed. Much like response #1, there is no sense in keeping any old files or data hanging around where they might later become a liability.</p>

<h3>Step #3 &#8211; Change the passwords again</h3>

<p>Once all of the files, scripts, data, databases, directories, logs and anything else I could think of were removed from the sites, the passwords were rotated again. This was done in the off-chance that there were cached credentials or some other form of persistent authentication lurking somewhere in the ether.</p>

<h3>Step #4 &#8211; Create new per-domain user accounts</h3>

<p>For each of the domains that would be remaining active, a new user account was created specifically for that user. These accounts would be used to connect to and install the necessary software on the websites, as well as to run backup and maintenance scripts. Passwords for these accounts were set to extremely long strings of random characters as they would not be required for day-to-day access and maintenance.</p>

<h3>Step #5 &#8211; Set up public key authentication</h3>

<p>For regular access to these sites, I decided to go with public key authentication. By requiring a private key (stored in an encrypted volume on my main desktop) and a lengthy but easy-to-remember passphrase I could fairly safely rely on the same public/private key pair to secure access to all of the websites. I found out during this step that both PuTTY’s puttygen application and my hosting provider’s implementation of OpenSSH have an upper-limit on the length of the passphrase. It is still a very long upper limit, but I was surprised to find it. If you share access to a website keys can be installed for each trusted user using the same method.</p>

<h3>Step #6 – Change passwords again (optional)</h3>

<p>Once the public-key authentication is in place the account passwords can be changed at will without affecting the state of the affected keys. This means that I have effectively made the public keys the only viable way of accessing the site over SSH short of having access to the main hosting provider account to do a password reset. Admittedly this step is for the very security conscious (read: paranoid) as I was quite certain at this point that the passwords on the system at this time had not been compromised. This however is to be the first step in a regularly scheduled series of password rotations that the system will handle on my behalf as a part of standard system maintenance.</p>

<h3>Step #7 &#8211; Reinstall all server-side software</h3>

<p>Once all of the base security measures was in place and tested, I set up the application software I wanted to run on the web server. The key here is to do the set up using copies of the software obtained only from trusted sources. What a trusted source is will vary from software package to software package, but typically the main project site for an open-source project (not a mirror) or the vendor website are good places to start. In this case downloading the latest stable WordPress release from the main website &lt;link&gt;.
I made sure not to rely on previously downloaded installation packages, getting the newest most up-to-date version I could lay my hands on.</p>

<h3>Step #8 &#8211; Configure server-side software</h3>

<p>Each software package is different, but going through all the configuration steps for your software package is important: don’t try to short-cut the process. In the case of WordPress we have to set up a MySQL database, set a number of hey/hash values which are used for authorization and cookies and finally set up the user accounts. I wanted to make sure that any passwords, keys or salt values were set using long randomly-generated strings. In my case I used the password generation function in LastPass. Other options would include tools like 1Password, RoboForm or Perfect Paper Passwords &lt;Links&gt;. The longer and more random the string is, the more difficult it will be to crack. I have been using values from 24 to 64 characters in length depending on the purpose.
If you have a system that assigns default passwords for new user accounts, be sure to change those default system-generated passwords and replace them with your own strong credentials at this stage.</p>

<h3>Step #9 &#8211; Set up extensions and themes for server-side software</h3>

<p>Once I got the base configuration is in place it was time to add in the additional features I required for these sites. In my case it was a collection of WordPress plugins and themes. It is easy to forget that each extension, plugin or theme that you add to your website’s software package is in fact additional software that will be executed when the website is used. Just as with the base software package it is important to trust the source of your plugins and themes. If you are suspicious as to the origins of the software, choose something else.
I also added the plugins and themes one at a time confirming after each step that there were no immediately visible defects.</p>

<h3>Step 10 – Automated backup</h3>

<p>The next step was to add a backup script for both the website and the associated database. By building this as a shell script it was possible to schedule full backups of the various sites and have them run on a set schedule. For now the script is very simple:</p>

<ol>
    <li>Extract the contents of the database</li>
    <li>Zip the website and extracted database into a single archive</li>
    <li>Send that file over SFTP to a location off-site from the server</li>
</ol>

<p>There are other ideas for automation as well, but this post is long enough as it is. I will save those for later.</p>

<h2>Lessons Learned</h2>

<p>This could have been much worse. In many ways I count myself very lucky. I could have had all of my data wiped out, I could potentially have seen malware/scripts injected into my websites to capture login credentials or other sensitive information. This attack served as a warning and though I have had to spend a number of hours rethinking the way my websites are set up and managed, at the end of the day I will have better control over the sites I manage, better practices in place for dealing with security, and with any luck, better personal habits for dealing with information security.</p>

<p>Last, but certainly not least, a big thank you to the folks at DreamHost for confirming my initial diagnosis, helping to find the  possible entry vectors, providing guidance on cleanup and purging, and just generally doing that great customer service thing that they do.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2011/09/30/aftermath-of-a-hack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aussie Geek Podcast &#8211; Episode 46</title>
		<link>http://kdmurray.net/2011/09/27/aussie-geek-podcast-episode-46/</link>
		<comments>http://kdmurray.net/2011/09/27/aussie-geek-podcast-episode-46/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 08:11:31 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Podcasts]]></category>
		<category><![CDATA[agp]]></category>
		<category><![CDATA[applications]]></category>
		<category><![CDATA[aussie geek podcast]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Podcasting]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://kdmurray.net/?p=3</guid>
		<description><![CDATA[The latest episode of the AGP is in the feed. This week Dave and I go over a few things that took place during our long absence and discuss news from Google, Twitter and Linux. We also have some fantastic apps for mobile, tablet and web and an illuminating story of recycling and ingenuity. Dave [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://kdmurray.net/wp-content/uploads/2011/09/folder.jpg"><img class="size-thumbnail wp-image-942 alignleft" style="margin: 8px;" title="folder" src="http://kdmurray.net/wp-content/uploads/2011/09/folder-150x150.jpg" alt="" width="100" height="100" /></a>The latest episode of the AGP is in the feed. This week Dave and I go over a few things that took place during our long absence and discuss news from Google, Twitter and Linux. We also have some fantastic apps for mobile, tablet and web and an illuminating story of recycling and ingenuity.</p>

<p>Dave and I had a great time putting this show together, and I had the opportunity to produce an episode of the AGP for the first time in well over a year. It felt good to get my hands dirty again, and I think Dave appreciated the break. <img src='http://kdmurray.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<ul>
    <li><a title="Aussie Geek Podcast - 046" href="http://www.aussiegeekpodcast.com/2011/09/aussie-geek-podcast-46-keith-is-alive/" target="_blank">Visit the AGP Blog</a></li>
    <li><a title="Download AGP-046 [mp3]" href="http://www.aussiegeekpodcast.com/podpress_trac/web/596/0/agp_2011_09_19_046.mp3" target="_blank">Download the show</a> [mp3, 76 mins]</li>
    <li><a title="Subscribe to the podcast feed [rss]" href="http://www.aussiegeekpodcast.com/category/podcast/feed" target="_blank">Subscribe to the show</a> [rss]</li>
    <li><a title="Write us a review in iTunes" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=287183644" target="_blank">Write a review in iTunes</a></li>
    <li><a title="Follow @aussiegeeks on Twitter" href="http://twitter.com/aussiegeeks" target="_blank">Follow the show on Twitter</a></li>
</ul>

<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2011/09/27/aussie-geek-podcast-episode-46/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.aussiegeekpodcast.com/podpress_trac/web/596/0/agp_2011_09_19_046.mp3" length="54540288" type="audio/mpeg" />
		</item>
		<item>
		<title>Back to Basics</title>
		<link>http://kdmurray.net/2011/09/14/back-to-basics/</link>
		<comments>http://kdmurray.net/2011/09/14/back-to-basics/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 22:36:25 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[Lessons]]></category>
		<category><![CDATA[Soapbox]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[lesson]]></category>
		<category><![CDATA[parenthood]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[time management]]></category>

		<guid isPermaLink="false">http://kdmurray.net/?p=913</guid>
		<description><![CDATA[Over the past year my personal life as undergone some fairly major changes. I started a new job a little over a year back and there were the obvious changes that go along with that. But more importantly my wife and I welcomed our first child into the world and that was a life changing [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past year my personal life as undergone some fairly major changes. I started a new job a little over a year back and there were the obvious changes that go along with that. But more importantly my wife and I welcomed our first child into the world and that was a life changing moment. Now, most of you know that I don&#8217;t talk about my personal life in the blog so suffice to say that we have thoroughly enjoyed our first year as parents. It is a wonderful experience and we eagerly await every new day to see what will happen next.</p>

<p>One of the things that changes when you have a new baby is the amount of time you can spend on yourself and your own hobbies and pursuits. I used to spend upwards of 4-6 hours every day outside of work on the computer blogging, coding, or otherwise toiling in one digital adventure or another. Now I find that the number ranges somewhere in the range of 0-2 hours per day. That is a pretty drastic reduction no matter how you slice it (about 80% for those of you scoring at home).</p>

<p>There are a number of projects that I have started and stopped over the past few years each of them trying to build a better mousetrap, or re-make something from scratch just to see if I could do it. With the limited time available to me now, I have become more focused on wanting to actually do more with the time I have &#8212; this means not reinventing the wheel every chance I get.</p>

<p>My wife and I have both found that we have become far more effective with our time, getting more done with less time than we ever have before. In the past couple of months I have started to extend that to my digital life as well. Gone are the days when I focused on a writing a to-do list, a backup utility, a blogging engine, a photo manager or a disk-erasing tool. There are lots of great (free) tools out there which can handle those tasks very well, even if they don&#8217;t satisfy all my neurotic desires (like how my historic completed work tasks should be handled, cataloged and stored for reporting purposes (you know, for when I will pull metrics on my completed work)).</p>

<p>I have also decided that diving in to learn a new, modern programming language is probably something that would realistically take more time than I&#8217;m willing to devote to the enterprise. Python, Ruby, Java, and the ASP.NET MVC framework are all on my list, but are undergoing changes and enhancements so frequently that I&#8217;m having trouble keeping up with what&#8217;s out there, nevermind trying to actually learn the stuff. But I do want to become a productive programmer in some language outside the rather constrained, and somewhat self-imposed, .NET bubble in which I have spent the majority of my professional career. Ideally I would like to write in something that I can port between operating systems without too much headache. Being able to produce code that will run on anyone&#8217;s machine is a great asset &#8212; especially when you have Windows, Mac and Linux machines in your own house to start with.</p>

<p>So the question is what can I learn that will allow me to:</p>

<ol>
    <li>write code for multiple platforms</li>
    <li>grow as a developer</li>
    <li>not have to keep up with constant enhancements</li>
</ol>

<p>The answer I came to was <del>42</del> C. It seems to satisfy all of the criteria above for me in a way that other languages don&#8217;t.</p>

<p>C is by nature intended to be a multi-platform system. If you&#8217;re able to confine your applications to CGI or the command-line this is made even easier.</p>

<p>C also requires developers to know much more about how computers and compilers work than more contemporary languages like C#, Java or Python. Though it arguably makes programming more difficult, I think it will help me become a better programmer over time as I learn some of the trickier parts of getting a computer to do what I want it to do.</p>

<p>The current ANSI standard specification for C was introduced in 1999. This means that for the past 12 years, the standard for C programming has remained essentially unchanged. This makes C a good choice for someone who doesn&#8217;t have a great deal of time to keep up with changes and enhancements in the specification.</p>

<p>For all these reasons, and my own simple curiosity I&#8217;m embarking on an adventure to learn and become proficient in C. I make no assertions that I&#8217;m trying to master the language as I can&#8217;t see myself getting beyond the hobbyist or perhaps open-source contributor stages. I do have some ideas for the first couple of projects I would like to tackle once I get the basics out of the way. Hopefully I&#8217;ll be able to release some source code back into the world over the next year or two &#8212; after all, I&#8217;m in no hurry.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2011/09/14/back-to-basics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Phone 7 &#8211; First Impressions</title>
		<link>http://kdmurray.net/2011/01/09/windows-phone-7-first-impressions/</link>
		<comments>http://kdmurray.net/2011/01/09/windows-phone-7-first-impressions/#comments</comments>
		<pubDate>Sun, 09 Jan 2011 09:08:51 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[smartphone]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows Phone 7]]></category>

		<guid isPermaLink="false">http://kdmurray.net/?p=873</guid>
		<description><![CDATA[The Redmond-based software giant&#8217;s previous offering in the mobile space (the much maligned Windows Mobile) has taken a lot of flack in recent years over the quality and features (or lack thereof) in their mobile operating systems. One of the biggest challenges was the fact that Microsoft did not control the hardware stack. Vendors could [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://kdmurray.net/wp-content/uploads/2010/12/lg_optimus_711.jpg"><img class="alignleft size-medium wp-image-890" title="LG Optimus 7" src="http://kdmurray.net/wp-content/uploads/2010/12/lg_optimus_71-216x300.jpg" alt="LG Optimus 7" width="144" height="200" /></a>The Redmond-based software giant&#8217;s previous offering in the mobile space (the much maligned Windows Mobile) has taken a lot of flack in recent years over the quality and features (or lack thereof) in their mobile operating systems. One of the biggest challenges was the fact that Microsoft did not control the hardware stack. Vendors could essentially build anything they wanted with &#8220;compatible&#8221; hardware with little or no enforceable guidance from the software maker. All that has changed in 2010. Microsoft has provided <a href="http://wmpoweruser.com/windows-phone-7-minimum-specs-revealed/" target="_blank">a minimum specification</a> for Windows Phone 7 devices which seems to be providing a more consistent experience across devices, and overall better performance than in years past.</p>

<p><a href="http://kdmurray.net/wp-content/uploads/2011/01/NotAnIphone11.png"><img class="alignright size-full wp-image-900" title="NotAnIphone" src="http://kdmurray.net/wp-content/uploads/2011/01/NotAnIphone11.png" alt="" width="180" height="125" /></a>In trying to describe it over the past couple of days I keep finding myself referring to it as &#8216;not an iPhone&#8217;. Though it shares many of the same features and capabilities of its iOS brethren, it doesn&#8217;t follow the lead in OS design. The overall feel of the UI is very fluid. Screen transitions both in the OS and within many if the applications are smooth and scrollong through long lists of data or</p>

<p>The main screen of the WP7 interface is the set of configurable &#8216;Live Tiles&#8217;. These are in essence large icons which can also be updated by the apps they belong to. Messaging and email applications, for example, display the number of new message and the Marketplace app shows the number of apps you have which are waiting for an update.</p>

<p>The second panel on the main screen is the application list. All of the applications are displayed on a single scrollable list. This alone is a break with the now traditional layout of iOS and Android devices displaying screens and screens if icons. This difference provides an instant differentiation for the new Windows devices.</p>

<p>The one class of applications that is treated differently is games. Games are all listed from within the XBox Live hub isolating them a bit from the rest of the applications.</p>

<p>In the last sentence I mentioned a hub. This is the second major concept that the OS introduces. The hubs are, for want of a better term, points of convergence that bring together disparate sources of similar information. The best and most cited sample of this is the &#8216;peope hub&#8217;. the people hub allows you to merge in your contacts from your (multiple) email accounts and join it to contact information in your MSN messenger account and even your Facebook friends. The people hub uses all of that information to create a single list of contacts each of which contains information from the various sources.</p>

<p>The convergence of the people hub is nice. I&#8217;ll be happier once the OS can expand beyond Facebook and Windows Live to incorporate the services I actually use on a regular basis like Twitter, GoogleTalk, Tumblr and Flickr.</p>

<p>So far so good for the newest mobile OS. I&#8217;ll have more posts coming in the next few weeks getting into some of these features in more detail, covering other aspects of the Windows Phone 7 ecosystem, and hopefully touching on the developer story for WP7.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2011/01/09/windows-phone-7-first-impressions/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Honing the Craft</title>
		<link>http://kdmurray.net/2009/08/10/honing-the-craft/</link>
		<comments>http://kdmurray.net/2009/08/10/honing-the-craft/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 00:47:27 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[Soapbox]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[musings]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://kdmurray.net/?p=711</guid>
		<description><![CDATA[We were on vacation for a couple of months back staying with my wife&#8217;s family in the US.  I didn&#8217;t completely unplug during the trip, though I wasn&#8217;t checking work email, my personal accounts were down to a cursory glance once-per-day, and I&#8217;ve dialed back on the Twitter usage quite significantly. In some of my [...]]]></description>
			<content:encoded><![CDATA[<p>We were on vacation for a couple of months back staying with my wife&#8217;s family in the US.   I didn&#8217;t completely unplug during the trip, though I wasn&#8217;t checking work email, my personal accounts were down to a cursory glance once-per-day, and I&#8217;ve dialed back on the Twitter usage quite significantly.</p>

<p>In some of my relaxation time (while babysitting my sleeping 7-month old niece) I got the chance to do a bit of software development.  My brother-in-law and I got to talking one night about a project he was hoping to get some help with.  He had asked me as an adviser, and since the work was similar to things I&#8217;d done for work in the past I felt compelled to offer to help.</p>

<p>The project itself was simple enough: take this text file and put its contents into an Access database.  The process has reminded me about why I like software development, and why I miss it.</p>

<p>Over the course of the next couple of weeks we went through a half-dozen iterations of the application, much in the same way that I would have worked with end-users inside our business unit at work.  It allowed me to work through a problem, understanding the true nature of the business problem that he was trying to solve, not necessarily just the problem as it was described in the initial requirements discussion.</p>

<p>I had the chance to pull out skills that I hadn&#8217;t exercised much in the past couple of years since my job role has changed, which was a great shift for me.  It&#8217;s given me the push I needed to get the podcast going, and to dive in to a few of my other projects with a bit more gusto.  Software is a craft, and its one that I need to continue to hone as time moves forward.  I could probably be considered little more than an apprentice right now, but with the entire Internet as my journeyman instructor I should be able to earn my ticket in the months to come.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2009/08/10/honing-the-craft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>32 Great Podcasts from my Podroll</title>
		<link>http://kdmurray.net/2009/07/10/32-great-podcasts-from-my-podroll/</link>
		<comments>http://kdmurray.net/2009/07/10/32-great-podcasts-from-my-podroll/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 08:09:06 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[agp]]></category>
		<category><![CDATA[aussiegeeks]]></category>
		<category><![CDATA[bbc]]></category>
		<category><![CDATA[cbc]]></category>
		<category><![CDATA[commandn]]></category>
		<category><![CDATA[dot net rocks]]></category>
		<category><![CDATA[grammar]]></category>
		<category><![CDATA[hanselminutes]]></category>
		<category><![CDATA[herding code]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[it]]></category>
		<category><![CDATA[it pro]]></category>
		<category><![CDATA[knightcast]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[Podcasting]]></category>
		<category><![CDATA[podcasts]]></category>
		<category><![CDATA[polymorphic podcast]]></category>
		<category><![CDATA[pwop]]></category>
		<category><![CDATA[science]]></category>
		<category><![CDATA[shows]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[trends]]></category>

		<guid isPermaLink="false">http://kdmurray.net/?p=721</guid>
		<description><![CDATA[Inspired by this post from Bill Wagner&#8217;s blog, here&#8217;s a quick look at what&#8217;s on my Podroll these days.  I&#8217;ve listed each show below with its affiliated network or originating broadcaster in parentheses.  Please have a look through the list and post any other great shows in the comments.  I&#8217;d also love to know what [...]]]></description>
			<content:encoded><![CDATA[<p>Inspired by <a href="http://srtsolutions.com/blogs/billwagner/archive/2008/03/18/my-podcast-roll.aspx" target="_blank">this post from Bill Wagner&#8217;s blog</a>, here&#8217;s a quick look at what&#8217;s on my Podroll these days.  I&#8217;ve listed each show below with its affiliated network or originating broadcaster in parentheses.  Please have a look through the list and post any other great shows in the comments.  I&#8217;d also love to know what you think about the recommendations!</p>

<h3>Science &amp; Technology Shows</h3>

<p><a href="http://www.aussiegeekpodcast.com/" target="_blank">Aussie Geek Podcast</a> &#8211; Bloody Awesome Tech. Two Aussies (Dave and Cait) and a Canadian (that&#8217;s me!) put their unique slants on the technology news, applications sites and services each week (or so).</p>

<p><a href="http://commandn.tv/" target="_blank">CommandN</a> &#8211; Amber Macarthur and friends bring you a weekly dose of tech news.</p>

<p><a href="http://www.bbc.co.uk/podcasts/series/digitalp" target="_blank">Digital Planet</a> (<a href="http://www.bbc.co.uk/podcasts/" target="_blank">BBC</a>) &#8211; The BBC&#8217;s weekly technology show looking at trends in tech and how they affect your daily life, hosted by Gareth Mitchell.</p>

<p><a href="http://www.bbc.co.uk/podcasts/series/discovery" target="_blank">Discovery</a> (<a href="http://www.bbc.co.uk/podcasts/" target="_blank">BBC</a>) &#8211; A weekly science documentary examining hot trends and profound topics in the world of science.</p>

<p><a href="http://www.knightwise.com/" target="_blank">Knightcast</a> &#8211; Tuning tech into your way of life, Knightwise offers a look at ways to make technology work for you, instead of the other way around.</p>

<p><a href="http://www.macosken.com/" target="_blank">Mac OS Ken</a> &#8211; A daily dose of Mac (and iPhone) news delivered by the sarcastic, funny and insightful Ken Ray.</p>

<p><a href="http://oneminutetip.com/" target="_blank">One Minute Tip</a> (<a href="http://techpodcasts.com/" target="_blank">TP</a>) &#8211; Byte-sized pieces of knowledge to help you be just a bit more productive with your everyday tech.</p>

<p><a href="http://podcastersemporium.com/" target="_blank">Podcasters&#8217; Emporium</a> (<a href="http://lifestylepodnetwork.com/lifestyle-podnetwork-show-guide.asp" target="_blank">LPN</a>) &#8211; James Williams and Dave Gray cover all the topics you need to know to become a better podcaster.</p>

<p><a href="http://www.cbc.ca/quirks/" target="_blank">Quirks and Quarks</a> (<a href="http://cbc.ca/podcasting" target="_blank">CBC</a>) &#8211; Bob MacDonald&#8217;s weekly look at science and technology from the CBC mothership.  The show looks at new and emerging sciences and technologies, often with an eye towards how they affect our environment.</p>

<p><a href="http://www.runasradio.com/" target="_blank">Run As Radio</a> (<a href="http://pwop.com/podcasts.aspx" target="_blank">PWOP</a>) &#8211; Richard Campbell and Greg Hughes provide a weekly batch of insightful trends and topics for the IT pro.</p>

<p><a href="http://twit.tv/sn" target="_blank">Security Now</a> (<a href="http://www.twit.tv/" target="_blank">TWiT</a>) &#8211; Steve Gibson&#8217;s weekly dose of security news and security-related topics is very insigtful  (even better if you skip over Leo Laporte&#8217;s TWiT ads).</p>

<p><a href="http://tvo.org/searchengine" target="_blank">Search Engine</a> (<a href="http://tvo.org/" target="_blank">TVO</a>) &#8211; Jesse Brown&#8217;s brutally honest opinions and reviews of life in the Internet age.</p>

<p><a href="http://www.theskepticsguide.org/sgu.aspx?MasterPodcastId=1" target="_blank">The Skeptic&#8217;s Guide to the Universe</a> &#8211; Members of the New England Skeptical Society debunk the myths and frauds of the scientific age.</p>

<p><a href="http://www.theskepticsguide.org/sgu.aspx?MasterPodcastId=2" target="_blank">The Skeptic&#8217;s Guide 5&#215;5</a> &#8211; A shorter companion podcast for the Skeptic&#8217;s Guide to the Universe.</p>

<p><a href="http://cbc.ca/spark" target="_blank">Spark</a> (<a href="http://www.cbc.ca/podcasting/" target="_blank">CBC</a>) &#8211; Focusing on the softer side of tech, trends and how these things work their way into our day-to-day lives.</p>

<h3>Software Development Shows</h3>

<p><a href="http://hanselminutes.com/" target="_blank">Hanselminutes</a> (<a href="http://pwop.com/podcasts.aspx" target="_blank">PWOP</a>) &#8211; Scott Hanselman&#8217;s weekly look at software and technology topics with his inside the MS machine take on things.</p>

<p><a href="http://herdingcode.com/" target="_blank">Herding Code</a> &#8211; A group of &#8220;real-world&#8221; developers discussing topics and technology that affect code-slingers everywhere.</p>

<p><a href="http://dotnetrocks.com/" target="_blank">.NET Rocks!</a> (<a href="http://pwop.com/podcasts.aspx" target="_blank">PWOP</a>) &#8211; .NET Rocks brings together the incomparable Carl Franklin and Richard Campbell who interview cool and interesting people in the Microsoft developer space.</p>

<p><a href="http://polymorphicpodcast.com/" target="_blank">Polymorphic Podcast</a> &#8211; Craig Shoemaker&#8217;s periodic exploration of software and best practices for .NET developers was one of the first software podcasts I started listening to.</p>

<p><a href="http://blog.stackoverflow.com/category/podcasts/" target="_blank">Stack Overflow</a> &#8211; Jeff atwood and Joel Spolsky&#8217;s companion podcast to the Stack Overflow Q&amp;A site project.  A weekly chat about the project, interesting Stack Overflow questions and other software topics.</p>

<h3>Humour &amp; Entertainment Shows</h3>

<p><a href="http://monday.pwop.com/" target="_blank">Mondays</a> (<a href="http://pwop.com/podcasts.aspx" target="_blank">PWOP</a>) &#8211; Mondays is a comedy show from the crew at PWOP that&#8217;s released on a somewhat sporadic basis.  This one&#8217;s definitely NSFW &#8212; unless you have headphones. =)</p>

<p><a href="http://pendantaudio.com/defiant.php" target="_blank">Star Trek: Defiant</a> &#8211; A fan-fiction podcast set a number of years after the events in Star Trek: Nemesis. Produced by the crew at <a href="http://pendantaudio.com/" target="_blank">Pendant Audio</a> with a fairly talented voice crew.  It&#8217;s a good listen.</p>

<p><a href="http://shows.lifestylepodnetwork.info/2schooners/" target="_blank">Two Schooners</a> (<a href="http://lifestylepodnetwork.com/lifestyle-podnetwork-show-guide.asp" target="_blank">LPN</a>) &#8211; Dave Gray and James Williams get together again for a somewhat less serious show covering the weird and hilarious stories of the week over a schooner of their favourite brew.</p>

<h3>Business / News Shows</h3>

<p><a href="http://www.cknw.com/_SHARED/Podcasts/public/RSS.aspx?PID=1105" target="_blank">Campbell&#8217;s Comment</a> (<a href="http://www.cknw.com/podcasts.aspx" target="_blank">CKNW</a>) &#8211; Michael Campbell&#8217;s daily business comment.</p>

<p><a href="http://getitdone.quickanddirtytips.com/" target="_blank">Get It Done Guy</a> (<a href="http://quickanddirtytips.com/" target="_blank">QD Tips</a>) &#8211; Sever Robins provides great productivity tips, business tips and general &#8220;how-to-cope-with-life-after-college&#8221; tips.</p>

<p><a href="http://manners.quickanddirtytips.com/" target="_blank">Modern Manners Guy</a> (<a href="http://quickanddirtytips.com/" target="_blank">QD Tips</a>) &#8211; The Modern Manners Guy&#8217;s advice on how not to inconvenience those around you.</p>

<p><a href="http://nutritiondiva.quickanddirtytips.com/" target="_blank">Nutrition Diva</a> (<a href="http://quickanddirtytips.com/" target="_blank">QD Tips</a>) &#8211; Eat better, and learn about food myths that&#8217;ll keep you on the healthy track.</p>

<p><a href="http://www.cknw.com/_SHARED/Podcasts/public/RSS.aspx?PID=1103" target="_blank">Reality Check</a> (<a href="http://www.cknw.com/podcasts.aspx" target="_blank">CKNW</a>) &#8211; Bruce Allen&#8217;s pull-no-punches daily comment about social issues and pop culture.</p>

<p><a href="http://www.cknw.com/_SHARED/Podcasts/public/RSS.aspx?PID=1104" target="_blank">Sports Comment</a> (<a href="http://www.cknw.com/podcasts.aspx" target="_blank">CKNW</a>) &#8211; Neil McRae and others provide a comment on the sports world from a Vancouver perspective.</p>

<h3>Grammar / Language Shows</h3>

<p><a href="http://grammar.quickanddirtytips.com/" target="_blank">Grammar Girl</a> (<a href="http://quickanddirtytips.com/" target="_blank">QD Tips</a>) &#8211; Mignon Fogarty&#8217;s weekly language show will help you tackle the tricky issues of trying to write successfully in the English language.</p>

<p><a href="http://kalyespeak.com/" target="_blank">Kalye Speak</a> &#8211; Learn tagalog as filipino&#8217;s actually speak it.  By far the most successful podcast of its kind.</p>

<p><a href="http://podictionary.com/" target="_blank">Podictionary</a> &#8211; Charles Hodgeson gives great background on the etymology of words that we use every day. The show is insightful, fun and concise.</p>

<p>It&#8217;s been fun putting this list together.  I&#8217;d love to hear your comments on these shows, or others that you listen to regularly.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2009/07/10/32-great-podcasts-from-my-podroll/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Top 4 iPod Touch Applications that I&#8217;ve Paid For</title>
		<link>http://kdmurray.net/2009/07/09/top-ipod-touch-applications-that-ive-paid-for/</link>
		<comments>http://kdmurray.net/2009/07/09/top-ipod-touch-applications-that-ive-paid-for/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 23:44:04 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[1password]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[crayon physics]]></category>
		<category><![CDATA[Downloads]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod Touch]]></category>
		<category><![CDATA[ishoot]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[space trader]]></category>
		<category><![CDATA[Utilities]]></category>

		<guid isPermaLink="false">http://kdmurray.net/?p=647</guid>
		<description><![CDATA[Over the past decade or so I&#8217;ve become a strong believer in paying for media that I consume &#8212; not surprisingly this coincides with my ability to afford to buy stuff.  In the spirit of promoting the concept of paying back those who provide us with great software, I give you my Top 4 iPod [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past decade or so I&#8217;ve become a strong believer in paying for media that I consume &#8212; not surprisingly this coincides with my ability to afford to buy stuff.  In the spirit of promoting the concept of paying back those who provide us with great software, I give you my <strong>Top 4 iPod Touch Applications</strong> that I&#8217;ve actually purchased.</p>

<h3>1Password</h3>

<p>1Password is a password manager for MacOS X which late last year released a version of their application which works with the iPhone and iPod touch.  Both the desktop and handheld versions of the application are brilliant and provide a great credential management service for those running the appropriate devices.  If you&#8217;re a slider like many of us are starting to become, it may not be the solution for you since there&#8217;s no version of 1Password available for Windows or any flavour of Linux.</p>

<p><a href="http://agilewebsolutions.com/products/b/1Password" target="_blank">Website</a> | <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=285897618&amp;mt=8" target="_blank">App store</a> | <a href="http://twitter.com/1password" target="_blank">Twitter </a></p>

<h3>Crayon Physics</h3>

<p>Again coming from desktop-based roots Crayon Physics is a simplistic looking game for the iPod Touch.  The goal is simple, draw the tools you need to get the ball to the goal.  The trick is you need to be able to anticipate how those tools will react to gravity, friction and impacts with other objects.  Give Crayon Physics a try if you want a game that&#8217;s challenging enough to make you think, but easy enough to actually complete.</p>

<p>Note: the desktop version was licensed by Kloonigames to Hudson Soft, so they&#8217;re technically not related.</p>

<p><a href="http://www.dothehudson.net/en/app/crayon-physics/index.html" target="_blank">Website</a> | <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=300830915&amp;mt=8" target="_blank">App store</a></p>

<h3>iShoot</h3>

<p>iShoot is a great replication of games that were super-popular in the early 1990s like Worms and my favourite Scorched Earth.  Battle it out with the computer or up to three other human players in a tank-on-tank-on-tank-on-tank battle with weird and wonderful weapons of all kinds.  A recent release of the game also includes the ability to define your own rules, terrains and weapons making it a truly personalized experience.</p>

<p><a href="http://www.ethannicholas.com/iShoot/" target="_blank">Website</a> | <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=293798654&amp;mt=8&amp;ei=eUFWSrGsOpLKsQOD56D0AQ&amp;usg=AFQjCNGsRu6HruAL4bYlU6QfweW2I2d8rg&amp;sig2=J7czmuoh7rxEr4MlTn7XlA" target="_blank">App store</a> | <a href="http://twitter.com/EthanNicholas" target="_blank">Twitter</a></p>

<h3>SpaceTrader</h3>

<p>Modelled after games with the same name on other platforms, and of course loosely based on Wing Commander: Privateer, SpaceTrader allows you to fly from planet to planet as a trader in an effort to make as much money as possible.  This game is the only 3D entry on the list with a fairly rich 3D environment that you can walk around and explore.  I had some memory issues with this game early on, but working with the developer and sending in some crash logs a newer release seems to have licked that problem.  Give this a try as a neat alternative to the 2D side scrollers.</p>

<p><a href="http://www.hermitworksentertainment.com/games_spacetradermoon.php" target="_blank">Website</a> | <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=308909290" target="_blank">App store</a></p>

<p>Which applications have you purchased?  Or are you more of a JailBreak type?  Party in the comments&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2009/07/09/top-ipod-touch-applications-that-ive-paid-for/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Windows 7 RTM in July??</title>
		<link>http://kdmurray.net/2009/07/04/windows-7-rtm-in-july/</link>
		<comments>http://kdmurray.net/2009/07/04/windows-7-rtm-in-july/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 04:47:30 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows7]]></category>

		<guid isPermaLink="false">http://kdmurray.net/?p=717</guid>
		<description><![CDATA[Tonight the tubes of the Interwebs are all atwitter with rumours that Microsoft may reach the release-to-manufacturer (RTM) milestone for Windows 7 in July. The date being bandied about is July 13th which coincides with a Microsoft event in New Orleans. This is stunning news particularly when thinking back to the release of Windows Vista [...]]]></description>
			<content:encoded><![CDATA[<p>Tonight the tubes of the Interwebs are all atwitter with rumours that Microsoft may reach the release-to-manufacturer (<a href="http://en.wikipedia.org/wiki/Software_release_life_cycle#RTM" target="_blank">RTM</a>) milestone for <a href="http://windows.microsoft.com/en-US/windows7/products/home?os=nonwin7" target="_blank">Windows 7</a> in July.  The date being bandied about is July 13th which coincides with a Microsoft event in New Orleans.</p>

<p>This is stunning news particularly when thinking back to the release of Windows Vista 18 months ago.  Vista was pushed back a number of times and the delays caused the operating system no end of grief when the OS failed to meet the expectations of consumers when it hit the street in 2007.</p>

<p>A Windows 7 RTM in July would mean that desktops and laptops enabled with Windows 7 may be ready for consumers in time for the key back-to-school buying season.  Add to this that PC vendors like <a href="http://www.alienware.com/" target="_blank">Alienware</a> are already selling Windows Vista licenses with <a href="http://www.alienware.com/microsite/windows-7/windows-7-upgrade.aspx" target="_blank">a Windows 7 upgrade offer</a>; and that <a href="http://www.microsoft.com/windows/buy/offers/pre-order.aspx" target="_blank">Microsoft is taking pre-orders</a> for the OS, and it really smells like Windows 7 is not far off.</p>

<p>Sources: <a href="http://arstechnica.com/microsoft/news/2009/07/windows-7-to-rtm-on-july-13-2009.ars" target="_blank">Ars Technica</a>, <a href="http://geeksmack.net/microsoft/438-confirmed-windows-7-to-rtm-july-13th.html" target="_blank">Geeksmack</a>, <a href="http://twitter.com/codinghorror" target="_blank">@Codinghorror</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2009/07/04/windows-7-rtm-in-july/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Regaining my Chops</title>
		<link>http://kdmurray.net/2009/06/30/regaining-my-chops/</link>
		<comments>http://kdmurray.net/2009/06/30/regaining-my-chops/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 07:10:15 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[Soapbox]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[commenting]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://kdmurray.net/?p=713</guid>
		<description><![CDATA[It&#8217;s been a good long while since I&#8217;ve written much in the way of production code. I&#8217;ve tinkered here and there with some small side projects, but rarely have I given much thought into how those pieces of code were written so long as they got the job done; after all I didn&#8217;t expect that [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a good long while since I&#8217;ve written much in the way of production code.  I&#8217;ve tinkered here and there with some small side projects, but rarely have I given much thought into how those pieces of code were written so long as they got the job done; after all I didn&#8217;t expect that the code would ever leave my own desk.</p>

<p>During a recent vacation I had the opportunity to help my brother-in-law with a project.  It took a few iterations but we managed to get some code written which fulfilled the need in just a few nights&#8217; work.  Though the complexity was about the same as my own small personal projects, this project was different.   It was for a client &#8212; albeit a client who I wasn&#8217;t charging money for the work.   Someone else was going to read and maintain this code so I knew that I had to take some measures that I hadn&#8217;t been used to taking recently.</p>

<p><span style="text-decoration: underline;"><strong>The first was <a title="Posts tagged 'Refactoring' on Stack Overflow" href="http://stackoverflow.com/questions/tagged/refactoring" target="_blank">refactoring</a></strong></span>.  I refactored the crap out of this application &#8212; and for the most part things worked out nicely.  I was able to turn all my poorly named and one-character variable names into elements and objects with meaningful monikers.</p>

<p><span style="text-decoration: underline;"><strong><a title="Posts tagged 'Comments' on Stack Overflow" href="http://stackoverflow.com/questions/tagged/comments" target="_blank">Commenting</a> was the next step</strong></span>.  After the refactoring was completed I could move on to the next step of the application which was to put in some descriptive comments in the applications.  These comments describe not the what, but the why.   This is the approach I&#8217;ve tried to take relying on good naming within the application to describe the what, and comments to provide rationale.</p>

<p>The final thing I did was take my brother-in-law through the code.  He has a background in software but has never done much in the way of OO (he writes Cobol) and hasn&#8217;t ever worked with the .NET languages.  In doing the walkthrough we came across a few minor issues and a couple of small enhancements for the application.</p>

<p>All told I spent about 25 hours working on this project, and in that short amount of time, I really did begin to regain my programming chops.  I&#8217;ve got a ways to go yet before I get to a level that I&#8217;d be comfortable with, but it&#8217;s a start.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2009/06/30/regaining-my-chops/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mac vs. PC :: Will my next computer be a Mac?</title>
		<link>http://kdmurray.net/2009/05/18/mac-vs-pc-will-my-next-computer-be-a-mac/</link>
		<comments>http://kdmurray.net/2009/05/18/mac-vs-pc-will-my-next-computer-be-a-mac/#comments</comments>
		<pubDate>Mon, 18 May 2009 07:40:50 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Soapbox]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[apple vs. microsoft]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[mac vs. pc]]></category>
		<category><![CDATA[mac vs. windows]]></category>
		<category><![CDATA[MacBook]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://kdmurray.net/?p=541</guid>
		<description><![CDATA[It&#8217;s been about two and a half years since I made the switch from being a dedicated Windows user to buying my first Mac. I have really enjoyed my MacBook and wanted to take a few moments to discuss some of the differences and similarities I&#8217;ve found with the Mac ownership experience, compared to my [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://kdmurray.net/wp-content/uploads/2009/05/macwin11.png"><img class="alignleft size-thumbnail wp-image-700" style="border: 0pt none; margin: 8px;" title="macwin" src="http://kdmurray.net/wp-content/uploads/2009/05/macwin1-150x150.png" alt="macwin" width="150" height="150" /></a>It&#8217;s been about two and a half years since I made the switch from being a dedicated Windows user to <a href="http://kdmurray.net/2006/09/21/macbook-day-1/" target="_blank">buying my first Mac</a>. I have really enjoyed my MacBook and wanted to take a few moments to discuss some of the differences and similarities I&#8217;ve found with the Mac ownership experience, compared to my earlier (and ongoing) experiences with the Windows platform.</p>

<p><span style="text-decoration: underline;"><strong>Marketing and Markets</strong></span>
Both <a href="http://blogs.computerworld.com/five_reasons_why_vista_beats_mac_os_x" target="_blank">Windows</a> and <a href="http://www.tuaw.com/2008/03/24/why-the-mac-is-better-than-the-pc-crapware/" target="_blank">Mac</a> <a href="http://apcmag.com/15_reasons_macs_are_still_better_than_windows.htm" target="_blank">enthusiasts</a> love to <a href="http://mac.elated.com/2008/12/12/10-ways-that-windows-is-better-than-mac-os/" target="_blank">evangelize</a> about their platform of choice.  It&#8217;s human nature, we all want people to know how smart we are for choosing the best of what&#8217;s available.</p>

<p><a href="http://kdmurray.net/wp-content/uploads/2009/05/so1cialpiechart11.png"><img class="alignright size-full wp-image-698" style="border: 0pt none; margin: 8px;" title="socialpiechart" src="http://kdmurray.net/wp-content/uploads/2009/05/so1cialpiechart11.png" alt="socialpiechart" width="250" height="176" /></a>As is often the case with most of these &#8220;<a href="http://www.google.com/search?hl=en&amp;safe=off&amp;rlz=1B3GGGL_enCA298CA298&amp;num=100&amp;q=mac+windows+holy+war&amp;btnG=Search" target="_blank">holy wars</a>&#8221; the smaller market tends to be more vocal, and more likely to point out all the flaws in its larger competitor.  This is certainly the case with the Apple community.  From the endless stream of &#8220;<a href="http://www.apple.com/getamac/ads/" target="_blank">Get a Mac</a>&#8221; ads and their <a href="http://www.youtube.com/watch?v=f3ZTCZW_cRw" target="_blank">YouTube parody counterparts</a> to news releases and security firms touting the reduced target area of not running Windows, those who have and love Macs are always there to tell you that the solution to every problem with MS Windows is to simply <a href="http://www.macdailynews.com/index.php/weblog/comments/4463/" target="_blank">get a mac</a>.</p>

<p>And it&#8217;s not like Microsoft hasn&#8217;t provided a great deal of ammo for the pundits to use in their PR-muskets.  From the troubled launch of Windows Vista to the <a href="http://www.fool.com/investing/value/2008/05/06/leaving-so-zune.aspx" target="_blank">sad state of what is the Zune</a> to the rather pathetic <a href="http://www.youtube.com/watch?v=hi1se9rH7S8" target="_blank">I&#8217;m a PC</a> ad campaign Apple has certainly made up ground on the Redmond-based software giant.  Since 2001, Apple has nearly tripled their market share.  That&#8217;s a very significant jump for any company.  But let&#8217;s be realistic about what that really means.  The Mac maker has raised its market share from <a href="http://www.systemshootouts.org/?q=node/204" target="_blank">about 3.5%</a> to somewhere around the 10% mark.  Even with Apple&#8217;s huge growth over the past 8 years, nine out of every 10 computers sold is running a version of Microsoft Windows.</p>

<p><a href="http://kdmurray.net/wp-content/uploads/2009/05/telus-blackberry-8330-sm11.gif"><img class="alignleft size-full wp-image-701" style="border: 0pt none;" title="telus-blackberry-8330-sm" src="http://kdmurray.net/wp-content/uploads/2009/05/telus-blackberry-8330-sm11.gif" alt="telus-blackberry-8330-sm" width="147" height="200" /></a>As a result, Microsoft for their part shrugs off the attacks of the all things &#8220;i&#8221; maker, often ignoring the marketing onslaught and focusing on its target market: the Enterprise.  Does anyone remember when Apple launched the 3G iPhone, App Store and support for <a href="http://www.apple.com/iphone/enterprise/" target="_blank">Enterprise features on the iPhone</a>?  Apple certainly hasn&#8217;t made great strides into the corporate handheld market, which is something the Microsoft does better, but that Research In Motion&#8217;s <a href="http://www.cellphones.ca/cell-phones/reviews/40847/" target="_blank">BlackBerry does extremely well</a> &#8212; but that&#8217;s a topic for another post.  Microsoft and Apple both make products which can be used in the business markets.  But time after time, companies are continuing to choose the Microsoft platform over that of Apple, a huge percentage of the 90% that Microsoft controls in the operating systems space is thanks to the purchases of large companies.  If one were to examine only consumer purchases of computers, Apple would fare much better, probably <a href="http://www.macnn.com/articles/08/04/01/piper.mac.marketshare/" target="_blank">somewhere around the 20% mark</a> in parts of the world.</p>

<p>The consumer market is without question Apple&#8217;s strongest.  By developing a series of technologies and services that all work well together, it&#8217;s quite possible to change over your entire home to run on Apple technology.  From beautifully designed <a href="http://www.apple.com/imac/" target="_blank">iMacs</a> that can sit proudly in your living room, to powerful <a href="http://www.apple.com/macpro/" target="_blank">Mac Pros</a> that can serve content for the entire household, to <a href="http://www.apple.com/appletv/" target="_blank">AppleTV</a> which can sit atop your HD digital cable box and serve as an all-in-one media centre, to the <a href="http://www.apple.com/airportextreme/" target="_blank">AirPort Extreme</a> and <a href="http://www.apple.com/timecapsule/" target="_blank">Time Capsule</a> backup consoles to manage your network and keep everything interconnected.  <a href="http://kdmurray.net/wp-content/uploads/2009/05/appletax11.png"><img class="alignright size-medium wp-image-702" style="border: 0pt none; margin: 4px;" title="appletax" src="http://kdmurray.net/wp-content/uploads/2009/05/appletax1-248x300.png" alt="appletax" width="166" height="200" /></a>Add to that Apple&#8217;s iTunes and Mobile Me services and you&#8217;ve got an entire suite of hardware and software that talks to each other almost flawlessly, and really does make your day-to-day computing experience much smoother.  There&#8217;s only one catch, <a href="http://blogs.computerworld.com/ballmer_on_the_500_apple_tax_the_man_was_right" target="_blank">the Apple Tax</a>.</p>

<p>The Apple Tax is what those outside the Apple community call the difference between the price of a Mac, and the price of the most closely aligned (in hardware specs at least) PC.  Often times the difference between a Mac and a PC comes in between 20% and 40%, with the Macs invariably being the more expensive machines.  PC enthusiasts will shame people for wasting their money on &#8220;pretty hardware&#8221; while the Mac community talks about security, ease of use and bundled software.  Over the past three years or so I&#8217;ve come to realize that the reason this debate won&#8217;t die is that they&#8217;re all right.</p>

<p><span style="text-decoration: underline;"><strong>My Mac Experience</strong></span></p>

<p><a href="http://kdmurray.net/wp-content/uploads/2009/05/mac_leo11.jpg"><img class="alignright size-medium wp-image-703" style="border: 0pt none; margin: 8px;" title="mac_leo" src="http://kdmurray.net/wp-content/uploads/2009/05/mac_leo1-300x200.jpg" alt="mac_leo" width="300" height="200" /></a>When I first picked up my Macbook one of the things that excited me about the experience was the new-ness of it.  This was a computing platform that I wasn&#8217;t particularly familiar with, and since I considered myself to be something of a technology afficionado I figured I should jump in and see what all the fuss was really about.</p>

<p>Within hours I had posted my first blog post and was happily exploring the features of OS X Tiger.  There were a few quirks of the Mac OS that drove (drive) me nuts but overall it was a pretty good experience.  Much more polished than other Windows alternatives (RedHat, Ubuntu, Fedora) that I&#8217;d looked at in the past.  One of the strongest points in the Mac&#8217;s favour early on was the Unix-style BSD-based terminal.  This is where, for me at least, some of the magic of OS X came into play.</p>

<p>I&#8217;ve always been a command-line geek.  There&#8217;s no question in my mind that computers function at their best when they don&#8217;t need to worry about drawing a &#8220;pretty picture&#8221; for us lazy humans.  Command-line applications (and for that matter services/daemons) run better, and more often than not, more reliably than applications with elegant user-interfaces.  Being able to explore the world of the UNIX/Linux command line on my shiny new Mac was indeed a revelation for me.  It even led to me <a href="http://kdmurray.net/2007/04/03/getting-wget-for-os-x-104x/" target="_blank">porting the wget</a> application to run on Mac OS X.  This wasn&#8217;t something that I&#8217;d ever consider trying to do for Windows, though it probably isn&#8217;t much more difficult.</p>

<p><a href="http://kdmurray.net/wp-content/uploads/2009/05/mpkg11.png"><img class="alignleft size-full wp-image-706" style="border: 0pt none; margin: 8px;" title="mpkg" src="http://kdmurray.net/wp-content/uploads/2009/05/mpkg11.png" alt="mpkg" width="144" height="107" /></a>As time moved forward I really enjoyed my MacBook. Adding new applications to the computer was as simple as downloading them from the Internet and in most cases dragging the application to the Applications folder.  In other cases I would need to double-click an .mpkg file to run the installer.</p>

<p>But I noticed after a while that all the software I&#8217;d been downloading for my Mac Lab Rat segments for the old version of the podcast had really cluttered up my system.  Thankfully OS X allows you to clean up all of that mess from the installations with just the drag of a mouse.  Yep, that&#8217;s right. To uninstall an application from OS X, you just need to drag it to the trash can.  That&#8217;s much simpler than un-installing programs on Windows, right?  Well, that&#8217;s not really the whole truth.</p>

<p>First off, you need to understand how a Mac stores applications.  Each application is stored in a package ending with a .app extension.  This is, in reality, just a folder that contains the majority of the files that the application uses.  Dragging &#8220;the application&#8221; to the trash is really just a way of deleting the application folder.  But with many applications <a href="http://macmost.com/macmost-now-157-uninstalling-applications-on-mac-os-x.html" target="_blank">this doesn&#8217;t delete the entire application footprint</a>.</p>

<p>There are two folders where applications store the majority of their extra files and these are the /Library and the /Users/&lt;username&gt;/Library folders.  Apple&#8217;s own recording application GarageBand stores over 1.5GB of files in these library folders, removing the application using the Drag-and-Drop method will leave those files on your computer.</p>

<p><span style="text-decoration: underline;"><strong>Malware &amp; Baddies</strong></span>
<a href="http://kdmurray.net/wp-content/uploads/2009/05/toxic-waste11.jpg"><img class="alignleft size-thumbnail wp-image-705" style="border: 0pt none; margin: 6px;" title="toxic-waste" src="http://kdmurray.net/wp-content/uploads/2009/05/toxic-waste1-150x150.jpg" alt="toxic-waste" width="150" height="150" /></a>There&#8217;s no question that anyone who buys a Mac today, or has bought one in the past 10 years has experienced but a fraction of a percentage of the malware, spyware, viruses and badness that Windows owners have to deal with on a regular basis.  <a href="http://www.apple.com/macosx/features/300.html#security" target="_blank">Apple touts this fact</a> when they promote their Macs as one would expect, and as they should. The lack of these problems on a Mac is a great reason to use the system.  Mac fanboys would have you believe that the Mac Operating System is fundamentally designed to be more secure. They talk about the fact that because you&#8217;re less likely to be infected by problems on a Mac, the Mac OS is orders of magnitude more secure than Windows.  But notice nowhere does it say that there are <a href="http://www.techworld.com/security/news/index.cfm?newsid=1798" target="_blank">fewer vulnerabilities in OS X than in Windows</a>.</p>

<p>The reality is that with Windows&#8217; huge market share (remember the 90% number we talked about earlier?) they are the 10,000lb gorilla.  When your next biggest competitor makes up less than 10% of the market, it&#8217;s clear who will be the target. (For those in the business of building gorilla killin&#8217; helicopters (malware), the real target is <a href="http://en.wikipedia.org/wiki/King_Kong" target="_blank">King Kong</a> not <a href="http://en.wikipedia.org/wiki/Nim_Chimpsky" target="_blank">Nim Chimpsky</a>.)</p>

<p>If you&#8217;re writing malware of any kind, you&#8217;re typically doing it in one of two ways:</p>

<ol>
    <li> Target companies</li>
    <li> Target the highest number of people possible</li>
</ol>

<p>The majority of malware authors choose to go with option #2: cast a wide net and see how many fish you can catch.  If your net is set to catch Windows machines, the sheer math of it will get you more infected machines than if you were to target the much smaller Mac market.  That said, with success comes difficulty.  Mac users are starting to see pockets of activity targeting OS X.  Consider the Pwn to Own competitions that security companies have run for the past few years. Invariably, <a href="http://www.engadget.com/2008/03/27/pwn-2-own-over-macbook-air-gets-seized-in-2-minutes-flat/" target="_blank">OS X has been compromised at each of them</a>, and in most cases extremely quickly. Modern operating systems are all susceptible to exploits and security holes. Even <a href="http://www.linux.com/archive/feature/40730" target="_blank">linux systems are vulnerable</a> to attacks, they simply have the benefit of a large number of people to quickly patch holes and a user community generally less susceptible to getting themselves infected.  OS X <a href="http://www.channelinsider.com/c/a/Security/Macs-Not-Bulletproof-Security-Researcher-Proves-207440/" target="_blank">is not an invulnerable</a> operating system.</p>

<p><span style="text-decoration: underline;"><strong>Software &#8211; Included and Excluded</strong></span></p>

<p><a href="http://kdmurray.net/wp-content/uploads/2009/05/macapps11.jpg"><img class="size-medium wp-image-704 alignleft" style="border: 0pt none; margin: 6px;" title="macapps" src="http://kdmurray.net/wp-content/uploads/2009/05/macapps1-300x176.jpg" alt="macapps" width="150" height="88" /></a>It&#8217;s often touted that the software included on Mac Systems helps to <a href="http://www.testfreaks.com/blog/information/new-apple-ads-aim-to-justify-their-price-tags/" target="_blank">justify the increased price tag</a> of purchasing these machines. It does help, to be sure. The quality of the included software is quite high, and allows you to manage photos, music &amp; email, make videos, burn movies, and record audio.  What Apple doesn&#8217;t want you to know is that there are lots of applications out there for Windows too, some of which may even be bundled with your system when you buy it.  Consistency is Apple&#8217;s strongest point. They can use phrases like &#8220;iLife comes with every new Mac&#8221;.</p>

<p>I&#8217;ve used every application that comes with iLife at least once.  The most frequently used applications being <a href="http://www.apple.com/ilife/iphoto/" target="_blank">iPhoto</a> and <a href="http://www.apple.com/ilife/garageband/" target="_blank">GarageBand</a>; unfortunately I&#8217;ve not been overly satisfied with either and the only reason I stuck with them is that they were for all intents and purposes free applications.  iPhoto in particular lacked a number of features, the most obvious of which is the ability to organize images into folder hierarchies.  This has been fixed in the latest version, but I don&#8217;t feel like paying $69 for something that free apps like Picasa can do for free.</p>

<p>GarageBand has worked out quite well for the most part, but does leave a few things to be desired.  The interface is excellent, making creating podcasts and other recorded audio quick and fairly intuitive.  It becomes obvious fairly quickly though that this product too is targeted at a consumer audience as there are a number of audio manipulation features missing including fine grain control over cutting and pasting audio, and the application crashes with my podcast files once it gets over an hour in length.</p>

<p>While the iLife suite is touted as being partial justification of the increased cost of the Macs, in many cases I&#8217;ve abandoned these applications in favour of free applications that I was able to download from the Internet.  I&#8217;m in the midst of replacing iPhoto with <a href="http://picasa.google.com/" target="_blank">Picasa</a> and GarageBand with <a href="http://audacity.sourceforge.net/" target="_blank">Audacity</a> (which admittedly is missing a bunch of features too, so I&#8217;ll probably have to use both).</p>

<p>Coming from a Windows world, I was accustomed to being able to find software online that did what I needed my computer to do, and the vast majority of the time not having to pay for it &#8212; and let me be clear, I&#8217;m talking <a href="http://sourceforge.net/">SourceForge</a>, not <a href="http://piratebay.org" target="_self">PirateBay</a>.  What I found in coming to the Mac world is that commercial ISVs (independent software vendors) were far more common for home-use applications on the Mac than for Windows.  Translation: If you want it, be prepared to pay for it.  Third-party developers have done a great job of writing software that has a Mac look &amp; feel.  <a href="http://developer.apple.com/documentation/userexperience/Conceptual/AppleHIGuidelines/index.html" target="_blank">Apple</a> and <a href="http://msdn.microsoft.com/en-us/library/aa511258.aspx" target="_blank">Microsoft</a> both publish guidelines on best practices for developing software for their respective platforms.  The ISVs that publish software for the Mac do a great job of creating a quality product the only catch of course being that you need to buy the apps.  There is open-source software available on the Mac, but as with the malware developers. the open-source community prefers to stick to platforms where they can get the most eyeballs on their product.</p>

<p><span style="text-decoration: underline;"><strong>Getting Things Done</strong></span>
<a href="http://kdmurray.net/wp-content/uploads/2009/05/checkmark11.jpg"><img class="alignleft size-thumbnail wp-image-707" title="checkmark" src="http://kdmurray.net/wp-content/uploads/2009/05/checkmark1-150x150.jpg" alt="checkmark" width="150" height="150" /></a>This is far and away the most subjective category in my review.  There is no question that I&#8217;ve been extremely productive with my MacBook over the past three years.  I&#8217;ve written hundreds of blog posts, contributed to my online forums, remotely managed software on my websites, handled email, instant messaging, twitter, virtualization and managed my online life.  The thing is, most of the time I&#8217;m not using a Mac specific application to do those tasks.  All of my Internet activity is done using <a href="http://www.mozilla.com/en-US/firefox/" target="_blank">FireFox</a> rather than Apple&#8217;s own Safari browser.  The main reason for that is that I find Safari to be a bit clumsy to use, and above all else, I miss the ability to download tons of <a href="http://addons.mozilla.org/" target="_blank">free plugins and extensions</a> for the browser that make my online life better.</p>

<p>One task where the Mac has a leg up on Windows, conceptually at least, is the fact that it&#8217;s built-in command-line interface is <a href="http://en.wikipedia.org/wiki/History_of_Mac_OS_X" target="_blank">based on BSD</a>.  This means that all of the default tools for handling command-line operations in a Unix environment are already present, and the most important of those for me is SSH.  Native command-line support of SSH makes administering my web servers a more seamless task, and despite the fact that it&#8217;s command-line in nature, that may be the most Mac-like feature of my Macbook.  I can get this done on windows without much effort as well, but with the Mac, this truly was built-in from the get-go.</p>

<p><span style="text-decoration: underline;"><strong>Re-Staging Systems</strong></span>
<a href="http://www.flickr.com/photos/basajaun/1964965958/"><img class="alignleft" style="border: 0pt none; margin: 8px;" src="http://farm3.static.flickr.com/2365/1964965958_db57eb6cdf_m_d.jpg" alt="" width="160" height="120" /></a>I&#8217;m hard on my computers.  I always have been.  Every system I&#8217;ve ever owned prior to my MacBook has been re-staged or re-imaged about once per year.  Sometimes this was for OS upgrades, sometimes because it had become slow and unusable, and sometimes because I wanted to try a major configuration change to make the computer more useful to me.  Something that really appealed to me about the Mac from those I&#8217;d spoken to prior to purchasing it was the idea that all of this would be gone once I got a mac.  Never would I need to do the dreaded &#8220;<a href="http://blogs.zdnet.com/hardware/?p=4121" target="_blank">wipe and reload</a>&#8221; operation that I&#8217;d become used to in Windows.  The reality is, I&#8217;ve re-staged my Macbook about the same number of times (if not more) than I had originally done on Windows.</p>

<ol>
    <li>Bought a new Mac</li>
    <li>Over the course of the first 6-8 months, downloaded every piece of Mac software I could find. Un-installing them left me with a clutter of junk in the &#8220;Library folder&#8221; for the dozens and dozens of apps I had removed. To clear this up permanently, I re-staged the computer.</li>
    <li>About 6 months later, I wanted to try out the pre-release version of Boot-Camp that came with OS X 10.4.  Unfortunately after the previous re-installation I had chosen a &#8220;case-sensitive&#8221; file system &#8212; this doesn&#8217;t work well with Boot Camp.  I re-staged the computer.</li>
    <li>When OS X 10.5 came out, I felt somewhat duty-bound to pick up the new release on it&#8217;s first day of RTM.  To put this on, I followed my policy with all OS updates (and the advice I had found online) which is to always start clean. I re-staged the computer.</li>
    <li>I decided a few months later that I wanted to try dual-booting my computer with Windows and OS X 10.5, unfortunately I had filled up my 80 GB hard drive so much that the OS X couldn&#8217;t create a decent boot partition.  I re-staged the computer.</li>
    <li>Several months later I bought a new 320 GB hard drive and promptly proceeded to load it into my Mac.  Since the Boot-camp thing wasn&#8217;t really working out anyway I decided this would be a great time to get a fresh start.  I re-staged the computer.</li>
</ol>

<p>Over the 32 months since I&#8217;ve owned the Macbook, I&#8217;ve re-staged the machine five times.  That&#8217;s about once every 6 months give-or-take.  That&#8217;s a bit more often than my Windows machines annual re-load, but I figure two of them were due to my unfamiliarity with the Mac OS.  So three times in three years, I call that a draw.</p>

<p><span style="text-decoration: underline;"><strong>Conclusion &#8211; Will my next computer be a Mac?</strong></span>
After looking at my Mac experience objectively for a couple of months as I&#8217;ve written this article on and off, I&#8217;ve come to two undeniable truths about how the Mac fits in to my life.</p>

<ol>
    <li>The Mac is an outstanding computer, that does nearly everything that I&#8217;ve ever needed it to.</li>
    <li>For me, it isn&#8217;t worth the 30-40% premium over a comparable Windows-based notebook.</li>
</ol>

<p>I really do love my Macbook, and I&#8217;m going to find a way to keep it running and in active service until it simply becomes too expensive to maintain (read: need to replace the battery, or a system component out of warranty).  But I also know that my next machine, which will be a replacement for the desktops in my basement will most likely be an off-the-shelf PC.  The vast majority of what I do on my computer is done on the Internet.  The applications I use on my Mac every single day are Firefox, Thunderbird, MSN, TweetDeck, TextPad and the CLI SSH client.  All of those applications are available on every single computer that I&#8217;ve ever used.  So when I buy the next system, the only decision for me as far as operating systems go, will be whether I buy <a href="http://www.microsoft.com/windows/windows-7/default.aspx" target="_blank">Windows</a>, or install the latest <a href="https://wiki.ubuntu.com/LTS" target="_blank">LTS</a> edition of <a href="http://www.ubuntu.com/getubuntu" target="_blank">Ubuntu</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2009/05/18/mac-vs-pc-will-my-next-computer-be-a-mac/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Stack Overflow &#8211; Where Experts Exchange Information</title>
		<link>http://kdmurray.net/2009/05/17/stack-overflow-where-experts-exchange-information/</link>
		<comments>http://kdmurray.net/2009/05/17/stack-overflow-where-experts-exchange-information/#comments</comments>
		<pubDate>Sun, 17 May 2009 08:46:27 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[sites]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[stack overflow]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://kdmurray.net/?p=690</guid>
		<description><![CDATA[Last year a new Q&#38;A site for developers called Stack Overflow was opened to the public. We covered the site a bit on an episode of the AGP a few months back, but I just realized the other day that I hadn&#8217;t posted about it here. The site is focused on the interaction between software [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://stackoverflow.com/"><img class="size-full wp-image-692 alignleft" style="border: 0pt none; margin-right: 4px; margin-left: 4px;" title="so" src="http://kdmurray.net/wp-content/uploads/2009/05/so11.png" alt="so" width="250" height="61" /></a>Last year a new Q&amp;A site for developers called <a href="http://www.stackoverflow.com/" target="_self">Stack Overflow</a> was opened to the public.  We covered the site a bit on an episode of the <a href="http://www.aussiegeekpodcast.com/" target="_blank">AGP</a> a few months back, but I just realized the other day that I hadn&#8217;t posted about it here.</p>

<p>The site is focused on the interaction between software developers which is truly how most of us learn the best &#8212; by working with, interacting with and drawing on the wisdom of other developers.</p>

<p>The site draws on a whole bunch of different elements that set it apart from other Q&amp;A sites.  Creator <a href="http://www.codinghorror.com/blog/" target="_blank">Jeff Atwood</a> describes <a href="http://stackoverflow.com/about" target="_blank">Stack Overflow</a> as a free Q&amp;A site that&#8217;s built and maintained by the community of developers.</p>

<p>While the site was built to answer developers&#8217; questions, it also has some stiff competition in the form of the <a href="http://experts-exchange.com/" target="_blank">Experts&#8217; Exchange</a>.  Most developers know about EE, and are annoyed by the fact that the site purports to charge money for access to the answers to development questions.  As it turns out, it&#8217;s all available for free, you just need to look around a bit harder to find stuff.</p>

<p>Stack Overflow has been built with transparency and ease of use in mind since its inception; the model is to get as many eyeballs on a question as needed to get a good answer.  Good questions and good answers are up-voted by the community &#8212; similar to the way Digg works, except it&#8217;s harder to game the system.  Up-votes provide reputation points which at lower levels unlock some of the site&#8217;s features.  The site also gives out badges for meeting certain goals on the site, based on the ability to get badges or special goals on Xbox live.</p>

<p>Jeff Atwood&#8217;s passion is around developing software from a more human perspective. Much of the design of the site for Stack Overflow, and the code behind it are based on driving positive behaviours within the developer community.  Instead of lots of hard-and-fast rules, there are easy ways to do good things, and more difficult ways to do things that shouldn&#8217;t be overdone.</p>

<p>As a side-note, Stack Overflow&#8217;s codebase is written in C# using the <a href="http://asp.net/mvc" target="_blank">ASP.NET MVC</a> framework, and has been in use since the very early CTP days of MVC.  It&#8217;s a great example of the power that can be brought to bear on the web with this toolset.</p>

<p>I love the site, it&#8217;s been a great resource for me for the past year or so, and I highly recommend it to anyone who has a development dilemma that they need to solve.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2009/05/17/stack-overflow-where-experts-exchange-information/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Five Step Guide to Restoring Your Computer</title>
		<link>http://kdmurray.net/2009/03/14/five-step-guide-to-restoring-your-computer/</link>
		<comments>http://kdmurray.net/2009/03/14/five-step-guide-to-restoring-your-computer/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 09:28:50 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[Lessons]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[7zip]]></category>
		<category><![CDATA[avast]]></category>
		<category><![CDATA[corrupted]]></category>
		<category><![CDATA[Downloads]]></category>
		<category><![CDATA[evernote]]></category>
		<category><![CDATA[feed demon]]></category>
		<category><![CDATA[filezilla]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[infected]]></category>
		<category><![CDATA[iso recorder]]></category>
		<category><![CDATA[junky]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[notepad++]]></category>
		<category><![CDATA[old]]></category>
		<category><![CDATA[open office]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[paint.net]]></category>
		<category><![CDATA[reinstall]]></category>
		<category><![CDATA[restore]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[system]]></category>
		<category><![CDATA[thunderbird]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[visual studio express]]></category>
		<category><![CDATA[vlc]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://kdmurray.net/?p=583</guid>
		<description><![CDATA[There are lots of reasons that we fall out of love with our computers.  Slow performance, viruses. spyware and just plain too-much-crap-all-over-the-place syndrome.  The only way you can be sure to solve these issues is to wipe and re-load your system.  If you have all the install disks for Windows (or your OS of choice) [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/sarahbaker/280931642/in/photostream" target="_blank"><img class="alignleft size-full wp-image-589" style="border: 0pt none; margin: 5px;" title="broken_computer" src="http://kdmurray.net/wp-content/uploads/2009/03/broken_computer11.jpg" alt="broken_computer" width="167" height="220" /></a>There are lots of reasons that we fall out of love with our computers.  Slow performance, viruses. spyware and just plain too-much-crap-all-over-the-place syndrome.  The only way you can be sure to solve these issues is to wipe and re-load your system.  If you have all the install disks for Windows (or your OS of choice) and your software, the process is fairly straightforward.  <strong>Mac/Linux fanboy warning</strong>: I&#8217;m going to use Windows examples and software in most cases&#8230; deal with it.</p>

<p>After the tutorial, I&#8217;ve included a list of applications that you can use to make your computing life better.  The list contains free and open-source software from the original developers that you can trust on your newly cleaned system.  I highly recommend reading over the list, and even trying a few of them out on your current system before installing any of your old apps and tools.</p>

<h3>Things you&#8217;ll need</h3>

<ul>
    <li>Infected (or otherwise underperforming computer)</li>
    <li>OS re-install disks (<strong>and product keys!!</strong>)</li>
    <li>External hard drive (strongly recommended) -or-</li>
    <li>Backup media (CDs, DVDs)</li>
</ul>

<h3>Step 1: Backup your data</h3>

<p><a href="http://www.flickr.com/photos/wysz/56852074/" target="_blank"><img class="size-full wp-image-590 alignright" style="margin: 4px;" title="backup" src="http://kdmurray.net/wp-content/uploads/2009/03/backup11.jpg" alt="backup" width="160" height="120" /></a>You should already have a backup process in place to keep all of your data secure.  If you do, good for you but that doesn&#8217;t mean you can skip this step.  If you have, or have been able to purchase an external hard drive use that to backup the data. It&#8217;s much faster, and far more convenient than trying to backup to external media like CDs and DVDs.  <strong>Make sure that you take <em>everything</em> you want to have on your new system.</strong> Often overlooked folders include your bookmarks (favourites) and desktop.  These won&#8217;t be captured in your Documents folder by default.</p>

<h3>Step 2: Reinstall your system</h3>

<p>This is the part that makes everyone queasy. The &#8220;delete everything and re-install&#8221; part.  But fear not, it isn&#8217;t as daunting as it sounds.  Once all the data has been backed up, put the Windows (or other OS) disk in the drive and reboot the computer.  Once the system comes back up, follow the prompts.</p>

<p>Select the partition to install Windows on.  In most cases, if you want to restore the system the way that it was, you can select the C: drive where the old Windows  install was located.  If you want to get into partitioning strategies that&#8217;s for another post.</p>

<p>If you&#8217;re in doubt format the drive using the NTFS system. It&#8217;s the default for most contemporary Windows systems and will work for 99% of people.  <em>Yes, Mac/Linux fanboys, I realize that it&#8217;s a Windows specific file format.  You guys can use HFS+ (Mac) or ext3 (Linux).</em></p>

<p>Believe it or not that&#8217;s the &#8220;tricky&#8221; part.  Follow the remaining prompts through the text portion, and GUI portion of the setup to choose your username, password, time-zone settings, network settings etc.  These are pretty well all common sense.</p>

<h3>Step 3: Patching and Packing</h3>

<p>Unless you&#8217;ve learned the <a href="http://kdmurray.net/2008/08/08/how-to-slipstream-windows-xp-sp3/" target="_blank">secrets to Slipstreaming</a> prior to this re-install (in which case you probably don&#8217;t need this tutorial) you&#8217;ll need to install all the latest updates, patches and service packs for your system.</p>

<p>The majority of these can be installed through the Microsoft Update (Windows Update) site.  The updater can be run from your Start menu, or by pointing a browser at <a href="http://update.microsoft.com/" target="_blank">http://update.microsoft.com/</a>.</p>

<p>It&#8217;s really important to get these updates in as quickly as possible because typically the CD you&#8217;re using to install the system is a couple of years old (particularly with Windows XP disks) and will be missing a ton of important security updates.  You may need to run this process a number of times before it catches everything.  Just continue the process until the update program tells you that there are no further updates available for your system.</p>

<h3>Step 4: Re-install your applications</h3>

<p>Here we go. Putting back all that was lost.  The first step is to install your heavy hitters installed.  Office, Visual Studio, Adobe Creative Suite &#8212; the things that take up Gigabytes of space on the disk.  After that, the smaller things, utilities, tools, games.  Check out the software list at the bottom of this post.</p>

<p>Once everything else is done, install your anti-virus or security software. This may be a controversial decision for most but I base the logic on the following: AV programs make software installation painfully slow.  The chances you&#8217;ll be infected while you&#8217;re doing the updates are minimal, so save yourself a bunch of time and do this last.</p>

<h3>Step 5: Restore your data</h3>

<p>Copy back all of the data you backed up in step 1.  This includes your bookmarks (you did back those up, right?), and anything you wanted to keep on your desktop.  Putting these pieces back is the last step to making the system your own again.</p>

<p>Realistically you’re looking at killing a full day with the whole process, depending how much data you have the backup/restore can take a few hours, but the process is pretty straightforward if you stay organized.  <img src='http://kdmurray.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<h3>Free software to help you out</h3>

<p>Once you&#8217;re in the application re-install stage, there are lots of free tools that you can use to get your system working the same, or better than it was before.  The other reason is that these applications are great alternatives to trying to find pirated applications off the Internet.  Here they are, in no particular order:</p>

<ul>
    <li><a href="http://www.7-zip.org/download.html" target="_blank">7Zip</a> &#8211; an archiving / compression utility supporting a wide range of formats</li>
    <li><a href="http://isorecorder.alexfeinman.com/isorecorder.htm" target="_blank">ISO Recorder</a> &#8211; Write ISO images directly from Windows explorer</li>
    <li><a href="http://www.avast.com/eng/download-avast-home.html" target="_blank">Avast</a> &#8211; Free anti-virus application with regular updates</li>
    <li><a href="http://www.getpaint.net/" target="_blank">Paint.NET</a> &#8211; Photoshop-like image &amp; graphic editing program</li>
    <li><a href="http://www.mozilla.com/en-US/firefox/" target="_blank">Firefox</a> &#8211; Alternative (?) web browser</li>
    <li><a href="http://www.mozillamessaging.com/en-US/thunderbird/" target="_blank">Thuderbird</a> &#8211; Email client</li>
    <li><a href="http://www.newsgator.com/Individuals/FeedDemon/Default.aspx" target="_blank">Feed Demon</a> &#8211; Powerful full-featured RSS reader &amp; aggregator</li>
    <li><a href="http://filezilla-project.org/" target="_blank">FileZilla</a> &#8211; FTP/SFTP/SCP client</li>
    <li><a href="http://www.openoffice.org/" target="_blank">Open Office</a> &#8211; Alternative word processor, spreadsheet, presentation &amp; database</li>
    <li><a href="http://www.videolan.org/vlc/" target="_blank">VLC</a> &#8211; Media player that supports nearly every format known to mankind</li>
    <li><a href="http://evernote.com/about/download/" target="_blank">Evernote</a> &#8211; Note taking/keeping application that sync&#8217;s with the web</li>
    <li><a href="http://notepad-plus.sourceforge.net/uk/download.php" target="_blank">Notepad++</a> &#8211; Tabbed notepad application</li>
    <li><a href="http://www.microsoft.com/express/" target="_blank">Visual Studio Express</a> &#8211; Free versions of the Microsoft development tools</li>
</ul>

<p>I hope this guide has proven informative, and will help you to move forward with your computing life.  Bring back that computer that has lost its lustre and make it uber-useful again.</p>

<p>Photo credits: <a href="http://www.flickr.com/photos/wysz/56852074/" target="_blank">wysz</a>, <a href="http://www.flickr.com/photos/sarahbaker/280931642/in/photostream" target="_blank">S Baker</a> on Flickr.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2009/03/14/five-step-guide-to-restoring-your-computer/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Apple OS X 10.5.6 BSOD?</title>
		<link>http://kdmurray.net/2008/12/18/apple-os-x-1056-bsod/</link>
		<comments>http://kdmurray.net/2008/12/18/apple-os-x-1056-bsod/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 08:00:36 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[10.5.6]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[bsod]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[jailbreak]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[os]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[problems]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kdmurray.net/?p=506</guid>
		<description><![CDATA[It looks like Apple may have helped some of their users join the coveted Blue Screen of Death (BSOD) club this week with the latest update to Mac OS X. This update has caused a great number of problems for Mac users, something that isn&#8217;t typical of updates to the Apple OS.  For the few [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-507" style="margin: 5px;" title="Apple BSOD" src="http://kdmurray.net/wp-content/uploads/2008/12/apple_bsod11.png" alt="Apple BSOD" width="200" height="150" />It looks like Apple may have helped some of their users join the coveted Blue Screen of Death (BSOD) club this week with the latest update to Mac OS X.</p>

<p>This update has caused a great number of problems for Mac users, something that isn&#8217;t typical of updates to the Apple OS.  For the few who read this notice prior to installing the update, there was a clue on the Apple support website in the article discussing the update which indicated that this update may cause problems:</p>

<blockquote>You may experience unexpected results if you have third-party system software modifications installed, or if you have modified the operating system through other means, or if you have moved Apple applications from their default locations (the /Applications or /Applications/Utilities folders). (This does not apply to normal application software installation.)</blockquote>

<p>This kind of warning isn&#8217;t typical and has led some to speculate that maybe this update wasn&#8217;t truly ready for prime time.</p>

<p>The rather hefty software update, much like a Windows service pack, weighs in at 190MB containing fixes for a number of known, and unknown, OS X issues.  The problem is with the problems that have arisen since the update became available.</p>

<p>The majority of sites are <a href="http://www.itwire.com/content/view/22348/1151/1/1/" target="_blank">reporting problems</a> with the update installation process itself citing extremely long load times and installations not completing, these are leading to people trying to reboot their machines part-way through the install process which is always a recipe for disaster.</p>

<p><a href="http://arstechnica.com/journals/apple.ars/2008/12/16/os-x-10-5-6-roundup-a-deeper-look-and-post-install-problems" target="_blank">Ars Technica is also reporting</a> that there are a number of other hidden &lt;ahem&gt; &#8220;gems&#8221; in the 10.5.6 update not the least of which is some code to prevent the jailbreaking of 3G iPhones and iPod touches.  Nice, Apple. And thanks for leaving that little detail out on the list of features/additions etc.  Jerks.</p>

<p>Thanks to <a href="http://macosken.com/" target="_blank">MacOS Ken</a>, <a href="http://www.itwire.com/content/view/22348/1151/" target="_blank">IT Wire</a>, <a href="http://arstechnica.com/journals/apple.ars/2008/12/16/os-x-10-5-6-roundup-a-deeper-look-and-post-install-problems" target="_blank">Ars Technica</a>, and others.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2008/12/18/apple-os-x-1056-bsod/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress 2.7 &#8220;Coltrane&#8221; Released</title>
		<link>http://kdmurray.net/2008/12/10/wordpress-27-coltrane-released/</link>
		<comments>http://kdmurray.net/2008/12/10/wordpress-27-coltrane-released/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 06:40:30 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[coltrane]]></category>
		<category><![CDATA[gold]]></category>
		<category><![CDATA[jeffr0]]></category>
		<category><![CDATA[lorelle]]></category>
		<category><![CDATA[matt]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress 2.7]]></category>
		<category><![CDATA[wordpress weekly]]></category>

		<guid isPermaLink="false">http://kdmurray.net/?p=486</guid>
		<description><![CDATA[I really don&#8217;t have any time to do a nice full-length post on the release of WordPress 2.7 tonight. So I&#8217;ll provide a whole bunch of links for you to get your 2.7 fix. Matt&#8217;s official post on the WordPress development blog WordPress weekly Podcast which will spend some time talking about the release on [...]]]></description>
			<content:encoded><![CDATA[<p>I really don&#8217;t have any time to do a nice full-length post on the release of WordPress 2.7 tonight.  So I&#8217;ll provide a whole bunch of links for you to get your 2.7 fix.</p>

<ul>
    <li><a href="http://wordpress.org/development/2008/12/coltrane/" target="_blank">Matt&#8217;s official post</a> on the WordPress development blog</li>
    <li><a href="http://www.jeffro2pt0.com/wordpress-weekly" target="_blank">WordPress weekly Podcast</a> which will spend some time talking about the release on Friday (5pm PT, 8pm ET (noon in Sydney))</li>
    <li><a href="http://lorelle.wordpress.com/2008/12/10/wordpress-27-available-now/" target="_blank">Lorelle on WordPress</a> with some additional release info</li>
</ul>

<p>If you&#8217;ve not tried 2.7 yet, read over the new info then give it a shot.  The super-new-and-improved admin interface is well worth the upgrade!</p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2008/12/10/wordpress-27-coltrane-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 2.7 Release Candidate 1</title>
		<link>http://kdmurray.net/2008/12/02/wordpress-27-release-candidate-1/</link>
		<comments>http://kdmurray.net/2008/12/02/wordpress-27-release-candidate-1/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 07:21:47 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[platform]]></category>
		<category><![CDATA[RC1 pre-release]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress 2.7]]></category>
		<category><![CDATA[WordPress 2.7 RC1]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>

		<guid isPermaLink="false">http://kdmurray.net/?p=459</guid>
		<description><![CDATA[After what has seemed a rather lengthy wait, WordPress 2.7 has graduated from the Beta phase to RC1. The new release of WordPress has a completely redesigned admin section bringing back some features that went away in 2.5, and adding to the party a brand new dashboard which makes the platform that much more useful. [...]]]></description>
			<content:encoded><![CDATA[<p>After what has seemed a rather lengthy wait, <a href="http://wordpress.org/development/2008/12/wordpress-27-release-candidate-1/" target="_blank">WordPress 2.7 has graduated</a> from the Beta phase to RC1.  The new release of WordPress has a completely redesigned admin section bringing back some features that went away in 2.5, and adding to the party a brand new dashboard which makes the platform that much more useful.</p>

<p>I&#8217;ve just run the 2.7 update myself tonight (I swore <a href="http://kdmurray.net/2008/11/05/wordpress-27-beta-1-released/" target="_self">I&#8217;d wait until the full release</a> before putting it on the main blog&#8230; but I couldn&#8217;t wait anymore) and I&#8217;m really liking the changes so far.  The fact that I can quickly look at the dashboard and see comment stats, recent everything and pen a draft all at the same time is great.</p>

<p>So far everything looks good, though I did have to deactivate a couple of plugins to make things work as expected.  <a href="http://www.laptoptips.ca/projects/tinymce-advanced/" target="_blank">TinyMCE Advanced</a> was causing some CSS issues (I could fix it I&#8217;m sure but&#8230; meh).  In addition I had a plugin to <a href="http://forum.tazzu.com/viewtopic.php?f=26&amp;t=2010" target="_blank">replace the category box</a> in the sidebar when posting which isn&#8217;t required anymore with 2.7.</p>

<p>Stay tuned here for more of the pros, cons and otherwise of the newest member of the WordPress family.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2008/12/02/wordpress-27-release-candidate-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Free Software :: Run Windows Apps on your Mac</title>
		<link>http://kdmurray.net/2008/10/28/free-software-run-windows-apps-on-your-mac/</link>
		<comments>http://kdmurray.net/2008/10/28/free-software-run-windows-apps-on-your-mac/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 20:04:08 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[codeweavers]]></category>
		<category><![CDATA[CrossOver]]></category>
		<category><![CDATA[Downloads]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://kickjoey.com/?p=10</guid>
		<description><![CDATA[If you use a mac or linux on a regular basis and find yourself wanting to use Windows applications this may be the fix for you.  Go and download a copy of CrossOver for Mac from the CodeWeavers website.  Their regular website is offline at the moment because the got hit so hard by Digg [...]]]></description>
			<content:encoded><![CDATA[<p>If you use a mac or linux on a regular basis and find yourself wanting to use Windows applications this may be the fix for you.  Go and <a href="http://down.codeweavers.com/" target="_blank">download a copy of CrossOver</a> for Mac from the CodeWeavers website.  Their regular website is offline at the moment because the got hit so hard by Digg popularity.</p>

<p>Sourced from: <a href="http://kdmurray.net/2008/10/28/free-software-crossover-free-today-only/" target="_blank">FREE Software :: CrossOver Free Today Only!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2008/10/28/free-software-run-windows-apps-on-your-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FREE Software :: CrossOver Free Today Only!</title>
		<link>http://kdmurray.net/2008/10/28/free-software-crossover-free-today-only/</link>
		<comments>http://kdmurray.net/2008/10/28/free-software-crossover-free-today-only/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 16:00:50 +0000</pubDate>
		<dc:creator>kdmurray</dc:creator>
				<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[codeweavers]]></category>
		<category><![CDATA[CrossOver]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[offer]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://kdmurray.net/?p=436</guid>
		<description><![CDATA[If you&#8217;re a fan of being able to run Windows applications on your Mac, listen up! CodeWeavers Windows-to-Mac application CrossOver is being offered for FREE today only. If you&#8217;re interested in the offer, visit the CodeWeavers website to sign up. If you want to read more about the background of this story, check out Michael [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re a fan of being able to run Windows applications on your Mac, listen up! CodeWeavers Windows-to-Mac application <a href="http://blogcritics.org/archives/2008/02/02/130042.php" target="_blank">CrossOver</a> is being offered for FREE today only.</p>

<p>If you&#8217;re interested in the offer, visit the <a href="http://down.codeweavers.com/" target="_blank">CodeWeavers website</a> to sign up.</p>

<p>If you want to read more about the background of this story, check out <a href="http://www.tuaw.com/2008/10/27/codeweavers-says-cheap-gas-free-software-tomorrow/" target="_blank">Michael Rose&#8217;s post on TUAW.</a></p>

<p>The long and the short of it: You have <a href="http://lameduck.codeweavers.com/" target="_blank">George W. Bush to thank (sorta)</a> for your opportunity to buy free software.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdmurray.net/2008/10/28/free-software-crossover-free-today-only/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Object Caching 1483/1632 objects using disk: basic

Served from: kdmurray.net @ 2012-05-23 21:39:23 -->
