<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments for matty.co.za</title>
	<atom:link href="http://matty.co.za/comments/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>Wed, 18 Jan 2012 00:08:41 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Comment on The world according to Generation-O by Chris M</title>
		<link>http://matty.co.za/2012/01/generation-o/comment-page-1/#comment-3744</link>
		<dc:creator>Chris M</dc:creator>
		<pubDate>Wed, 18 Jan 2012 00:08:41 +0000</pubDate>
		<guid isPermaLink="false">http://matty.co.za/?p=1220#comment-3744</guid>
		<description>:)</description>
		<content:encoded><![CDATA[<p> <img src='http://matty.co.za/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Daily blogging, what to write and who to blog for by Chris M</title>
		<link>http://matty.co.za/2012/01/daily-blogging-what-to-write/comment-page-1/#comment-3743</link>
		<dc:creator>Chris M</dc:creator>
		<pubDate>Wed, 18 Jan 2012 00:07:18 +0000</pubDate>
		<guid isPermaLink="false">http://matty.co.za/?p=1233#comment-3743</guid>
		<description>Yeh, blogging about what you&#039;re passionate about definitely assists with a situation like this where you have to blog daily. In many cases there&#039;s a greater goal, to make money, to increase traffic, to get comments, to meet people, but from what I can tell your main thing is to blog daily for a year, and that narrows out suggestions because I&#039;d say that if it&#039;s about you, then don&#039;t worry about others.

I agree that a mix is good though, nice to blog about your life, that&#039;s one of the reasons I visit your site, would love to see some pics of things you do, perhaps a workstation pic, or what ever, just personal stuff. At the same extent I&#039;d be interested in pieces of code as I know you&#039;re a great programmer, or information about what you&#039;re working on and so forth - I guess these are all personal things afterall, of which I&#039;m sure you&#039;re passionate about anyway.

Well, that my 10 cents, hope it helps :)

Ps. Can&#039;t comment on your blog via iPhone, this textarea goes white and you can&#039;t see what you&#039;re typing, however it&#039;s perfect on my iPad :)</description>
		<content:encoded><![CDATA[<p>Yeh, blogging about what you&#8217;re passionate about definitely assists with a situation like this where you have to blog daily. In many cases there&#8217;s a greater goal, to make money, to increase traffic, to get comments, to meet people, but from what I can tell your main thing is to blog daily for a year, and that narrows out suggestions because I&#8217;d say that if it&#8217;s about you, then don&#8217;t worry about others.</p>
<p>I agree that a mix is good though, nice to blog about your life, that&#8217;s one of the reasons I visit your site, would love to see some pics of things you do, perhaps a workstation pic, or what ever, just personal stuff. At the same extent I&#8217;d be interested in pieces of code as I know you&#8217;re a great programmer, or information about what you&#8217;re working on and so forth &#8211; I guess these are all personal things afterall, of which I&#8217;m sure you&#8217;re passionate about anyway.</p>
<p>Well, that my 10 cents, hope it helps <img src='http://matty.co.za/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Ps. Can&#8217;t comment on your blog via iPhone, this textarea goes white and you can&#8217;t see what you&#8217;re typing, however it&#8217;s perfect on my iPad <img src='http://matty.co.za/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The world according to Generation-O by Matty</title>
		<link>http://matty.co.za/2012/01/generation-o/comment-page-1/#comment-3742</link>
		<dc:creator>Matty</dc:creator>
		<pubDate>Tue, 17 Jan 2012 06:41:56 +0000</pubDate>
		<guid isPermaLink="false">http://matty.co.za/?p=1220#comment-3742</guid>
		<description>Hey Chris,

No, I don&#039;t remember reading anything that prompted this. Just something I&#039;ve been thinking about. :)</description>
		<content:encoded><![CDATA[<p>Hey Chris,</p>
<p>No, I don&#8217;t remember reading anything that prompted this. Just something I&#8217;ve been thinking about. <img src='http://matty.co.za/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The world according to Generation-O by Chris M</title>
		<link>http://matty.co.za/2012/01/generation-o/comment-page-1/#comment-3740</link>
		<dc:creator>Chris M</dc:creator>
		<pubDate>Mon, 16 Jan 2012 22:59:16 +0000</pubDate>
		<guid isPermaLink="false">http://matty.co.za/?p=1220#comment-3740</guid>
		<description>Did you hear something that inspired you to write this blog post? It was either yesterday or today that I heard something, I can&#039;t remember if it was on the radio or television, but ever since I&#039;ve had a burning feeling inside, bugging me continually to write a post about this exact topic and I&#039;ve not tackled it as each time I ponder it I add the potential of another 500 words to the post. You can imagine my fright when I saw you blog it o.O</description>
		<content:encoded><![CDATA[<p>Did you hear something that inspired you to write this blog post? It was either yesterday or today that I heard something, I can&#8217;t remember if it was on the radio or television, but ever since I&#8217;ve had a burning feeling inside, bugging me continually to write a post about this exact topic and I&#8217;ve not tackled it as each time I ponder it I add the potential of another 500 words to the post. You can imagine my fright when I saw you blog it o.O</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A Quick Guide to the WordPress Transients API by Matty</title>
		<link>http://matty.co.za/2012/01/wordpress-transients-api/comment-page-1/#comment-3739</link>
		<dc:creator>Matty</dc:creator>
		<pubDate>Mon, 16 Jan 2012 17:17:03 +0000</pubDate>
		<guid isPermaLink="false">http://matty.co.za/?p=1168#comment-3739</guid>
		<description>Thanks Otto... appreciate the pro tip. :)</description>
		<content:encoded><![CDATA[<p>Thanks Otto&#8230; appreciate the pro tip. <img src='http://matty.co.za/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A Quick Guide to the WordPress Transients API by Matty</title>
		<link>http://matty.co.za/2012/01/wordpress-transients-api/comment-page-1/#comment-3738</link>
		<dc:creator>Matty</dc:creator>
		<pubDate>Mon, 16 Jan 2012 17:14:56 +0000</pubDate>
		<guid isPermaLink="false">http://matty.co.za/?p=1168#comment-3738</guid>
		<description>Thanks Otto. :)

Yeah, the code example above and the example of an expensive query is more just an example, really.

I mostly lean towards transients when making requests from an external API or resource that I need to make periodically (ie: exactly as you said... as a poor man&#039;s caching).

Yeah, I watched the &quot;Otto and Nacin Show&quot; a few weeks back... learned a ton. Thanks man. :)</description>
		<content:encoded><![CDATA[<p>Thanks Otto. <img src='http://matty.co.za/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Yeah, the code example above and the example of an expensive query is more just an example, really.</p>
<p>I mostly lean towards transients when making requests from an external API or resource that I need to make periodically (ie: exactly as you said&#8230; as a poor man&#8217;s caching).</p>
<p>Yeah, I watched the &#8220;Otto and Nacin Show&#8221; a few weeks back&#8230; learned a ton. Thanks man. <img src='http://matty.co.za/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A Quick Guide to the WordPress Transients API by Otto</title>
		<link>http://matty.co.za/2012/01/wordpress-transients-api/comment-page-1/#comment-3737</link>
		<dc:creator>Otto</dc:creator>
		<pubDate>Mon, 16 Jan 2012 16:17:05 +0000</pubDate>
		<guid isPermaLink="false">http://matty.co.za/?p=1168#comment-3737</guid>
		<description>Generally it is a bad idea to store data in a transient that comes from the database to begin with, because a transient is sort of a poor-man&#039;s caching.

Transients are stored in the database (unless you have a &quot;persistent object cache&quot; set up, in which case they go there). So, it doesn&#039;t really help you much to store data that you got from the database back into the same database only in a different place. It can help slightly if you have large amounts of processing going on, but honestly the benefits are generally small enough for a better approach to be taken.

If you are having problems with lots of database overhead, a much better long-run solution is to set up a persistent object cache. memcached, xcache, APC, any of these will work. I recommend the W3 Total Cache plugin to let WordPress then use this memory cache for storing objects. This will lower the number of DB queries over the whole site and is generally good enough. If you still need to optimize further, you can then avoid the (minor) overhead of the Transient API and just use the object caching functions directly to store your objects.

Me and Nacin discussed this somewhat at WordCamp San Francisco 2011. Video is here: http://wordpress.tv/2011/09/07/otto-wood-andrew-nacin-the-otto-and-nacin-show/</description>
		<content:encoded><![CDATA[<p>Generally it is a bad idea to store data in a transient that comes from the database to begin with, because a transient is sort of a poor-man&#8217;s caching.</p>
<p>Transients are stored in the database (unless you have a &#8220;persistent object cache&#8221; set up, in which case they go there). So, it doesn&#8217;t really help you much to store data that you got from the database back into the same database only in a different place. It can help slightly if you have large amounts of processing going on, but honestly the benefits are generally small enough for a better approach to be taken.</p>
<p>If you are having problems with lots of database overhead, a much better long-run solution is to set up a persistent object cache. memcached, xcache, APC, any of these will work. I recommend the W3 Total Cache plugin to let WordPress then use this memory cache for storing objects. This will lower the number of DB queries over the whole site and is generally good enough. If you still need to optimize further, you can then avoid the (minor) overhead of the Transient API and just use the object caching functions directly to store your objects.</p>
<p>Me and Nacin discussed this somewhat at WordCamp San Francisco 2011. Video is here: <a href="http://wordpress.tv/2011/09/07/otto-wood-andrew-nacin-the-otto-and-nacin-show/" rel="nofollow">http://wordpress.tv/2011/09/07/otto-wood-andrew-nacin-the-otto-and-nacin-show/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A Quick Guide to the WordPress Transients API by Otto</title>
		<link>http://matty.co.za/2012/01/wordpress-transients-api/comment-page-1/#comment-3735</link>
		<dc:creator>Otto</dc:creator>
		<pubDate>Mon, 16 Jan 2012 16:09:21 +0000</pubDate>
		<guid isPermaLink="false">http://matty.co.za/?p=1168#comment-3735</guid>
		<description>PROTIP: get_transient actually returns &quot;false&quot; for cases where there&#039;s no transient. A check against == &quot;&quot; is actually wrong, because then you can&#039;t store &#039;empty&#039; values like zero and such.

Here&#039;s a better way to get a transient and check it in one fluid step:

if (false === ($data = get_transient( $transient_key ) ) ) {
... no data in the transient ...
} else {
... data in the transient that was not exactly &quot;false&quot; ...
}</description>
		<content:encoded><![CDATA[<p>PROTIP: get_transient actually returns &#8220;false&#8221; for cases where there&#8217;s no transient. A check against == &#8220;&#8221; is actually wrong, because then you can&#8217;t store &#8216;empty&#8217; values like zero and such.</p>
<p>Here&#8217;s a better way to get a transient and check it in one fluid step:</p>
<p>if (false === ($data = get_transient( $transient_key ) ) ) {<br />
&#8230; no data in the transient &#8230;<br />
} else {<br />
&#8230; data in the transient that was not exactly &#8220;false&#8221; &#8230;<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A Quick Guide to the WordPress Transients API by Matty</title>
		<link>http://matty.co.za/2012/01/wordpress-transients-api/comment-page-1/#comment-3734</link>
		<dc:creator>Matty</dc:creator>
		<pubDate>Sat, 14 Jan 2012 07:01:07 +0000</pubDate>
		<guid isPermaLink="false">http://matty.co.za/?p=1168#comment-3734</guid>
		<description>Hey Drew. :)

When I work with transients, I find it best to store the results of the database lookups (for example, running get_posts() and then storing the results), rather than storing the actual markup. This means I can freely change the markup without having to worry about the data lookup (essentially splitting the task into the database lookup and the output as separate tasks).

In some cases, if the HTML processing itself is quite intensive, it may be worth caching the HTML in a transient as well (maybe even a separate transient to the lookup data) and for a shorter time. Even a few minutes cached could make a difference. :)</description>
		<content:encoded><![CDATA[<p>Hey Drew. <img src='http://matty.co.za/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>When I work with transients, I find it best to store the results of the database lookups (for example, running get_posts() and then storing the results), rather than storing the actual markup. This means I can freely change the markup without having to worry about the data lookup (essentially splitting the task into the database lookup and the output as separate tasks).</p>
<p>In some cases, if the HTML processing itself is quite intensive, it may be worth caching the HTML in a transient as well (maybe even a separate transient to the lookup data) and for a shorter time. Even a few minutes cached could make a difference. <img src='http://matty.co.za/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A Quick Guide to the WordPress Transients API by DrewAPicture</title>
		<link>http://matty.co.za/2012/01/wordpress-transients-api/comment-page-1/#comment-3733</link>
		<dc:creator>DrewAPicture</dc:creator>
		<pubDate>Sat, 14 Jan 2012 06:41:54 +0000</pubDate>
		<guid isPermaLink="false">http://matty.co.za/?p=1168#comment-3733</guid>
		<description>I actually just started experimenting with transients earlier this week. On a news site that gets (modest) traffic we&#039;ve always had problems with slow loading times. The front page alone runs 4 or 5 separate loops (with images) and when paired with transients we&#039;ve seen a 3 point jump in the page speed. I feel absolutely stupid for not trying transients sooner!

One question: Initially I only stored the queries but read a few posts about actually storying the entire loops instead, markup and all. Have any insight as to which might be better or worse and why?</description>
		<content:encoded><![CDATA[<p>I actually just started experimenting with transients earlier this week. On a news site that gets (modest) traffic we&#8217;ve always had problems with slow loading times. The front page alone runs 4 or 5 separate loops (with images) and when paired with transients we&#8217;ve seen a 3 point jump in the page speed. I feel absolutely stupid for not trying transients sooner!</p>
<p>One question: Initially I only stored the queries but read a few posts about actually storying the entire loops instead, markup and all. Have any insight as to which might be better or worse and why?</p>
]]></content:encoded>
	</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 372/388 objects using disk: basic

Served from: matty.co.za @ 2012-02-05 08:05:24 -->
