<?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>matty.co.za</title>
	<atom:link href="http://matty.co.za/feed/" rel="self" type="application/rss+xml" />
	<link>http://matty.co.za</link>
	<description>Web developer, WordPress enthusiast, avid musician, music lover and blogger</description>
	<lastBuildDate>Thu, 26 Jan 2012 18:06:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Matty, Y U NO BLOG THIS WEEK?</title>
		<link>http://matty.co.za/2012/01/matty-y-u-no-blog-this-week/</link>
		<comments>http://matty.co.za/2012/01/matty-y-u-no-blog-this-week/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 18:06:55 +0000</pubDate>
		<dc:creator>Matty</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Project 365]]></category>
		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://matty.co.za/?p=1244</guid>
		<description><![CDATA[Greetings, Wally watchers&#8230; long time no chat. You may have been popping in here this week and thinking, &#8220;why isn&#8217;t he blogging every day, after he said he&#8217;d aim to do a post a day for the whole year?&#8221;. I&#8217;ll explain why I&#8217;ve been quiet on here for the past few days. Over the past [...]]]></description>
			<content:encoded><![CDATA[<p>Greetings, Wally watchers&#8230; long time no chat.</p>
<p>You may have been popping in here this week and thinking, &#8220;why isn&#8217;t he blogging every day, after he said he&#8217;d aim to do a post a day for the whole year?&#8221;. I&#8217;ll explain why I&#8217;ve been quiet on here for the past few days. <img src='http://matty.co.za/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Over the past few weeks, i&#8217;ve been working with <a title="Mikey on Twitter" href="http://twitter.com/thegdshop">Michael Krapf</a> and <a title="Marky on Twitter" href="http://twitter.com/mark_forrester">Mark Forrester</a> over at <a title="WooThemes" href="http://bit.ly/xT8uLb">WooThemes</a> on our new theme (released today), &#8220;<a title="Unsigned - The ultimate WordPress theme for bands and solo musicians" href="http://bit.ly/zePKjH" target="_blank">Unsigned</a>&#8220;. This theme, geared primarily at bands and solo musicians, is a theme that&#8217;s near and dear to me, as music is a great passion of mine, as is the <a title="5+ South African bands you may (or may not) have heard" href="http://matty.co.za/2009/01/5-south-african-bands-you-may-have-heard/" target="_blank">independent music industry in South Africa</a>. More on &#8220;Unsigned&#8221; in another blog post though. Back to <a title="Project 365" href="http://matty.co.za/tag/project-365/" target="_blank">Project 365</a> and the &#8220;post a day&#8221; concept.</p>
<p><span id="more-1244"></span>While blogging, I tend to ask and re-ask myself the same questions every so often; &#8220;<a title="Daily blogging, what to write and who to blog for" href="http://matty.co.za/2012/01/daily-blogging-what-to-write/" target="_blank">who am I blogging for, really?</a>&#8220;, &#8220;<a title="Blogging techniques- Daily Blogging" href="http://matty.co.za/2009/06/blogging-techniques-daily-blogging/" target="_blank">is it worth posting every day for the sake of posting every day?</a>&#8220;. I believe, after much thought, I&#8217;ve found answers to both of these (which I&#8217;ll most likely find again, should I end up re-asking these questions yet again).</p>
<h3>Who am I blogging for?</h3>
<p>Ultimately, I&#8217;m blogging for myself and for anyone who wants to read it. It&#8217;s not a case of &#8220;I&#8217;m blogging for me and that&#8217;s that&#8221; or &#8220;I&#8217;m blogging just to get readers&#8221;. Both of those viewpoints are really inaccurate&#8230; first off, if you&#8217;re blogging for yourself, why do you need it to be online? Just blog in a journal app of sorts on your desktop, or in a text document. Why go to all the effort of setting up a blog?</p>
<p>If you&#8217;re blogging for others and not for yourself, you&#8217;ve lost the point of blogging. Blogging is, as I see it, sharing. Therefore, by saying &#8220;hey, I found that interesting, let me share it&#8221;, I&#8217;m blogging both for myself (because I found it interesting) and for others (because I&#8217;m sharing it) at the same time. Question asked: question answered.</p>
<h3>Is it worth posting every day, for the sake of it?</h3>
<p>No, it isn&#8217;t. Quality over quantity any day. Not much more to say on that front. All clear, right? <img src='http://matty.co.za/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>What about Project 365 then?</h3>
<p>If blogging is about being original and making something &#8220;your own&#8221;, to a certain degree, then lets do that. Instead of saying a &#8220;post a day&#8221;, lets say, a &#8220;post for each day of the year&#8221;. That means, as long as there are a minimum of 365 posts at the end of the year, we&#8217;re golden. That means I can stick to <a title="Project 365 – The Road So Far" href="http://matty.co.za/2012/01/project-365-2012/" target="_blank">Project 365</a>, while retaining a certain level of quality and interest in posts (instead of posting randomly with pictures of cats climbing out of shoe boxes and whacky Lolcats pictures&#8230; what&#8217;s the point of that?). <img src='http://matty.co.za/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>In other news, I made a few visual tweaks to this blog&#8217;s theme recently, highlighting the comment count on each post, adding post thumbnail support to each post (I&#8217;ve been meaning to do that for a while) and a few minor visual tweaks. I&#8217;d like to keep evolving this blog where I can, refining the layout, rather than switching it up completely when I get tired of the design. I feel that&#8217;s more in line with both my ideas for this blog, as well as my schedule.</p>
<p>Have a great weekend everyone. <img src='http://matty.co.za/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://matty.co.za/2012/01/matty-y-u-no-blog-this-week/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filtering the Options API in WordPress</title>
		<link>http://matty.co.za/2012/01/filtering-wordpress-options-api/</link>
		<comments>http://matty.co.za/2012/01/filtering-wordpress-options-api/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 09:00:13 +0000</pubDate>
		<dc:creator>Matty</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Project 365]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Web Developer]]></category>
		<category><![CDATA[WordPress Plugins]]></category>
		<category><![CDATA[WordPress Themes]]></category>

		<guid isPermaLink="false">http://matty.co.za/?p=1228</guid>
		<description><![CDATA[The Options API in WordPress is one of the many WordPress APIs we all use every day when developing with WordPress. A quick call to get_option() is not an uncommon sight. What if you could dynamically filter those options? You can. Adding filters in WordPress is also a common practice. Combining this with the Options [...]]]></description>
			<content:encoded><![CDATA[<p>The Options API in WordPress is one of the many WordPress APIs we all use every day when developing with WordPress. A quick call to get_option() is not an uncommon sight. What if you could dynamically filter those options? <strong>You can</strong>.</p>
<p>Adding filters in WordPress is also a common practice. Combining this with the Options API can allow for, for example, the ability to change an option when in preview mode without committing to the change.</p>
<p>In the &#8220;Magazine&#8221; template in Canvas by WooThemes, for example, WooTumblog &#8220;image&#8221; and &#8220;video&#8221; posts are aware when they are present in the magazine-style grid. This is an example of filtering the Options API.</p>
<p><span id="more-1228"></span><br />
<h3>How do I use this?</h3>
<p>Filtering the Options API is as easy as compiling any other filter. The filter hook is as follows: &#8220;<code>option_optionname</code>&#8221; (replace &#8220;<code>optionname</code>&#8221; with the name of the option you want to filter).</p>
<h3>That filter is applied after the database lookup. What about before that even happens?</h3>
<p>It is possible to short-circuit an option&#8217;s value using a second filter that has been made available. This means it&#8217;s possible to set a custom value, via a filter, for an option, bypassing the database lookup. My thoughts are packed with ideas for where to use this filter!</p>
<p>To short-circuit an option called, for example, &#8220;testoption&#8221;, you&#8217;d add the following code to your <code>functions.php</code> file:</p>
<p><code></p>
<pre>
add_filter( 'pre_option_testoption', 'matty_shortcircuit_options' );

function matty_shortcircuit_options ( $default ) {
	$value = 'this is a short-circuited option';
	return $value;
} // End matty_shortcircuit_options()
</pre>
<p></code></p>
<p>Using the &#8220;testoption&#8221; example again, this is how you&#8217;d override the value after it&#8217;s been retrieved from the database:</p>
<p><code></p>
<pre>
add_filter( 'option_testoption', 'matty_override_options' );

function matty_override_options ( $value ) {
	$value = 'this is an overridden option';

	// To override based on a condition, do this.
	if ( $value == 'test' ) {
		$value = 'this is an overridden option, based on a condition.';
	}

	return $value;
} // End matty_override_options()
</pre>
<p></code></p>
<p>This is just, however, a starting point as to how to do this. The possibilities are virtually limitless as to what is possible here and how to apply this in your projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://matty.co.za/2012/01/filtering-wordpress-options-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Daily blogging, what to write and who to blog for</title>
		<link>http://matty.co.za/2012/01/daily-blogging-what-to-write/</link>
		<comments>http://matty.co.za/2012/01/daily-blogging-what-to-write/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 21:00:20 +0000</pubDate>
		<dc:creator>Matty</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Project 365]]></category>

		<guid isPermaLink="false">http://matty.co.za/?p=1233</guid>
		<description><![CDATA[So, now almost a month in and Project 365 is still going strong. At this point, I thought it a good idea to touch base and get some feedback from you all on this month&#8217;s posts so far. It&#8217;s often said that one should blog first and foremost for oneself. If you like a topic [...]]]></description>
			<content:encoded><![CDATA[<p>So, now almost a month in and Project 365 is still going strong. At this point, I thought it a good idea to touch base and get some feedback from you all on this month&#8217;s posts so far.</p>
<p>It&#8217;s often said that one should blog first and foremost for oneself. If you like a topic or post, you should write about it of <strong>you</strong> want to. While this is true, the next question I ask myself is, why share thoughts and ideas if I&#8217;m blogging for myself and, by association, not for readers?</p>
<p><span id="more-1233"></span>I&#8217;d say a mix between the two works best for me. Blogging about what I like, as well as touching base with you all and finding out which posts you like best and ideas for topics to blog about in future posts.</p>
<p>So&#8230; what do you guys think? <img src='http://matty.co.za/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://matty.co.za/2012/01/daily-blogging-what-to-write/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The world according to Generation-O</title>
		<link>http://matty.co.za/2012/01/generation-o/</link>
		<comments>http://matty.co.za/2012/01/generation-o/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 21:15:23 +0000</pubDate>
		<dc:creator>Matty</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Project 365]]></category>
		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://matty.co.za/?p=1220</guid>
		<description><![CDATA[In today&#8217;s world, we have so much at our disposal. Technology that previously occupied room upon room of space to do a few calculations now makes up a small part of even a common calculator. Let me ask you this&#8230; is having all this technology always great? Occasionally on Twitter, I read tweets along the lines [...]]]></description>
			<content:encoded><![CDATA[<p>In today&#8217;s world, we have so much at our disposal. Technology that previously occupied room upon room of space to do a few calculations now makes up a small part of even a common calculator. Let me ask you this&#8230; is having all this technology always great?</p>
<p>Occasionally on Twitter, I read tweets along the lines of &#8220;20 years ago today, I was climbing trees&#8221; or &#8220;#whenIwasYourAge I rode my bike to school every morning&#8221;. Is technology part of what has caused this generation shift?</p>
<p>Many people refer to &#8220;Generation-Y&#8221;&#8230; the youth. The &#8220;young people&#8221; who are to &#8220;make a difference in the world&#8221;. I&#8217;d say that we&#8217;re entering a new age of &#8220;Generation-O&#8221;- the &#8220;plugged in&#8221; youth of today who seek to optimise every facet of their lives through technology.</p>
<p><span id="more-1220"></span>Every day, I examine things I do daily and ask myself, &#8220;how can I optimise this?&#8221; &#8220;How can I make this process &#8216;easier&#8217;?&#8221; As I hit &#8220;Publish&#8221; on this post, it&#8217;ll be tweeted, Facebooked and Buffered, essentially optimising the sharing of the post. This stems from the question of &#8220;how can I optimise this?&#8221;.</p>
<p>Are these questions always necessary? Probably not.</p>
<p>Over the holiday season and entering into the new year, I&#8217;ve been finding methods of stepping aside from technology from time to time to take pleasure out of the natural joys we have all around us&#8230; walking on the beach, going for a drive by the ocean. These times led me to start thinking about the concept of &#8220;Generation-O&#8221;. Growing up in the 90&#8242;s, I was one of those kids who rode their bike every day and had fun in the forest. I feel as though I am of the final generation who enjoyed these activities, which technology seems to have replaced.</p>
<p>If you find yourself in this technological loop, try to step aside and just spend an hour or so taking a walk on the beach, in the silence, gathering your thoughts. While technology is great, it&#8217;s important to remember that even the smartest computer requires a human being to flick the &#8220;on&#8221; switch. <img src='http://matty.co.za/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://matty.co.za/2012/01/generation-o/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>How to improve web developer coding practices (and code)</title>
		<link>http://matty.co.za/2012/01/web-coding-best-practices/</link>
		<comments>http://matty.co.za/2012/01/web-coding-best-practices/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 18:44:15 +0000</pubDate>
		<dc:creator>Matty</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Project 365]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Web Developer]]></category>

		<guid isPermaLink="false">http://matty.co.za/?p=1223</guid>
		<description><![CDATA[Every developer approaches their day to day development tasks from a different angle. In addition to this, each developer &#8220;designs&#8221; their code to suit their own personal preferences and approaches towards specifics in a project. When developers examine code written by other developers, we&#8217;re often critical (sometimes hyper-critical) of the code itself, mostly according to [...]]]></description>
			<content:encoded><![CDATA[<p>Every developer approaches their day to day development tasks from a different angle. In addition to this, each developer &#8220;designs&#8221; their code to suit their own personal preferences and approaches towards specifics in a project. When developers examine code written by other developers, we&#8217;re often critical (sometimes hyper-critical) of the code itself, mostly according to our personal preferences. While there is a place for being critical of code, and it should be encouraged, there are a few aspects of this criticism that should be left at the door&#8230; namely, the personal preferences.</p>
<p>While we all have our own preferences, it&#8217;s important to solidify a few areas when approaching code and to, ultimately, hone the developer&#8217;s mindset into certain guidelines. Below are a few thoughts I have running through my mind constantly while developing:</p>
<p><span id="more-1223"></span><br />
<h3>1. Minimize lookups.</h3>
<p>This one is crucial when developing systems with heavy load. How many times are you hitting the database for information and how can you minimize that number? For example, when <a title="A Quick Guide to the WordPress Transients API" href="http://matty.co.za/2012/01/wordpress-transients-api/">using the Transients API in WordPress</a>, why would you run get_transient() again after you&#8217;ve just set the transient up? You&#8217;ve already got the data, so there&#8217;s no need.</p>
<h3>2. D.R.Y (don&#8217;t repeat yourself).</h3>
<p>This is a common development practice. Don&#8217;t repeat yourself. If you&#8217;ve got, for example, two functions that perform API requests, create a function that runs the API request with a few parameters to customise it in each case, rather than coding the request twice.</p>
<h3>3. One function, one purpose.</h3>
<p>This one helps me every day. It also ensures that your code is kept clean. If, for example, you have to display a collection of posts with specific criteria, why compile one function to do it all, when you could have a small function to get the data from the database and a second small function to output the data neatly? Surely that would make your code easier to read and maintain? Yep, it would. <img src='http://matty.co.za/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>4. Do I need this function here?</h3>
<p>This one is about load and separation of code. Why load extra functions when you don&#8217;t need them in a specific context? Keeping this in mind ensures that you keep your code in &#8220;bite size chunks&#8221;, for example, splitting admin-related functions versus frontend functionality.</p>
<p>These items, while simple to adhere to, can alter the way a developer approaches a project, as well as creating a better end result. Most are also common development practices that most developers should be familiar with, making it easier for other developers to read and understand your projects.</p>
<p><em>Do you have any tips and tricks that help you day to day while developing?</em></p>
]]></content:encoded>
			<wfw:commentRss>http://matty.co.za/2012/01/web-coding-best-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presentations using SlideRocket</title>
		<link>http://matty.co.za/2012/01/presentations-using-sliderocket/</link>
		<comments>http://matty.co.za/2012/01/presentations-using-sliderocket/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 20:37:57 +0000</pubDate>
		<dc:creator>Matty</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Project 365]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://matty.co.za/?p=1217</guid>
		<description><![CDATA[In the last week, Jeff and I presented a workshop at the GROW Academy&#8217;s BootCamp, discussing website design &#38; development and focussing on using WordPress to do this. For both our introductory session on Monday and our more in-depth theory discussion on Wednesday, we needed a slideshow presentation to work through the various areas of [...]]]></description>
			<content:encoded><![CDATA[<p>In the last week, Jeff and I <a title="GROW BootCamp 2012 – The Creations" href="http://matty.co.za/2012/01/grow-bootcamp-2012-creations/">presented a workshop</a> at the GROW Academy&#8217;s BootCamp, discussing website design &amp; development and focussing on using WordPress to do this. For both our introductory session on Monday and our more in-depth theory discussion on Wednesday, we needed a slideshow presentation to work through the various areas of website construction. Lets zoom back to Monday morning&#8230; I needed some slides&#8230; in a hurry.</p>
<p>As many of you know, I like to keep my computer as clean as possible. If I don&#8217;t use an application, it gets removed and everything that could go onto the machine is thought through before it&#8217;s loaded on. Thus, I don&#8217;t have PowerPoint, Keynote or anything of the sort&#8230; because I don&#8217;t need it. Suddenly, I did. Enter <a title="SlideRocket" href="http://sliderocket.com/" target="_blank">SlideRocket</a>.</p>
<p><span id="more-1217"></span>SlideRocket is a web-based presentation creation tool, similar to PowerPoint or Keynote. They also have a web-app in the Google Chrome Web Store, which is how I got started on it.</p>
<p>The team at SlideRocket have, by the looks of things, put much time, effort and thought into their product and how it interacts with it&#8217;s users. While the interface is familiar to anyone who has ever used PowerPoint or Keynote, it doesn&#8217;t get in the way of you creating your presentation. At no point did the interface bug me, crash or do anything I wasn&#8217;t expecting it to do. This is a welcome change in the arena of presentation tools.</p>
<p>My only concern was the lack of a free export of my presentation (maybe I didn&#8217;t see it?). While SlideRocket offers many export options, from PowerPoint to PDF, standalone OS X to standalone Windows, it seems I was unable to export my presentation for free (the above mentioned exports are available after a paid upgrade). While I understand the need for paid upgrades in a free application, I feel it would be advantageous to have some form of basic free export (even just to a set of static HTML files would be good&#8230; for simple, in-browser presenting).</p>
<p>To sum up, I really enjoyed my experience with SlideRocket&#8230; so much so, in fact, that I decided to blog about it. I needed a presentation quickly and was able to create one in a few minutes, with no hassle. Not only that, but with SlideRocket being a web-app, I could easily add Jeff into the mix and collaborate with him on the slides over the web-app (I mean, we sit next to each other at HQ, but still&#8230; collaboration of this nature is invaluable in a presentation tool).</p>
<p>The next time I do a presentation, I&#8217;ll most likely jump back into SlideRocket without thinking twice. Thanks for the awesome web-app, guys!</p>
]]></content:encoded>
			<wfw:commentRss>http://matty.co.za/2012/01/presentations-using-sliderocket/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Re-thinking the concept of the &#8220;impossible&#8221;</title>
		<link>http://matty.co.za/2012/01/re-thinking-the-impossible/</link>
		<comments>http://matty.co.za/2012/01/re-thinking-the-impossible/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 17:00:14 +0000</pubDate>
		<dc:creator>Matty</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Project 365]]></category>
		<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[Web Developer]]></category>

		<guid isPermaLink="false">http://matty.co.za/?p=1213</guid>
		<description><![CDATA[In today&#8217;s society, it seems to be a common occurrence to use the word &#8220;impossible&#8221;. For example, after climbing a mountain, one might say something like; &#8220;wow, that was impossible&#8221;. No it wasn&#8217;t&#8230; you just did it. Nowadays we seem to have a tendency to over-exaggerate (pardon the tautology there) and, in many cases, start to believe what [...]]]></description>
			<content:encoded><![CDATA[<p>In today&#8217;s society, it seems to be a common occurrence to use the word &#8220;impossible&#8221;. For example, after climbing a mountain, one might say something like; &#8220;wow, that was impossible&#8221;. No it wasn&#8217;t&#8230; you just did it. Nowadays we seem to have a tendency to over-exaggerate (pardon the tautology there) and, in many cases, start to believe what we&#8217;re saying. Surely, this affects how we approach tasks and situations. Why should it?</p>
<p>Over the past few years (I&#8217;d say, since about 2008), I&#8217;ve decided to approach tasks day to day from a different angle. How can we say that a task is &#8220;impossible&#8221; if we haven&#8217;t even yet attempted it?</p>
<p>This is quite a common occurrence in web development&#8230; developers looking at a task, attempting to analyze it, getting &#8220;stuck&#8221; at one point and then moving on, deeming it &#8220;impossible&#8221;. Why does it have to, all of a sudden, be &#8220;impossible&#8221;, if you haven&#8217;t even attempted it yet? Why settle for the &#8220;shortcut&#8221; when you could just sit down and develop it how you envision it in the first place?</p>
<p><span id="more-1213"></span>It&#8217;s not about it being &#8220;impossible&#8221;&#8230; you just haven&#8217;t found the correct pieces yet, or how they fit together.</p>
<p>As a small example to illustrate how this approach sucks and how it could be improved with a simple re-thinking process, lets take a look at a real-world scenario I experienced last year.</p>
<p>During the development of our &#8220;Editorial&#8221; theme at WooThemes, we wanted to add functionality to provide the administrator with more control over how many columns their content should be laid out in. This, at first glance, seems quite straight forward. A simple PHP script to cut and re-arrange the words at certain points would do this.</p>
<p>What if the author wants to control where the content is cut off? What if they want virtually infinite possible columns? Well, a shortcode would do this, right?</p>
<p>What if they switch themes? Their content would look ugly and be riddled with a bunch of shortcodes that aren&#8217;t in use anymore. In a context like this, where the content is everything, we couldn&#8217;t have that.</p>
<p>This is where we got down to the drawing board and found the solution that stands to date. A simple button that adds an HTML comment into the author&#8217;s content. We then use a WordPress filter (and regular expression) to convert the HTML comments into semantic HTML tags on the frontend, keeping count of how many columns are being generated and adjusting the layout accordingly. If the administrator decides to switch themes, the HTML comments won&#8217;t affect the display of the content, nor the functionality of the WordPress admin. The button itself, as well as how the HTML comments are displayed in the WordPress admin, echoes how WordPress itself handles similar functionality, integrating seamlessly into the authoring experience.</p>
<p>To illustrate how this relates to the &#8220;impossible&#8221;, many would settle for the shortcode option, as it is the most direct and &#8220;obvious&#8221; choice, without taking into account the ramifications thereof.</p>
<p>We&#8217;ve taken this same approach on many other pieces of functionality within themes and functionality developed at WooThemes. I&#8217;ve made this concept a part of my day to day approach to things as well.</p>
<p>To sum it up in a sentence, I&#8217;d say, &#8220;don&#8217;t assume something is &#8216;impossible&#8217; until you&#8217;ve tried it. You never know&#8230; you may just get a better result&#8221;. <img src='http://matty.co.za/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://matty.co.za/2012/01/re-thinking-the-impossible/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Musicians know how to promote</title>
		<link>http://matty.co.za/2012/01/musicians-know-how-to-promote/</link>
		<comments>http://matty.co.za/2012/01/musicians-know-how-to-promote/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 12:00:00 +0000</pubDate>
		<dc:creator>Matty</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Project 365]]></category>
		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://matty.co.za/?p=1210</guid>
		<description><![CDATA[When making observations, I make a point of looking at and learning from both positive and negative observations&#8230; taking the lessons and learning from them. I also quite enjoy relating one industry to another, taking a lesson or observation from a certain industry and applying it to another. Today&#8217;s topic is around promotion, pushing your [...]]]></description>
			<content:encoded><![CDATA[<p>When making observations, I make a point of looking at and learning from both positive and negative observations&#8230; taking the lessons and learning from them. I also quite enjoy relating one industry to another, taking a lesson or observation from a certain industry and applying it to another. Today&#8217;s topic is around promotion, pushing your brand and creating public awareness around what you&#8217;re trying to achieve. Much of this, I&#8217;ve observed and learned through the music industry.</p>
<p>In the music industry, there are many layers. The layer I&#8217;ll be focussing on here is that of the independent artists. The guys who run their own show and manage themselves and everything that goes along with being in a band or performing as a solo artist.</p>
<p><span id="more-1210"></span>In the South African music industry, the independents are a sterling bunch. The passion these musicians possess is truly limitless. Many musicians truly live and breathe their craft (it&#8217;s not about the money or fame and is more a labour of love). Even if they lose out and don&#8217;t do as well as they&#8217;d like to, the passion doesn&#8217;t fade.</p>
<p>Lets take an example. A band releases a music video for one of their songs. Who do you reckon recorded that video in the first place? Where was it recorded? Who edited it and who&#8217;s now promoting it? The band and their mates, of course. The quality as well is usually incredible, because the band is pouring all their passion into achieving their desired goals. Musicians often bring in their other skills (be it illustration, design, etc) to enhance their band&#8217;s development. The result is clear, and the promotion is endless.</p>
<p>A few weeks ago, leading up to the Sublime tribute concert in Cape Town, the musicians involved were posting regularly up on Facebook, advertising the concert. This virtually flooded my Facebook stream&#8230; but it was great!</p>
<p>One doesn&#8217;t often view this kind of passion in an industry, and it&#8217;s something to take away and apply to your daily life. If you&#8217;re passionate about something you&#8217;ve created, promote it until you&#8217;re blue in the face. If it&#8217;s truly your passion, people will see that and they won&#8217;t mind (too much). <img src='http://matty.co.za/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://matty.co.za/2012/01/musicians-know-how-to-promote/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GROW BootCamp 2012 &#8211; The Creations</title>
		<link>http://matty.co.za/2012/01/grow-bootcamp-2012-creations/</link>
		<comments>http://matty.co.za/2012/01/grow-bootcamp-2012-creations/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 14:00:13 +0000</pubDate>
		<dc:creator>Matty</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Project 365]]></category>
		<category><![CDATA[Web Developer]]></category>
		<category><![CDATA[WordPress Themes]]></category>

		<guid isPermaLink="false">http://matty.co.za/?p=1204</guid>
		<description><![CDATA[At the GROW Academy 2012, Jeff and I have been discussing and showcasing WordPress and what it can do. We&#8217;ve been working with the recruits, setting up WordPress.com websites and learning the system. We thought it&#8217;d be a cool idea to showcase what the recruits of 2012 have compiled. Check out what the 2012 recruits [...]]]></description>
			<content:encoded><![CDATA[<p>At the GROW Academy 2012, Jeff and I have been discussing and showcasing WordPress and what it can do. We&#8217;ve been working with the recruits, setting up WordPress.com websites and learning the system.</p>
<p>We thought it&#8217;d be a cool idea to showcase what the recruits of 2012 have compiled.</p>
<p><span id="more-1204"></span>Check out what the 2012 recruits put together:</p>
<ul>
<li><a href="http://mtricam.wordpress.com/" target="_blank">mtricam</a></li>
<li><a href="http://genevievedavids.wordpress.com/" target="_blank">genevievedavids</a></li>
<li><a href="http://augustinemutale.wordpress.com/" target="_blank">augustinemutale</a></li>
<li><a href="http://margofortune.wordpress.com/" target="_blank">margofortune</a></li>
<li><a href="http://suzannesmith42.wordpress.com/" target="_blank">suzannesmith42</a></li>
<li><a href="http://justinejooste.wordpress.com/" target="_blank">justinejooste</a></li>
<li><a href="http://ricardoglittle.wordpress.com/" target="_blank">ricardoglittle</a></li>
<li><a href="http://thembil.wordpress.com/" target="_blank">thembil</a></li>
<li><a href="http://nathanieldicks.wordpress.com/" target="_blank">nathanieldicks</a></li>
<li><a href="http://gershwin21.wordpress.com/" target="_blank">gershwin21</a></li>
<li><a href="http://cyrilmphanga.wordpress.com/" target="_blank">cyrilmphanga</a></li>
</ul>
<p>Pretty cool, right? <img src='http://matty.co.za/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>These are the slides from yesterday&#8217;s presentation at the GROW Academy. Share your thoughts in the comments below.</p>
<p><iframe src="http://app.sliderocket.com:80/app/fullplayer.aspx?id=427F49A6-F53B-3D2B-6078-C27F074A00C1" width="550" height="439" scrolling=no frameBorder="0"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://matty.co.za/2012/01/grow-bootcamp-2012-creations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>E-mail is broken</title>
		<link>http://matty.co.za/2012/01/e-mail-is-broken/</link>
		<comments>http://matty.co.za/2012/01/e-mail-is-broken/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 18:30:50 +0000</pubDate>
		<dc:creator>Matty</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Project 365]]></category>
		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://matty.co.za/?p=1202</guid>
		<description><![CDATA[While sitting down to write what was likely to be a completely different blog post, I found myself compelled to write this, so here goes&#8230; E-mail, as a technology, is broken&#8230; and we broke it. E-mail (electronic mail) was originally intended as a means of sending messages digitally in a similar form as a posted [...]]]></description>
			<content:encoded><![CDATA[<p>While sitting down to write what was likely to be a completely different blog post, I found myself compelled to write this, so here goes&#8230;</p>
<p>E-mail, as a technology, is broken&#8230; and we broke it.</p>
<p>E-mail (electronic mail) was originally intended as a means of sending messages digitally in a similar form as a posted letter. A nice simple envelope with a hand-written or typed up letter, possibly to a pen-pal or maybe a notice to cancel an account of sorts&#8230; only digital.</p>
<p>As the internet became more popular, it became more a commonplace item in our lives. Nowadays, we almost assume that someone has at least an e-mail address, let alone a Facebook or Twitter account. E-mail is a common form of communication amongst the majority of us who are hooked into technology&#8230; so why can&#8217;t we use it correctly?</p>
<p><span id="more-1202"></span>When e-mailing day to day for business, it is a common occurrence to need to share files of indiscriminate size with colleagues&#8230; JPEGs, design files, slideshow presentations, etc. These files can become somewhat larger than expected, ranging from a few (acceptable) kilobytes to several (unacceptable) megabytes.</p>
<p>Ladies and gentlemen, I pose to you this question: would you attempt to show a shoe down a hosepipe?</p>
<p>Exactly. Then why send such large files over e-mail? It just seems impractical.</p>
<p>For instances where this is required, I&#8217;d recommend services such as Dropbox or CloudApp, two of the many online storage services available today&#8230; for free. If it&#8217;s free and easy to use, why not use it, right? This means you need only send a few characters of text in your e-mail, rather than, for example, a 5MB spreadsheet. The e-mail should arrive quicker in the recipient&#8217;s inbox, meaning you&#8217;ll get a potentially quicker response. It&#8217;s a win-win situation.</p>
<p>As e-mail has become such a common and widely used tool in today&#8217;s society, it seems to have become easy for us to lose sight of it&#8217;s original intended purpose. When you next find yourself needing to send a (possibly large) file to a colleague, friend or family member, I implore you to think back on the tool&#8217;s purpose and ask yourself, &#8220;am I attempting to show a shoe down a hosepipe?&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://matty.co.za/2012/01/e-mail-is-broken/feed/</wfw:commentRss>
		<slash:comments>7</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 634/734 objects using disk: basic

Served from: matty.co.za @ 2012-02-05 06:53:40 -->
