<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>agtb.net</title>
	<atom:link href="http://www.agtb.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.agtb.net</link>
	<description>Personal website and portfolio of Alistair Buckle, Web Developer.</description>
	<lastBuildDate>Tue, 10 Apr 2012 09:37:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Joomla language file override</title>
		<link>http://www.agtb.net/blog/2012/04/10/joomla-language-file-override/</link>
		<comments>http://www.agtb.net/blog/2012/04/10/joomla-language-file-override/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 09:29:02 +0000</pubDate>
		<dc:creator>Alistair Buckle</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.agtb.net/?p=253</guid>
		<description><![CDATA[I needed to change some text on the Joomla login form that grep showed me was in a language file. In earlier versions of (Joomla]]></description>
			<content:encoded><![CDATA[<p>I needed to change some text on the Joomla login form that <kbd>grep</kbd> showed me was in a language file.</p>
<p>In earlier versions of (Joomla <1.6), this meant editing the language file or loading in your own file programmatically.</p>
<p>Editing the file directly is simple (so long as you have identified the correct file) but <em>short sighted!</em></p>
<h3>The problem with updates</h3>
<p>If you update Joomla you will either wipe out your changes as the language file is overwritten or need to spend significant time <kbd>diff</kbd>ing to reconcile the language files. Even using a fancy <a href="http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Ftasks%2Ftasks-68bg.htm">IDE diff</a> or an external <a href="http://meldmerge.org/">graphical diff</a> tool, the thought of sifting through the lines makes me shudder!</p>
<p>Loading in your own file to override is possible but shouldn&#8217;t that be a feature of the language files anyway? I was happy to find in Joomla 2 you can <a href="http://docs.joomla.org/International_Enhancements_for_Version_1.6">override language strings</a>!</p>
<h3>Language overrides in Joomla 2</h3>
<p>Simply name your <a href="http://docs.joomla.org/Specification_of_language_files">Joomla language file</a> with the appropriate <a href="http://www.i18nguy.com/unicode/language-identifiers.html">language identifier</a> prefix and <kbd>.override.ini</kbd></p>
<p>e.g. for British English:</p>
<pre>en-GB.override.ini</pre>
<p>Place your override file in <small>(this directory already existed on my Joomla install)</small>:</p>
<pre>administrator/language/overrides/</pre>
<p>Full path:</p>
<pre>administrator/language/overrides/en-GB.override.ini</pre>
<p>No nasty surprises when updating Joomla or any core hacks locking you in to an old version of Joomla.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agtb.net/blog/2012/04/10/joomla-language-file-override/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sudash.net website launched</title>
		<link>http://www.agtb.net/blog/2009/09/11/sudash-net-launched/</link>
		<comments>http://www.agtb.net/blog/2009/09/11/sudash-net-launched/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 16:24:58 +0000</pubDate>
		<dc:creator>Alistair Buckle</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.agtb.net/?p=188</guid>
		<description><![CDATA[I'm proud to announce that I've just launched <a href="http://www.sudash.net">sudash.net</a>, my new System Administration for Web Developers website.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sudash.net"><img src="http://www.agtb.net/w/wp-content/uploads/2009/09/sudashnet.png" alt="sudashnet" title="sudashnet" width="300" height="225" class="alignright framed" /></a>I&#8217;m proud to announce that I&#8217;ve just launched <a href="http://www.sudash.net">sudash.net</a>, my new <strong>System Administration for Web Developers</strong> website.</p>
<p>I wanted a place to write technical articles and share what I&#8217;ve learned working on <abbr title="UNIX-like">*nix</abbr> operating systems over the years and a dedicated website that I can develop into a useful resource will fulfill that aim.</p>
<p>sudash.net covers the LAMP (Linux, Apache, MySQL, PHP) applications stack, with a focus on working at the command line for System Administration tasks. There are three sections: articles on <a href="http://www.sudash.net/sysadmin">System Administration</a>, a <a href="http://www.sudash.net/man">Commands Manual</a>, and articles on <a href="http://www.sudash.net/apps">Applications used by Web Developers</a>.</p>
<p>One section I particularly enjoy writing is a supplementary <a href="http://www.sudash.net/man">Linux commands manual</a> with easily digestible basics, details, and tips for each command. I&#8217;ve structured the website so the commands are easy to access e.g. <a href="http://www.sudash.net/man/less/">http://www.sudash.net/man/less/</a>.</p>
<p>It&#8217;s early days so far but I&#8217;ve got the look I wanted, a clean site structure, and lots of useful articles waiting to be published.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agtb.net/blog/2009/09/11/sudash-net-launched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>About agtb.net</title>
		<link>http://www.agtb.net/blog/2009/08/25/about-agtb-net/</link>
		<comments>http://www.agtb.net/blog/2009/08/25/about-agtb-net/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 22:17:58 +0000</pubDate>
		<dc:creator>Alistair Buckle</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.agtb.net/?p=134</guid>
		<description><![CDATA[I&#8217;d like to talk a bit about some of the more interesting work I&#8217;ve done recently on, agtb.bet, my personal website. I&#8217;m determined not to fall into the trap of blogging about blogging so I&#8217;ll just highlight things I like and give a tip of the link-hat to some of the technologies I&#8217;ve used that [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;d like to talk a bit about some of the more interesting work I&#8217;ve done recently on, <a href="http://www.agtb.net">agtb.bet</a>, my personal website. I&#8217;m determined not to fall into the trap of blogging about blogging so I&#8217;ll just highlight things I like and give a tip of the link-hat to some of the technologies I&#8217;ve used that work.</p>
<h3>WordPress Theme</h3>
<p>I&#8217;m using my own custom WordPress theme for agtb.net. I started, as usual, when I <a href="http://www.agtb.net/portfolio">develop WordPress websites</a> by hacking the ubiquitous default WordPress theme, <a href="http://binarybonsai.com/wordpress/kubrick/">Kubrick</a>, into shape.</p>
<p>I have developed websites using themes designed for rapid development such as <a href="http://www.plaintxt.org/themes/sandbox/">Sandbox</a>, but I found the amount of extraneous cruft to be a time sink to remove. Kubrick has, what I would consider, a lot of junk (e.g. pixels for text layout, repeated CSS selectors, no obvious order) in the CSS stylesheet and custom functions but I like the overall website layout.</p>
<h3>WordPress Plugins</h3>
<p>Aside from the usual plugins WordPress needs to function properly (caching, spam blocking, SEO) the one plugin I usually install first is <a href="http://www.anothercoder.com/wordpress/pathless-category-permalinks-plugin">Pathless Category Links</a>. It simply removes the &#8216;category&#8217; level of the website for posts, which I think pollutes the website&#8217;s URL structure.</p>
<p>I&#8217;m running my own plugin to automatically add meta description tags, which can be used by Google for descriptions in search engine results pages, to the pages on agtb.net. I&#8217;ll be developing and releasing this and other WordPress plugins soon.</p>
<h3>Techniques</h3>
<h4>CSS Typography</h4>
<p>One CSS technique that I like and have used here is <a href="http://www.clagnut.com/blog/348/">sizing text by ems</a> after normalizing.</p>
<p>The idea here is that Web browsers default to a medium text size of 16px. So by resizing that to a useful number (10px) it is then possible to define size by ems based on that value and so use relatively resizable text.</p>
<p><code>body { font-size: 62.5%; } /* (16px @ 62.5% = 10px) */</code></p>
<p>Now simply set a legible text size for the main container element:</p>
<p><code>div#content { font-size: 1.2em; } /* (approximately 12px by default) */</code></p>
<h4>jQuery Validation of Comment Forms</h4>
<p>I wanted a clean and clear way to highlight any errors preventing submission to users of the <a href="#commentform">comment forms</a> at agtb.net. The default WordPress action is to take the user away to a new page listing problems, which seems awkward.</p>
<p>I&#8217;ve used <a href="http://jquery.com">jQuery</a> with the <a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/">Validation plugin</a> to validate the comment forms. The default actions of jQuery: Validation are good and very quick to implement. After <a href="http://digwp.com/2009/06/including-jquery-in-wordpress-the-right-way/">including jQuery in WordPress</a> and appending a class of <span class="code">required</span> to <span class="code">&lt;input&gt;</span> elements the plugin inserts a <span class="code">&lt;label&gt;</span> for each field to notify the user of the form&#8217;s requirements.</p>
<p>I wanted to notify the user of any problems by highlighting the fields and listing any errors clearly at the bottom of the form. Thanks to the good quality <a href="http://docs.jquery.com/Plugins/Validation">Validation plugin documentation</a> I had soon added custom highlighting, messages, and error placement. To see this in action try <a href="#commentform">submitting a comment</a> without entering a name, valid e-mail, or comment. It&#8217;s a pleasure to use mature projects like jQuery:Validation.</p>
<h3>Graphics</h3>
<p>I do my own graphics whenever I can. I enjoy keeping my Photoshop and Illustrator skills keen and find that if I don&#8217;t use them regularly I can get a bit <em>rusty</em>. I&#8217;m not a graphics artist by trade so I lack a certain creative flair but I have a eye and attention for detail.</p>
<p>I&#8217;ve also used or tweaked some icons from the excellent <a href="http://www.famfamfam.com/lab/icons/silk/">Silk Icons</a> package on agtb.net. There are probably enough good quality icons there to create your own Operating System.</p>
<h3>XHTML and CSS Validation</h3>
<p>Once the majority of development has been done it&#8217;s time to validate the HTML and CSS. I usually do this at the end of introducing a new feature because writing standards compliant code comes naturally. I find validation is useful for revealing mistakes such as missing HTML elements depending on the PHP path taken or the occasional typo.</p>
<p>I changed the <abbr title="Document Type Definition">DTD</abbr> from XHTML 1.0 Transitional to Strict. To comply with Strict I only had to remove a few non-standard HTML attributes left over from the Kubrick theme.</p>
<p>You can validate this page and the website CSS with the buttons below. I also display validation buttons at the foot of the page so you (or I) can quickly check my code is standards compliant.</p>
<p><a href="http://validator.w3.org/check?uri=referer" title="Check this page with the W3C XHTML validator"><img src="http://www.agtb.net/w/wp-content/uploads/2009/08/valid-xhtml10.png" alt="Valid XHTML 1.0 Strict" width="88" height="31" class="size-full wp-image-142 galleried" /></a><a href="http://jigsaw.w3.org/css-validator/check/referer" title="Check agtb.net's stylesheet with the W3C CSS validator"><img src="http://www.agtb.net/w/wp-content/uploads/2009/08/valid-css2.png" alt="Valid CSS level 2.1" width="88" height="31" class="size-full wp-image-143 galleried" /></a></p>
<h3>Development Workflow</h3>
<p>I use <a href="http://www.eclipse.org/pdt/">Eclipse PDT</a> (Ganymede) as a PHP editor with the <a href="http://subclipse.tigris.org/">Subclipse</a> plugin for Subversion version control using a repository hosted at <a href="http://www.dreamhost.com">Dreamhost</a>. I&#8217;m <a href="http://www.agtb.net/blog/2009/07/01/xampp-local-testing-serve/">using XAMPP</a> as a local testing server. And life is good!</p>
<p>I use a pretty standard repository layout of trunk/branches/tags directories for the agtb.net theme. I&#8217;m planning on using the <a href="http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html">vendor branch</a> pattern for the WordPress core but the frequent security updates would probably be an unwelcome chore to integrate. I keep all website images under version control. Checking out and committing however run quite slowly so I export the website files via SSH on the Dreamhost server.</p>
<p>The rest is Firefox, <a href="http://getfirebug.com">Firebug</a>, and Photoshop or Illustrator before switching back into Eclipse.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agtb.net/blog/2009/08/25/about-agtb-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CentOSCubes error message</title>
		<link>http://www.agtb.net/blog/2009/07/16/centoscubes-error-message/</link>
		<comments>http://www.agtb.net/blog/2009/07/16/centoscubes-error-message/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 19:24:38 +0000</pubDate>
		<dc:creator>Alistair Buckle</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.agtb.net/?p=3</guid>
		<description><![CDATA[After an update to a CentOS system, I was presented with the following error message on the login screen: Cannot open theme file /usr/share/apps/kdm/themes/CentOSCubes It wasn&#8217;t a critical error &#8211; more of an annoyance. Dismissing the message box displayed a basic-looking KDM that allowed me to log in. Problem The problem on my system was that the default [...]]]></description>
			<content:encoded><![CDATA[<p>After an update to a CentOS system, I was presented with the following error message on the login screen:</p>
<p><em>Cannot open theme file /usr/share/apps/kdm/themes/CentOSCubes</em></p>
<p>It wasn&#8217;t a critical error &#8211; more of an annoyance. Dismissing the message box displayed a basic-looking <a href="http://docs.kde.org/stable/en/kdebase-workspace/kdm/index.html">KDM</a> that allowed me to log in.</p>
<h3>Problem</h3>
<p>The problem on my system was that the default CentOS KDM theme was updated and the old one, CentOSCubes, dropped from the artwork package. Here&#8217;s a (resolved) <a href="http://bugs.centos.org/view.php?id=3462">CentOS bug report</a> on the issue.</p>
<h3>Fixed</h3>
<p>To get rid of the error message I simply changed the KDM config file to point to the new theme:</p>
<p>Check what themes are available:</p>
<p><code>ls -1 /usr/share/apps/kdm/themes/</code></p>
<p>Change the line begining &#8216;Theme=&#8217; in the config file:</p>
<p><code>/usr/share/config/kdm/kdmrc</code></p>
<p>e.g.</p>
<pre>Theme=/usr/share/apps/kdm/themes/TreeFlower</pre>
<p>Error message gone!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agtb.net/blog/2009/07/16/centoscubes-error-message/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>XAMPP local testing server</title>
		<link>http://www.agtb.net/blog/2009/07/01/xampp-local-testing-serve/</link>
		<comments>http://www.agtb.net/blog/2009/07/01/xampp-local-testing-serve/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 23:37:18 +0000</pubDate>
		<dc:creator>Alistair Buckle</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.agtb.net/blog/2009/07/26/test-post-the-third/</guid>
		<description><![CDATA[I had a need for a local testing server on my Windows desktop so I was about to install part of the LAMP stack (Apache, MySQL, PHP) when I stumbled upon XAMPP, an all-in-one package offering these (and a lot more too) in a fast install. Local server up in minutes I have to say [...]]]></description>
			<content:encoded><![CDATA[<p>I had a need for a local testing server on my Windows desktop so I was about to install part of the <acronym title="Linux, Apache, MySQL, PHP">LAMP</acronym> stack (Apache, MySQL, PHP) when I stumbled upon <a href="http://www.apachefriends.org/en/xampp.html">XAMPP</a>, an all-in-one package offering these (and a lot more too) in a fast install.</p>
<h3>Local server up in minutes</h3>
<p>I have to say I&#8217;m very impressed with XAMPP-lite! Once I&#8217;d got round the usual oddities (e.g. file locations based on physical drive locations, such as C:, instead of a proper hierarchy) of running software originally developed for *nix on Windows I had a working test server running locally in no time at all.</p>
<h3>Configuring XAMPP for local domain names</h3>
<p>Testing a website from localhost file paths instead of DNS worked well but I soon added a <a href="http://en.wikipedia.org/wiki/Hosts_file">hosts file</a> entry and a bit of virtual host configuration magic to avoid problems (e.g. with Apache RewriteRule directives).</p>
<p>I chose to use a fake subdomain of &#8216;local&#8217; and then mapped that in XAMPP&#8217;s vhost.conf equivalent.</p>
<h4>hosts file</h4>
<p>e.g. <small>notepad %WINDIR%\system32\drivers\etc\hosts</small></p>
<pre>127.0.0.1	local.example.com</pre>
<h4>virtual hosts file</h4>
<p>e.g. <small>notepad %SYSTEMDRIVE%\xamp\apache\conf\extra\httpd-vhosts.conf</small></p>
<pre>
NameVirtualHost *:80

&lt;VirtualHost *:80&gt;
        DocumentRoot /xamp/htdocs/example.com
        ServerName local.example.com
&lt;/VirtualHost&gt;
</pre>
<p>Hats off to <a href="http://www.apachefriends.org">Apache Friends</a> for XAMPP.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agtb.net/blog/2009/07/01/xampp-local-testing-serve/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

