<?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>Codecrater Blog</title>
	<atom:link href="http://www.codecrater.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.codecrater.com</link>
	<description>Paul Ford&#039;s musing on the interwebs</description>
	<lastBuildDate>Fri, 23 Apr 2010 16:44:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Abstract Classes in PHP</title>
		<link>http://www.codecrater.com/?p=153</link>
		<comments>http://www.codecrater.com/?p=153#comments</comments>
		<pubDate>Fri, 23 Apr 2010 16:38:41 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Around the Web]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.codecrater.com/?p=153</guid>
		<description><![CDATA[After encountering a few abstract classes in different open source projects, I found myself asking the question, why? <a href="http://www.codecrater.com/?p=153">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After encountering a few abstract classes in different open source projects, I found myself asking the question, why? After some searching, here are a few good answers to the question, prefaced by a quick summary by myself:</p>
<ol>
<li><strong>What is an abstract class?</strong><br />An abstract class is one that cannot be instantiated itself, but can be extended by subclasses.</li>
<li><strong>Why not just use a base class?</strong><br />An abstract class is useful in cases where you do not want your base class to be called for direct use, yet still want to establish common functionality with it.</li>
<li><strong>Why is it recommended not to implement in the abstract class?</strong><br />This &#8220;best practice&#8221; seems silly at first, considering that you defeat the purpose of inheritance by avoiding implementation. My recommendation is to declare all abstract methods for complete class reference, while returning to implement anything that make sense to be common code.</li>
<li><strong>What if I want to follow convention?</strong><br />Then what you are really creating is an &#8220;interface,&#8221; not an abstract class. An interface strictly outlines the members and methods only, with no implementation allowed.</li>
<li><strong>So whats the value of an interface?<br /></strong>An interface is useful to control code in a program that you know will be worked on by many others. What if you have a group of subclasses whose functionality depend on certain methods being available? Requiring that the subclass implement an interface forces all methods in the interface to be implemented by the subclass at instantiation. This prevents subclasses created by others from breaking the overall application by missing key methods. This has nothing to do with ease-of-coding, which may make it appear as an necessary process to the lone developer. Rather, the advantage of an interface speaks to the much broader world project management.</li>
</ol>
<p> </p>
<p><a href="http://www.hiteshagrawal.com/php/oops-in-php5-tutorial-abstract-class/comment-page-1#comment-21305">Here</a> are <a href="http://www.developer.com/lang/php/article.php/3604111/PHP-5-OOP-Interfaces-Abstract-Classes-and-the-Adapter-Pattern.htm">two</a> very simple examples of abstract classes usage and class inheritance in general.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codecrater.com/?feed=rss2&amp;p=153</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Change your Win 7 Library Icons</title>
		<link>http://www.codecrater.com/?p=152</link>
		<comments>http://www.codecrater.com/?p=152#comments</comments>
		<pubDate>Sat, 03 Apr 2010 15:24:21 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[utilities]]></category>
		<category><![CDATA[windows 7]]></category>

		<guid isPermaLink="false">http://www.codecrater.com/?p=152</guid>
		<description><![CDATA[Short, sweet tool to edit your windows 7 libraries. <a href="http://www.codecrater.com/?p=152">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Found this little diddy while trying to figure out how to change library icons in Windows 7. Just thought I’d pass it along and give the author some credit.</p>
<p><a title="http://zornsoftware.talsit.info/?p=3" href="http://zornsoftware.talsit.info/?p=3">http://zornsoftware.talsit.info/?p=3</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.codecrater.com/?feed=rss2&amp;p=152</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grooveshark</title>
		<link>http://www.codecrater.com/?p=140</link>
		<comments>http://www.codecrater.com/?p=140#comments</comments>
		<pubDate>Tue, 09 Feb 2010 15:28:22 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.codecrater.com/?p=140</guid>
		<description><![CDATA[I recently stumbled upon a nice little music web app called Grooveshark. Just make an account, search for a song, and throw it in a playlist for listening online.  <a href="http://www.codecrater.com/?p=140">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I recently stumbled upon a nice little music web app called <a title="GrooveShark" href="http://www.grooveshark.com" target="_blank">Grooveshark</a>. Just make an account, search for a song, and throw it in a playlist for listening online. It&#8217;s quick, easy and userfriendly, aspects that are very important on the web and that I look for as a web developer myself. I&#8217;m sure there&#8217;s a handful of apps just like, but definitely give this one a look-see.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codecrater.com/?feed=rss2&amp;p=140</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing True Soul Entertainment</title>
		<link>http://www.codecrater.com/?p=137</link>
		<comments>http://www.codecrater.com/?p=137#comments</comments>
		<pubDate>Mon, 08 Feb 2010 15:38:50 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Around the Web]]></category>
		<category><![CDATA[Hiphop]]></category>
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://www.codecrater.com/blog/?p=137</guid>
		<description><![CDATA[“I feel it is up to us to teach through whatever means necessary. Music is a huge way of communicating...” <a href="http://www.codecrater.com/?p=137">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.codecrater.com/blog/wp-content/uploads/2010/02/headerlogo2.jpg" rel="lightbox[137]"><img style="display: inline; border: 0px;" title="headerlogo2" src="http://www.codecrater.com/blog/wp-content/uploads/2010/02/headerlogo2_thumb.jpg" border="0" alt="headerlogo2" width="244" height="198" /></a></p>
<blockquote><p>“I feel it is up to us to teach through whatever means necessary. Music is a huge way of communicating. It’s our responsibility as artists and producers of great sound to reach the youth with our words of encouragement and positive thinking.”</p></blockquote>
<p>Sasha Kovacevich<br />
<a href="http://www.truesoulentertainment.com" target="_blank">True Soul Entertainment</a> CEO</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codecrater.com/?feed=rss2&amp;p=137</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Writer?</title>
		<link>http://www.codecrater.com/?p=132</link>
		<comments>http://www.codecrater.com/?p=132#comments</comments>
		<pubDate>Mon, 01 Feb 2010 15:55:25 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.codecrater.com/blog/?p=132</guid>
		<description><![CDATA[This is a test post from Windows 7’s “Writer” program. It allows you to publish to a blog straight from the desktop! <a href="http://www.codecrater.com/?p=132">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is a test post from Windows 7’s “Writer” program. It allows you to publish to a blog straight from the desktop! I’m sure XP could run this program as well, so I’m probably way behind the curve, but I haven’t heard much about since loading up Windows 7.</p>
<p><span id="more-132"></span></p>
<p>This just in, it’s pretty freakin’ cool <img src='http://www.codecrater.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.codecrater.com/?feed=rss2&amp;p=132</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Today is an anagram</title>
		<link>http://www.codecrater.com/?p=129</link>
		<comments>http://www.codecrater.com/?p=129#comments</comments>
		<pubDate>Mon, 11 Jan 2010 13:52:15 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[dumb]]></category>
		<category><![CDATA[just for fun]]></category>

		<guid isPermaLink="false">http://www.codecrater.com/blog/?p=129</guid>
		<description><![CDATA[011110
Enjoy. <a href="http://www.codecrater.com/?p=129">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>011110</p>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codecrater.com/?feed=rss2&amp;p=129</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webnote is awesome</title>
		<link>http://www.codecrater.com/?p=100</link>
		<comments>http://www.codecrater.com/?p=100#comments</comments>
		<pubDate>Thu, 29 Oct 2009 14:02:54 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Around the Web]]></category>

		<guid isPermaLink="false">http://www.codecrater.com/blog/?p=100</guid>
		<description><![CDATA[At any rate, I'll never email myself another random note again, now that I've found Webnote. Do give a try - I guarantee you'll be impressed! <a href="http://www.codecrater.com/?p=100">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I stumbled upon this shortly after <a title="Real-time public message board" href="http://www.yourworldoftext.com" target="_blank">Your World of Text</a>, actually. It prompted me to search for anything out there like it, because when you happen upon things of this nature on the web, it&#8217;s like unearthing some underground resource and entering in to the privileged few who utilize it daily.</p>
<p>In other words, I went out searching for any sort of online note-taking platforms. I found many, but none quite as quick, easy and intuitive as <a title="Take notes, fool!" href="http://www.aypwip.com" target="_blank">Webnote</a>. While the coolest feature of Your World was the infinite space in which you could write free-form text, it was also somewhat of a drawback, since you could easily lose track of information that got lost off in some remote corner of the cosmos that is Your World.</p>
<p>Webnote solves that problem in a brilliant compromise. It encases all notes in their own separate color-coded boxes, which can then be moved around the space. The space is still infinite in the right and bottom directions, but a nice little toolbar at the top creates a little box of the same color as each note, where clicking this icon takes you directly to that note! When the notes pile up you may still have a hard time sifting through, but you can never lose something in this way, which is the important thing. You even have a nice filter box that uses regular expressions (not for the average user, but immensely powerful in that regard).</p>
<p>I call the above  a compromise because all the other note-taking platforms I&#8217;ve come across do not combine the modularity of separate notes with the free form aspect of Your World. Webnote gives you the modularity, while maintaining the ability to move things anywhere you want instead of creating a boring, static list out of your notes like any stale old web menu.</p>
<p>The only thing Webnote lacks at this point is a way to password protect pages you create. Unfortunately, after asking the developer about this, I learned that he&#8217;d long since stopped developing Webnote and had no plans to do this. However, his code is open source, which is inspiring for a developer like me to get my hands dirty on a version with my own twist. Granted some free time, I might take on just that.</p>
<p>At any rate, I&#8217;ll never email myself another random note again, now that I&#8217;ve found Webnote. Do give a try &#8211; I guarantee you&#8217;ll be impressed!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codecrater.com/?feed=rss2&amp;p=100</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>THAT&#8217;s what I&#8217;m talkin about! Revival of 2D</title>
		<link>http://www.codecrater.com/?p=90</link>
		<comments>http://www.codecrater.com/?p=90#comments</comments>
		<pubDate>Thu, 08 Oct 2009 17:23:48 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[games]]></category>

		<guid isPermaLink="false">http://www.codecrater.com/blog/?p=90</guid>
		<description><![CDATA[I don't buy games often these days, but I hold a special place in my heard for games that take the 2-d old school gameplay element to the next level for the consoles of today. <a href="http://www.codecrater.com/?p=90">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I recently picked up <a title="Muramasa" href="http://www.muramasathedemonblade.com/" target="_blank">Muramasa: The Demon Blade</a> for the Wii, and so far it&#8217;s pretty dope. I don&#8217;t buy games often these days, but I hold a special place in my heard for games that take the 2-d old school gameplay element to the next level for the consoles of today.</p>
<p>That&#8217;s why games like <a title="Sneak peak at 'Dust'" href="http://www.youtube.com/watch?v=tR7vE6l1MN0&amp;feature=player_embedded" target="_blank">Dust: An Elysian Tale</a> just blow me away, and remind me why I love games so much. Not to crap on simulations and beautifully rendered 3-d extravaganzas, but the more realistic to try to make the medium, the more of that original sense of wonder you lose in the process. Games like Muramasa and Dust have it in spades, and I can only hope the trend of the 2-d revival keeps going strong as technology gets the better of us!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codecrater.com/?feed=rss2&amp;p=90</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slack off inconspicuously!</title>
		<link>http://www.codecrater.com/?p=76</link>
		<comments>http://www.codecrater.com/?p=76#comments</comments>
		<pubDate>Tue, 06 Oct 2009 18:29:30 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Around the Web]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Slack off]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.codecrater.com/blog/?p=76</guid>
		<description><![CDATA[Cantyouseeimbusy.com is simply genius, and there's not much more to it. <a href="http://www.codecrater.com/?p=76">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a title="Play games at work" href="http://www.cantyouseeimbusy.com" target="_blank">Cantyouseeimbusy.com</a> is simply genius, and there&#8217;s not much more to it. Too bad as a web developer, I&#8217;m hardly ever working in office-type applications. But in the workplace, it&#8217;s still about as inconspicuous as you can get while slacking off!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codecrater.com/?feed=rss2&amp;p=76</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Common ft. Cee-Lo video concept!</title>
		<link>http://www.codecrater.com/?p=61</link>
		<comments>http://www.codecrater.com/?p=61#comments</comments>
		<pubDate>Wed, 30 Sep 2009 00:53:46 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Hiphop]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.codecrater.com/blog/?p=61</guid>
		<description><![CDATA[A very tastefully done concept music video for Common and Cee-Lo's 'Make My Day', featuring my very own sister as the main muse. <a href="http://www.codecrater.com/?p=61">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A very tastefully done concept music video for <a title="Watch and vote!" href="http://current.com/items/91050841_common-ft-cee-lo-make-my-day.htm" target="_blank">Common and Cee-Lo&#8217;s &#8216;Make My Day&#8217;</a>, featuring my very own sister as the main muse. Check it out and vote for it—It could become the actual music video for the song!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codecrater.com/?feed=rss2&amp;p=61</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
