<?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:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>logon2 Blog</title>
	
	<link>http://www.logon2.com.au/blog</link>
	<description>Better use of the web for everybody</description>
	<lastBuildDate>Tue, 13 Jul 2010 12:44:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/logon2" /><feedburner:info uri="logon2" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>logon2</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Returning the entire row of maximum value for each group (Group-wise Maximum in SQL / MySQL )</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/eQG__lv4_A8/</link>
		<comments>http://www.logon2.com.au/blog/archive/coding/mysql-coding/groupwise-maximum-mysql/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 02:01:36 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[groupwise]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[solution]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=178</guid>
		<description><![CDATA[NOTE: The content of this article is inaccurate and needs to be amended. If you wish to be notified when the update is made, you may subscribe via email. Last week I was joyfully hacking away at a project, progressing from from one task to another. Then it came time to do a non-trivial SQL [...]]]></description>
			<content:encoded><![CDATA[<h3>NOTE: The content of this article is inaccurate and needs to be amended. If you wish to be notified when the update is made, you may <a href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1395571&amp;loc=en_US">subscribe via email</a>.</h3>
<p><img class="size-thumbnail wp-image-180" style="float: right;" title="Some SQL" src="http://www.logon2.com.au/blog/wp-content/SQL-150x150.jpg" alt="Some SQL" width="150" height="150" /><span style="color: #c0c0c0;">Last week I was joyfully hacking away at a project, progressing from from one task to another. Then it came time to do a non-trivial SQL query, though at the time I still thought the query would be nothing more than a select with a GROUP BY. I was wrong.</span></p>
<h3><span style="color: #c0c0c0;">The Problem</span></h3>
<p><span style="color: #c0c0c0;">What I wanted was to return the most recent log for each task for a particular user.</span></p>
<p><span style="color: #c0c0c0;">Here&#8217;s my table:<br />
</span> </p>
<pre>+--------+---------+---------+---------------------+----------+--------------------------------------------------------------------------------------------------------+
| log_id | user_id | task_id | when                | duration | description                                                                                            |
+--------+---------+---------+---------------------+----------+--------------------------------------------------------------------------------------------------------+
|      1 |       1 |       1 | 0000-00-00 00:00:00 |      120 | getting logging working at a very basic level                                                          |
|      2 |       1 |       1 | 2010-06-26 13:52:49 |       20 | polishing off log insertion                                                                            |
|      3 |       1 |       2 | 2010-06-26 15:00:44 |      120 |                                                                                                        |
|      4 |       1 |       3 | 2010-06-27 14:00:40 |      300 | over 30 serves for school lunches                                                                      |
|      6 |       1 |       4 | 2010-06-28 15:00:51 |      150 | YesMen - WordPress theme                                                                               |
|      7 |       1 |       4 | 2010-06-29 16:30:03 |      240 | on the YesMen WordPress theme                                                                          |
|      8 |       1 |       5 | 2010-06-30 17:32:13 |      240 | Checking out the market, looking at competition and discussions involving successful developers   12pm |
|      9 |       1 |       1 | 2010-06-30 07:00:05 |       40 |                                                                                                        |
+--------+---------+---------+---------------------+----------+--------------------------------------------------------------------------------------------------------+
</pre>
<p><span style="color: #c0c0c0;">Originally, this was the query that I thought would do it:</span></p>
<pre><span style="color: #c0c0c0;">SELECT * FROM `logs` WHERE `user_id` = '1' GROUP BY `task_id` ORDER BY `when` DESC;</span></pre>
<p><span style="color: #c0c0c0;">Which gave me:</span></p>
<pre>+--------+---------+---------+---------------------+----------+--------------------------------------------------------------------------------------------------------+
| log_id | user_id | task_id | when                | duration | description                                                                                            |
+--------+---------+---------+---------------------+----------+--------------------------------------------------------------------------------------------------------+
|      8 |       1 |       5 | 2010-06-30 17:32:13 |      240 | Checking out the market, looking at competition and discussions involving successful developers   12pm |
|      6 |       1 |       4 | 2010-06-28 15:00:51 |      150 | YesMen - WordPress theme                                                                               |
|      4 |       1 |       3 | 2010-06-27 14:00:40 |      300 | over 30 serves for school lunches                                                                      |
|      3 |       1 |       2 | 2010-06-26 15:00:44 |      120 |                                                                                                        |
|      1 |       1 |       1 | 0000-00-00 00:00:00 |      120 | getting logging working at a very basic level                                                          |
+--------+---------+---------+---------------------+----------+--------------------------------------------------------------------------------------------------------+
</pre>
<p><span style="color: #c0c0c0;">It looks fine, until you notice task_id 1.</span></p>
<p><span style="color: #c0c0c0;">&#8220;What?&#8221; I thought, &#8220;That&#8217;s the least recent log for task_id 1!&#8221;. Then it struck me, &#8220;Oh, ORDER BY is performed after GROUP BY.&#8221; <strong>(Edit)</strong><a href="http://fullof.bs/">John Haugeland</a> for bringing up a problem in  this post. My expectation of valid results was unfounded because  no explicit execution order is defined &#8211; it may  not always (or ever) produce the correct results. In other words, I shouldn&#8217;t have expected it to work.</span> Thanks to commenter</p>
<p><span style="color: #c0c0c0;">So I thought a bit and said &#8220;I know!&#8221; and this was my next attempt:</span></p>
<pre>SELECT * FROM `logs` GROUP BY `task_id` HAVING `when` = MAX(`when`);
</pre>
<p><span style="color: #c0c0c0;">Which yielded:</span></p>
<pre>+--------+---------+---------+---------------------+----------+--------------------------------------------------------------------------------------------------------+
| log_id | user_id | task_id | when                | duration | description                                                                                            |
+--------+---------+---------+---------------------+----------+--------------------------------------------------------------------------------------------------------+
|      3 |       1 |       2 | 2010-06-26 15:00:44 |      120 |                                                                                                        |
|      4 |       1 |       3 | 2010-06-27 14:00:40 |      300 | over 30 serves for school lunches                                                                      |
|      8 |       1 |       5 | 2010-06-30 17:32:13 |      240 | Checking out the market, looking at competition and discussions involving successful developers   12pm |
+--------+---------+---------+---------------------+----------+--------------------------------------------------------------------------------------------------------+
</pre>
<p><span style="color: #c0c0c0;">Though I was hoping that query would do what I wanted, I had a feeling it would do exactly this. It is similar to the last query except it completely removes the logs that aren&#8217;t the most recent. This is just as bad. By this point, I had done some searching and even went through my old RMIT Database Concepts Assignments looking for answers. &#8220;What now? Will I have to give in and use a subquery? Oh, please no&#8230;&#8221; As a final resort, I hopped over to #mysql on freenode (I&#8217;m SickAnimations).</span></p>
<p><span style="color: #c0c0c0;">Somebody linked me to a post about <a href="http://www.dnorth.net/2007/07/28/groupwise-maximum/">Groupwise Maximum queries on David North&#8217;s blog</a>, which was about exactly the same problem as mine. However, the solution there didn&#8217;t to work for me &#8211; it gave the same results as my second attempt. Knowing the new term &#8220;Groupwise Maximum&#8221; and how to use The Google, I came across this little nugget on the official MySQL website: <a href="http://dev.mysql.com/doc/refman/5.0/en/example-maximum-column-group-row.html">3.6.4. The Rows Holding the Group-wise Maximum of a Certain Column</a>. Jackpot.</span></p>
<h3>The Solution</h3>
<p><span style="color: #c0c0c0;">As I feared, the solution did indeed require a subquery. Here&#8217;s my application of MySQL&#8217;s suggestion solution:</span></p>
<pre>SELECT *
FROM `logs` outer_logs
WHERE
	`outer_logs`.`user_id` = 1 AND
	`outer_logs`.`when` = (
		SELECT MAX( `inner_logs`.`when` )
		FROM LOGS inner_logs
		WHERE `outer_logs`.`task_id` = `inner_logs`.`task_id`
)
</pre>
<p><span style="color: #c0c0c0;">Providing the desired output:</span></p>
<pre>+--------+---------+---------+---------------------+----------+--------------------------------------------------------------------------------------------------------+
| log_id | user_id | task_id | when                | duration | description                                                                                            |
+--------+---------+---------+---------------------+----------+--------------------------------------------------------------------------------------------------------+
|      3 |       1 |       2 | 2010-06-26 15:00:44 |      120 |                                                                                                        |
|      4 |       1 |       3 | 2010-06-27 14:00:40 |      300 | over 30 serves for school lunches                                                                      |
|      7 |       1 |       4 | 2010-06-29 16:30:03 |      240 | on the YesMen WordPress theme                                                                          |
|      8 |       1 |       5 | 2010-06-30 17:32:13 |      240 | Checking out the market, looking at competition and discussions involving successful developers   12pm |
|     17 |       1 |       1 | 2010-07-08 06:50:39 |       45 | Finalising transition to Linux development environment                                                 |
+--------+---------+---------+---------------------+----------+--------------------------------------------------------------------------------------------------------+
</pre>
<p><span style="color: #c0c0c0;">Feels mostly good, except the subquery part. Oh well.</span></p>
<p><em>Image from <a href="http://www.flickr.com/photos/wingler/3429634150/">mwin</a>.</em></p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/coding/lomadaba/lomadaba-the-automatic-mysql-database-dump-backup-php-script/" title="Lomadaba, The Automatic MySQL Database Dump Backup PHP Script">Lomadaba, The Automatic MySQL Database Dump Backup PHP Script</a></li><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/check-if-headers-have-already-been-sent-in-php/" title="Check if Headers Have Already Been Sent in PHP">Check if Headers Have Already Been Sent in PHP</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/coding/mysql-coding/groupwise-maximum-mysql/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/coding/mysql-coding/groupwise-maximum-mysql/</feedburner:origLink></item>
		<item>
		<title>Making Your Site Stand Out With Favicons</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/c_qDaSOKnGc/</link>
		<comments>http://www.logon2.com.au/blog/archive/web-design/making-your-site-stand-out-with-favicons/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 03:56:20 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[appearance]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[favicon]]></category>
		<category><![CDATA[icons]]></category>
		<category><![CDATA[png]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=173</guid>
		<description><![CDATA[If you don&#8217;t know what favicons are, look up at your tabs. You&#8217;ll notice that some of them, or at least this one, will have an icon. These are called &#8216;favicons&#8217; (short for &#8220;Favourite&#8221; icon) . You might notice some tabs that don&#8217;t have a favicon. To me, sites with favicons seem more professional, complete [...]]]></description>
			<content:encoded><![CDATA[<p>If you don&#8217;t know what favicons are, look up at your tabs. You&#8217;ll notice that some of them, or at least this one, will have an icon. These are called &#8216;favicons&#8217; (short for &#8220;Favourite&#8221; icon) . You might notice some tabs that don&#8217;t have a favicon. To me, sites with favicons seem more professional, complete and polished. Also, they make it easier for me to negotiate my tabs. Have a look at my tabs at the moment:</p>
<p><img class="aligncenter size-full wp-image-174" title="Tabs with and Without Favicons" src="http://www.logon2.com.au/blog/wp-content/tabs.png" alt="Tabs with and Without Favicons" width="496" height="31" /></p>
<p>Notice how one of them has no favicon and a particularly unhelpful title. Now I&#8217;ll have to click on that tab  (or press CTRL+3, or whatever)<br />
to find out what it is &#8211; how annoying, I shouldn&#8217;t have to do this.</p>
<p>Because I can tell that you&#8217;re smart &#8211; I know that you want to use favicons on your site. It&#8217;s pretty easy &#8211; just create the icon and add some codeThe easiest way to get some favicon action is to use an online ico generator, here are some:</p>
<ul>
<li><a href="http://www.favicon.cc/">Favicon.cc</a></li>
<li><a href="http://tools.dynamicdrive.com/favicon/">Dynamic Drive FavIcon Generator</a></li>
<li><a href="http://www.favicon.co.uk/">Favicon.co.uk</a></li>
</ul>
<p>Then just add a some lines of code to your template:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;link rel=&quot;icon&quot; href=&quot;http://yoursite.tld/favicon.ico&quot; type=&quot;image/x-icon&quot;&gt;</pre></div></div>

<p>It&#8217;s worth noting that some browsers automatically search for &#8220;favicon.ico&#8221; on the document root of your website so it might be a good idea to name it &#8220;(httpdocs)/favicon.ico&#8221;. If you don&#8217;t want to do that, you can save it anywhere and just use a PNG file, just change the MIME type:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;link rel=&quot;icon&quot; href=&quot;http://yoursite.tld/favicon.ico&quot; type=&quot;image/png&quot;&gt;</pre></div></div>

<p>I personally prefer to edit my favicons locally, so I can make them transparent and high resolution for extra shine. Keep your eyes out for a post on that.</p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/processing-php-code-in-css-files-to-improve-productivity-and-browser-cross-compatibility-using-apache/" title="Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)">Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/xhtml-and-html5-compliant-flash-stop-using-embed-and-invalid-xhtmlhtml5/" title="XHTML and HTML5 Compliant Flash &#8211; Stop Using Embed and Invalid XHTML/HTML5">XHTML and HTML5 Compliant Flash &#8211; Stop Using Embed and Invalid XHTML/HTML5</a></li><li><a href="http://www.logon2.com.au/blog/archive/clients/launched-artist-guysel/" title="Launched: Artist Guysel">Launched: Artist Guysel</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/pngs-have-different-colours-in-different-browsers/" title="PNGs Have Different Colours in Different Browsers?">PNGs Have Different Colours in Different Browsers?</a></li><li><a href="http://www.logon2.com.au/blog/archive/tips/new-content-brings-crowds/" title="New Content brings Crowds">New Content brings Crowds</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/web-design/making-your-site-stand-out-with-favicons/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/web-design/making-your-site-stand-out-with-favicons/</feedburner:origLink></item>
		<item>
		<title>Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/QyQCqcYlqpM/</link>
		<comments>http://www.logon2.com.au/blog/archive/coding/coding-php/processing-php-code-in-css-files-to-improve-productivity-and-browser-cross-compatibility-using-apache/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 08:49:59 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[colour]]></category>
		<category><![CDATA[compatibility]]></category>
		<category><![CDATA[cross-browser]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[execute]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[parse]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=167</guid>
		<description><![CDATA[It&#8217;s possible that you&#8217;re thinking, &#8220;Processing PHP in CSS? That&#8217;s plain stinks.,&#8221; just from reading the heading. It does stink, but so does maintaining two CSS files, updating your colour scheme manually (or even by sed), changing common dimensions, and all the other crap that goes with static files. Think about it this way &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s possible that you&#8217;re thinking, &#8220;Processing PHP in CSS? That&#8217;s plain stinks.,&#8221; just from reading the heading. It does stink, but so does maintaining two CSS files, updating your colour scheme manually (or even by sed), changing common dimensions, and all the other crap that goes with static files. Think about it this way &#8211; would you build a site out of many HTML files or would you use some kind of template system (like <a href="http://www.logon2.com.au/blog/coding/pretty-smarties/">Pretty Smarties</a>)? By now I hope you&#8217;re less sceptical. If you&#8217;re interested, please read on.</p>
<h3>Executing PHP in CSS Files</h3>
<p>In order to parse and execute PHP in a CSS file, all you have to do is tell Apache to treat CSS files as PHP, and just make sure you tell the browser that it&#8217;s NOT text/html (default mime type) but CSS.Very easy.</p>
<h4>.htaccess File</h4>
<p>Place a .htaccess file in the directory of the CSS file (if there isn&#8217;t one already). Simply add a directive to process the PHP in CSS files. Depending on your configuration, you might have to use a different directive. Here are the two most common ones I&#8217;ve been able to use:<br />
Mod_PHP (Apache PHP Module)</p>
<pre>
#MOD PHP
<FilesMatch "\.(css)$">
	SetHandler application/x-httpd-php
</FilesMatch>
</pre>
<p>Others:</p>
<pre>
#OTHERS
AddType application/x-httpd-php5 .css
</pre>
<p><em>(If you&#8217;re using php4, use x-httpd-php4)</em></p>
<h4>CSS (and PHP) File</h4>
<p>I recommend using this code just to test that your Apache directive is working. Hopefully this example shows the potential use for  (server-side) executable code in CSS files.</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">&lt;?php
	//make sure the browser treats this as CSS
	header<span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">&quot;Content-Type: text/css&quot;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
&nbsp;
	//browser detection
	if <span style="color: #00AA00;">&#40;</span>strpos<span style="color: #00AA00;">&#40;</span>$_SERVER<span style="color: #00AA00;">&#91;</span><span style="color: #ff0000;">'HTTP_USER_AGENT'</span><span style="color: #00AA00;">&#93;</span><span style="color: #00AA00;">,</span><span style="color: #ff0000;">&quot;Internet Explorer&quot;</span><span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&#123;</span>
		$internet_explorer <span style="color: #00AA00;">=</span> true<span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
&nbsp;
	$baseColour <span style="color: #00AA00;">=</span> <span style="color: #ff0000;">&quot;#F3AA9C&quot;</span><span style="color: #00AA00;">;</span>
	$secondaryColour <span style="color: #00AA00;">=</span> <span style="color: #ff0000;">&quot;#CCAF1F&quot;</span><span style="color: #00AA00;">;</span>
	$foregroundColour <span style="color: #00AA00;">=</span> <span style="color: #ff0000;">&quot;#FFFFFF&quot;</span><span style="color: #00AA00;">;</span>
	$moduleWidth <span style="color: #00AA00;">=</span> <span style="color: #ff0000;">&quot;125px&quot;</span><span style="color: #00AA00;">;</span>
?<span style="color: #00AA00;">&gt;</span>
&nbsp;
<span style="color: #cc00cc;">#content</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span>&lt;?php echo $baseColour<span style="color: #00AA00;">;</span> ?<span style="color: #00AA00;">&gt;;</span>
	colour<span style="color: #00AA00;">:</span>&lt;?php echo $foregroundColour ?<span style="color: #00AA00;">&gt;;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#sideBar</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> &lt;?php echo $secondaryColour<span style="color: #00AA00;">;</span> ?<span style="color: #00AA00;">&gt;;</span>
	<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span>&lt;?php echo $baseColour<span style="color: #00AA00;">;</span> ?<span style="color: #00AA00;">&gt;;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span>&lt;?php echo $moduleWidth<span style="color: #00AA00;">;</span> ?<span style="color: #00AA00;">&gt;;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#footer</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> &lt;?php echo $secondaryColour<span style="color: #00AA00;">;</span> ?<span style="color: #00AA00;">&gt;;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span>&lt;?php echo $foregroundColour<span style="color: #00AA00;">;</span> ?<span style="color: #00AA00;">&gt;;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p><em>Obviously mixing PHP and CSS stuffs up syntax highlighting sorry.</em></p>
<h4>Caveat</h4>
<p>Most browsers will download the CSS file on every pageload &#8211; it&#8217;s not too difficult to implement cache-control, but I haven&#8217;t done it for this code.</p>
<hr />
Code hard or &#8230; er&#8230; code home.</p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/myspace/choose-myspace-comment-colors-fonts-and-sizes/" title="Choose MySpace Comment Colors, Fonts and Sizes">Choose MySpace Comment Colors, Fonts and Sizes</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/pngs-have-different-colours-in-different-browsers/" title="PNGs Have Different Colours in Different Browsers?">PNGs Have Different Colours in Different Browsers?</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/" title="Introducing the Lovely Caption Maker">Introducing the Lovely Caption Maker</a></li><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/accessible-valid-dropdown-menu-or-popup-menu-using-css-and-semantic-html/" title="Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML">Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/extract-get-variables-from-url-string-to-array-php-function/" title="Extract GET Variables from URL String to Array &#8211; PHP Function">Extract GET Variables from URL String to Array &#8211; PHP Function</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/coding/coding-php/processing-php-code-in-css-files-to-improve-productivity-and-browser-cross-compatibility-using-apache/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/coding/coding-php/processing-php-code-in-css-files-to-improve-productivity-and-browser-cross-compatibility-using-apache/</feedburner:origLink></item>
		<item>
		<title>XHTML and HTML5 Compliant Flash – Stop Using Embed and Invalid XHTML/HTML5</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/5dvi7FQUjHs/</link>
		<comments>http://www.logon2.com.au/blog/archive/web-design/xhtml-and-html5-compliant-flash-stop-using-embed-and-invalid-xhtmlhtml5/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 07:49:30 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[embed]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[invalid]]></category>
		<category><![CDATA[object]]></category>
		<category><![CDATA[param]]></category>
		<category><![CDATA[valid]]></category>
		<category><![CDATA[validation]]></category>
		<category><![CDATA[xhtml]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=162</guid>
		<description><![CDATA[When I moved across to XHTML a few years ago, the transition was mostly quite easy. Using thesse logical rules got me though 90% of the transition: Close all tags, use lower-case tags, use lower-case attributes and maintain nesting order. Markup is for content, CSS is for presentation. That one was easy. Use the right [...]]]></description>
			<content:encoded><![CDATA[<p>When I moved across to XHTML a few years ago, the transition was mostly quite easy. Using thesse logical rules got me though 90% of the transition:</p>
<ol>
<li>Close all tags, use lower-case tags, use lower-case attributes and maintain nesting order.</li>
<li>Markup is for content, CSS is for presentation. That one was easy.</li>
<li>Use the right tag for the right job (in the right place) and make things accessible.</li>
</ol>
<p>However, one thing that can&#8217;t be covered by a general rule is the complete removal of tags. Most removed tags were non-standard and started out as proprietary &#8211; like <strong>&lt;marquee&gt;</strong> and the tag we&#8217;re going to talk about, <strong>&lt;embed&gt;</strong>.</p>
<p>The <strong>&lt;embed&gt;</strong> tag was used to &#8216;embed&#8217; objects (plugins) into a web page. Even though it&#8217;s not a standard tag, it had become the de facto method of inserting an object (like a Flash object, or a video) into a web page. You&#8217;ll notice that the code YouTube, PhotoBucket and other sites provide for you uses the &lt;embed&gt; tag and therefore this practice is known as &#8220;embedding&#8221;. Even though these sites still use it, that doesn&#8217;t mean you have to. &#8220;Embedding&#8221; objects without using is actually very easy and cross-(modern)browser compatible. Dear reader, please meet the HTML5 and XHTML-compliant<strong> &lt;object&gt; </strong>tag.</p>
<h3>Valid HTML5 and XHTML Flash Tag</h3>
<p>Rather than explaining it to you first, I&#8217;ll show you the before and after of some YouTube &#8220;embed&#8221; code.<br />
<em>Before:</em></p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;
	&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/bz8Pv-QeNQI&amp;hl=en_GB&amp;fs=1&amp;&quot;&gt;&lt;/param&gt;
	&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;
	&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;
	&lt;embed src=&quot;http://www.youtube.com/v/bz8Pv-QeNQI&amp;hl=en_GB&amp;fs=1&amp;&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;
&lt;/object&gt;</pre></div></div>

<p><em>After:</em></p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;object type=&quot;application/x-shockwave-flash&quot; style=&quot;width:425px; height:344px;&quot; data=&quot;http://www.youtube.com/v/bz8Pv-QeNQI&amp;amp;hl=en&amp;amp;fs=1&quot;&gt;
	&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/bz8Pv-QeNQI&amp;amp;hl=en&amp;amp;fs=1&quot; /&gt;
	YouTube Video, flash required.
&lt;/object&gt;</pre></div></div>

<p>Basically, this is all you have to do:</p>
<ul>
<li>Add a <strong>type</strong> attribute to the object, and set its value to &quot;application/x-shockwave-flash&quot;</li>
<li>Add a <strong>data</strong> attribute to the object and set its value the param &quot;movie&quot; had as its value &#8211; or simply the path of the SWF</li>
<li>Use CSS to set the width, height and position</li>
<li>Maintain other params that you want, or delete the ones you don&#8217;t want</li>
</ul>
<p>See, it works:<br />
<object type="application/x-shockwave-flash" style="width:425px; height:344px;" data="http://www.youtube.com/v/bz8Pv-QeNQI&amp;hl=en&amp;fs=1"><param name="movie" value="http://www.youtube.com/v/bz8Pv-QeNQI&amp;hl=en&amp;fs=1" />YouTube Video, flash required.<br />
</object><br />
<em>Actually for some reason it doesn&#8217;t work on my iPhone&#8230;</em></p>
<p>That is all, happy (valid) coding.</p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/web-design/making-your-site-stand-out-with-favicons/" title="Making Your Site Stand Out With Favicons">Making Your Site Stand Out With Favicons</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/processing-php-code-in-css-files-to-improve-productivity-and-browser-cross-compatibility-using-apache/" title="Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)">Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/" title="Introducing the Lovely Caption Maker">Introducing the Lovely Caption Maker</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/actionscript/removing-movieclip-children-from-movieclip-in-flash-using-actionscript/" title="Removing MovieClip Children from MovieClip in Flash Using ActionScript">Removing MovieClip Children from MovieClip in Flash Using ActionScript</a></li><li><a href="http://www.logon2.com.au/blog/archive/tips/new-content-brings-crowds/" title="New Content brings Crowds">New Content brings Crowds</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/web-design/xhtml-and-html5-compliant-flash-stop-using-embed-and-invalid-xhtmlhtml5/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/web-design/xhtml-and-html5-compliant-flash-stop-using-embed-and-invalid-xhtmlhtml5/</feedburner:origLink></item>
		<item>
		<title>Site Launched: Rose’s Knitting Centre</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/GFx0D5KQfag/</link>
		<comments>http://www.logon2.com.au/blog/archive/websites/site-launched-roses-knitting-centre/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 04:44:04 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Clients]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[knitting]]></category>
		<category><![CDATA[launch]]></category>
		<category><![CDATA[online wool shop]]></category>
		<category><![CDATA[portfolio]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=154</guid>
		<description><![CDATA[Rose&#8217;s Knitting Centre offers a wide range of current Australian yarns in its online wool shop. Visitors can buy Patons, Cleckheaton, Shepherd and Panda yarns in any colour available directly from the shop. Transactions are managed by the shopping cart software and can automatically calculate postage, handling and then process the transaction. logon2 Contact Form [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.logon2.com.au/blog/portfolio/roses-knitting-centre-online-wool-shop/">Rose&#8217;s Knitting Centre</a> offers a wide range of current Australian yarns in its <a href="http://www.rosesknittingcentre.com.au/online-wool-shop/">online wool shop</a>. Visitors can buy <a href="http://www.rosesknittingcentre.com.au/buy-wool-online/patons/">Patons</a>, <a href="http://www.rosesknittingcentre.com.au/buy-wool-online/cleckheaton/">Cleckheaton</a>, <a href="http://www.rosesknittingcentre.com.au/buy-wool-online/shepherd/">Shepherd </a>and <a href="http://www.rosesknittingcentre.com.au/buy-wool-online/panda/">Panda </a>yarns in any colour available directly from the shop.</p>
<p><a href="http://www.rosesknittingcentre.com.au/"><img class="aligncenter size-full wp-image-156" title="Rose's Knitting Centre - Online Wool Shop" src="http://www.logon2.com.au/blog/wp-content/roses-knitting-centre.jpg" alt="Rose's Knitting Centre - Online Wool Shop" width="445" height="228" /></a></p>
<p>Transactions are managed by the shopping cart software and can automatically calculate postage, handling and then process the transaction.</p>
<p>logon2 Contact Form is used to allow customers easily enquire about specific products without hassle, as well as make general enquiries.</p>
<p>Visit <a href="http://www.rosesknittingcentre.com.au/">Rose&#8217;s Knitting  Centre</a>.</p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/websites/new-site-barrabool-rural-protection-group/" title="New Site &#8211; Barrabool Rural Protection Group">New Site &#8211; Barrabool Rural Protection Group</a></li><li><a href="http://www.logon2.com.au/blog/archive/clients/launched-artist-guysel/" title="Launched: Artist Guysel">Launched: Artist Guysel</a></li><li><a href="http://www.logon2.com.au/blog/archive/clients/fishing-charters-victoria-bass-strait-portland/" title="Launched: Adamas Fishing Charters &#8211; Sports Fishing in Bass Strait">Launched: Adamas Fishing Charters &#8211; Sports Fishing in Bass Strait</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/websites/site-launched-roses-knitting-centre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/websites/site-launched-roses-knitting-centre/</feedburner:origLink></item>
		<item>
		<title>Lomadaba, The Automatic MySQL Database Dump Backup PHP Script</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/HjpCYfOhbYc/</link>
		<comments>http://www.logon2.com.au/blog/archive/coding/lomadaba/lomadaba-the-automatic-mysql-database-dump-backup-php-script/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 03:13:42 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Lomadaba]]></category>
		<category><![CDATA[automatic]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[cronjob]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysqldump]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=146</guid>
		<description><![CDATA[Now that logon2 hosts quite a few sites that are dynamic and make use of MySQL databases, I decided to implement automatic daily database backup tool. Such a tool gives me peace of mind as well as advantage over any competitors who don&#8217;t perform automatic backups. Lomadaba (logon2 Mass Database Backup) is my solution. Already, [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float:left;" title="Lomadaba - MySQL Database Backup PHP Script" src="http://www.logon2.com.au/blog/wp-content/logo.png" alt="Lomadaba - MySQL Database Backup PHP Script" width="213" height="159" />Now that logon2 hosts quite a few sites that are dynamic and make use of MySQL databases, I decided to implement automatic daily database backup tool. Such a tool gives me peace of mind as well as advantage over any competitors who don&#8217;t perform automatic backups. Lomadaba (<strong>lo</strong>gon2 <strong>Ma</strong>ss <strong>Da</strong>tabase <strong>Ba</strong>ckup) is my solution.</p>
<p>Already, the backups have been of great use. With dynamic websites, customers can have access to administration panels, add content, manage their shop catalogue, add photos to their photo gallery, or send emails to their mail list. From time to time, even with appropriate documentation and instruction, customers can accidentally make pretty significant mistakes. I certainly have made mistakes myself. With access to daily backups, these occurrences are much less stressful.</p>
<p>If you haven&#8217;t got an automatic database backup system, you should consider <a href="http://github.com/sickanimations/Lomadaba">Lomadaba </a>as your solution &#8211; or at least your first step. Go and <a href="http://github.com/sickanimations/Lomadaba">download or pull Lomadaba from github</a>.</p>
<p>Features:</p>
<ul>
<li>Can be used to backup one database at a time or 20. Very little effort involved in adding databases.</li>
<li>Success and/or failure email reporting.</li>
<li>Designed to play nicely with existing scripts and their config files.</li>
<li>Configurable and small enough to completely understand within five minutes.</li>
<li>Uses MySQL Dump command, mysqldump to create backups. Essentially the most reliable way to create a backup.</li>
<li>Designed to be execute regularly using cron jobs. Simply make an entry in crontab and allow the cronjob to back up your data.</li>
</ul>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/coding/mysql-coding/groupwise-maximum-mysql/" title="Returning the entire row of maximum value for each group (Group-wise Maximum in SQL / MySQL )">Returning the entire row of maximum value for each group (Group-wise Maximum in SQL / MySQL )</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/coding/lomadaba/lomadaba-the-automatic-mysql-database-dump-backup-php-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/coding/lomadaba/lomadaba-the-automatic-mysql-database-dump-backup-php-script/</feedburner:origLink></item>
		<item>
		<title>Nicer Footer Navigation with pseudo-selectors</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/mtjLbPnmx1k/</link>
		<comments>http://www.logon2.com.au/blog/archive/web-design/nicer-footer-navigation-with-pseudo-selectors/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 13:31:46 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[first-child]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[pseudo-selectors]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=141</guid>
		<description><![CDATA[A common website design feature is the inclusion of navigation links (top level or otherwise) in the footer. Often, links are separated by a hyphen ( &#8211; ) or a pipe ( &#124; ). It&#8217;s very easy to enter these separators in the markup, like so: &#60;a href=&#34;/&#34;&#62;Home&#60;/a&#62; &#124; &#60;a href=&#34;/about/&#34;&#62;About&#60;/a&#62; &#124; &#60;a href=&#34;/contact/&#34;&#62;Contact&#60;/a&#62; I [...]]]></description>
			<content:encoded><![CDATA[<p>A common website design feature is the inclusion of navigation links (top level or otherwise) in the footer. Often, links are separated by a hyphen ( &#8211; ) or a pipe ( | ). It&#8217;s very easy to enter these separators in the markup, like so:</p>

<div class="wp_syntax"><div class="code"><pre class="xhtml" style="font-family:monospace;">&lt;a href=&quot;/&quot;&gt;Home&lt;/a&gt; |
&lt;a href=&quot;/about/&quot;&gt;About&lt;/a&gt; |
&lt;a href=&quot;/contact/&quot;&gt;Contact&lt;/a&gt;</pre></div></div>

<p>I guess it&#8217;s OK to do that, but it&#8217;s not really great practice because the pipes ( | ) are not actually part of the content and are only meant for presentation, so they shouldn&#8217;t really be part of the HTML. Another problem with this is that it&#8217;s inflexible. What if we want more space between the pipes and the links? Do we enter a bunch of &#8220;&amp;nbsp;&#8221;s? That&#8217;s ugly<a href="#note-1">^</a>.</p>
<p>We can use the CSS border property to add the separators for us by adding a left-border to each of the links.</p>
<p>&#8220;<em>But what about the first link?</em>&#8220;</p>
<p>The answer is the<strong> :first-child</strong> CSS pseudo-selector. It allows us to define CSS properties to the first element of its kind within a container. So in this instance, we can apply no border to the first child. Here&#8217;s how the lot would look:</p>

<div class="wp_syntax"><div class="code"><pre class="xhtml" style="font-family:monospace;">&lt;ul id=&quot;footer&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;/&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;/about/&quot;&gt;About&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;/contact/&quot;&gt;Contact&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">ul<span style="color: #cc00cc;">#footer</span> li <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">inline</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* so they display horizontally */</span>
    <span style="color: #000000; font-weight: bold;">border-left</span><span style="color: #00AA00;">:</span><span style="color: #933;">1px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#000000</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* our 'pipe' */</span>
    <span style="color: #000000; font-weight: bold;">padding-left</span><span style="color: #00AA00;">:</span><span style="color: #933;">1em</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">padding-right</span><span style="color: #00AA00;">:</span><span style="color: #933;">1em</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/* here it is, the first-child pseudo-selector */</span>
ul<span style="color: #cc00cc;">#footer</span> li<span style="color: #3333ff;">:first-child </span><span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* no 'pipe' before the first element */</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>It requires a bit more coding initially but it&#8217;s more elegant because it separates concerns and it&#8217;s also more accessible for screen readers and our friendly neighbourhood search engines<a href="#note-2">*</a>.</p>
<p style="font-size:x-small">
<a name="note-1">^</a> I know, this very site doesn&#8217;t follow this site doesn&#8217;t follow these practices. I&#8217;m a hypocrite!<br />
<a name="note-2">*</a> FACT</p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/" title="Introducing the Lovely Caption Maker">Introducing the Lovely Caption Maker</a></li><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/accessible-valid-dropdown-menu-or-popup-menu-using-css-and-semantic-html/" title="Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML">Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/processing-php-code-in-css-files-to-improve-productivity-and-browser-cross-compatibility-using-apache/" title="Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)">Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/pngs-have-different-colours-in-different-browsers/" title="PNGs Have Different Colours in Different Browsers?">PNGs Have Different Colours in Different Browsers?</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/" title="Clean URLs Using Apache&#8217;s mod_rewrite and PHP &#8211; Beginner&#8217;s Tutorial">Clean URLs Using Apache&#8217;s mod_rewrite and PHP &#8211; Beginner&#8217;s Tutorial</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/web-design/nicer-footer-navigation-with-pseudo-selectors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/web-design/nicer-footer-navigation-with-pseudo-selectors/</feedburner:origLink></item>
		<item>
		<title>PHP – No such file or directory in Unknown on line 0 Error</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/M_g0JvuWkEk/</link>
		<comments>http://www.logon2.com.au/blog/archive/troubleshooting/php-no-such-file-or-directory-in-unknown-on-line-0-error/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 02:31:02 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[fatal]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[unknown]]></category>
		<category><![CDATA[warning]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=138</guid>
		<description><![CDATA[Ran XAMPP, tried to access the development virtual host for Kids On The Rise ( http://localhost:99 ) and got this: Warning: Unknown([PATH HERE]): failed to open stream: No such file or directory in Unknown on line 0 Some other Fatal error came up but I forgot to copy it, sorry. The error message is unhelpful [...]]]></description>
			<content:encoded><![CDATA[<p>Ran XAMPP, tried to access the development virtual host for Kids On The Rise ( http://localhost:99 ) and got this:</p>
<pre>Warning: Unknown([PATH HERE]): failed to open stream: No such file or directory in Unknown on line 0</pre>
<p>Some other <b>Fatal</b> error came up but I forgot to copy it, sorry.</p>
<p>The error message is unhelpful but it was pretty easy to fix. I just deleted the .htaccess file from the root and tested. It worked! After restoring a backup of the .htaccess file everything worked. Hooray!</p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/processing-php-code-in-css-files-to-improve-productivity-and-browser-cross-compatibility-using-apache/" title="Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)">Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)</a></li><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/check-if-headers-have-already-been-sent-in-php/" title="Check if Headers Have Already Been Sent in PHP">Check if Headers Have Already Been Sent in PHP</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/" title="Clean URLs Using Apache&#8217;s mod_rewrite and PHP &#8211; Beginner&#8217;s Tutorial">Clean URLs Using Apache&#8217;s mod_rewrite and PHP &#8211; Beginner&#8217;s Tutorial</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/extract-get-variables-from-url-string-to-array-php-function/" title="Extract GET Variables from URL String to Array &#8211; PHP Function">Extract GET Variables from URL String to Array &#8211; PHP Function</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/troubleshooting/php-no-such-file-or-directory-in-unknown-on-line-0-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/troubleshooting/php-no-such-file-or-directory-in-unknown-on-line-0-error/</feedburner:origLink></item>
		<item>
		<title>New Site – Barrabool Rural Protection Group</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/uokRMp_iBcM/</link>
		<comments>http://www.logon2.com.au/blog/archive/websites/new-site-barrabool-rural-protection-group/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 04:55:57 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Clients]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[portfolio]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=131</guid>
		<description><![CDATA[The Barrabool Rural Protection Group needed a website to share news and information quickly and efficiently. They now have a blog set up, allowing them to post news, add pages, engage in discussion and automatically send new content to subscribers. The turnaround time for Barrabool Rural Protection Group&#8217;s blog was 42 hours including domain registration [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.brpg.com.au/">Barrabool Rural Protection Group </a>needed a website to share news and information quickly and efficiently. They now have a blog set up, allowing them to post news, add pages, engage in discussion and automatically send new content to subscribers.</p>
<p style="text-align: center;"><a href="http://www.logon2.com.au/blog/wp-content/fireshot-capture-002-barrabool-rural-protection-group-www_brpg_com_au.png"><img class="aligncenter size-medium wp-image-132" title="Barrabool Rural Protection Group" src="http://www.logon2.com.au/blog/wp-content/fireshot-capture-002-barrabool-rural-protection-group-www_brpg_com_au-300x259.png" alt="Barrabool Rural Protection Group" width="300" height="259" /></a></p>
<p style="text-align: left;">The turnaround time for Barrabool Rural Protection Group&#8217;s blog was 42 hours including domain registration and discussion.</p>
<p style="text-align: left;">Have a look at <a href="http://www.brpg.com.au/">Barrabool Rural Protection Group</a>&#8216;s site to learn more about how they want to protect McAdam Park from over development as a result of a new <a href="http://www.brpg.com.au/fact-sheet">motorbike / motorcross track.</a></p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/websites/site-launched-roses-knitting-centre/" title="Site Launched: Rose&#8217;s Knitting Centre ">Site Launched: Rose&#8217;s Knitting Centre </a></li><li><a href="http://www.logon2.com.au/blog/archive/clients/launched-artist-guysel/" title="Launched: Artist Guysel">Launched: Artist Guysel</a></li><li><a href="http://www.logon2.com.au/blog/archive/clients/fishing-charters-victoria-bass-strait-portland/" title="Launched: Adamas Fishing Charters &#8211; Sports Fishing in Bass Strait">Launched: Adamas Fishing Charters &#8211; Sports Fishing in Bass Strait</a></li><li><a href="http://www.logon2.com.au/blog/archive/tips/your-site-need-fresh-content-regularly/" title="Does Your Site Need Fresh Content, Regularly?">Does Your Site Need Fresh Content, Regularly?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/websites/new-site-barrabool-rural-protection-group/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/websites/new-site-barrabool-rural-protection-group/</feedburner:origLink></item>
		<item>
		<title>Launched: Artist Guysel</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/UGZKNX8fSK0/</link>
		<comments>http://www.logon2.com.au/blog/archive/clients/launched-artist-guysel/#comments</comments>
		<pubDate>Sun, 02 Aug 2009 23:18:26 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Clients]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[portfolio]]></category>
		<category><![CDATA[Pretty Smarties]]></category>
		<category><![CDATA[pretty urls]]></category>
		<category><![CDATA[straight line abstract]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=129</guid>
		<description><![CDATA[Artist Guysel&#8217;s straight-line abstract art website was actually launched in March so this celebratory blog post is slightly late. This website update project presented some milestones for logon2: Gallery2 instead of miniGal for photo gallery management Pretty Smarties, logon2&#8242;s very own Template System, was used to keep pages consistent and content separated from presentation at [...]]]></description>
			<content:encoded><![CDATA[<p>Artist Guysel&#8217;s <a href="http://www.artistguysel.com/">straight-line abstract</a> art website was actually launched in March so this celebratory blog post is slightly late. This website update project presented some milestones for logon2:</p>
<ul>
<li>Gallery2 instead of miniGal for photo gallery management</li>
<li><a href="http://www.logon2.com.au/blog/archive/category/coding/pretty-smarties/">Pretty Smarties</a>, logon2&#8242;s very own Template System, was used to keep pages consistent and content separated from presentation at source.</li>
<li>Working with PHP as CGI on an external server</li>
</ul>
<p style="text-align: center;"><a href="http://www.logon2.com.au/blog/portfolio/artist-guysel-straight-line-abstract-contemporary-art/">Artist Guysel in logon2&#8242;s folio</a></p>
<p style="text-align: center;"><a href="http://www.logon2.com.au/blog/portfolio/artist-guysel-straight-line-abstract-contemporary-art/"><img class="aligncenter size-full wp-image-126" title="Artist Guysel - Straight Line Abstract" src="http://www.logon2.com.au/blog/wp-content/artist-guysel.jpg" alt="Artist Guysel - Straight Line Abstract" width="350" height="251" /></a></p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/websites/site-launched-roses-knitting-centre/" title="Site Launched: Rose&#8217;s Knitting Centre ">Site Launched: Rose&#8217;s Knitting Centre </a></li><li><a href="http://www.logon2.com.au/blog/archive/websites/new-site-barrabool-rural-protection-group/" title="New Site &#8211; Barrabool Rural Protection Group">New Site &#8211; Barrabool Rural Protection Group</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/clients/fishing-charters-victoria-bass-strait-portland/" title="Launched: Adamas Fishing Charters &#8211; Sports Fishing in Bass Strait">Launched: Adamas Fishing Charters &#8211; Sports Fishing in Bass Strait</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/making-your-site-stand-out-with-favicons/" title="Making Your Site Stand Out With Favicons">Making Your Site Stand Out With Favicons</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/clients/launched-artist-guysel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/clients/launched-artist-guysel/</feedburner:origLink></item>
		<item>
		<title>Check if Headers Have Already Been Sent in PHP</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/M1eI3-Cmh2k/</link>
		<comments>http://www.logon2.com.au/blog/archive/troubleshooting/check-if-headers-have-already-been-sent-in-php/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 05:39:51 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[errors]]></category>
		<category><![CDATA[headers]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=119</guid>
		<description><![CDATA[Most PHP programmers would have come across this old chestnut before: Cannot modify header information – headers already sent by page.php line 42 This can happen when you try doing a HTTP redirect or send HTTP 404, as it can happen whenever you try to send headers once they&#8217;ve already been sent. When a user [...]]]></description>
			<content:encoded><![CDATA[<p>Most PHP programmers would have come across this old chestnut before:<br />
<code>Cannot modify header information – headers already sent by page.php line 42</code></p>
<p>This can happen when you try doing a HTTP redirect or send HTTP 404, as it can happen whenever you try to send headers once they&#8217;ve already been sent. When a user sees this, they are basically left high and dry, often on a blank page. The solution is simple:</p>
<h3>Detect if Headers Have Already Been Sent</h3>
<p>Whenever you call <strong>header();</strong> , call <strong>headers_sent();</strong> first!</p>
<p>Example:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">headers_sent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Location: '</span> <span style="color: #339933;">.</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$absolute</span> ? HOME_URL <span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$page</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&lt;p&gt;Couldn't redirect to &quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">htmlentities</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$absolute</span> ? HOME_URL <span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$page</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;, headers already sent.&lt;/p&gt;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #666666; font-style: italic;">//do something here...</span>
    <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Of course you should probably do thing useful </p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/coding/mysql-coding/groupwise-maximum-mysql/" title="Returning the entire row of maximum value for each group (Group-wise Maximum in SQL / MySQL )">Returning the entire row of maximum value for each group (Group-wise Maximum in SQL / MySQL )</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/processing-php-code-in-css-files-to-improve-productivity-and-browser-cross-compatibility-using-apache/" title="Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)">Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)</a></li><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/php-no-such-file-or-directory-in-unknown-on-line-0-error/" title="PHP &#8211; No such file or directory in Unknown on line 0 Error">PHP &#8211; No such file or directory in Unknown on line 0 Error</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/" title="Clean URLs Using Apache&#8217;s mod_rewrite and PHP &#8211; Beginner&#8217;s Tutorial">Clean URLs Using Apache&#8217;s mod_rewrite and PHP &#8211; Beginner&#8217;s Tutorial</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/extract-get-variables-from-url-string-to-array-php-function/" title="Extract GET Variables from URL String to Array &#8211; PHP Function">Extract GET Variables from URL String to Array &#8211; PHP Function</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/troubleshooting/check-if-headers-have-already-been-sent-in-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/troubleshooting/check-if-headers-have-already-been-sent-in-php/</feedburner:origLink></item>
		<item>
		<title>Pretty Smarties 0.5 – Pretty URLs, Smarty Templates and Faster Web Design</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/22KdRYLBXVc/</link>
		<comments>http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 14:12:12 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Pretty Smarties]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[pretty urls]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[smarty]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=105</guid>
		<description><![CDATA[Pretty Smarties Lovely Caption Maker This is the simple PHP template system which integrates Pretty URLs and Smarty Templates. The release is only two months later than I said, but I&#8217;ve made the release fairly decent. Here&#8217;s a rundown on the system: Features Uses the Smarty template engine to place content and render templates. Smarty [...]]]></description>
			<content:encoded><![CDATA[<div style="position: relative; width: 241px; height: 165px; float: right;"><img style="position:relative;" src="http://www.logon2.com.au/blog/wp-content/pretty-smarties-logo.jpg" alt="Pretty Smarties" width="241" height="165" /></p>
<div class="caption" style="margin: 5px; background: #ffffff none repeat scroll 0% 0%; position: absolute; width: 221px; bottom: 0pt; left: 0pt; padding-left: 5px; padding-right: 5px; opacity: 0.85;">
<h3 style="margin-bottom:0.25em; margin-top:0.25em; color:#ce0008;">Pretty Smarties</h3>
</div>
<div><a style="margin: 2px; background: transparent url(http://www.logon2.com.au/images/logon2_badge.gif) no-repeat scroll 0% 0%; display: block; position: absolute; right: 0pt; top: 0pt; width: 32px; height: 7px;" href="http://www.logon2.com.au/tools/lovely-caption-maker-css-transparent-overlay/"><span style="display:none;">Lovely Caption Maker</span></a></div>
</div>
<p>This is the simple PHP template system which integrates Pretty URLs and Smarty Templates. The release is only two months later than I said, but I&#8217;ve made the release fairly decent. Here&#8217;s a rundown on the system:</p>
<h3>Features</h3>
<ul>
<li>Uses the Smarty template engine to place content and render templates. Smarty is easy to learn and well known.</li>
<li>No actual PHP programming required, just HTML and a few Smarty tags</li>
<li>Low overhead &#8211; no database calls and Smarty compiles templates</li>
<li>Employs &#8216;pretty URLs&#8217; by default &#8211; with automatic redirects for malformed  URLs and 404s for bad requests</li>
<li>Content  inheritance from default or parent pages</li>
<li>Support for dynamic content</li>
<li>User friendly, automatic installer with optional sample templates and content</li>
</ul>
<h3>License</h3>
<p>Pretty Smarties is licensed under the GNU General Public License, and includes code from WordPress, another GPL project.</p>
<h3>Still to Come</h3>
<ul>
<li>Pretty variables (Pass variables through a pretty URL)</li>
<li>Support for GET variables (Currently unsupported &#8211; very easy to fix)</li>
<li>Object orientated design</li>
<li>Warnings for missing 404s, favicons</li>
<li>Consistency improvements</li>
</ul>
<p><a href="http://www.logon2.com.au/blog/wp-content/pretty-smarties-05.zip"><img align="left" title="Archive" src="http://www.logon2.com.au/blog/wp-content/archive-icon.png" alt="Archive" width="46" height="60" /></a></p>
<h3><a href="http://www.logon2.com.au/blog/wp-content/pretty-smarties-05.zip">Download Now</a></h3>
<h4><a href="http://www.logon2.com.au/blog/wp-content/pretty-smarties-05.zip">Pretty Smarties 0.5</a></h4>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/processing-php-code-in-css-files-to-improve-productivity-and-browser-cross-compatibility-using-apache/" title="Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)">Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/" title="Introducing the Lovely Caption Maker">Introducing the Lovely Caption Maker</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/" title="Clean URLs Using Apache&#8217;s mod_rewrite and PHP &#8211; Beginner&#8217;s Tutorial">Clean URLs Using Apache&#8217;s mod_rewrite and PHP &#8211; Beginner&#8217;s Tutorial</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/extract-get-variables-from-url-string-to-array-php-function/" title="Extract GET Variables from URL String to Array &#8211; PHP Function">Extract GET Variables from URL String to Array &#8211; PHP Function</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/nicer-footer-navigation-with-pseudo-selectors/" title="Nicer Footer Navigation with pseudo-selectors">Nicer Footer Navigation with pseudo-selectors</a></li><li><a href="http://www.logon2.com.au/blog/archive/clients/launched-artist-guysel/" title="Launched: Artist Guysel">Launched: Artist Guysel</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/</feedburner:origLink></item>
		<item>
		<title>PNGs Have Different Colours in Different Browsers?</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/w_7K51cRwHU/</link>
		<comments>http://www.logon2.com.au/blog/archive/web-design/pngs-have-different-colours-in-different-browsers/#comments</comments>
		<pubDate>Wed, 06 May 2009 23:03:25 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[background]]></category>
		<category><![CDATA[colour]]></category>
		<category><![CDATA[consistency]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[different]]></category>
		<category><![CDATA[internet-explorer]]></category>
		<category><![CDATA[png]]></category>
		<category><![CDATA[solutions]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=106</guid>
		<description><![CDATA[Inconsistent PNGs Lovely Caption Maker Have you ever been working on a website and noticed that in certain browsers a background image isn&#8217;t blending properly with one of your background colours or another image? This phenomenon occurs in Internet Explorer and it&#8217;s caused by metadata in the PNG file itself. There&#8217;s a great program that [...]]]></description>
			<content:encoded><![CDATA[<div style="float:left; position:relative; margin:5px; width:140px; height:174px;" >
		<img style="position:relative;" src="http://www.logon2.com.au/blog/wp-content/png-gamma-problem.jpg" alt="Inconsistent PNGs" width="140" height="174"></p>
<div class="caption" style="position:absolute; width:120px; bottom:0; left:0;	margin:5px;	padding-left:5px; padding-right:5px; background:#5f5b4f; opacity: 0.7; -moz-opacity: 0.7; filter: alpha(opacity=70);">
<h3 style="margin-bottom:0.25em; margin-top:0.25em; color:#FFFFFF;">Inconsistent PNGs</h3>
</p></div>
<div><a style="display:block; position:absolute;right:0;top:0;width:32px;height:7px;background:url(http://www.logon2.com.au/images/logon2_badge.gif) no-repeat;margin:2px;" href="http://www.logon2.com.au/tools/lovely-caption-maker-css-transparent-overlay/"><span style="display:none;">Lovely Caption Maker</span></a></div>
</div>
<p>Have you ever been working on a website and noticed that in <em>certain browsers </em>a background image isn&#8217;t blending properly with one of your background colours or another image? This phenomenon occurs in Internet Explorer and it&#8217;s caused by metadata in the PNG file itself. There&#8217;s a great program that solves this problem without any hacks.</p>
<p>The problem? Gamma. Some programs (like Adobe ImageReady) export PNGs with Gamma metadata. While I&#8217;m sure this metadata could be useful, it causes colour inconsistencies in Internet Explorer (6 and 7 confirmed.)</p>
<p>Solution &#8211; <a href="http://entropymine.com/jason/tweakpng/">TweakPNG</a>. Download this Windows program &#8211; consistent PNGs are X steps away:</p>
<ol>
<li>Open TweakPNG</li>
<li>Load the problem PNG into TweakPNG (Either drag and drop or File &gt; Open)</li>
<li>In the list of &#8220;Chunk&#8221;s, select &#8220;gAMA&#8221; and press the delete key.</li>
<li>Save (Ctrl+S or File &gt; Save)</li>
</ol>
<p style="text-align: center;"><img src="http://www.logon2.com.au/blog/wp-content/tweakpng.png" alt="TweakPNG" width="225" height="120" /></p>
<p>Done.</p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/accessible-valid-dropdown-menu-or-popup-menu-using-css-and-semantic-html/" title="Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML">Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/processing-php-code-in-css-files-to-improve-productivity-and-browser-cross-compatibility-using-apache/" title="Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)">Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/making-your-site-stand-out-with-favicons/" title="Making Your Site Stand Out With Favicons">Making Your Site Stand Out With Favicons</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/nicer-footer-navigation-with-pseudo-selectors/" title="Nicer Footer Navigation with pseudo-selectors">Nicer Footer Navigation with pseudo-selectors</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/" title="Introducing the Lovely Caption Maker">Introducing the Lovely Caption Maker</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/web-design/pngs-have-different-colours-in-different-browsers/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/web-design/pngs-have-different-colours-in-different-browsers/</feedburner:origLink></item>
		<item>
		<title>Introducing the Lovely Caption Maker</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/ep_QQvm3HFk/</link>
		<comments>http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 21:35:42 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[accessible]]></category>
		<category><![CDATA[banner]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[lovely]]></category>
		<category><![CDATA[overlay]]></category>
		<category><![CDATA[ribbon]]></category>
		<category><![CDATA[sematic]]></category>
		<category><![CDATA[valid]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/?p=103</guid>
		<description><![CDATA[A recent trend I&#8217;ve noticed on some Australian media websites has been evoking my interest for a few months now. Sites like The Age and Fox FM have started overlaying a lovely coloured banner with a caption over feature images. The great thing is, they&#8217;re not rendered but glorious SEO-friendly and accessible HTML and CSS. [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://www.logon2.com.au/tools/lovely-caption-maker-css-transparent-overlay/"><img align="right" title="Lovely Caption Maker - Valid Accessible SEO Friendly Transparent CSS Coloured Overlay Caption" src="http://www.logon2.com.au/blog/wp-content/lovely-caption-maker.png" alt="Lovely Caption Maker CSS Transparent Overlay" width="155" height="37" /></a>A recent trend I&#8217;ve noticed on some Australian media websites has been evoking my interest for a few months now. Sites like <a href="http://www.theage.com.au/" target="_blank">The Age</a> and <a href="http://www.foxfm.com.au/" target="_blank">Fox FM</a> have started overlaying a lovely coloured banner with a caption over feature images. The great thing is, they&#8217;re not rendered but glorious <em>SEO-friendly </em>and <em>accessible </em>HTML and CSS. I&#8217;m not surprised, however, since <a href="http://www.theage.com.au/" target="_blank">The Age</a> and <a href="http://www.foxfm.com.au/" target="_blank">Fox FM</a> have always been trend early adopters. <a href="http://www.abc.net.au/">The ABC </a>still beats them, though.
</p>

<p>
Unfortunately, this effect can&#8217;t be achieved without knowing and entering the width and height of an image &#8211; making it kind of tedious to implement. After deciding that I&#8217;d like to use it with wordpress posts, it was decided that a tool should be built. And then <a href="http://www.logon2.com.au/tools/lovely-caption-maker-css-transparent-overlay/">The Lovely Caption Maker</a> was born. Here&#8217;s an example of Lovely Caption Maker&#8217;s glory:
</p>

<style type="text/css">
.feature {
		position:relative;
		width:360px;
		height:480px;
	}
	
	.feature img {
		position:relative;
	}
	
	.feature .caption h3 {
		margin-bottom:0.25em;
		margin-top:0.25em;
	}
	
	.feature .caption p {
		margin-bottom:0.5em;
		margin-left:0.25em;
	}
	
	.feature .caption {
		position:absolute;
		width:340px; 
		bottom:0;
		left:0;
		
		margin:5px;
		
		padding-left:5px;
		padding-right:5px;

		color:#FFFFFF;
		background:#f4489a;
		
		opacity: 0.82;
		-moz-opacity: 0.82;
		filter: alpha(opacity=82);
	}
</style>

	<div class="feature">
		<img src="http://www.logon2.com.au/blog/wp-content/dsc01092.jpg" alt="This Is How We Party" width="360" height="480">
		<div class="caption">
			<h3>This Is How We Party</h3>			<p>Expressing ourselves on the last day of year twelve in 2006. Very sexy stuff.</p>		</div>
	</div>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/processing-php-code-in-css-files-to-improve-productivity-and-browser-cross-compatibility-using-apache/" title="Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)">Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/nicer-footer-navigation-with-pseudo-selectors/" title="Nicer Footer Navigation with pseudo-selectors">Nicer Footer Navigation with pseudo-selectors</a></li><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/accessible-valid-dropdown-menu-or-popup-menu-using-css-and-semantic-html/" title="Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML">Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/xhtml-and-html5-compliant-flash-stop-using-embed-and-invalid-xhtmlhtml5/" title="XHTML and HTML5 Compliant Flash &#8211; Stop Using Embed and Invalid XHTML/HTML5">XHTML and HTML5 Compliant Flash &#8211; Stop Using Embed and Invalid XHTML/HTML5</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/pngs-have-different-colours-in-different-browsers/" title="PNGs Have Different Colours in Different Browsers?">PNGs Have Different Colours in Different Browsers?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/</feedburner:origLink></item>
		<item>
		<title>Launched: Adamas Fishing Charters – Sports Fishing in Bass Strait</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/8r97mATRWeM/</link>
		<comments>http://www.logon2.com.au/blog/archive/clients/fishing-charters-victoria-bass-strait-portland/#comments</comments>
		<pubDate>Sun, 24 Feb 2008 08:44:02 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Clients]]></category>
		<category><![CDATA[barwon heads]]></category>
		<category><![CDATA[bass strait]]></category>
		<category><![CDATA[customer]]></category>
		<category><![CDATA[fishing]]></category>
		<category><![CDATA[portfolio]]></category>
		<category><![CDATA[portland]]></category>
		<category><![CDATA[victoria]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/archive/clients/fishing-charters-victoria-bass-strait-portland/</guid>
		<description><![CDATA[I just launched Adamas Fishing Charters&#8217; new website. Adamas Fishing Charters is based in Barwon Heads and provides recreational fishing charters in Victoria, in bass strait &#8211; they generally depart from Barwon Heads and Portland. Go with Adamas Fishing Charters to catch Mako Sharks, Thresher Sharks, Blue and Bronze Whalers, Snapper, Tiger Flathead, Barracouta, Squid, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.logon2.com.au/blog/wp-content/adamas.JPG" title="Adamas Fishing Charters"><img src="http://www.logon2.com.au/blog/wp-content/adamas.thumbnail.JPG" alt="Adamas Fishing Charters" align="right" height="74" hspace="5" vspace="5" width="121" /></a>I just launched <a href="http://www.adamasfishingcharters.com.au/">Adamas Fishing Charters&#8217; new website</a>. Adamas Fishing Charters is based in <a href="http://www.adamasfishingcharters.com.au/">Barwon Heads </a>and provides recreational <a href="http://http://www.adamasfishingcharters.com.au/">fishing charters in Victoria, in bass strait</a> &#8211; they generally depart from Barwon Heads and <a href="http://www.adamasfishingcharters.com.au/">Portland</a>.</p>
<p>Go with Adamas Fishing Charters to catch <a href="http://www.adamasfishingcharters.com.au/fishing/">Mako Sharks, Thresher Sharks, Blue and Bronze Whalers, Snapper, Tiger Flathead, Barracouta, Squid, Gummy Sharks, Seven Gill Sharks, Yellowtail Kingfish, St. George Whiting, Trevally, Salmon, Calamari, Pike, Flathead and Tuna</a>.</p>
<p align="center"><a href="http://http://www.adamasfishingcharters.com.au/">View Adamas Fishing Charters logon2 Portfolio Profile</a><a href="http://www.logon2.com.au/blog/adamas-fishing-charter-victoria-bass-strait-portland/"> </a></p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/websites/site-launched-roses-knitting-centre/" title="Site Launched: Rose&#8217;s Knitting Centre ">Site Launched: Rose&#8217;s Knitting Centre </a></li><li><a href="http://www.logon2.com.au/blog/archive/websites/new-site-barrabool-rural-protection-group/" title="New Site &#8211; Barrabool Rural Protection Group">New Site &#8211; Barrabool Rural Protection Group</a></li><li><a href="http://www.logon2.com.au/blog/archive/clients/launched-artist-guysel/" title="Launched: Artist Guysel">Launched: Artist Guysel</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/clients/fishing-charters-victoria-bass-strait-portland/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/clients/fishing-charters-victoria-bass-strait-portland/</feedburner:origLink></item>
		<item>
		<title>Clean URLs Using Apache’s mod_rewrite and PHP – Beginner’s Tutorial</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/aEqt2EgWRrQ/</link>
		<comments>http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/#comments</comments>
		<pubDate>Sun, 10 Feb 2008 05:39:20 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[url]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/archive/tips/91/</guid>
		<description><![CDATA[In technology, there&#8217;s always the goal of making complex and difficult things more simple &#8211; this goal has brought about &#8216;clean URLs&#8217;. Clean URLs are website addresses that are easy for people (and also search engines) to read and understand. For example: An interesting article about the Bermuda Triangle might be at www.articles.com/article.php?id=23452 &#8211; That [...]]]></description>
			<content:encoded><![CDATA[<p>In technology, there&#8217;s always the goal of making complex and difficult things more simple &#8211; this goal has brought about &#8216;clean URLs&#8217;. Clean URLs are website addresses that are easy for people (and also search engines) to read and understand. For example: An interesting article about the Bermuda Triangle might be at <strong>www.articles.com/article.php?id=23452</strong> &#8211; That address tells us (and search engines) nothing about the article. Using a clean URL, the same article might be at <strong>www.articles.com/articles/bermuda-triangle </strong>- much easier,  right? Well, here is how you can implement this on <em>your </em>website&#8230;</p>
<h3>Setting Up Apache&#8217;s &#8220;mod_rewrite&#8221; Modul</h3>
<p>To implement these URLs with Apache, you will need to have the mod_rewrite module enabled. Here&#8217;s how to enable mod_rewrite:</p>
<ol>
<li>Open the httpd.conf file from the &#8230;apache/conf/ directory</li>
<li>Uncomment the line &#8220;LoadModule rewrite_module modules/mod_rewrite.so&#8221; (by removing preceding #)</li>
</ol>
<p>If you have more than one virtual server or directory set up, you might have to add something like this as well:</p>
<pre><code></code>&lt;Directory "PATHOFDIRECTORY"&gt;
    AllowOverride all
    Order allow,deny
    Allow from all
&lt;/Directory&gt;</pre>
<p>Next, you need to create a file named &#8220;<em>.htaccess</em>&#8221; at the website&#8217;s root directory (if you haven&#8217;t got one already)</p>
<p>In your <em>.htaccess</em> file, add the following rules:</p>
<pre>&lt;IfModule mod_rewrite.c&gt;
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
&lt;/IfModule&gt;</pre>
<p>This will redirect all requests that don&#8217;t point to an existing file or directory to &#8216;index.php&#8217;.</p>
<p>You might (or might not) be thinking &#8220;How does that help implement clean URLs?&#8221; The next part will answer that question, but before proceeding &#8211; test your new Apache config and  <em>.htaccess </em>file &#8211; restart Apache if necessary and try loading a directory that doesn&#8217;t exist (ie. http://yourwebsitehost/page/5/your-information/). If it loads your index.php page &#8211; we&#8217;re ready to continue.</p>
<h3>Getting PHP to Interpret The URLs</h3>
<p>Ok, the hard part is done. Now I&#8217;ll explain what we want when a user requests a page:</p>
<ol>
<li> User requests &#8220;/page/5/your-information/&#8221;</li>
<li>Apache redirects the request to &#8220;index.php&#8221; without changing the user&#8217;s URL</li>
<li>index.php breaks up the requet URI and loads page.php instructing it to load page &#8217;5&#8242;</li>
</ol>
<p>This might seem a bit difficult (or, if you&#8217;re experienced, very easy) &#8211; it honestly is rather easy. Once you understand how it works, you might decide to do it differently, but here is a <em>really simple </em>example of a website that contains information &#8216;pages&#8217; and information about the &#8216;authors&#8217; of those pages.</p>
<p>In our example, we have three php files:</p>
<ul>
<li>index.php</li>
<li>page.php</li>
<li>author.php</li>
</ul>
<h4>&#8220;index.php&#8221;</h4>
<pre><code>&lt;?php
//$urlVariables is an array that contains the different bits of information in the request.
$urlVariables = explode("/",$_SERVER['REQUEST_URI']);
//If the user requested '/page/6/about-elephans/' then $urlVariables[1] would be 'page', $urlVariables[2] would be '6' and so on.</code>

if ($urlVariables[1] == "page") {
//the user is requesting an information page
    include "page.php";
} elseif $urlVariables[2] == "author" {
    //the user is requesting author information
    include "author.php";
} else {
    //load the home page
    include "default.php";
}?&gt;</pre>
<h4>&#8220;page.php&#8221;</h4>
<pre><code>&lt;?php</code>//load an object that deals with pages (to keep the tutorial simple)
include "classes/page.php";
$page = new page;
<pre>//$urlVariables will contain the page id as the 2nd array element (ie. /page/pageid/page-name-here/)$page_id = $urlVariables[2];
//the page name part of the URL is ignored when loading because we only use ID to load pages - it's just good for search engines and people.

//get the page class to load the page
if ($page-&gt;load_page($page_id)) {?&gt;

&lt;h1&gt;&lt;?php echo $page-&gt;page_name(); ?&gt;&lt;/h1&gt;
&lt;p&gt;&lt;?php echo $page-&gt;page_content(); ?&gt;&lt;/p&gt;
&lt;p&gt;Written by &lt;a href="&lt;?php echo $page-&gt;author_url(); ?&gt;"&gt; &lt;?php echo $page-&gt;author_name(); ?&gt; &lt;/a&gt;&lt;/p&gt;&lt;?php

} else {

    //error!
    include "error.php";</pre>
<p>}&gt;</pre>
<h4>&#8220;about.php&#8221;</h4>
<pre><code>&lt;?php

</code>//load an object that deals with authors (again, to keep the tutorial simple)
include "classes/author.php";
$author = new author;
//$urlVariables will contain the page id as the 2nd array element (ie. /author/authorid/author-name-here/)
$author_id = $urlVariables[2];
//again, the author name part of the URL is ignored when loading because we also only use ID to load authors - it is just good for search engines and people.

//get the author class to load the page
if ($author-&gt;load_author($author_id)) {?&gt;
&lt;h1&gt;&lt;?php echo $author-&gt;author_name(); ?&gt;&lt;/h1&gt;
&lt;h2&gt;Bio&lt;/h2&gt;&lt;p&gt;&lt;?php echo $author-&gt;author_information(); ?&gt;&lt;/p&gt;
&lt;h2&gt;All pages by &lt;?php echo $author-&gt;author_name; ?&gt;&lt;/h2&gt;
&lt;$php echo $author-&gt;page_list; 

} else {
    //error!
    include "error.php";
}
?&gt;</pre>
<p>Now that example was probably a bit excessive. Here&#8217;s a basic overview of how it works:</p>
<ol>
<li>The <em>index.php </em>page is loaded, and &#8216;explodes&#8217; the request part of the URL into an array ($urlVariables in the example)</li>
<li>You then interpret the array elements to decide what to show to the user. ($urlVariables[1] determined whether to show a page or an author profile and $urlVariables[2] was an ID for either the page or the author in our example)</li>
</ol>
<p>It&#8217;s that simple. This method is SUPER flexible if you build a strong framework around it.</p>
<p>Good luck!</p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/extract-get-variables-from-url-string-to-array-php-function/" title="Extract GET Variables from URL String to Array &#8211; PHP Function">Extract GET Variables from URL String to Array &#8211; PHP Function</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/processing-php-code-in-css-files-to-improve-productivity-and-browser-cross-compatibility-using-apache/" title="Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)">Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/nicer-footer-navigation-with-pseudo-selectors/" title="Nicer Footer Navigation with pseudo-selectors">Nicer Footer Navigation with pseudo-selectors</a></li><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/php-no-such-file-or-directory-in-unknown-on-line-0-error/" title="PHP &#8211; No such file or directory in Unknown on line 0 Error">PHP &#8211; No such file or directory in Unknown on line 0 Error</a></li><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/check-if-headers-have-already-been-sent-in-php/" title="Check if Headers Have Already Been Sent in PHP">Check if Headers Have Already Been Sent in PHP</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/</feedburner:origLink></item>
		<item>
		<title>Removing MovieClip Children from MovieClip in Flash Using ActionScript</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/34TkdQBw4AY/</link>
		<comments>http://www.logon2.com.au/blog/archive/coding/actionscript/removing-movieclip-children-from-movieclip-in-flash-using-actionscript/#comments</comments>
		<pubDate>Sat, 19 Jan 2008 04:49:33 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[actionscirpt]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[component]]></category>
		<category><![CDATA[elements]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[internet-explorer]]></category>
		<category><![CDATA[loader]]></category>
		<category><![CDATA[movieclips]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[remove]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/archive/coding/actionscript/removing-movieclip-children-from-movieclip-in-flash-using-actionscript/</guid>
		<description><![CDATA[The Problem While working on an update for Once Upon a Bride&#8217;s handmade jewellery website, I had to overcome a certain bug or problem in Internet Explorer that caused images loaded into Loader Components to render incorrectly and scale incorrectly, usually with incorrect width and height. This was occurring after loading about 12 &#8211; 15 [...]]]></description>
			<content:encoded><![CDATA[<h3>The Problem</h3>
<p>While working on an update for <a href="http://www.onceuponabride.com.au/" target="_blank">Once Upon a Bride&#8217;s handmade jewellery</a> website, I had to overcome a certain bug or problem in Internet Explorer that caused images loaded into Loader Components to render incorrectly and scale incorrectly, usually with incorrect width and height.  This was occurring after loading about 12 &#8211; 15 images.</p>
<p>So instead of loading them all at once, I made it load only eight images, and let the users view a page of eight at a time. <strong>The only problem I had was clearing the old thumbnails before loading the new ones.</strong></p>
<h3>The Solution</h3>
<p>The Solution  After a bit of looking around, here&#8217;s the code:</p>
<pre>
function clearMovieClips(parentMovieClip) {
	for (obj in parentMovieClip){

		if (typeof(parentMovieClip[obj])=="movieclip"){
			parentMovieClip[obj].removeMovieClip();
		}
	}
}</pre>
<h3>The Proof</h3>
<p>Now a nice before and after shot:</p>
<p align="center">Before:</p>
<p align="center"><a href="http://www.logon2.com.au/blog/wp-content/actionscript-remove-children-before-fix1.jpg" title="Once Upon a Bride - Before"><img src="http://www.logon2.com.au/blog/wp-content/actionscript-remove-children-before-fix1.thumbnail.jpg" alt="Once Upon a Bride - Before" /></a></p>
<p align="center">&nbsp;</p>
<p align="center">After:</p>
<p align="center"><a href="http://www.logon2.com.au/blog/wp-content/actionscript-remove-children-after-fix.jpg" title="Once Upon a Bride - After"><img src="http://www.logon2.com.au/blog/wp-content/actionscript-remove-children-after-fix.thumbnail.jpg" alt="Once Upon a Bride - After" /></a></p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/accessible-valid-dropdown-menu-or-popup-menu-using-css-and-semantic-html/" title="Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML">Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/xhtml-and-html5-compliant-flash-stop-using-embed-and-invalid-xhtmlhtml5/" title="XHTML and HTML5 Compliant Flash &#8211; Stop Using Embed and Invalid XHTML/HTML5">XHTML and HTML5 Compliant Flash &#8211; Stop Using Embed and Invalid XHTML/HTML5</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/pngs-have-different-colours-in-different-browsers/" title="PNGs Have Different Colours in Different Browsers?">PNGs Have Different Colours in Different Browsers?</a></li><li><a href="http://www.logon2.com.au/blog/archive/internet-news/opera-says-microsoft-deprives-consumers-of-a-real-choice/" title="Opera says Microsoft &#8220;deprives consumers of a real choice&#8221;">Opera says Microsoft &#8220;deprives consumers of a real choice&#8221;</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/coding/actionscript/removing-movieclip-children-from-movieclip-in-flash-using-actionscript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/coding/actionscript/removing-movieclip-children-from-movieclip-in-flash-using-actionscript/</feedburner:origLink></item>
		<item>
		<title>Adding, Removing and Editing Elements Dynamically using JavaScript</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/qbGGP-UfvNY/</link>
		<comments>http://www.logon2.com.au/blog/archive/web-design/adding-removing-and-editing-elements-dynamically-using-javascript/#comments</comments>
		<pubDate>Sat, 19 Jan 2008 03:54:34 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[add]]></category>
		<category><![CDATA[element]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/archive/web-design/adding-removing-and-editing-elements-dynamically-using-javascript/</guid>
		<description><![CDATA[While working myLookAgain (the second attempt), I&#8217;ve had to use a little bit more AJAX through JavaScript. One of the reasons was that I needed to allow users to add as many &#8216;pieces&#8217; to each look and delete them if they want &#8211; preferably without reloading. In JavaScript terms, I needed to be able to [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.logon2.com.au/blog/wp-content/dynamic-elements.jpg" alt="Using Javascript to Dynamically Add and Remove Elements" align="right" vspace="5" hspace="5" /> While working myLookAgain (the second attempt), I&#8217;ve had to use a little bit more AJAX through JavaScript. One of the reasons was that I needed to allow users to add as many &#8216;pieces&#8217; to each look and delete them if they want &#8211; preferably without reloading.</p>
<p>In JavaScript terms, I needed to be able to add (or create) and remove (or delete) elements, within another element, the form. After a little bit of research on the internet, I had what I needed to do just that. <a href="http://www.logon2.com.au/examples/javascript-add-remove-elements/">See a basic example of javascript dynamically adding and removing elements&#8230;</a> Here&#8217;s how to do it:</p>
<p>To begin with, here&#8217;s the commented JavaScript code for adding an element using the DOM in JavaScript</p>
<pre>
function appendElement(containerId, newElementId, newElementContent) {
	//First, we need to create a new DIV element
	var newElement=document.createElement("div");
	//New we will give it the specified ID so we can manage it later if necessary
	newElement.setAttribute("id", newElementId);
	//Insert the HTML content into the new element
	newElement.innerHTML=newElementContent;

	//Get a reference to the element that will contain the new element
	var container = document.getElementById(containerId);
	//Now we just need to insert our new element into the containing element
	container.appendChild(newElement, container);
}
</pre>
<p>And here&#8217;s the commented JavaScript code for a function to remove elements:</p>
<pre>
	function removeElement(parentId, elementId) {
	//Get a reference to the element containgint the element we are removing
	var parentElement = document.getElementById(parentId);
	//Get a reference to the element we are removing
	var childElement = document.getElementById(elementId);
	//remove the
	parentElement.removeChild(childElement);
}
</pre>
<p>And that&#8217;s it. Of course, this by itself isn&#8217;t going to do much. Though with a little bit of imagination, these functions can help you improve the usability or usefulness of your website.</p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/accessible-valid-dropdown-menu-or-popup-menu-using-css-and-semantic-html/" title="Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML">Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/processing-php-code-in-css-files-to-improve-productivity-and-browser-cross-compatibility-using-apache/" title="Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)">Processing PHP Code in CSS files to Improve Productivity and Browser Cross-Compatibility (using Apache)</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/" title="Introducing the Lovely Caption Maker">Introducing the Lovely Caption Maker</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/extract-get-variables-from-url-string-to-array-php-function/" title="Extract GET Variables from URL String to Array &#8211; PHP Function">Extract GET Variables from URL String to Array &#8211; PHP Function</a></li><li><a href="http://www.logon2.com.au/blog/archive/tools/myspace-convert-text-to-html/" title="MySpace &#8211; Convert Text to HTML">MySpace &#8211; Convert Text to HTML</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/web-design/adding-removing-and-editing-elements-dynamically-using-javascript/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/web-design/adding-removing-and-editing-elements-dynamically-using-javascript/</feedburner:origLink></item>
		<item>
		<title>Does Your Site Need Fresh Content, Regularly?</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/5MqJFMFuh2o/</link>
		<comments>http://www.logon2.com.au/blog/archive/tips/your-site-need-fresh-content-regularly/#comments</comments>
		<pubDate>Sat, 12 Jan 2008 15:28:18 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Clients]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[articles]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[content management]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[sem]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[solutions]]></category>
		<category><![CDATA[traffic]]></category>
		<category><![CDATA[web design geelong]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/archive/tips/your-site-need-fresh-content-regularly/</guid>
		<description><![CDATA[Although always available, I want to publicise one of the features offered by logon2 that can make your website a living, rich, thriving community &#8211; rather than just another website. I&#8217;m talking about adding a blog to your website or even turning your website into a blog. If implemented properly, a blog is a communication [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.logon2.com.au/blog/wp-content/apple.jpg" alt="Fresh Apple" align="right" hspace="5" vspace="5" />Although always available, I want to publicise one of the features offered by logon2 that can <strong>make your website a living, rich, thriving community</strong> &#8211; rather than just another website.  I&#8217;m talking about adding a blog to your website or even turning your website into a blog. If implemented properly, a blog is a communication platform between you and your audience. <strong>It improves your relationship with customers, returns feedback from customers, brings you new customers and it gives you total control of your website&#8230;</strong> </p>
<p>What makes this solution so great is it means that you can <strong>easily add new articles, products and pages to your website whenever you want</strong> &#8211; and without learning anything about web design! <strong>It&#8217;s just like sending an email</strong>, except you&#8217;re writing an email for all of your customers and potential customers. The picture further below is a shot of the software used to create this page you are looking at right now.</p>
<p>Here are  some of the HUGE benefits:</p>
<ul>
<li>You can <strong>add and update content whenever you like</strong></li>
<li>Adding new pages, articles, products is <strong>as easy as using Word</strong></li>
<li>Customers can subscribe by email, and new articles can be<strong> sent to customers automatically</strong>!</li>
<li><strong>Get more visitors and customers</strong> through search engines</li>
<li><strong>Keep visitors interested in your site for longer</strong> with more for them to read</li>
<li>Receive feedback on any page</li>
<li>Make it easy for readers to share your pages with other people</li>
</ul>
<p align="center">&nbsp;</p>
<p style="text-align: center"><img src="http://www.logon2.com.au/blog/wp-content/wordpress.jpg" alt="WordPress Interface Screenshot" hspace="10" vspace="10" /><br />
<em>Screenshot of the blog software I used to</em></p>
<p style="text-align: center"><em> post this article in less than 10 mintes&#8230;</em></p>
<h3 align="left">Try It Out Yourself, Now!</h3>
<p align="left">After seeing so much <a href="http://www.logon2.com.au/blog/archive/tips/new-content-brings-crowds/">success for my own site by using a blog</a>, I really want to give my customers the same opportunity. So I made a demo blog that <em>you </em>can look at, write demo articles, edit the articles and delete articles&#8230;</p>
<p align="center"><a href="http://www.logon2.com.au/wordpress-demo/">View the demo blog</a><br />
<a href="http://www.logon2.com.au/wordpress-demo/wp-admin">Manage the demo blog</a><strong><br />
Username: </strong>demo<br />
<strong>Password: </strong>demo</p>
<p>The whole &#8220;blog&#8221; section of the <a href="http://www.logon2.com.au/">logon2 website</a> and a huge amount of the specific information including the <a href="http://www.logon2.com.au/blog/portfolio/">portfolio</a>, <a href="http://www.logon2.com.au/blog/web-design-australia/">areas serviced by logon2</a>, and <a href="http://www.logon2.com.au/blog/web-solution-services/">detailed explanations of some of logon2&#8242;s services</a>. Over 60 pages (and constantly growing) of content, all linked and organised, automatically sent to subscribers and bringing<a href="http://www.logon2.com.au/blog/archive/tips/new-content-brings-crowds/"> over 400 of visitors a week</a> through search engines <img src='http://www.logon2.com.au/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>Related Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/tips/new-content-brings-crowds/" title="New Content brings Crowds">New Content brings Crowds</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/nicer-footer-navigation-with-pseudo-selectors/" title="Nicer Footer Navigation with pseudo-selectors">Nicer Footer Navigation with pseudo-selectors</a></li><li><a href="http://www.logon2.com.au/blog/archive/websites/new-site-barrabool-rural-protection-group/" title="New Site &#8211; Barrabool Rural Protection Group">New Site &#8211; Barrabool Rural Protection Group</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/pretty-smarties/pretty-smarties-05-pretty-urls-smarty-templates-and-faster-web-design/" title="Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design">Pretty Smarties 0.5 &#8211; Pretty URLs, Smarty Templates and Faster Web Design</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/pngs-have-different-colours-in-different-browsers/" title="PNGs Have Different Colours in Different Browsers?">PNGs Have Different Colours in Different Browsers?</a></li><li><a href="http://www.logon2.com.au/blog/archive/web-design/introducing-the-lovely-caption-maker/" title="Introducing the Lovely Caption Maker">Introducing the Lovely Caption Maker</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/tips/your-site-need-fresh-content-regularly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/tips/your-site-need-fresh-content-regularly/</feedburner:origLink></item>
		<item>
		<title>Zig Zag Hair Parting Pattern – WizzComb’s Website Re-launched</title>
		<link>http://feedproxy.google.com/~r/logon2/~3/_XHZG4vFCeQ/</link>
		<comments>http://www.logon2.com.au/blog/archive/uncategorized/zig-zag-hair-parting-pattern-wizzcombs-website-re-launched/#comments</comments>
		<pubDate>Sat, 05 Jan 2008 20:40:53 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Clients]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.logon2.com.au/blog/archive/uncategorized/zig-zag-hair-parting-pattern-wizzcombs-website-re-launched/</guid>
		<description><![CDATA[Just finished rennovating the WizzComb website which offers the ingenious zig zag hair part comb - have a look at WizzComb&#8217;s new portfolio page or directly at the zigzag hair comb&#8217;s website. If you can suggest any improvement or criticisms, leave them in the comments or email me. I personally developed the original WizzComb website [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.logon2.com.au/blog/wp-content/slideshow-wizzcomb.jpg" alt="Presentation of WizzComb Zig Zag Hair Pattern Comb" align="right" />Just finished rennovating the <a href="http://www.wizzcomb.com.au/">WizzComb website</a> which offers the ingenious<a href="http://www.wizzcomb.com.au/"> zig zag hair part comb </a>- have a look at <a href="http://www.logon2.com.au/blog/portfolio/wizzcomb-zig-zag-hair-comb-for-zigzag-part-pattern/">WizzComb&#8217;s new portfolio page</a> or directly at the <a href="http://www.wizzcomb.com.au/">zigzag hair comb&#8217;s website</a>. If you can suggest any improvement or criticisms, leave them in the comments or <a href="http://www.logon2.com.au/contact/">email me</a>.</p>
<p>I personally developed the original WizzComb website in 2004, being only the second website I had ever developed it was pretty abysmal when it came to standards, accessibility and even good markup form. The website became out of date so after some tinkering, the WizzComb website is now fresh, <a href="http://www.logon2.com.au/blog/web-solution-services/valid-and-accessible-web-design/">valid, accessible</a>,  <a href="http://www.logon2.com.au/blog/web-solution-services/search-engine-optimisation/">SE-Friendly</a> and better looking.</p>
<h3>Popular Posts:</h3><ul class="related_post"><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/free-web-proxy-list-access-blocked-sites-from-work-or-school/" title="Free Web Proxy List &#8211; Access Blocked Sites From Work or School">Free Web Proxy List &#8211; Access Blocked Sites From Work or School</a></li><li><a href="http://www.logon2.com.au/blog/archive/troubleshooting/accessible-valid-dropdown-menu-or-popup-menu-using-css-and-semantic-html/" title="Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML">Accessible, Valid Dropdown Menu or Popup Menu using CSS and Semantic HTML</a></li><li><a href="http://www.logon2.com.au/blog/archive/myspace/choose-myspace-comment-colors-fonts-and-sizes/" title="Choose MySpace Comment Colors, Fonts and Sizes">Choose MySpace Comment Colors, Fonts and Sizes</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/mysql-coding/groupwise-maximum-mysql/" title="Returning the entire row of maximum value for each group (Group-wise Maximum in SQL / MySQL )">Returning the entire row of maximum value for each group (Group-wise Maximum in SQL / MySQL )</a></li><li><a href="http://www.logon2.com.au/blog/archive/tools/myspace-convert-text-to-html/" title="MySpace &#8211; Convert Text to HTML">MySpace &#8211; Convert Text to HTML</a></li><li><a href="http://www.logon2.com.au/blog/archive/coding/coding-php/extract-get-variables-from-url-string-to-array-php-function/" title="Extract GET Variables from URL String to Array &#8211; PHP Function">Extract GET Variables from URL String to Array &#8211; PHP Function</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.logon2.com.au/blog/archive/uncategorized/zig-zag-hair-parting-pattern-wizzcombs-website-re-launched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.logon2.com.au/blog/archive/uncategorized/zig-zag-hair-parting-pattern-wizzcombs-website-re-launched/</feedburner:origLink></item>
	</channel>
</rss>
