<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0" xml:base="http://www.thingy-ma-jig.co.uk">
<channel>
 <title>Thingy Ma jig</title>
 <link>http://www.thingy-ma-jig.co.uk</link>
 <description />
 <language>en</language>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/tmj" /><feedburner:info uri="tmj" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by/2.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by/2.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><feedburner:emailServiceId>tmj</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftmj" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftmj" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftmj" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/tmj" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftmj" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Ftmj" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftmj" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftmj" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Ftmj" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Ftmj" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2Ftmj" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Ftmj" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Ftmj" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Ftmj" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftmj" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftmj" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Ftmj" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftmj" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2Ftmj" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><feedburner:browserFriendly>Why not share this feed with other people too?</feedburner:browserFriendly><item>
 <title>Forcing New Relic into Kiosk Mode</title>
 <link>http://feedproxy.google.com/~r/tmj/~3/5a9m1G_vkhI/forcing-new-relic-into-kiosk-mode</link>
 <description>&lt;div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;span class="textformatter-list"&gt;&lt;a href="/tags/drupal"&gt;Drupal&lt;/a&gt;, &lt;a href="/tags/new-relic"&gt;New Relic&lt;/a&gt; and &lt;a href="/tags/greasemonkey"&gt;GreaseMonkey&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-field-image field-type-image field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;img typeof="foaf:Image" src="http://i.thingy-ma-jig.com/sites/thingy-ma-jig.co.uk/files/styles/medium/public/field_image_files/NewRelic_inline.png" width="192" height="192" alt="New Relic Ring" title="New Relic is a performance tool" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;p&gt;New Relic is a great bit of kit - nobody can deny that. I recently needed to configure it on a standalone box so it could be open on a large screen so my colleagues and I could see the current status of our sites. New Relic has a &lt;em&gt;Kiosk Mode&lt;/em&gt; which strips out some of the navigation from the page an optimises it for "viewing only". Very handy.&lt;/p&gt;
&lt;p&gt;I wanted a setting to force (or at least default) the page into Kiosk mode so that when I opened the bookmark on the browser, I didn't have to scroll to the bottom, click it, scroll back up and then refresh any other relevant tabs. It didn't look like there was a feature for this and the Kiosk Mode link was just a java function call; there was no URL.&lt;/p&gt;
&lt;p&gt;So I turned to GreaseMonkey.&lt;/p&gt;
&lt;!-- break --&gt;
&lt;h2&gt;Enter GreaseMonkey&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://www.greasespot.net/"&gt;GreaseMonkey&lt;/a&gt; is a &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/"&gt;Firefox Addon&lt;/a&gt; which allows you to bind custom JS scripts to all (or specific) pages. There is a &lt;a href="http://userscripts.org/"&gt;repository of over 74,000 scripts&lt;/a&gt; which let you customize all kinds of sites (Twitter, Gmail, Facebook, etc) including &lt;a href="http://userscripts.org/tags/drupal"&gt;Drupal&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;However there was nothing for New Relic.&lt;/p&gt;
&lt;p&gt;Until now.&lt;/p&gt;
&lt;h2&gt;Using GreaseMonkey with New Relic&lt;/h2&gt;
&lt;p&gt;As it turns out, the script is &lt;strong&gt;very&lt;/strong&gt; simple.&lt;/p&gt;
&lt;div class="geshifilter"&gt;&lt;pre class="javascript geshifilter-javascript"&gt;&lt;span class="co1"&gt;// ==UserScript==&lt;/span&gt;
&lt;span class="co1"&gt;// @name            New Relic Kiosk Mode&lt;/span&gt;
&lt;span class="co1"&gt;// @namespace       http://www.thingy-ma-jig.co.uk/&lt;/span&gt;
&lt;span class="co1"&gt;// @icon            http://www.thingy-ma-jig.co.uk/sites/thingy-ma-jig.co.uk/files/greasemonkey/NewRelic_inline_small.png&lt;/span&gt;
&lt;span class="co1"&gt;// @description     Force New Relic into Kiosk mode by setting the cookie on page load if ?kiosk is in the URL&lt;/span&gt;
&lt;span class="co1"&gt;// @include         https://rpm.newrelic.com/*?kiosk&lt;/span&gt;
&lt;span class="co1"&gt;// @updateURL       http://www.thingy-ma-jig.co.uk/sites/thingy-ma-jig.co.uk/files/greasemonkey/newrelic-kioskmode.user.js&lt;/span&gt;
&lt;span class="co1"&gt;// @version         1.0&lt;/span&gt;
&lt;span class="co1"&gt;// ==/UserScript==&lt;/span&gt;
&amp;nbsp;
unsafeWindow.&lt;span class="me1"&gt;RPM&lt;/span&gt;.&lt;span class="me1"&gt;kioskMode&lt;/span&gt;._setCookie&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Once the cookie is set, New Relic handles the rest. All you need to do is append "&lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;?kiosk&lt;/code&gt;&lt;/span&gt;" onto the URL (maybe in your bookmarks?) and the page loads in Kiosk mode.&lt;/p&gt;
&lt;p&gt;You can install the script by clicking on this button.&lt;/p&gt;
&lt;p style="text-align:center"&gt;&lt;a href="http://www.thingy-ma-jig.co.uk/sites/thingy-ma-jig.co.uk/files/greasemonkey/newrelic-kioskmode.user.js" class="button blue bigbutton"&gt;Install Kiosk Mode Script&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Find It On UserScripts.org&lt;/h2&gt;
&lt;p&gt;I have also &lt;a href="http://userscripts.org/scripts/show/127956"&gt;added the script to UserScripts.org&lt;/a&gt;, for those that are interested.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2_BBQEIyA3OIuKNED_6dZzgXAr8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2_BBQEIyA3OIuKNED_6dZzgXAr8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2_BBQEIyA3OIuKNED_6dZzgXAr8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2_BBQEIyA3OIuKNED_6dZzgXAr8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/tmj?a=5a9m1G_vkhI:yeQpe2S6VaE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=5a9m1G_vkhI:yeQpe2S6VaE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=5a9m1G_vkhI:yeQpe2S6VaE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=5a9m1G_vkhI:yeQpe2S6VaE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=5a9m1G_vkhI:yeQpe2S6VaE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=5a9m1G_vkhI:yeQpe2S6VaE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=5a9m1G_vkhI:yeQpe2S6VaE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=5a9m1G_vkhI:yeQpe2S6VaE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=5a9m1G_vkhI:yeQpe2S6VaE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/tmj/~4/5a9m1G_vkhI" height="1" width="1"/&gt;</description>
 <pubDate>Fri, 09 Mar 2012 15:05:31 +0000</pubDate>
 <dc:creator>Nick</dc:creator>
 <guid isPermaLink="false">420 at http://www.thingy-ma-jig.co.uk</guid>
 <comments>http://www.thingy-ma-jig.co.uk/blog/09-03-2012/forcing-new-relic-into-kiosk-mode#comments</comments>
<feedburner:origLink>http://www.thingy-ma-jig.co.uk/blog/09-03-2012/forcing-new-relic-into-kiosk-mode</feedburner:origLink></item>
<item>
 <title>Exporting a Git Repository</title>
 <link>http://feedproxy.google.com/~r/tmj/~3/4ulY0lzNnj4/exporting-a-git-repository</link>
 <description>&lt;div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;span class="textformatter-list"&gt;&lt;a href="/tags/drupal"&gt;Drupal&lt;/a&gt;, &lt;a href="/tags/git"&gt;git&lt;/a&gt; and &lt;a href="/tags/webdev"&gt;webdev&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-field-image field-type-image field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;img typeof="foaf:Image" src="http://i.thingy-ma-jig.com/sites/thingy-ma-jig.co.uk/files/styles/medium/public/field_image_files/druplicon-git.png" width="192" height="192" alt="Druplicon Git Logo" title="Druplicon Git Logo" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;p&gt;Have you ever needed or wanted to pull a remote Git Repository on Drupal.org down as a zip or tarball? You know, the way Github does? Most project releases have fairly recently built tarballs which is awesome - but Sandboxes do not (so it seems - please correct me if I'm wrong!).&lt;/p&gt;
&lt;p&gt;The following snippet lets you "archive" a remote repository, pull it down as a tarball, and extract it in-place:&lt;/p&gt;
&lt;div class="geshifilter"&gt;&lt;pre class="bash geshifilter-bash"&gt;&lt;span class="kw2"&gt;git&lt;/span&gt; archive &lt;span class="re5"&gt;--format&lt;/span&gt;=&lt;span class="kw2"&gt;tar&lt;/span&gt; &lt;span class="re5"&gt;--prefix&lt;/span&gt;=PROJECT&lt;span class="sy0"&gt;/&lt;/span&gt; &lt;span class="re5"&gt;--remote&lt;/span&gt;=USERNAME&lt;span class="sy0"&gt;@&lt;/span&gt;git.drupal.org:sandbox&lt;span class="sy0"&gt;/&lt;/span&gt;USERNAME&lt;span class="sy0"&gt;/&lt;/span&gt;&lt;span class="nu0"&gt;123456789&lt;/span&gt;.git BRACH &lt;span class="sy0"&gt;|&lt;/span&gt; &lt;span class="kw2"&gt;tar&lt;/span&gt; &lt;span class="re5"&gt;-xf&lt;/span&gt; -&lt;/pre&gt;&lt;/div&gt;
&lt;!--break--&gt;
&lt;p&gt;Some important notes:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;The prefix is very important - without it, tar extracts to the current folder.&lt;/li&gt;
  &lt;li&gt;The number (next to .git) references the sandbox Node ID.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have tried using the "zip" format, however the &lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;unzip&lt;/code&gt;&lt;/span&gt; bash command doesn't accept &lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;stdin&lt;/code&gt;&lt;/span&gt; as a source. It looks like &lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;funzip&lt;/code&gt;&lt;/span&gt; might hold some promise thought&amp;hellip;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/d72AvBeCW6eFfuWvn-tEaiMaN7Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/d72AvBeCW6eFfuWvn-tEaiMaN7Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/d72AvBeCW6eFfuWvn-tEaiMaN7Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/d72AvBeCW6eFfuWvn-tEaiMaN7Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/tmj?a=4ulY0lzNnj4:USapVgQIifw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=4ulY0lzNnj4:USapVgQIifw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=4ulY0lzNnj4:USapVgQIifw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=4ulY0lzNnj4:USapVgQIifw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=4ulY0lzNnj4:USapVgQIifw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=4ulY0lzNnj4:USapVgQIifw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=4ulY0lzNnj4:USapVgQIifw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=4ulY0lzNnj4:USapVgQIifw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=4ulY0lzNnj4:USapVgQIifw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/tmj/~4/4ulY0lzNnj4" height="1" width="1"/&gt;</description>
 <pubDate>Thu, 15 Dec 2011 16:14:07 +0000</pubDate>
 <dc:creator>Nick</dc:creator>
 <guid isPermaLink="false">419 at http://www.thingy-ma-jig.co.uk</guid>
 <comments>http://www.thingy-ma-jig.co.uk/blog/15-12-2011/exporting-a-git-repository#comments</comments>
<feedburner:origLink>http://www.thingy-ma-jig.co.uk/blog/15-12-2011/exporting-a-git-repository</feedburner:origLink></item>
<item>
 <title>Quick Tip: Drupal Hook Commenting Using Vim</title>
 <link>http://feedproxy.google.com/~r/tmj/~3/5tj1TVpk9hM/quick-tip-drupal-hook-commenting-using-vim</link>
 <description>&lt;div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;span class="textformatter-list"&gt;&lt;a href="/tags/vim"&gt;vim&lt;/a&gt;, &lt;a href="/tags/drupal"&gt;Drupal&lt;/a&gt; and &lt;a href="/tags/programming"&gt;programming&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-field-image field-type-image field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;img typeof="foaf:Image" src="http://i.thingy-ma-jig.com/sites/thingy-ma-jig.co.uk/files/styles/medium/public/field_image_files/Vim_logo%5B1%5D.png" width="192" height="192" alt="Vim" title="Vim Logo" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;p&gt;According to the &lt;a href="http://drupal.org/node/1354#hookimpl"&gt;Drupal Coding Standards for Documenting Hook Implementations&lt;/a&gt;, its considered a good practice to quickly chuck a comment before any function which implements a Drupal hook (eg, &lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;hook_menu&lt;/code&gt;&lt;/span&gt;). This helps someone reading your code quickly see that the function is actually linked with a hook in Drupal and isn't just a function in your module to be called directly.&lt;/p&gt;

&lt;p&gt;But&amp;hellip; Well&amp;hellip; The thing is&amp;hellip; Does anyone else get bored of writing the following over and over again? I know do&amp;hellip;&lt;/p&gt;
&lt;!-- break --&gt;
&lt;div class="geshifilter"&gt;&lt;pre class="php geshifilter-php"&gt;&lt;span class="co4"&gt;/**
 * Implements hook_menu().
 */&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Wouldn't it be nice if you could just type in "menu" and Vim could just fill it our for you? Here follows a little Vim script for inserting a "hook implements" comment at the current cursor position.
&lt;div class="geshifilter"&gt;&lt;pre class="text geshifilter-text"&gt;function! DrupalImplementsComment(hook)
  set paste
&amp;nbsp;
  exe &amp;quot;normal! i/**\&amp;lt;CR&amp;gt;&amp;quot;
  \          . &amp;quot; * Implements hook_&amp;quot; . a:hook . &amp;quot;()\&amp;lt;CR&amp;gt;&amp;quot;
  \          . &amp;quot; */\&amp;lt;Esc&amp;gt;&amp;quot;
&amp;nbsp;
  set nopaste
endfunction
&amp;nbsp;
map &amp;lt;C-C&amp;gt;&amp;lt;C-C&amp;gt;&amp;lt;C-C&amp;gt; :call DrupalImplementsComment(input(&amp;quot;Enter Hook name:&amp;quot;))&amp;lt;CR&amp;gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Wherever your cursor is, press Ctrl+C 3 times, you then get prompted to enter the hook name. When you press enter, a comment gets inserted. Hopefully this will save someone some time - its already saving me time!&lt;/p&gt;

&lt;p&gt;To install the script, I just have it in a file called &lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;DrupalCommenting.vim&lt;/code&gt;&lt;/span&gt; inside my &lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;~/.vim/&lt;/code&gt;&lt;/span&gt; folder. Then, inside my &lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;~/.vimrc&lt;/code&gt;&lt;/span&gt; file, I have a line which imports the source file, eg: &lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;so ~/.vim/DrupalCommenting.vim&lt;/code&gt;&lt;/span&gt;.&lt;/p&gt;

&lt;p&gt;Any improvements very welcome!&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7dOdo8hE531mdQIs9mVoJjAifHo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7dOdo8hE531mdQIs9mVoJjAifHo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7dOdo8hE531mdQIs9mVoJjAifHo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7dOdo8hE531mdQIs9mVoJjAifHo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/tmj?a=5tj1TVpk9hM:PL7gwnBsTKI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=5tj1TVpk9hM:PL7gwnBsTKI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=5tj1TVpk9hM:PL7gwnBsTKI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=5tj1TVpk9hM:PL7gwnBsTKI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=5tj1TVpk9hM:PL7gwnBsTKI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=5tj1TVpk9hM:PL7gwnBsTKI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=5tj1TVpk9hM:PL7gwnBsTKI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=5tj1TVpk9hM:PL7gwnBsTKI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=5tj1TVpk9hM:PL7gwnBsTKI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/tmj/~4/5tj1TVpk9hM" height="1" width="1"/&gt;</description>
 <pubDate>Mon, 14 Nov 2011 17:50:52 +0000</pubDate>
 <dc:creator>Nick</dc:creator>
 <guid isPermaLink="false">418 at http://www.thingy-ma-jig.co.uk</guid>
 <comments>http://www.thingy-ma-jig.co.uk/blog/14-11-2011/quick-tip-drupal-hook-commenting-using-vim#comments</comments>
<feedburner:origLink>http://www.thingy-ma-jig.co.uk/blog/14-11-2011/quick-tip-drupal-hook-commenting-using-vim</feedburner:origLink></item>
<item>
 <title>JQuery Table Sorter Bookmarklet</title>
 <link>http://feedproxy.google.com/~r/tmj/~3/QHR8qEY-T-w/jquery-table-sorter-bookmarklet</link>
 <description>&lt;div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;span class="textformatter-list"&gt;&lt;a href="/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="/tags/programming"&gt;programming&lt;/a&gt;, &lt;a href="/tags/webdev"&gt;webdev&lt;/a&gt; and &lt;a href="/tags/jquery"&gt;jquery&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-field-image field-type-image field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;img typeof="foaf:Image" src="http://i.thingy-ma-jig.com/sites/thingy-ma-jig.co.uk/files/styles/medium/public/field_image_files/jquery_logo_color_onwhite.png" alt="JQuery Logo" title="JQuery: Write Less, Do More" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;p&gt;&lt;a href="http://lovepeacenukes.com/"&gt;Christian Bach&lt;/a&gt; has made an awesome JQuery plugin to turn any HTML &lt;a href="http://tablesorter.com/docs/"&gt;Table into a real-time sortable table&lt;/a&gt; using &lt;a href="http://jquery.com/"&gt;Jquery&lt;/a&gt;. I recently needed to turn this into a &lt;a href="http://en.wikipedia.org/wiki/Bookmarklet"&gt;Bookmarklet&lt;/a&gt; so that I could embed it onto a page to sort a large table (I did not have access to the server-side code for this table).&lt;/p&gt;
&lt;!--break--&gt;
&lt;p&gt;If you drag the following link into the bookmarks toolbar of your browser, you can turn &lt;strong&gt;any table&lt;/strong&gt; on &lt;strong&gt;any website&lt;/strong&gt; into a sortable table!&lt;/p&gt;
&lt;br /&gt;
&lt;h3 style="text-align:center"&gt;&lt;a onclick="window.alert('You shouldn't click this. Instead, please drag it into your bookmarks toolbar.');return false;" href="javascript:(function(){var%20head=document.getElementsByTagName('head')[0],script=document.createElement('script');script.type='text/javascript';script.src='http://www.thingy-ma-jig.co.uk/sites/thingy-ma-jig.co.uk/files/blog-attachments/tablesorter-bookmarklet-1.0.js?'+Date.now();head.appendChild(script);})();%20void%200"&gt;Table Sorter Bookmarklet&lt;/a&gt;&lt;/h3&gt;
&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ljICoZP_hq8ySco3TAAsveSjJr0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ljICoZP_hq8ySco3TAAsveSjJr0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ljICoZP_hq8ySco3TAAsveSjJr0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ljICoZP_hq8ySco3TAAsveSjJr0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/tmj?a=QHR8qEY-T-w:fa8mnrgHxqI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=QHR8qEY-T-w:fa8mnrgHxqI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=QHR8qEY-T-w:fa8mnrgHxqI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=QHR8qEY-T-w:fa8mnrgHxqI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=QHR8qEY-T-w:fa8mnrgHxqI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=QHR8qEY-T-w:fa8mnrgHxqI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=QHR8qEY-T-w:fa8mnrgHxqI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=QHR8qEY-T-w:fa8mnrgHxqI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=QHR8qEY-T-w:fa8mnrgHxqI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/tmj/~4/QHR8qEY-T-w" height="1" width="1"/&gt;</description>
 <pubDate>Tue, 25 Oct 2011 09:49:04 +0000</pubDate>
 <dc:creator>Nick</dc:creator>
 <guid isPermaLink="false">417 at http://www.thingy-ma-jig.co.uk</guid>
 <comments>http://www.thingy-ma-jig.co.uk/blog/25-10-2011/jquery-table-sorter-bookmarklet#comments</comments>
<feedburner:origLink>http://www.thingy-ma-jig.co.uk/blog/25-10-2011/jquery-table-sorter-bookmarklet</feedburner:origLink></item>
<item>
 <title>Select 5 most recent items from some categories </title>
 <link>http://feedproxy.google.com/~r/tmj/~3/C1u_W7b5KJ8/select-5-most-recent-items-from-some-categories</link>
 <description>&lt;div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;span class="textformatter-list"&gt;&lt;a href="/tags/mysql"&gt;mysql&lt;/a&gt;, &lt;a href="/tags/tips"&gt;tips&lt;/a&gt; and &lt;a href="/tags/drupal"&gt;Drupal&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-field-image field-type-image field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;img typeof="foaf:Image" src="http://i.thingy-ma-jig.com/sites/thingy-ma-jig.co.uk/files/styles/medium/public/field_image_files/mysql-drupal.png" alt="MySQL" title="MySQL" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;p&gt;Ever needed to build a list which "sub-selects", say, 5 items from a given list of categories? This snippet should help.&lt;/p&gt;
&lt;p&gt;Assume the following schema&amp;hellip;&lt;/p&gt;
&lt;!--break--&gt;
&lt;div class="geshifilter"&gt;&lt;pre class="mysql geshifilter-mysql"&gt;&lt;span class="kw1"&gt;CREATE&lt;/span&gt; &lt;span class="kw1"&gt;TABLE&lt;/span&gt; content &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;
  id &lt;span class="kw4"&gt;INT&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;10&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; &lt;span class="kw6"&gt;UNSIGNED&lt;/span&gt; &lt;span class="kw10"&gt;NOT&lt;/span&gt; &lt;span class="kw3"&gt;NULL&lt;/span&gt; &lt;span class="kw6"&gt;AUTO_INCREMENT&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  title &lt;span class="kw4"&gt;VARCHAR&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;255&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; &lt;span class="kw10"&gt;NOT&lt;/span&gt; &lt;span class="kw3"&gt;NULL&lt;/span&gt; &lt;span class="kw2"&gt;DEFAULT&lt;/span&gt; &lt;span class="st0"&gt;''&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  body &lt;span class="kw4"&gt;LONGTEXT&lt;/span&gt; &lt;span class="kw10"&gt;NOT&lt;/span&gt; &lt;span class="kw3"&gt;NULL&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="kw1"&gt;status&lt;/span&gt; &lt;span class="kw4"&gt;INT&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;11&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; &lt;span class="kw10"&gt;NOT&lt;/span&gt; &lt;span class="kw3"&gt;NULL&lt;/span&gt; &lt;span class="kw2"&gt;DEFAULT&lt;/span&gt; &lt;span class="st0"&gt;'1'&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  created &lt;span class="kw4"&gt;INT&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;11&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; &lt;span class="kw10"&gt;NOT&lt;/span&gt; &lt;span class="kw3"&gt;NULL&lt;/span&gt; &lt;span class="kw2"&gt;DEFAULT&lt;/span&gt; &lt;span class="st0"&gt;'0'&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="kw1"&gt;PRIMARY KEY&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;id&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="kw1"&gt;KEY&lt;/span&gt; content_created &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;created&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;
&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class="kw1"&gt;CREATE&lt;/span&gt; &lt;span class="kw1"&gt;TABLE&lt;/span&gt; tags&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;
  id &lt;span class="kw4"&gt;INT&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;10&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; &lt;span class="kw6"&gt;UNSIGNED&lt;/span&gt; &lt;span class="kw10"&gt;NOT&lt;/span&gt; &lt;span class="kw3"&gt;NULL&lt;/span&gt; &lt;span class="kw6"&gt;AUTO_INCREMENT&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  title &lt;span class="kw4"&gt;VARCHAR&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;255&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; &lt;span class="kw10"&gt;NOT&lt;/span&gt; &lt;span class="kw3"&gt;NULL&lt;/span&gt; &lt;span class="kw2"&gt;DEFAULT&lt;/span&gt; &lt;span class="st0"&gt;''&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="kw1"&gt;PRIMARY KEY&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;id&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;
&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class="kw1"&gt;CREATE&lt;/span&gt; &lt;span class="kw1"&gt;TABLE&lt;/span&gt; content_tags &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;
  tid &lt;span class="kw4"&gt;INT&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;10&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; &lt;span class="kw6"&gt;UNSIGNED&lt;/span&gt; &lt;span class="kw10"&gt;NOT&lt;/span&gt; &lt;span class="kw3"&gt;NULL&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  cid &lt;span class="kw4"&gt;INT&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;10&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; &lt;span class="kw6"&gt;UNSIGNED&lt;/span&gt; &lt;span class="kw10"&gt;NOT&lt;/span&gt; &lt;span class="kw3"&gt;NULL&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="kw1"&gt;PRIMARY KEY&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;tid&lt;span class="sy2"&gt;,&lt;/span&gt; cid&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="kw1"&gt;KEY&lt;/span&gt; content_id &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;cid&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;
&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Now we can insert some dummy data&amp;hellip;&lt;/p&gt;
&lt;div class="geshifilter"&gt;&lt;pre class="mysql geshifilter-mysql"&gt;&lt;span class="kw2"&gt;TRUNCATE&lt;/span&gt; content&lt;span class="sy2"&gt;;&lt;/span&gt;
&lt;span class="kw2"&gt;INSERT&lt;/span&gt; &lt;span class="kw1"&gt;INTO&lt;/span&gt; content &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;title&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="kw1"&gt;STATUS&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; created&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; &lt;span class="kw1"&gt;VALUES&lt;/span&gt;
  &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'Ut Secundum Modo'&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;             &lt;span class="nu0"&gt;1&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="kw17"&gt;UNIX_TIMESTAMP&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'2011-09-12 12:00:00'&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'Quidem Accumsan Facilisis'&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;    &lt;span class="nu0"&gt;1&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="kw17"&gt;UNIX_TIMESTAMP&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'2011-09-14 17:00:00'&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'Vel Ut Oppeto Interdico '&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;     &lt;span class="nu0"&gt;1&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="kw17"&gt;UNIX_TIMESTAMP&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'2011-09-10 09:00:00'&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'Iustum Nimis Venio'&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;           &lt;span class="nu0"&gt;1&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="kw17"&gt;UNIX_TIMESTAMP&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'2011-09-11 12:30:00'&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'Consequat Defui Verto Macto'&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;  &lt;span class="nu0"&gt;1&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="kw17"&gt;UNIX_TIMESTAMP&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'2011-09-13 19:00:00'&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'Quae Natu Facilisis Ille Jus'&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="nu0"&gt;1&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="kw17"&gt;UNIX_TIMESTAMP&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'2011-09-09 21:15:00'&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'Abico Meus Ullamcorper'&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;       &lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="kw17"&gt;UNIX_TIMESTAMP&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'2011-09-01 00:00:00'&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'Ulciscor Antehabeo Gravis'&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;    &lt;span class="nu0"&gt;1&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="kw17"&gt;UNIX_TIMESTAMP&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'2011-09-05 11:00:00'&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class="kw2"&gt;TRUNCATE&lt;/span&gt; tags&lt;span class="sy2"&gt;;&lt;/span&gt;  
&lt;span class="kw2"&gt;INSERT&lt;/span&gt; &lt;span class="kw1"&gt;INTO&lt;/span&gt; tags &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;title&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; &lt;span class="kw1"&gt;VALUES&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'alpha'&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'beta'&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'gamma'&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'delta'&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class="kw2"&gt;TRUNCATE&lt;/span&gt; content_tags&lt;span class="sy2"&gt;;&lt;/span&gt;
&lt;span class="kw2"&gt;INSERT&lt;/span&gt; &lt;span class="kw1"&gt;INTO&lt;/span&gt;  content_tags&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;tid&lt;span class="sy2"&gt;,&lt;/span&gt; cid&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; &lt;span class="kw1"&gt;VALUES&lt;/span&gt;
  &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;1&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;&lt;span class="nu0"&gt;1&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;4&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;&lt;span class="nu0"&gt;1&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;2&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;&lt;span class="nu0"&gt;2&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;3&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;&lt;span class="nu0"&gt;2&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;4&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;&lt;span class="nu0"&gt;2&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;1&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;&lt;span class="nu0"&gt;3&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;3&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;&lt;span class="nu0"&gt;3&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;4&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;&lt;span class="nu0"&gt;3&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;3&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;&lt;span class="nu0"&gt;4&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;4&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;&lt;span class="nu0"&gt;4&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;2&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;&lt;span class="nu0"&gt;5&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;3&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;&lt;span class="nu0"&gt;6&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;4&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;&lt;span class="nu0"&gt;6&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;1&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;&lt;span class="nu0"&gt;7&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;4&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;&lt;span class="nu0"&gt;7&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;
  &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu0"&gt;1&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;&lt;span class="nu0"&gt;8&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The &lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;TRUNCATE&lt;/code&gt;&lt;/span&gt;'s are only there to ensure these test tables are empty and that the auto incrementing ID's starts from 1.&lt;/p&gt;
&lt;p&gt;Now if you run the following query, you will get a list of up to 3 of the most recent posts from each category.&lt;/p&gt;
&lt;div class="geshifilter"&gt;&lt;pre class="mysql geshifilter-mysql"&gt;&lt;span class="kw1"&gt;SELECT&lt;/span&gt; tag_id&lt;span class="sy2"&gt;,&lt;/span&gt; tag_name&lt;span class="sy2"&gt;,&lt;/span&gt; content_id&lt;span class="sy2"&gt;,&lt;/span&gt; content_title &lt;span class="kw1"&gt;FROM&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;
  &lt;span class="kw1"&gt;SELECT&lt;/span&gt;
    &lt;span class="kw12"&gt;CASE&lt;/span&gt;
      &lt;span class="kw12"&gt;WHEN&lt;/span&gt; @id &lt;span class="sy1"&gt;!=&lt;/span&gt; t.id &lt;span class="kw12"&gt;THEN&lt;/span&gt; @row_num &lt;span class="sy1"&gt;:=&lt;/span&gt; &lt;span class="nu0"&gt;1&lt;/span&gt;
      &lt;span class="kw12"&gt;ELSE&lt;/span&gt; @row_num &lt;span class="sy1"&gt;:=&lt;/span&gt; @row_num &lt;span class="sy1"&gt;+&lt;/span&gt; &lt;span class="nu0"&gt;1&lt;/span&gt;
    &lt;span class="kw12"&gt;END&lt;/span&gt; &lt;span class="kw1"&gt;AS&lt;/span&gt; rownum&lt;span class="sy2"&gt;,&lt;/span&gt;
    t.id tag_id&lt;span class="sy2"&gt;,&lt;/span&gt;
    t.title tag_name&lt;span class="sy2"&gt;,&lt;/span&gt;
    c.id content_id&lt;span class="sy2"&gt;,&lt;/span&gt;
    c.title content_title&lt;span class="sy2"&gt;,&lt;/span&gt;
    @id &lt;span class="sy1"&gt;:=&lt;/span&gt; t.id
  &lt;span class="kw1"&gt;FROM&lt;/span&gt; tags t
  &lt;span class="kw1"&gt;INNER&lt;/span&gt; &lt;span class="kw1"&gt;JOIN&lt;/span&gt; content_tags ct &lt;span class="kw1"&gt;ON&lt;/span&gt; ct.tid &lt;span class="sy1"&gt;=&lt;/span&gt; t.id
  &lt;span class="kw1"&gt;INNER&lt;/span&gt; &lt;span class="kw1"&gt;JOIN&lt;/span&gt; content c &lt;span class="kw1"&gt;ON&lt;/span&gt; c.id &lt;span class="sy1"&gt;=&lt;/span&gt; ct.cid
  &lt;span class="kw1"&gt;JOIN&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="kw1"&gt;SELECT&lt;/span&gt; @id &lt;span class="sy1"&gt;:=&lt;/span&gt; &lt;span class="kw3"&gt;NULL&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; @row_num &lt;span class="sy1"&gt;:=&lt;/span&gt; &lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; a
  &lt;span class="kw1"&gt;WHERE&lt;/span&gt; c.&lt;span class="kw1"&gt;status&lt;/span&gt; &lt;span class="sy1"&gt;=&lt;/span&gt; &lt;span class="nu0"&gt;1&lt;/span&gt;
  &lt;span class="kw1"&gt;ORDER BY&lt;/span&gt; t.id &lt;span class="kw1"&gt;ASC&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; c.created &lt;span class="kw1"&gt;DESC&lt;/span&gt;
&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; r
&lt;span class="kw1"&gt;WHERE&lt;/span&gt; rownum &lt;span class="sy1"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nu0"&gt;4&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;This produces&amp;hellip;&lt;/p&gt;
&lt;table style="width:100%"&gt;
  &lt;caption&gt;&lt;em&gt;Note how the &lt;strong&gt;beta&lt;/strong&gt; tag only has 2 items; this is due to the INSERT's above.&lt;/em&gt;&lt;/caption&gt;
  &lt;thead&gt;
    &lt;tr&gt;&lt;th&gt;tag_id&lt;/th&gt;&lt;th&gt;tag_name&lt;/th&gt;&lt;th&gt;content_id&lt;/th&gt;&lt;th&gt;content_title&lt;/th&gt;&lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt; &lt;td&gt;1&lt;/td&gt; &lt;td&gt;alpha&lt;/td&gt; &lt;td&gt;1&lt;/td&gt; &lt;td&gt;Ut Secundum Modo&lt;/td&gt; &lt;/tr&gt;
    &lt;tr&gt; &lt;td&gt;1&lt;/td&gt; &lt;td&gt;alpha&lt;/td&gt; &lt;td&gt;3&lt;/td&gt; &lt;td&gt;Vel Ut Oppeto Interdico&lt;/td&gt; &lt;/tr&gt;
    &lt;tr&gt; &lt;td&gt;1&lt;/td&gt; &lt;td&gt;alpha&lt;/td&gt; &lt;td&gt;8&lt;/td&gt; &lt;td&gt;Ulciscor Antehabeo Gravis&lt;/td&gt; &lt;/tr&gt;
    &lt;tr&gt; &lt;td&gt;2&lt;/td&gt; &lt;td&gt;beta&lt;/td&gt;  &lt;td&gt;2&lt;/td&gt; &lt;td&gt;Quidem Accumsan Facilisis&lt;/td&gt; &lt;/tr&gt;
    &lt;tr&gt; &lt;td&gt;2&lt;/td&gt; &lt;td&gt;beta&lt;/td&gt;  &lt;td&gt;5&lt;/td&gt; &lt;td&gt;Consequat Defui Verto Macto&lt;/td&gt; &lt;/tr&gt;
    &lt;tr&gt; &lt;td&gt;3&lt;/td&gt; &lt;td&gt;gamma&lt;/td&gt; &lt;td&gt;2&lt;/td&gt; &lt;td&gt;Quidem Accumsan Facilisis&lt;/td&gt; &lt;/tr&gt;
    &lt;tr&gt; &lt;td&gt;3&lt;/td&gt; &lt;td&gt;gamma&lt;/td&gt; &lt;td&gt;4&lt;/td&gt; &lt;td&gt;Iustum Nimis Venio&lt;/td&gt; &lt;/tr&gt;
    &lt;tr&gt; &lt;td&gt;3&lt;/td&gt; &lt;td&gt;gamma&lt;/td&gt; &lt;td&gt;3&lt;/td&gt; &lt;td&gt;Vel Ut Oppeto Interdico&lt;/td&gt; &lt;/tr&gt;
    &lt;tr&gt; &lt;td&gt;4&lt;/td&gt; &lt;td&gt;delta&lt;/td&gt; &lt;td&gt;2&lt;/td&gt; &lt;td&gt;Quidem Accumsan Facilisis&lt;/td&gt; &lt;/tr&gt;
    &lt;tr&gt; &lt;td&gt;4&lt;/td&gt; &lt;td&gt;delta&lt;/td&gt; &lt;td&gt;1&lt;/td&gt; &lt;td&gt;Ut Secundum Modo&lt;/td&gt; &lt;/tr&gt;
    &lt;tr&gt; &lt;td&gt;4&lt;/td&gt; &lt;td&gt;delta&lt;/td&gt; &lt;td&gt;3&lt;/td&gt; &lt;td&gt;Vel Ut Oppeto Interdico&lt;/td&gt; &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;br /&gt;
&lt;h3&gt;How to use in Drupal&lt;/h3&gt;
&lt;p&gt;The above example could easily be adapted for a Drupal site; to list the 4 most recent items in all terms in a given vocabulary&amp;hellip;&lt;/p&gt;
&lt;div class="geshifilter"&gt;&lt;pre class="mysql geshifilter-mysql"&gt;&lt;span class="kw1"&gt;SELECT&lt;/span&gt; term_id&lt;span class="sy2"&gt;,&lt;/span&gt; term_name&lt;span class="sy2"&gt;,&lt;/span&gt; node_id&lt;span class="sy2"&gt;,&lt;/span&gt; node_title &lt;span class="kw1"&gt;FROM&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;
  &lt;span class="kw1"&gt;SELECT&lt;/span&gt;
    &lt;span class="kw12"&gt;CASE&lt;/span&gt;
      &lt;span class="kw12"&gt;WHEN&lt;/span&gt; @id &lt;span class="sy1"&gt;!=&lt;/span&gt; td.tid &lt;span class="kw12"&gt;THEN&lt;/span&gt; @row_num &lt;span class="sy1"&gt;:=&lt;/span&gt; &lt;span class="nu0"&gt;1&lt;/span&gt;
      &lt;span class="kw12"&gt;ELSE&lt;/span&gt; @row_num &lt;span class="sy1"&gt;:=&lt;/span&gt; @row_num &lt;span class="sy1"&gt;+&lt;/span&gt; &lt;span class="nu0"&gt;1&lt;/span&gt;
    &lt;span class="kw12"&gt;END&lt;/span&gt; &lt;span class="kw1"&gt;AS&lt;/span&gt; rownum&lt;span class="sy2"&gt;,&lt;/span&gt;
    td.tid term_id&lt;span class="sy2"&gt;,&lt;/span&gt;
    td.name term_name&lt;span class="sy2"&gt;,&lt;/span&gt;
    n.nid node_id&lt;span class="sy2"&gt;,&lt;/span&gt;
    n.title node_title&lt;span class="sy2"&gt;,&lt;/span&gt;
    @id &lt;span class="sy1"&gt;:=&lt;/span&gt; td.tid
  &lt;span class="kw1"&gt;FROM&lt;/span&gt; term_data td
  &lt;span class="kw1"&gt;INNER&lt;/span&gt; &lt;span class="kw1"&gt;JOIN&lt;/span&gt; term_node tn &lt;span class="kw1"&gt;ON&lt;/span&gt; tn.tid &lt;span class="sy1"&gt;=&lt;/span&gt; td.tid
  &lt;span class="kw1"&gt;INNER&lt;/span&gt; &lt;span class="kw1"&gt;JOIN&lt;/span&gt; node n &lt;span class="kw1"&gt;ON&lt;/span&gt; n.vid &lt;span class="sy1"&gt;=&lt;/span&gt; tn.vid
  &lt;span class="kw1"&gt;JOIN&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="kw1"&gt;SELECT&lt;/span&gt; @id &lt;span class="sy1"&gt;:=&lt;/span&gt; &lt;span class="kw3"&gt;NULL&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; @row_num &lt;span class="sy1"&gt;:=&lt;/span&gt; &lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; a
  &lt;span class="kw1"&gt;WHERE&lt;/span&gt; n.&lt;span class="kw1"&gt;status&lt;/span&gt; &lt;span class="sy1"&gt;=&lt;/span&gt; &lt;span class="nu0"&gt;1&lt;/span&gt; &lt;span class="kw10"&gt;AND&lt;/span&gt; td.vid &lt;span class="sy1"&gt;=&lt;/span&gt; &lt;span class="nu0"&gt;1&lt;/span&gt;
  &lt;span class="kw1"&gt;ORDER BY&lt;/span&gt; td.tid &lt;span class="kw1"&gt;ASC&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt; n.created &lt;span class="kw1"&gt;DESC&lt;/span&gt;
&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; r
&lt;span class="kw1"&gt;WHERE&lt;/span&gt; rownum &lt;span class="sy1"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nu0"&gt;5&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CX72KRMzzVnIrc29Ut3UsM0eneU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CX72KRMzzVnIrc29Ut3UsM0eneU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CX72KRMzzVnIrc29Ut3UsM0eneU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CX72KRMzzVnIrc29Ut3UsM0eneU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/tmj?a=C1u_W7b5KJ8:k00SIF-UMuQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=C1u_W7b5KJ8:k00SIF-UMuQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=C1u_W7b5KJ8:k00SIF-UMuQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=C1u_W7b5KJ8:k00SIF-UMuQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=C1u_W7b5KJ8:k00SIF-UMuQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=C1u_W7b5KJ8:k00SIF-UMuQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=C1u_W7b5KJ8:k00SIF-UMuQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=C1u_W7b5KJ8:k00SIF-UMuQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=C1u_W7b5KJ8:k00SIF-UMuQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/tmj/~4/C1u_W7b5KJ8" height="1" width="1"/&gt;</description>
 <pubDate>Wed, 14 Sep 2011 13:07:32 +0000</pubDate>
 <dc:creator>Nick</dc:creator>
 <guid isPermaLink="false">416 at http://www.thingy-ma-jig.co.uk</guid>
 <comments>http://www.thingy-ma-jig.co.uk/blog/14-09-2011/select-5-most-recent-items-from-some-categories#comments</comments>
<feedburner:origLink>http://www.thingy-ma-jig.co.uk/blog/14-09-2011/select-5-most-recent-items-from-some-categories</feedburner:origLink></item>
<item>
 <title>Export a single row from a database as MySQL</title>
 <link>http://feedproxy.google.com/~r/tmj/~3/4IQlLX-WUmE/export-a-single-row-from-a-database-as-mysql</link>
 <description>&lt;div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;span class="textformatter-list"&gt;&lt;a href="/tags/mysql"&gt;mysql&lt;/a&gt;, &lt;a href="/tags/tip"&gt;tip&lt;/a&gt; and &lt;a href="/tags/programming"&gt;programming&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-field-image field-type-image field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;img typeof="foaf:Image" src="http://i.thingy-ma-jig.com/sites/thingy-ma-jig.co.uk/files/styles/medium/public/field_image_files/800px-MySQL-n_logo.svg_.png" alt="MySQL" title="MySQL" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;p&gt;&lt;a href="http://nathan.rambeck.org/"&gt;Nathan Rambeck&lt;/a&gt; has a great simple snippet of &lt;a href="http://nathan.rambeck.org/blog/27-export-single-row-mysql-table"&gt;how to export a single row from a table&lt;/a&gt; however it didn't QUITE do what I needed it to. I needed to export a variable from &lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;{variable}&lt;/code&gt;&lt;/span&gt; as I was working on an update script which pulled data from a variable and into a database schema. I got fed up of re-populating the variable data each time.&lt;/p&gt;
&lt;!--break--&gt;
&lt;p&gt;Here is my version of Nathan's suggestion:&lt;/p&gt;
&lt;div class="geshifilter"&gt;&lt;pre class="bash geshifilter-bash"&gt;mysqldump &lt;span class="re5"&gt;-uUSER&lt;/span&gt; &lt;span class="re5"&gt;-pPASSWORD&lt;/span&gt; &lt;span class="re5"&gt;--compact&lt;/span&gt; &lt;span class="re5"&gt;--no-create-info&lt;/span&gt; &lt;span class="re5"&gt;--where&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;COLUMN_NAME='FILTER_VALUE'&amp;quot;&lt;/span&gt; DB_NAME TABLE_NAME&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Values in capitals are &lt;em&gt;variables&lt;/em&gt; which you should alter with your own values, for example:&lt;/p&gt;
&lt;div class="geshifilter"&gt;&lt;pre class="bash geshifilter-bash"&gt;mysqldump &lt;span class="re5"&gt;-udrupal&lt;/span&gt; &lt;span class="re5"&gt;-pdrupal&lt;/span&gt; &lt;span class="re5"&gt;--compact&lt;/span&gt; &lt;span class="re5"&gt;--no-create-info&lt;/span&gt; &lt;span class="re5"&gt;--where&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;name='theme_settings'&amp;quot;&lt;/span&gt; drupal_d6 variable&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;This produced a line like this:&lt;/p&gt;
&lt;div class="geshifilter"&gt;&lt;pre class="mysql geshifilter-mysql"&gt;&lt;span class="kw2"&gt;INSERT&lt;/span&gt; &lt;span class="kw1"&gt;INTO&lt;/span&gt; &lt;span class="st0"&gt;`variable`&lt;/span&gt; &lt;span class="kw1"&gt;VALUES&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;'theme&lt;span class="es1"&gt;_&lt;/span&gt;settings'&lt;/span&gt;&lt;span class="sy2"&gt;,&lt;/span&gt;&lt;span class="st0"&gt;'a:1:{s:21:&lt;span class="es0"&gt;\&amp;quot;&lt;/span&gt;toggle&lt;span class="es1"&gt;_&lt;/span&gt;node&lt;span class="es1"&gt;_&lt;/span&gt;info&lt;span class="es1"&gt;_&lt;/span&gt;page&lt;span class="es0"&gt;\&amp;quot;&lt;/span&gt;;b:0;}'&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy2"&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The &lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;--compact&lt;/code&gt;&lt;/span&gt; produces a less verbose output (it doesn't drop or lock the table and skips comments). The &lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;--no-create-info&lt;/code&gt;&lt;/span&gt; stops the dump including SQL to recreate the table.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/J_DUMUDSBy4Fn6pujwHx4Jw8qnI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J_DUMUDSBy4Fn6pujwHx4Jw8qnI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/J_DUMUDSBy4Fn6pujwHx4Jw8qnI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J_DUMUDSBy4Fn6pujwHx4Jw8qnI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/tmj?a=4IQlLX-WUmE:Kn_ABD65PlI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=4IQlLX-WUmE:Kn_ABD65PlI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=4IQlLX-WUmE:Kn_ABD65PlI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=4IQlLX-WUmE:Kn_ABD65PlI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=4IQlLX-WUmE:Kn_ABD65PlI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=4IQlLX-WUmE:Kn_ABD65PlI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=4IQlLX-WUmE:Kn_ABD65PlI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=4IQlLX-WUmE:Kn_ABD65PlI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=4IQlLX-WUmE:Kn_ABD65PlI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/tmj/~4/4IQlLX-WUmE" height="1" width="1"/&gt;</description>
 <pubDate>Mon, 11 Jul 2011 14:21:14 +0000</pubDate>
 <dc:creator>Nick</dc:creator>
 <guid isPermaLink="false">414 at http://www.thingy-ma-jig.co.uk</guid>
 <comments>http://www.thingy-ma-jig.co.uk/blog/11-07-2011/export-a-single-row-from-a-database-as-mysql#comments</comments>
<feedburner:origLink>http://www.thingy-ma-jig.co.uk/blog/11-07-2011/export-a-single-row-from-a-database-as-mysql</feedburner:origLink></item>
<item>
 <title>How to get Load AVG for remote server on loop</title>
 <link>http://feedproxy.google.com/~r/tmj/~3/boH6zS84dZc/how-to-get-load-avg-for-remote-server-on-loop</link>
 <description>&lt;div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;span class="textformatter-list"&gt;&lt;a href="/tags/bash"&gt;bash&lt;/a&gt;, &lt;a href="/tags/linux"&gt;linux&lt;/a&gt; and &lt;a href="/tags/howto"&gt;howto&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-field-image field-type-image field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;img typeof="foaf:Image" src="http://i.thingy-ma-jig.com/sites/thingy-ma-jig.co.uk/files/styles/medium/public/field_image_files/tux_0.png" alt="Baby Tux" title="Baby Tux" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;p&gt;This handy script will allow you to get the current Load Average (&lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;loadavg&lt;/code&gt;&lt;/span&gt;) for a remote server over SSH. It will stream the result set back to you, which you can then pipe into a file if you need to.&lt;/p&gt;
&lt;p&gt;This would be handy for monitoring the load of a server while stress testing, for example.&lt;/p&gt;
&lt;div&gt;&lt;!--break--&gt;&lt;/div&gt;
&lt;div class="geshifilter"&gt;&lt;pre class="bash geshifilter-bash"&gt;&lt;span class="kw2"&gt;ssh&lt;/span&gt; example.com &lt;span class="st_h"&gt;'while true; do L=$(awk '&lt;/span&gt;&lt;span class="co3"&gt;\'&lt;/span&gt;&lt;span class="st_h"&gt;'{ print $1 }'&lt;/span&gt;&lt;span class="co3"&gt;\'&lt;/span&gt;&lt;span class="st_h"&gt;'  /proc/loadavg); D=$(date +%H:%M:%S); echo -e &amp;quot;$D\t$L&amp;quot;; sleep 1; done'&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;One point of note is the escaping single quote technique. This is based on the suggestion on &lt;a href="http://muffinresearch.co.uk/archives/2007/01/30/bash-single-quotes-inside-of-single-quoted-strings/"&gt;Muffin Research on how to escape single quotes within single quotes&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As the result is tab-separated, it would be very easy to get the data into a spreadsheet and generate a graph of it.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vnlz0h7JJS_LQNoj33wEtyw-WiI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vnlz0h7JJS_LQNoj33wEtyw-WiI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vnlz0h7JJS_LQNoj33wEtyw-WiI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vnlz0h7JJS_LQNoj33wEtyw-WiI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/tmj?a=boH6zS84dZc:w5vpaMiYoqQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=boH6zS84dZc:w5vpaMiYoqQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=boH6zS84dZc:w5vpaMiYoqQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=boH6zS84dZc:w5vpaMiYoqQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=boH6zS84dZc:w5vpaMiYoqQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=boH6zS84dZc:w5vpaMiYoqQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=boH6zS84dZc:w5vpaMiYoqQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=boH6zS84dZc:w5vpaMiYoqQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=boH6zS84dZc:w5vpaMiYoqQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/tmj/~4/boH6zS84dZc" height="1" width="1"/&gt;</description>
 <pubDate>Wed, 11 May 2011 14:51:46 +0000</pubDate>
 <dc:creator>Nick</dc:creator>
 <guid isPermaLink="false">413 at http://www.thingy-ma-jig.co.uk</guid>
 <comments>http://www.thingy-ma-jig.co.uk/blog/11-05-2011/how-to-get-load-avg-for-remote-server-on-loop#comments</comments>
<feedburner:origLink>http://www.thingy-ma-jig.co.uk/blog/11-05-2011/how-to-get-load-avg-for-remote-server-on-loop</feedburner:origLink></item>
<item>
 <title>Nice Dates - A How To</title>
 <link>http://feedproxy.google.com/~r/tmj/~3/irDQbCjUWNc/nice-dates-a-how-to</link>
 <description>&lt;div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;span class="textformatter-list"&gt;&lt;a href="/tags/drupal"&gt;Drupal&lt;/a&gt; and &lt;a href="/tags/howto"&gt;howto&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-field-image field-type-image field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;img typeof="foaf:Image" src="http://i.thingy-ma-jig.com/sites/thingy-ma-jig.co.uk/files/styles/medium/public/field_image_files/thingy-ma-jig-date_0.png" alt="Thingy Ma Jig Date" title="An example Nice Date on Thingy Ma Jig" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;p&gt;I've had several people ask me recently how I managed to get the nice date effect on my blog headers. It's quite simple really. All you need is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;An Image&lt;/strong&gt; - A background image (a CSS Sprite) which contains the days, months and years.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Some HTML&lt;/strong&gt; - A VERY basic HTML template.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Some CSS&lt;/strong&gt; - To align the image sections.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A PHP Snippet&lt;/strong&gt; - A Drupal preprocess function.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;!--break--&gt;&lt;/div&gt;
&lt;h2&gt;How to make a Nice Date block&lt;/h2&gt;
&lt;h3&gt;The Image&lt;/h3&gt;
&lt;p&gt;The image I use here was knocked up in Photoshop. It's just a grid of "output". Everything must be lined up pixel perfect to make the CSS easier to generate.&lt;/p&gt;
&lt;p style="text-align:center"&gt;&lt;img alt="Dates grid" src="http://www.thingy-ma-jig.com/sites/thingy-ma-jig.co.uk/themes/tmj2/i/dates.png" style="width: 90px; height: 320px; border:1px solid #000;"&gt;&lt;/p&gt;
&lt;p&gt;As you can see, on the left we have the Months (Jan -&amp;gt; Dec), then the Days (01 -&amp;gt; 31) and finally the years. You can also make out the grid layout; months are "2 rows per day" and day is "2 rows per year".&lt;/p&gt;
&lt;p&gt;Using CSS, we can specify which "section" of the image appears in the HTML template. This is known as "spriting". It's a technique for clipping bits of a single image. Without the spriting technique, we'd need 12 (months) + 31 (days) + 7 (years) = 50 images!&lt;/p&gt;
&lt;h3&gt;The HTML&lt;/h3&gt;
&lt;p&gt;Using the following simple HTML, we can apply CSS to style appropriately.&lt;/p&gt;
&lt;div class="geshifilter"&gt;&lt;pre class="html4strict geshifilter-html4strict"&gt;&lt;span class="sc2"&gt;&amp;lt;&lt;span class="kw2"&gt;div&lt;/span&gt; &lt;span class="kw3"&gt;class&lt;/span&gt;&lt;span class="sy0"&gt;=&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;nice-date&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="sc2"&gt;&amp;lt;&lt;span class="kw2"&gt;div&lt;/span&gt; &lt;span class="kw3"&gt;class&lt;/span&gt;&lt;span class="sy0"&gt;=&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;month m-{MONTH_SHORT}&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;{MONTH_LONG}&lt;span class="sc2"&gt;&amp;lt;&lt;span class="sy0"&gt;/&lt;/span&gt;&lt;span class="kw2"&gt;div&lt;/span&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="sc2"&gt;&amp;lt;&lt;span class="kw2"&gt;div&lt;/span&gt; &lt;span class="kw3"&gt;class&lt;/span&gt;&lt;span class="sy0"&gt;=&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;day d-{DAY_SHORT}&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;{DAY_LONG}&lt;span class="sc2"&gt;&amp;lt;&lt;span class="sy0"&gt;/&lt;/span&gt;&lt;span class="kw2"&gt;div&lt;/span&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="sc2"&gt;&amp;lt;&lt;span class="kw2"&gt;div&lt;/span&gt; &lt;span class="kw3"&gt;class&lt;/span&gt;&lt;span class="sy0"&gt;=&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;year y-{YEAR_SHORT}&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;{YEAR_LONG}&lt;span class="sc2"&gt;&amp;lt;&lt;span class="sy0"&gt;/&lt;/span&gt;&lt;span class="kw2"&gt;div&lt;/span&gt;&amp;gt;&lt;/span&gt;
&lt;span class="sc2"&gt;&amp;lt;&lt;span class="sy0"&gt;/&lt;/span&gt;&lt;span class="kw2"&gt;div&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;In the above, the values in curly braces are &lt;em&gt;variable&lt;/em&gt; placeholders which should be replaced by appropriate data. SHORT implies a shortened date (eg, the year 2011 shortens to 11, the month January shortens to 01). LONG is the opposite of SHORT and is only there so that Search Engines and screen readers have some content to use (ie accessibility).&lt;/p&gt;
&lt;p&gt; For example, 1st January 2011 would result in:&lt;/p&gt;
&lt;div class="geshifilter"&gt;&lt;pre class="html4strict geshifilter-html4strict"&gt;&lt;span class="sc2"&gt;&amp;lt;&lt;span class="kw2"&gt;div&lt;/span&gt; &lt;span class="kw3"&gt;class&lt;/span&gt;&lt;span class="sy0"&gt;=&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;nice-date&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="sc2"&gt;&amp;lt;&lt;span class="kw2"&gt;div&lt;/span&gt; &lt;span class="kw3"&gt;class&lt;/span&gt;&lt;span class="sy0"&gt;=&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;month m-01&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;January&lt;span class="sc2"&gt;&amp;lt;&lt;span class="sy0"&gt;/&lt;/span&gt;&lt;span class="kw2"&gt;div&lt;/span&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="sc2"&gt;&amp;lt;&lt;span class="kw2"&gt;div&lt;/span&gt; &lt;span class="kw3"&gt;class&lt;/span&gt;&lt;span class="sy0"&gt;=&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;day d-01&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;1st&lt;span class="sc2"&gt;&amp;lt;&lt;span class="sy0"&gt;/&lt;/span&gt;&lt;span class="kw2"&gt;div&lt;/span&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="sc2"&gt;&amp;lt;&lt;span class="kw2"&gt;div&lt;/span&gt; &lt;span class="kw3"&gt;class&lt;/span&gt;&lt;span class="sy0"&gt;=&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;year y-11&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;2011&lt;span class="sc2"&gt;&amp;lt;&lt;span class="sy0"&gt;/&lt;/span&gt;&lt;span class="kw2"&gt;div&lt;/span&gt;&amp;gt;&lt;/span&gt;
&lt;span class="sc2"&gt;&amp;lt;&lt;span class="sy0"&gt;/&lt;/span&gt;&lt;span class="kw2"&gt;div&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;With CSS disabled (or to a Search Engine), this still reads &lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;January 1st 2011&lt;/code&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;h3&gt;The CSS&lt;/h3&gt;
&lt;p&gt;The following CSS is used to align the sprite images into the HTML above.&lt;/p&gt;
&lt;div class="geshifilter"&gt;&lt;pre class="css geshifilter-css"&gt;&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;
  &lt;span class="kw1"&gt;float&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="kw1"&gt;right&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;
  &lt;span class="kw1"&gt;position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="kw2"&gt;relative&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;
  &lt;span class="kw1"&gt;width&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;41px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;
  &lt;span class="kw1"&gt;height&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;40px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;
&lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; .month&lt;span class="sy0"&gt;,&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; .day&lt;span class="sy0"&gt;,&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.year&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;
  &lt;span class="kw1"&gt;position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="kw2"&gt;absolute&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;
  &lt;span class="kw1"&gt;text-indent&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-1000em&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;
  &lt;span class="kw1"&gt;background&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="kw2"&gt;transparent&lt;/span&gt; &lt;span class="kw2"&gt;url&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="co2"&gt;i/dates.png&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; &lt;span class="kw2"&gt;no-repeat&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;
&lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.month&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;top&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;5px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;  &lt;span class="kw1"&gt;left&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;  &lt;span class="kw1"&gt;width&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;25px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="kw1"&gt;height&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;10px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.day&lt;/span&gt;   &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;top&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;20px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="kw1"&gt;left&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;  &lt;span class="kw1"&gt;width&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;25px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="kw1"&gt;height&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;20px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.year&lt;/span&gt;  &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;bottom&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="kw1"&gt;right&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="kw1"&gt;width&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;15px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="kw1"&gt;height&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;40px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.m-01&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="nu0"&gt;0&lt;/span&gt;     &lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.m-02&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="nu0"&gt;0&lt;/span&gt;  &lt;span class="re3"&gt;-10px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.m-03&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="nu0"&gt;0&lt;/span&gt;  &lt;span class="re3"&gt;-20px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.m-04&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="nu0"&gt;0&lt;/span&gt;  &lt;span class="re3"&gt;-30px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.m-05&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="nu0"&gt;0&lt;/span&gt;  &lt;span class="re3"&gt;-40px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.m-06&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="nu0"&gt;0&lt;/span&gt;  &lt;span class="re3"&gt;-50px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.m-07&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="nu0"&gt;0&lt;/span&gt;  &lt;span class="re3"&gt;-60px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.m-08&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="nu0"&gt;0&lt;/span&gt;  &lt;span class="re3"&gt;-70px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.m-09&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="nu0"&gt;0&lt;/span&gt;  &lt;span class="re3"&gt;-80px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.m-10&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="nu0"&gt;0&lt;/span&gt;  &lt;span class="re3"&gt;-90px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.m-11&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="nu0"&gt;0&lt;/span&gt; &lt;span class="re3"&gt;-100px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.m-12&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="nu0"&gt;0&lt;/span&gt; &lt;span class="re3"&gt;-110px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-01&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-25px&lt;/span&gt;      &lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-02&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-25px&lt;/span&gt;  &lt;span class="re3"&gt;-20px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-03&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-25px&lt;/span&gt;  &lt;span class="re3"&gt;-40px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-04&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-25px&lt;/span&gt;  &lt;span class="re3"&gt;-60px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-05&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-25px&lt;/span&gt;  &lt;span class="re3"&gt;-80px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-06&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-25px&lt;/span&gt; &lt;span class="re3"&gt;-100px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-07&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-25px&lt;/span&gt; &lt;span class="re3"&gt;-120px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-08&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-25px&lt;/span&gt; &lt;span class="re3"&gt;-140px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-09&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-25px&lt;/span&gt; &lt;span class="re3"&gt;-160px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-10&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-25px&lt;/span&gt; &lt;span class="re3"&gt;-180px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-11&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-25px&lt;/span&gt; &lt;span class="re3"&gt;-200px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-12&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-25px&lt;/span&gt; &lt;span class="re3"&gt;-220px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-13&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-25px&lt;/span&gt; &lt;span class="re3"&gt;-240px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-14&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-25px&lt;/span&gt; &lt;span class="re3"&gt;-260px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-15&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-25px&lt;/span&gt; &lt;span class="re3"&gt;-280px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-16&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-50px&lt;/span&gt;      &lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-17&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-50px&lt;/span&gt;  &lt;span class="re3"&gt;-20px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-18&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-50px&lt;/span&gt;  &lt;span class="re3"&gt;-40px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-19&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-50px&lt;/span&gt;  &lt;span class="re3"&gt;-60px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-20&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-50px&lt;/span&gt;  &lt;span class="re3"&gt;-80px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-21&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-50px&lt;/span&gt; &lt;span class="re3"&gt;-100px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-22&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-50px&lt;/span&gt; &lt;span class="re3"&gt;-120px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-23&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-50px&lt;/span&gt; &lt;span class="re3"&gt;-140px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-24&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-50px&lt;/span&gt; &lt;span class="re3"&gt;-160px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-25&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-50px&lt;/span&gt; &lt;span class="re3"&gt;-180px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-26&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-50px&lt;/span&gt; &lt;span class="re3"&gt;-200px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-27&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-50px&lt;/span&gt; &lt;span class="re3"&gt;-220px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-28&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-50px&lt;/span&gt; &lt;span class="re3"&gt;-240px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-29&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-50px&lt;/span&gt; &lt;span class="re3"&gt;-260px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-30&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-50px&lt;/span&gt; &lt;span class="re3"&gt;-280px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.d-31&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-50px&lt;/span&gt; &lt;span class="re3"&gt;-300px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.y-06&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-75px&lt;/span&gt;      &lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.y-07&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-75px&lt;/span&gt; &lt;span class="re3"&gt;-040px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.y-08&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-75px&lt;/span&gt; &lt;span class="re3"&gt;-080px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.y-09&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-75px&lt;/span&gt; &lt;span class="re3"&gt;-120px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.y-10&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-75px&lt;/span&gt; &lt;span class="re3"&gt;-160px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.y-11&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-75px&lt;/span&gt; &lt;span class="re3"&gt;-200px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.y-12&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-75px&lt;/span&gt; &lt;span class="re3"&gt;-240px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="re1"&gt;.nice_date&lt;/span&gt; &lt;span class="re1"&gt;.y-13&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &lt;span class="kw1"&gt;background-position&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt;&lt;span class="re3"&gt;-75px&lt;/span&gt; &lt;span class="re3"&gt;-280px&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;As you can see, the first part just sets up the element sizes and positions. The last chuck of code defines the background offsets for the sprite.&lt;/p&gt;
&lt;p&gt;Note: You may need to adjust bits of this based on your own settings. For example, if you remake the Dates PNG Sprite, you will need to adjust ALL the background positions (unless you keep to the same grid).&lt;/p&gt;
&lt;h3&gt;The PHP&lt;/h3&gt;
&lt;p&gt;The following PHP is used to embed the HTML Template into a Node.&lt;/p&gt;
&lt;div class="geshifilter"&gt;&lt;pre class="php geshifilter-php"&gt;&lt;span class="kw2"&gt;function&lt;/span&gt; THEMENAME_preprocess_node&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="sy0"&gt;&amp;amp;&lt;/span&gt;&lt;span class="re0"&gt;$vars&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;
  &lt;span class="re0"&gt;$vars&lt;/span&gt;&lt;span class="br0"&gt;&amp;#91;&lt;/span&gt;&lt;span class="st_h"&gt;'nide_date'&lt;/span&gt;&lt;span class="br0"&gt;&amp;#93;&lt;/span&gt; &lt;span class="sy0"&gt;=&lt;/span&gt; _THEMENAME_nice_date&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="re0"&gt;$vars&lt;/span&gt;&lt;span class="br0"&gt;&amp;#91;&lt;/span&gt;&lt;span class="st_h"&gt;'created'&lt;/span&gt;&lt;span class="br0"&gt;&amp;#93;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;
&lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="kw2"&gt;function&lt;/span&gt; _THEMENAME_nice_date&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="re0"&gt;$timestamp&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;
  &lt;span class="co1"&gt;// Nice Date&lt;/span&gt;
  &lt;span class="re0"&gt;$ys&lt;/span&gt; &lt;span class="sy0"&gt;=&lt;/span&gt; &lt;span class="kw3"&gt;date&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st_h"&gt;'y'&lt;/span&gt;&lt;span class="sy0"&gt;,&lt;/span&gt; &lt;span class="re0"&gt;$timestamp&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;
  &lt;span class="re0"&gt;$yl&lt;/span&gt; &lt;span class="sy0"&gt;=&lt;/span&gt; &lt;span class="kw3"&gt;date&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st_h"&gt;'Y'&lt;/span&gt;&lt;span class="sy0"&gt;,&lt;/span&gt; &lt;span class="re0"&gt;$timestamp&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;
  &lt;span class="re0"&gt;$ms&lt;/span&gt; &lt;span class="sy0"&gt;=&lt;/span&gt; &lt;span class="kw3"&gt;date&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st_h"&gt;'m'&lt;/span&gt;&lt;span class="sy0"&gt;,&lt;/span&gt; &lt;span class="re0"&gt;$timestamp&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;
  &lt;span class="re0"&gt;$ml&lt;/span&gt; &lt;span class="sy0"&gt;=&lt;/span&gt; &lt;span class="kw3"&gt;date&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st_h"&gt;'M'&lt;/span&gt;&lt;span class="sy0"&gt;,&lt;/span&gt; &lt;span class="re0"&gt;$timestamp&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;
  &lt;span class="re0"&gt;$d&lt;/span&gt;  &lt;span class="sy0"&gt;=&lt;/span&gt; &lt;span class="kw3"&gt;date&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st_h"&gt;'d'&lt;/span&gt;&lt;span class="sy0"&gt;,&lt;/span&gt; &lt;span class="re0"&gt;$timestamp&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;
&amp;nbsp;
  &lt;span class="kw1"&gt;return&lt;/span&gt; &lt;span class="st0"&gt;&amp;quot;&amp;lt;div class=&amp;quot;&lt;/span&gt;nice&lt;span class="sy0"&gt;-&lt;/span&gt;&lt;span class="kw3"&gt;date&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;&amp;gt;
  &amp;lt;div class=&lt;span class="es1"&gt;\&amp;quot;&lt;/span&gt;month m-&lt;span class="es4"&gt;{$ms}&lt;/span&gt;&lt;span class="es1"&gt;\&amp;quot;&lt;/span&gt;&amp;gt;&lt;span class="es4"&gt;{$ml}&lt;/span&gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class=&lt;span class="es1"&gt;\&amp;quot;&lt;/span&gt;day d-&lt;span class="es4"&gt;{$d}&lt;/span&gt;&lt;span class="es1"&gt;\&amp;quot;&lt;/span&gt;&amp;gt;&lt;span class="es4"&gt;{$d}&lt;/span&gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class=&lt;span class="es1"&gt;\&amp;quot;&lt;/span&gt;year y-&lt;span class="es4"&gt;{$ys}&lt;/span&gt;&lt;span class="es1"&gt;\&amp;quot;&lt;/span&gt;&amp;gt;&lt;span class="es4"&gt;{$yl}&lt;/span&gt;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;
&lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;You've probably guessed, but you should replace THEMENAME with the name of the theme (eg, this theme is currently called "tmj2"). You now have a variable, &lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;$nide_date&lt;/code&gt;&lt;/span&gt; to print into your &lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;node.tpl.php&lt;/code&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;You can also use the same function in &lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;hook_preprocess_comment&lt;/code&gt;&lt;/span&gt; too, if your site has comments enabled.&lt;/p&gt;
&lt;h3&gt;Other Tips&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;You could bundle this up into a module to re-use across several sites. The preprocess hooks in Drupal 6+ are accessible from Modules.&lt;/li&gt;
&lt;li&gt;You could alter the Sprite PNG to use a different font; I used Helvetica to fit with the site's clean/simple font design. Someone like &lt;a href="http://morten.dk/"&gt;Morten (the King of Denmark)&lt;/a&gt; might prefer to remake it using &lt;a href="http://new.myfonts.com/fonts/underware/bello/"&gt;Bello&lt;/a&gt; to match his blogs header title.&lt;/li&gt;
&lt;li&gt;Altering the layout is possible too; maybe you're prefer to the date along the top and the month on the side?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you implement this on your site, please share your link below! (Note to spammers, my site uses No Follow and I check for link spam, so save us both some time ;-) hehe).&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fx7CvGWSVapE3KDuMjTikLc9ytY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fx7CvGWSVapE3KDuMjTikLc9ytY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fx7CvGWSVapE3KDuMjTikLc9ytY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fx7CvGWSVapE3KDuMjTikLc9ytY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/tmj?a=irDQbCjUWNc:u50HvoZObXM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=irDQbCjUWNc:u50HvoZObXM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=irDQbCjUWNc:u50HvoZObXM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=irDQbCjUWNc:u50HvoZObXM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=irDQbCjUWNc:u50HvoZObXM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=irDQbCjUWNc:u50HvoZObXM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=irDQbCjUWNc:u50HvoZObXM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=irDQbCjUWNc:u50HvoZObXM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=irDQbCjUWNc:u50HvoZObXM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/tmj/~4/irDQbCjUWNc" height="1" width="1"/&gt;</description>
 <pubDate>Tue, 10 May 2011 11:24:56 +0000</pubDate>
 <dc:creator>Nick</dc:creator>
 <guid isPermaLink="false">412 at http://www.thingy-ma-jig.co.uk</guid>
 <comments>http://www.thingy-ma-jig.co.uk/blog/10-05-2011/nice-dates-a-how-to#comments</comments>
<feedburner:origLink>http://www.thingy-ma-jig.co.uk/blog/10-05-2011/nice-dates-a-how-to</feedburner:origLink></item>
<item>
 <title>Batch Revert Views</title>
 <link>http://feedproxy.google.com/~r/tmj/~3/i2J1B40aN54/batch-revert-views</link>
 <description>&lt;div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;span class="textformatter-list"&gt;&lt;a href="/tags/drupal"&gt;Drupal&lt;/a&gt;, &lt;a href="/tags/code"&gt;code&lt;/a&gt; and &lt;a href="/tags/tips"&gt;tips&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-field-image field-type-image field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;img typeof="foaf:Image" src="http://i.thingy-ma-jig.com/sites/thingy-ma-jig.co.uk/files/styles/medium/public/field_image_files/druplicon.large_0.png" alt="Druplicon Logo" title="Druplicon Logo" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;p&gt;Isn't it a pain when you have dozens of Views setup and they are all marked as "overridden" because you just pulled in an updated feature file from somewhere. Features doesn't always notice when the Views on your site aren't up to date.&lt;/p&gt;&lt;p&gt;The following snippet (&lt;strong&gt;which you should use with caution&lt;/strong&gt;) will batch "delete" (or Revert, once the view is in code) all Views which are marked as Overridden. This took a few seconds to run on our development machine.&lt;/p&gt;&lt;p&gt;&lt;!--break--&gt;&lt;/p&gt;&lt;div style="clear: right;"&gt;
&lt;div class="geshifilter"&gt;&lt;pre class="php geshifilter-php"&gt;&lt;span class="re0"&gt;$views&lt;/span&gt; &lt;span class="sy0"&gt;=&lt;/span&gt; views_get_all_views&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class="kw1"&gt;foreach&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="re0"&gt;$views&lt;/span&gt; &lt;span class="kw1"&gt;as&lt;/span&gt; &lt;span class="re0"&gt;$view&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;
  &lt;span class="kw1"&gt;if&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="re0"&gt;$view&lt;/span&gt;&lt;span class="sy0"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="me1"&gt;disabled&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; &lt;span class="kw1"&gt;continue&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;
&amp;nbsp;
  &lt;span class="kw1"&gt;if&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="re0"&gt;$view&lt;/span&gt;&lt;span class="sy0"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="me1"&gt;type&lt;/span&gt; &lt;span class="sy0"&gt;==&lt;/span&gt; t&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st_h"&gt;'Overridden'&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;
    &lt;span class="re0"&gt;$view&lt;/span&gt;&lt;span class="sy0"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="me1"&gt;delete&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;
    views_object_cache_clear&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st_h"&gt;'view'&lt;/span&gt;&lt;span class="sy0"&gt;,&lt;/span&gt; &lt;span class="re0"&gt;$view&lt;/span&gt;&lt;span class="sy0"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="me1"&gt;name&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;
  &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;I ran this from the Devel PHP page (http://www.example.com/devel/php). It essentially does the same as the view module does when you individually revert views, but this does it without confirming on &lt;strong&gt;ALL VIEWS MARKED AS &lt;em&gt;Overridden&lt;/em&gt;&lt;/strong&gt;. I cannot stress enough - use at your own risk, and backup your database first!&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/64W1UaYWq0tVwB9AGxUTGhfRF-k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/64W1UaYWq0tVwB9AGxUTGhfRF-k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/64W1UaYWq0tVwB9AGxUTGhfRF-k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/64W1UaYWq0tVwB9AGxUTGhfRF-k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/tmj?a=i2J1B40aN54:LlYv7aS8dCk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=i2J1B40aN54:LlYv7aS8dCk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=i2J1B40aN54:LlYv7aS8dCk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=i2J1B40aN54:LlYv7aS8dCk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=i2J1B40aN54:LlYv7aS8dCk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=i2J1B40aN54:LlYv7aS8dCk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=i2J1B40aN54:LlYv7aS8dCk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=i2J1B40aN54:LlYv7aS8dCk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=i2J1B40aN54:LlYv7aS8dCk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/tmj/~4/i2J1B40aN54" height="1" width="1"/&gt;</description>
 <pubDate>Wed, 16 Feb 2011 11:33:30 +0000</pubDate>
 <dc:creator>Nick</dc:creator>
 <guid isPermaLink="false">411 at http://www.thingy-ma-jig.co.uk</guid>
 <comments>http://www.thingy-ma-jig.co.uk/blog/16-02-2011/batch-revert-views#comments</comments>
<feedburner:origLink>http://www.thingy-ma-jig.co.uk/blog/16-02-2011/batch-revert-views</feedburner:origLink></item>
<item>
 <title>Entity Encode Text Using PHP</title>
 <link>http://feedproxy.google.com/~r/tmj/~3/lPM5r1axWvM/entity-encode-text-using-php</link>
 <description>&lt;div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;span class="textformatter-list"&gt;&lt;a href="/tags/code"&gt;code&lt;/a&gt; and &lt;a href="/tags/programming"&gt;programming&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-field-image field-type-image field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;img typeof="foaf:Image" src="http://i.thingy-ma-jig.com/sites/thingy-ma-jig.co.uk/files/styles/medium/public/field_image_files/php-logo.png" alt="PHP Logo" title="PHP Logo" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;p&gt;Ever needed to Entity Encode a block of text (maybe to partially protect it from spam bots or just hide/obfuscate the content?). I did. It's pretty easy.&lt;/p&gt;&lt;p&gt;If it's just based Entity Encoding, you can always use htmlentities - however this only does the "important" characters such as quotes, ampersands and angle brackets.&lt;/p&gt;&lt;p&gt;&lt;!--break--&gt;&lt;/p&gt;&lt;p&gt;If you want to entity encode ALL characters from a string, try this:&lt;/p&gt;
&lt;div class="geshifilter"&gt;&lt;pre class="php geshifilter-php"&gt;&lt;span class="re0"&gt;$phone_number&lt;/span&gt; &lt;span class="sy0"&gt;=&lt;/span&gt; &lt;span class="kw3"&gt;mb_encode_numericentity&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st_h"&gt;'0123 456789'&lt;/span&gt;&lt;span class="sy0"&gt;,&lt;/span&gt; &lt;span class="kw3"&gt;array&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="nu12"&gt;0x00&lt;/span&gt;&lt;span class="sy0"&gt;,&lt;/span&gt; &lt;span class="nu12"&gt;0xff&lt;/span&gt;&lt;span class="sy0"&gt;,&lt;/span&gt; &lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="sy0"&gt;,&lt;/span&gt;  &lt;span class="nu12"&gt;0xffff&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy0"&gt;,&lt;/span&gt; &lt;span class="st_h"&gt;'UTF-8'&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;That produces:&lt;/p&gt;
&lt;div class="geshifilter"&gt;&lt;pre class="text geshifilter-text"&gt;&amp;amp;#48;&amp;amp;#49;&amp;amp;#50;&amp;amp;#51;&amp;amp;#32;&amp;amp;#52;&amp;amp;#53;&amp;amp;#54;&amp;amp;#55;&amp;amp;#56;&amp;amp;#57;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;This is pretty useful if you want to hide a phone number from things like the Skype auto-highlighter.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QlK5uq7Qc-cWkSOG7DaXx6FGRno/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QlK5uq7Qc-cWkSOG7DaXx6FGRno/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QlK5uq7Qc-cWkSOG7DaXx6FGRno/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QlK5uq7Qc-cWkSOG7DaXx6FGRno/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/tmj?a=lPM5r1axWvM:yDwxnYPjiYE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=lPM5r1axWvM:yDwxnYPjiYE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=lPM5r1axWvM:yDwxnYPjiYE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=lPM5r1axWvM:yDwxnYPjiYE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=lPM5r1axWvM:yDwxnYPjiYE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=lPM5r1axWvM:yDwxnYPjiYE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=lPM5r1axWvM:yDwxnYPjiYE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/tmj?a=lPM5r1axWvM:yDwxnYPjiYE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/tmj?i=lPM5r1axWvM:yDwxnYPjiYE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/tmj/~4/lPM5r1axWvM" height="1" width="1"/&gt;</description>
 <pubDate>Mon, 07 Feb 2011 14:06:57 +0000</pubDate>
 <dc:creator>Nick</dc:creator>
 <guid isPermaLink="false">410 at http://www.thingy-ma-jig.co.uk</guid>
 <comments>http://www.thingy-ma-jig.co.uk/blog/07-02-2011/entity-encode-text-using-php#comments</comments>
<feedburner:origLink>http://www.thingy-ma-jig.co.uk/blog/07-02-2011/entity-encode-text-using-php</feedburner:origLink></item>
</channel>
</rss>

