<?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>crazed &#187; Computing</title>
	<atom:link href="http://www.crazed.org.uk/category/computing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.crazed.org.uk</link>
	<description>Musings of a web developer</description>
	<lastBuildDate>Sat, 22 Oct 2011 15:14:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Using svn+ssh in TortoiseSVN over a custom port</title>
		<link>http://www.crazed.org.uk/2010/06/using-svnssh-in-tortoisesvn-over-a-custom-port/</link>
		<comments>http://www.crazed.org.uk/2010/06/using-svnssh-in-tortoisesvn-over-a-custom-port/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 19:21:19 +0000</pubDate>
		<dc:creator>Fai</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[putty]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[tortoisesvn]]></category>

		<guid isPermaLink="false">http://www.crazed.org.uk/?p=148</guid>
		<description><![CDATA[Just discovered this &#8211; to connect to subversion over a SSH tunnel that&#8217;s not on the usual port 22, you need to save a PuTTY session using the custom port, and refer to the session name in place of the hostsname in TortoiseSVN. It seems whilst TortoiseSVN accepts the usual svn+ssh://myhost/repository/path URI (and even the [...]]]></description>
			<content:encoded><![CDATA[<p>Just discovered this &#8211; to connect to subversion over a SSH tunnel that&#8217;s not on the usual port 22, you need to save a PuTTY session using the custom port, and refer to the session name in place of the hostsname in TortoiseSVN.</p>
<p>It seems whilst TortoiseSVN accepts the usual <code>svn+ssh://myhost/repository/path</code> URI (and even the <code>svn+ssh://name@myhost/repository/path</code> variation), this assumes that SSH is running on the usual port 22. I have tried (using port 333 as an example) <code>svn+ssh://myhost:333/repository/path</code> and <code>svn+ssh+333://myhost/repository/path</code>, however these will cause a host not found error.</p>
<p>It turns out that TortoiseSVN accepts a session name in place of &#8216;<code>myhost</code>&#8216;, and the session name can include characters such as &#8220;<code>:</code>&#8221; so this would be one way of making the innocent looking <code>svn+ssh://myhost:333/</code> work!</p>
<p>i.e. create a PuTTY session named &#8216;new-sess:ion2&#8242; using the SSH protocol connecting to port 333 &#8211; and this should work in TortoiseSVN:  </p>
<p><code>svn+ssh://new-sess:ion2/repository/path</code></p>
<p> &#8211; or a session named  mysession:333  &#8211; </p>
<p><code>svn+ssh://mysession:333/repository/path</code></p>
<p>Now thankfully I do not have to be at home to view log information!</p>
<p>Reference: http://svn.haxx.se/tsvnusers/archive-2007-01/0272.shtml</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazed.org.uk/2010/06/using-svnssh-in-tortoisesvn-over-a-custom-port/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The mouldy growths of old forgotten forums</title>
		<link>http://www.crazed.org.uk/2008/09/the-mouldy-growths-of-old-forgotten-forums/</link>
		<comments>http://www.crazed.org.uk/2008/09/the-mouldy-growths-of-old-forgotten-forums/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 19:17:32 +0000</pubDate>
		<dc:creator>Fai</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[phpbb]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://www.crazed.org.uk/?p=71</guid>
		<description><![CDATA[One of my client&#8217;s servers I have been working on had started to suffer constant drop outs. What normally loads up in a flash now just .. doesn&#8217;t. Whilst static pages loaded fine, albeit slower than usual, most PHP pages seemed to just time out. More specifically, the pages that needed to access the database [...]]]></description>
			<content:encoded><![CDATA[<p>One of my client&#8217;s servers I have been working on had started to suffer constant drop outs. What normally loads up in a flash now just .. doesn&#8217;t. Whilst static pages loaded fine, albeit slower than usual, most PHP pages seemed to just time out. More specifically, the pages that needed to access the database were failing&#8230;</p>
<p>Now, experience points that to some large dodgy query or two (or a lot of them) causing issues. Anyway, to cut to the chase, I find out one particular site&#8217;s database has <strong>15</strong> locked tables, with the process list showing queries into phpbb_ tables&#8230; hmm</p>
<p>I wish I took a screenshot of the forum before I nuked the directory and the related database tables, which incidently was a rather old PHPBB board, heavily spammed with thousands of pages of topics with all your usual penis enl4rg3ment sexy girl cam wording. The mysql process list query reveals many search indexing queries (thanks to the spambots) &#8211; the tables responsible for searches alone are at least a <strong>gigabyte </strong>in size! No wonder why the server decided to jam up and play dead, whilst spam bots play ping pong guitar with this mouldy growth of a rotten board&#8230;</p>
<p>Moral of this story? Prune your garden, or expect large weeds to appear!</p>
<p>(incidently, I&#8217;ve seen what looked like a mini-garden forest on someone&#8217;s plate of what looks like months-old of baked beans. Such fuzzy greenness. In a student house.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazed.org.uk/2008/09/the-mouldy-growths-of-old-forgotten-forums/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Green Shuttle</title>
		<link>http://www.crazed.org.uk/2008/08/green-shuttle/</link>
		<comments>http://www.crazed.org.uk/2008/08/green-shuttle/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 03:44:33 +0000</pubDate>
		<dc:creator>Fai</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[shuttle x27]]></category>

		<guid isPermaLink="false">http://www.crazed.org.uk/?p=64</guid>
		<description><![CDATA[This would be great as a home server box acting as a router/file server, being very economical with power usage. Based on the Intel Atom processor, the Shuttle x27 will idle at 23 watts, and will consume 36 watts when in use, and is reportedly quieter than your bedroom. No idea on how much the [...]]]></description>
			<content:encoded><![CDATA[<p>This would be great as a home server box acting as a router/file server, being very economical with power usage. Based on the Intel Atom processor, the <a href="http://eu.shuttle.com/en/desktopdefault.aspx/tabid-583/1018_read-14902/">Shuttle x27</a> will idle at 23 watts, and will consume 36 watts when in use, and is reportedly quieter than your bedroom.</p>
<p><img class="aligncenter size-full wp-image-65" title="Shuttle x27" src="http://www.crazed.org.uk/wp-content/uploads/2008/08/shuttle_x27_03.jpg" alt="" width="500" height="227" /></p>
<p>No idea on how much the x27 will cost, but I&#8217;d be pretty interested in it if it can come with a second ethernet port!</p>
<p>(More info from <a href="http://www.smartplanet.com/news/tech/10001615/shuttle-x27-pc-hits-new-green-heights-with-low-power.htm">Smartplanet</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazed.org.uk/2008/08/green-shuttle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Difficulties of choosing a content management system</title>
		<link>http://www.crazed.org.uk/2008/08/difficulties-of-choosing-a-content-management-system/</link>
		<comments>http://www.crazed.org.uk/2008/08/difficulties-of-choosing-a-content-management-system/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 05:10:53 +0000</pubDate>
		<dc:creator>Fai</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[modx]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[symphony]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.crazed.org.uk/?p=49</guid>
		<description><![CDATA[How difficult can it be to settle on a system? I have been evaluating different CMSes for various projects I am working on, and I can tell you, there is no such thing as a perfect CMS! For the uninitiated (and there will be!), a content management system (CMS for short) helps web site operators [...]]]></description>
			<content:encoded><![CDATA[<p>How difficult can it be to settle on a system?</p>
<p>I have been evaluating different CMSes for various projects I am working on, and I can tell you, there is no such thing as a perfect CMS! For the uninitiated (and there will be!), a content management system (CMS for short) helps web site operators write and manage articles, pages, blogs and so on, without having to get with the nitty and gritty of coding.</p>
<p>Whilst I could just stick to using WordPress (which I am using for this site) for the new projects, it lacks certain things such as versioning (made a mistake? roll back!), transparent content translation, and proper access control list for finer grained control over what users can access.</p>
<p>Yes, WordPress itself has i18n for templates and the admin, but there is a difference between your application being usable in different languages, and your web pages having transparent translations.</p>
<p><strong>So what am I looking for? This should cover most of the criteria:</strong></p>
<ol>
<li>Clean URLs &#8211; the ability for the CMS to output user (and search engine) friendly URLs &#8211; i.e.  mysection/pageitem</li>
<li>Hierarchical pages &#8211; being able to group pages together is pretty important for larger sites</li>
<li>Clean/customisable administrative interface &#8211; so I can pass it over to the client and let them get on with it with the minimal of fuss withou them being confused nor intimidated.. likely through &#8230;</li>
<li>&#8230; some kind of ACL / user access control &#8230; Give the client edit-only access to the content.</li>
<li>Full template customisation &#8211; this requires strong/complete logic-design seperation, and allows the template designer freedom with the code</li>
<li>Template as a file &#8211; rather than them being stored in the database;</li>
<li>Per-page-per-template ability &#8211; full customisation of each page with its own look and feel</li>
<li>Customisation per-page content variables &#8211; i.e. some pages may have two / three blocks of content which would need seperate content entry</li>
<li>Ability to access/create extra database tables/objects &#8211; not all content may be in page format</li>
<li>Accessibility of extending the system or integrating other applications with minimal of core-code hacking</li>
<li>Good documentation!</li>
</ol>
<p>Plus these are very nice to have, but the lack of will not be too much of a deterent, though this <strong>depends </strong>on the project, and providing it fulfills the other criteria (some of these are as mentioned previously):</p>
<ol>
<li>Content versioning &#8211; many good reasons to have this, the only negative would be extra complexity and space usage, though a good CMS would handle this transparently no?</li>
<li>Content translation &#8211; straightforward method of allow the site editor to input content for a page in another language, and for the visitor to access the site in the language of their choice (if available)</li>
<li>Image gallery support &#8211; especially for uploading images en-masse, the simple input-browse form element will not do!</li>
<li>PHP-based templating system &#8211; no need to learn some obscure tagging system (read more on this at <a href="http://thephppro.com/articles/pte.php">http://thephppro.com/articles/pte.php</a>)</li>
</ol>
<p>The target websites are your standard business-brochure-sites with a bit of jangle i.e. galleries, hierarchies of content, possibly even some ecommerce! So what&#8217;s out there that caters to this?</p>
<h3>WordPress as a CMS</h3>
<p>Now, since WP2.5 has been released, it has matured into a nice tool for its intended purpose. The new administrative design is certainly much more pleasing on the eye, as well as being simpler; it is much more intuitive for new users to find what they want now. Granted, I have used WP before to power a client&#8217;s site, however that was indeed a simple site, though I wish they had dealt with the image-resizing-after-upload back then!</p>
<p>As I wrote the above lists, I&#8217;m thinking, hang on, WP does cover much of them right now! It can output clean URLs, has a nice admin interface, does hierarchy for the pages, has PHP-based templates, and you can set up templates for each page. It has a huge community, with many modules and much support out there.</p>
<p>On the negative side, it does show its blogging roots with the lack of versioning and support for customised objects (via the database typically), and you are trading flexibility with content handling for straightforward simplicity.</p>
<p>So, a good choice if you can live with the limitations, or if you&#8217;re happy to hack- or should I say, mold &#8211; away at the code. Don&#8217;t expect to be too impressed at the procedural code base!</p>
<h3>The other CMSes</h3>
<p>The CMS scene has changed quite a bit since I last looked around, with new and promising systems coming in, and old going out &#8211; seen many *nuke systems being recommended much these days?</p>
<p>With the move towards PHP5, it has gotten more interesting.</p>
<h4>Those quickly rejected</h4>
<ul>
<li><strong>Joomla </strong>- if my last experience with Mambo (back then before it split into Mambo <em>and</em> Joomla) was anything to go by, I would quickly give this a miss. I had nightmares with trying to modify the logic to output tableless HTML, and I suspect it wouldn&#8217;t be so easy for the developers to change the inherent application design to seperate the design from the logic. Ever wonder why most Joomla-based sites looks similar? I have read some promising news regarding this though. For now, a quick miss.</li>
<li>
<div>
<p><a href="http://drupal.org/" target="_blank"><strong>Drupal</strong></a> &#8211; I gave this a go last time, and I tried again this time. I quickly remembered why I gave this a miss: the amount of faffing about you need to do to get it working the way you want it to. Yes, version 6 is <em>indeed</em> better &#8211; the admin looks cleaner to work with, and plus the taxonomy system is great for classifying content in whatever way you wish.</p>
<p>The downfall is the amount of PHP code you must put into the node filters, or whatevernots to customise it away from it&#8217;s default drupal behaviour &#8211; i.e.  to output content in a particular way depending on the content classification.There is no straightforward content-structure seperation here &#8211; you add new content which needs a certain so and so, you will have to modify each filter for each block/template/plugin, and so on.</p>
<p>I tried to like Drupal. If your particular site is compatible with how Drupal likes to deal with templates and content, good. Otherwise, time and hack sink. Targetted at the community website crowd, I&#8217;m sure there are many developers who are happy with how Drupal works, but I&#8217;m not one of them. It does have content versioning though.</p></div>
</li>
<li>EZpublish &#8211; this still feels rather slow and bloated for my needs, and still rather complicated to use, so no. Lack of community seems to deter too.</li>
<li>TYPO3 &#8211; enterprisey &#8211; though is that always a good thing? large server footprint required for this, so no, not good for performance.</li>
</ul>
<h4>Maybe, but&#8230;</h4>
<ul>
<li><a href="http://expressionengine.com/">Expression Engine</a> &#8211; Looks very promising, especially with the amount of features and support coming from the users, and the unique way it handles content. The show stopper? the license. Whilst I could probably try using the Core edition to try an implementation, that&#8217;s yet more time investment to decide if it is suited to the project. Will be worth it one day if a project comes up that can cover this investment though.</li>
<li><a href="http://textpattern.com/" target="_blank">Textpattern</a> &#8211; It&#8217;s been raved about for how flexible it is. I looked at it&#8230; and drawbacks for me: templates are stored in the database, and it uses its own (XML-based?) templating system. Another is how little activity there seems to be with the developers! There is a new branch called &#8216;xPattern&#8217; though.</li>
<li><a href="http://21degrees.com.au/products/symphony/" target="_blank">Symphony21</a> &#8211; (not to be confused with Symfony, the PHP5-based development framework) This looks very promising, and whilst it does mean understanding XSLT instead of using PHP, it is rather powerful. The admin interface is beautifully minimalistic. A possible downside could be that XML-XSLT transformation may be slow, though it shouldn&#8217;t be an issue with caching. Only issue? I tried to sign up to download the release, and no email so far. Oh well, I&#8217;ll try again some day. Check out their spiffy videos too.</li>
</ul>
<h4>Currently evaluating</h4>
<ul>
<li><a href="http://modxcms.com" target="_blank">MODx</a> &#8211; My initial look at this was of &#8216;this administration looks cluttered!&#8217;, but reinstalling it again, it doesn&#8217;t seem too bad. There are customisable content types, custom template variables and hierarchical pages and URLs are supported. Reasonably decent ACL. The downsides I&#8217;ve found so far is the custom template syntax (it uses [[var/command]] , and that&#8217;s just for starters) &#8211; yet more learning to do, and the admin interface still being slightly unintuitive. I will be looking at the code and extensions some more, but the community seems to be there.</li>
<li><a href="http://www.silverstripe.com/" target="_blank">Silverstripe</a> &#8211; strong new contender here, it has a nice looking admin (though there are a few niggles and issues when trying to rearrange the site structure), and I&#8217;m sure a non-technically-proficient user will get to grips with this once they&#8217;ve been kept away from the whole setting up sections. The PHP5 OO coding is a big plus &#8211; it looks reasonably straightforward to extend the page types with your own demented needs. Current negative points are: custom template syntax, whilst simple to look at, it is lacking custom loops. It also does not support hierarchical URLs &#8211; and this is a popular request. I have been leaning towards this CMS, until I realised the lack of hierarchy. Good news is that the people behind this system are working on it.</li>
</ul>
<h3>Cutting my own CMS</h3>
<p>What&#8217;s wrong with just rolling your own system? There is considerable time investment involved though. I have already built several CMS apps based on my own framework, and this is something that took place in leaps and bounds from project to project over a period of a couple of years.</p>
<p>They are lacking some of the features I am looking for in other CMS&#8217;s &#8211; I envy WordPress&#8217;s upload system and design, and they are basically beautified database-interfaces, no versioning nor multi-lingual ability, but it has search, and it has paging. It does the job, and a big plus of rolling your own system is that you can tailor it exactly how you want it! I am however reluctant to further work on the PHP4-based app, when I am already working on a PHP5 Zend Framework based system. If a client needs some custom development work, and pays well enough&#8230; well, this is always an option.</p>
<h3>So back to the GO square&#8230;</h3>
<p>So, carry on with the evaluations, and juggle with using WordPress&#8230;ah why not&#8230;</p>
<p>BTW any good image uploaders out there? Gallery outputs are easy to code; the uploading and captioning is not!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazed.org.uk/2008/08/difficulties-of-choosing-a-content-management-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notes on column ratios</title>
		<link>http://www.crazed.org.uk/2008/07/notes-on-column-ratios/</link>
		<comments>http://www.crazed.org.uk/2008/07/notes-on-column-ratios/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 14:11:23 +0000</pubDate>
		<dc:creator>Fai</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[columns]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[ratio]]></category>

		<guid isPermaLink="false">http://www.crazed.org.uk/blog/archives/34</guid>
		<description><![CDATA[I needed an idea of the pixels used for different column ratios, so I&#8217;ve taken the liberty of working out the possible layouts needed. I&#8217;ve limited these to 4 columns, and I&#8217;ve also listed some extra rounding to the nearest ten/five for neatness. The pixel ratios are based on a width of 900 pixels. Full [...]]]></description>
			<content:encoded><![CDATA[<p>I needed an idea of the pixels used for different column ratios, so I&#8217;ve taken the liberty of working out the possible layouts needed. I&#8217;ve limited these to 4 columns, and I&#8217;ve also listed some extra rounding to the nearest ten/five for neatness.</p>
<p>The pixel ratios are based on a width of 900 pixels.</p>
<h4>Full ratio list</h4>
<table border="0" width="99%">
<thead>
<tr>
<th># Columns</th>
<th>Block ratio</th>
<th>Pixel ratio</th>
<th>Rounded</th>
<th>Rounding</th>
</tr>
</thead>
<tbody>
<tr>
<td width="112">2 col</td>
<td width="112">1:1</td>
<td width="230">450:450</td>
<td width="409"></td>
<td width="164"></td>
</tr>
<tr>
<td rowspan="2">3 col</td>
<td>2:1</td>
<td>600:300</td>
<td></td>
<td></td>
</tr>
<tr>
<td>1:1:1</td>
<td>300:300:300</td>
<td></td>
<td></td>
</tr>
<tr>
<td rowspan="2">4 col</td>
<td>3:1</td>
<td>675:225</td>
<td></td>
<td></td>
</tr>
<tr>
<td>2:1:1</td>
<td>450:225:225</td>
<td></td>
<td></td>
</tr>
<tr>
<td rowspan="4">5 col</td>
<td>4:1</td>
<td>720:180</td>
<td></td>
<td></td>
</tr>
<tr>
<td>3:2</td>
<td>540:360</td>
<td></td>
<td></td>
</tr>
<tr>
<td>3:1:1</td>
<td>540:180:180</td>
<td></td>
<td></td>
</tr>
<tr>
<td>2:2:1</td>
<td>360:180:180</td>
<td></td>
<td></td>
</tr>
<tr>
<td rowspan="4">6 col</td>
<td>5:1</td>
<td>750:150</td>
<td></td>
<td></td>
</tr>
<tr>
<td>4:1:1</td>
<td>600:150:150</td>
<td></td>
<td></td>
</tr>
<tr>
<td>3:2:1</td>
<td>450:300:150</td>
<td></td>
<td></td>
</tr>
<tr>
<td>2:2:1:1</td>
<td>300:300:150:150</td>
<td></td>
<td></td>
</tr>
<tr>
<td rowspan="9">7 col</td>
<td>6:1</td>
<td>771:129</td>
<td>770:130</td>
<td>/ tens ±1</td>
</tr>
<tr>
<td>5:2</td>
<td>643:257</td>
<td>640:260</td>
<td>/ tens ±3</td>
</tr>
<tr>
<td>5:1:1</td>
<td>642:129:129</td>
<td>640:130:130</td>
<td>/ tens ±1-2</td>
</tr>
<tr>
<td>4:3</td>
<td>514:386</td>
<td>510:390</td>
<td>/ tens ±4-6</td>
</tr>
<tr>
<td>4:2:1</td>
<td>514:257:129</td>
<td>510:260:130</td>
<td>/ tens ±1-4</td>
</tr>
<tr>
<td>4:1:1:1</td>
<td>513:129:129:129</td>
<td>510:130:130:130</td>
<td>/ tens ±1-3</td>
</tr>
<tr>
<td>3:3:1</td>
<td>386:386:128</td>
<td>385:385:130</td>
<td>/ fives ±1-2</td>
</tr>
<tr>
<td>3:2:2</td>
<td>386:257:257</td>
<td>390:255:255</td>
<td>/ fives ±2-4</td>
</tr>
<tr>
<td>3:2:1:1</td>
<td>386:257:129:129</td>
<td>385:255:130:130</td>
<td>/ fives ±1-2</td>
</tr>
<tr>
<td rowspan="8">8 col</td>
<td>7:1</td>
<td>788:112</td>
<td>790:110</td>
<td>/ tens ±2</td>
</tr>
<tr>
<td>6:1:1</td>
<td>676:112:112</td>
<td>680:110:110</td>
<td>/ tens ±2-4</td>
</tr>
<tr>
<td>5:3</td>
<td>562:338</td>
<td>560:340</td>
<td>/ tens ±2</td>
</tr>
<tr>
<td>5:2:1</td>
<td>563:225:112</td>
<td>560:230:110</td>
<td>/ tens, or 565:225:110 / fives</td>
</tr>
<tr>
<td>4:3:1</td>
<td>450:338:112</td>
<td>450:340:110</td>
<td>/ tens ±2</td>
</tr>
<tr>
<td>4:2:1:1</td>
<td>450:226:112:112</td>
<td>450:230:110:110</td>
<td>/ tens ±2-4</td>
</tr>
<tr>
<td>3:3:2</td>
<td>338:338:224</td>
<td>340:340:220</td>
<td>/ tens ±2-4</td>
</tr>
<tr>
<td>3:2:2:1</td>
<td>338:225:225:112</td>
<td>340:225:225:110</td>
<td>/ fives ±2</td>
</tr>
<tr>
<td rowspan="14">9 col</td>
<td>8:1</td>
<td>800:100</td>
<td></td>
<td></td>
</tr>
<tr>
<td>7:2</td>
<td>700:200</td>
<td></td>
<td></td>
</tr>
<tr>
<td>7:1:1</td>
<td>700:100:100</td>
<td></td>
<td></td>
</tr>
<tr>
<td>6:2:1</td>
<td>600:200:100</td>
<td></td>
<td></td>
</tr>
<tr>
<td>5:4</td>
<td>500:400</td>
<td></td>
<td></td>
</tr>
<tr>
<td>5:3:1</td>
<td>500:300:100</td>
<td></td>
<td></td>
</tr>
<tr>
<td>5:2:2</td>
<td>500:200:200</td>
<td></td>
<td></td>
</tr>
<tr>
<td>5:2:1:1</td>
<td>500:200:100:100</td>
<td></td>
<td></td>
</tr>
<tr>
<td>4:4:1</td>
<td>400:400:100</td>
<td></td>
<td></td>
</tr>
<tr>
<td>4:3:2</td>
<td>400:300:200</td>
<td></td>
<td></td>
</tr>
<tr>
<td>4:3:1:1</td>
<td>400:300:100:100</td>
<td></td>
<td></td>
</tr>
<tr>
<td>4:2:2:1</td>
<td>400:200:200:100</td>
<td></td>
<td></td>
</tr>
<tr>
<td>3:3:2:1</td>
<td>300:300:200:100</td>
<td></td>
<td></td>
</tr>
<tr>
<td>3:2:2:2</td>
<td>300:200:200:200</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<h4>List of possible two-column layout ratios</h4>
<p>Ordered by #column structure</p>
<table border="0" width="99%">
<thead>
<th align="center"># Columns</th>
<th align="center">Block Ratio</th>
<th>Pixel Ratio</th>
<th>Roundings</th>
</thead>
<tbody>
<tr>
<td align="left">3</td>
<td align="left">2:1</td>
<td>600:300</td>
<td></td>
</tr>
<tr>
<td align="left">4</td>
<td align="left">3:1</td>
<td>675:225</td>
<td></td>
</tr>
<tr>
<td align="left">5</td>
<td align="left">4:1</td>
<td>720:180</td>
<td></td>
</tr>
<tr>
<td align="left">5</td>
<td align="left">3:2</td>
<td>540:360</td>
<td></td>
</tr>
<tr>
<td align="left">6</td>
<td align="left">5:1</td>
<td>750:150</td>
<td></td>
</tr>
<tr>
<td align="left">7</td>
<td align="left">6:1</td>
<td>771:129</td>
<td>(770:130 / tens ±1)</td>
</tr>
<tr>
<td align="left">7</td>
<td align="left">5:2</td>
<td>643:257</td>
<td>(640:260 / tens ±3)</td>
</tr>
<tr>
<td align="left">7</td>
<td align="left">4:3</td>
<td>514:386</td>
<td>(510:390 / tens ±4-6)</td>
</tr>
<tr>
<td align="left">8</td>
<td align="left">7:1</td>
<td>788:112</td>
<td>(790:110 / tens ±2)</td>
</tr>
<tr>
<td align="left">8</td>
<td align="left">5:3</td>
<td>562:338</td>
<td>(560:340 / tens ±2)</td>
</tr>
<tr>
<td align="left">9</td>
<td align="left">8:1</td>
<td>800:100</td>
<td></td>
</tr>
<tr>
<td align="left">9</td>
<td align="left">7:2</td>
<td>700:200</td>
<td></td>
</tr>
<tr>
<td align="left">9</td>
<td align="left">5:4</td>
<td>500:400</td>
<td></td>
</tr>
</tbody>
</table>
<h4>Two columns, in order of left column size, with :1 ratios calculated</h4>
<p>The normalised value at :1 will give a better idea of how each row lies relative to each other &#8211; and as you can see, it is perfectly in order, as expected when ordering by the first column width.</p>
<table border="0" width="99%">
<thead>
<tr>
<th># columns</th>
<th>Block ratio</th>
<th>Pixel ratio</th>
<th>Rounding</th>
</tr>
</thead>
<tbody>
<tr>
<td width="112" align="left">9</td>
<td width="112">8:1</td>
<td width="230">800:100</td>
<td width="409"></td>
</tr>
<tr>
<td align="left">8</td>
<td>7:1</td>
<td>788:112</td>
<td>(790:110 / tens ±2)</td>
</tr>
<tr>
<td align="left">7</td>
<td>6:1</td>
<td>771:129</td>
<td>(770:130 / tens ±1)</td>
</tr>
<tr>
<td align="left">6</td>
<td>5:1</td>
<td>750:150</td>
<td></td>
</tr>
<tr>
<td align="left">5</td>
<td>4:1</td>
<td>720:180</td>
<td></td>
</tr>
<tr>
<td align="left">9</td>
<td>7:2 (3.5:1)</td>
<td>700:200</td>
<td></td>
</tr>
<tr>
<td align="left">4</td>
<td>3:1</td>
<td>675:225</td>
<td></td>
</tr>
<tr>
<td align="left">7</td>
<td>5:2 (2.5:1)</td>
<td>643:257</td>
<td>(640:260 / tens ±3)</td>
</tr>
<tr>
<td align="left">3</td>
<td>2:1</td>
<td>600:300</td>
<td></td>
</tr>
<tr>
<td align="left">8</td>
<td>5:3 (1.67:1)</td>
<td>562:338</td>
<td>(560:340 / tens ±2)</td>
</tr>
<tr>
<td align="left">5</td>
<td>3:2 (1.5:1)</td>
<td>540:360</td>
<td></td>
</tr>
<tr>
<td align="left">7</td>
<td>4:3 (1.33:1)</td>
<td>514:386</td>
<td>(510:390 / tens ±4-6)</td>
</tr>
<tr>
<td align="left">9</td>
<td>5:4 (1.25:1)</td>
<td>500:400</td>
<td></td>
</tr>
</tbody>
</table>
<p>It&#8217;s worth noting that the golden ratio is approximately 1.618:1. This gives it a pixel ratio (using a width of 900) of 556:344. Rounded to the nearest tens, this is 560:340. The 8-column 5:3 ratio is the closest to the golden ratio on the above list.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazed.org.uk/2008/07/notes-on-column-ratios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gates vs Jobs at All Things D</title>
		<link>http://www.crazed.org.uk/2007/06/gates-vs-jobs-at-all-things-d/</link>
		<comments>http://www.crazed.org.uk/2007/06/gates-vs-jobs-at-all-things-d/#comments</comments>
		<pubDate>Sun, 03 Jun 2007 03:13:15 +0000</pubDate>
		<dc:creator>Fai</dc:creator>
				<category><![CDATA[Computing]]></category>

		<guid isPermaLink="false">http://www.crazed.org.uk/blog/archives/31</guid>
		<description><![CDATA[Here is the interview meet-up between Mossberg, Bill Gates and Steve Jobs, at the All Things D conference: http://gizmodo.com/gadgets/when-two-worlds-collide/gates-vs-jobs-the-complete-videos-264788.php Note that you might need to let it stream (pause) for a bit before viewing, unless you have some pretty high bandwidth (5mbps+?). You can read a semi-transcript from Engadget. Despite what the &#8216;I hate/love MS/Apple&#8217; [...]]]></description>
			<content:encoded><![CDATA[<p>Here is the interview meet-up between Mossberg, Bill Gates and Steve Jobs, at the <a href="http://www.gizmodo.com/gadgets/all-things-d/" target="_blank">All Things D</a> conference:</p>
<p><a href="http://gizmodo.com/gadgets/when-two-worlds-collide/gates-vs-jobs-the-complete-videos-264788.php" title="Bill Gates and Steve Jobs interview" target="_blank">http://gizmodo.com/gadgets/when-two-worlds-collide/gates-vs-jobs-the-complete-videos-264788.php </a></p>
<p>Note that you might need to let it stream (pause) for a bit before viewing, unless you have some pretty high bandwidth (5mbps+?). You can read a semi-<a href="http://www.engadget.com/2007/05/30/steve-jobs-and-bill-gates-historic-discussion-live-from-d-2007/">transcript from Engadget.</a></p>
<p>Despite what the &#8216;I hate/love MS/Apple&#8217; camps might want you to think, from the onstage presence, those two guys could easily be buddies, in some ways, it is comforting to see familiar faces in the same industry after two decades. None of the predicted catfights happened at all despite some of the aggressive questioning by Mossberg, in fact it was rather heartwarming to see them two seemingly get along as colleagues rather than foes.</p>
<p>Though Microsoft is seen as being a copycat and a non-innovator, they are, as a simple fact, very successful, and not through sheer luck. Love or hate their products, they do have a large pool of talented minds, and our culture and society is in a way, affected indirectly from what they have achieved. Hopefully they are seeing the light, and embracing standards as a consequence of this very public embrace. I would predict however, that things will be even rosier for these two companies, after this public display of affection (as much as can be implied from two CEOs and a gay marriage!).</p>
<p>Finally, as for the Mac vs Windows debate, I usually say to people, don&#8217;t criticise the platforms, just use the one you are most comfortable with. Everyone has different needs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazed.org.uk/2007/06/gates-vs-jobs-at-all-things-d/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SEO TV</title>
		<link>http://www.crazed.org.uk/2006/04/seo-tv/</link>
		<comments>http://www.crazed.org.uk/2006/04/seo-tv/#comments</comments>
		<pubDate>Tue, 25 Apr 2006 07:47:33 +0000</pubDate>
		<dc:creator>Fai</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.crazed.org.uk/blog/archives/28</guid>
		<description><![CDATA[Terence, on his SEO guy, on NetMeeting with him and his programmer Tez says: he&#8217;s balancing keyword density now Tez says: and editing every page to target a specific key phrase Tez says: it&#8217;s better than watching tv!]]></description>
			<content:encoded><![CDATA[<p>Terence, on his SEO guy, on NetMeeting with him and his programmer<br />
Tez says:<br />
he&#8217;s balancing keyword density now<br />
Tez says:<br />
and editing every page to target a specific key phrase<br />
Tez says:<br />
it&#8217;s better than watching tv!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazed.org.uk/2006/04/seo-tv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Motherboard. Installing drivers MANUALLY. Fun.</title>
		<link>http://www.crazed.org.uk/2006/04/new-motherboards-installing-drivers-manually-fun/</link>
		<comments>http://www.crazed.org.uk/2006/04/new-motherboards-installing-drivers-manually-fun/#comments</comments>
		<pubDate>Sun, 02 Apr 2006 06:07:41 +0000</pubDate>
		<dc:creator>Fai</dc:creator>
				<category><![CDATA[Computing]]></category>

		<guid isPermaLink="false">http://www.crazed.org.uk/blog/archives/27</guid>
		<description><![CDATA[Just spent a whole night changing my desktop&#8217;s motherboards over. Normally it would have been a straightforward affair &#8211; the successful POST once everything was together was a pretty good sign that I did everything right. However, my XP is installed onto my SATA hard disk, and this meant the motherboard would have a seperate [...]]]></description>
			<content:encoded><![CDATA[<p>Just spent a whole night changing my desktop&#8217;s motherboards over. Normally it would have been a straightforward affair &#8211; the successful POST once everything was together was a pretty good sign that I did everything right.</p>
<p>However, my XP is installed onto my SATA hard disk, and this meant the motherboard would have a seperate controller for this. Seperate controllers that were made relatively recently means they don&#8217;t have native drivers in XP itself. First sign that you&#8217;ve mucked up?</p>
<p>STOP: 0x0000007B</p>
<p><span id="more-27"></span>Never a pretty sight, that BSOD. Turns out, Windows can&#8217;t access the drive with the OS. Now, normally, you should be able to use the Repair install from the XP install CD to force Windows to reinstall all the necessary drivers (this <a target="_blank" href="http://www.michaelstevenstech.com/moving_xp.html">site</a> mentions what you should do in generally).</p>
<p>Oh yes, I need that SATA driver. First step: download the driver. 2nd step: save to floppy disk. Easy. But. Wait. No other computer in this house has a floppy disk drive, apart from the desktop which doesn&#8217;t boot up to the internet! That was a killer, but thankfully, ERD Commander had networking capabilities, and could see my laptop. The world was beautiful again.</p>
<p>Ok, back into the Windows XP Installer again, SATA driver read, proceed to the install/repair&#8230;but wait, it says, &#8220;<em>your drive is not a XP compatible partition</em>&#8220;. No idea what that is, google suggests it could be boot setting issues. I try the recovery console, use <em>bootcfg</em>, etc etc, reboot, retry, repair, retry, recovery console etc etc.<br />
Anyway, none of that worked; I was never able to invoke the <em>repair </em>functionality on the Install CD. Normally, any sane individual would just install a new copy of windows by now, but I&#8217;m not just any sane individual &#8211; I&#8217;m <em>crazed</em>.</p>
<p>I just need Windows to be able to recognise that SATA interface, without crashing.</p>
<p>ERD Commander is my saviour here (plus having a laptop is handy too), but any offline registry editing tool would work here, as long as you can boot it up, and discover your Windows installation on your SATA hard drive (attaching the hard drive to another working desktop would do too). What&#8217;s this?</p>
<p><strong>Installing the SATA driver into Windows, manually</strong>.</p>
<p><em>Disclaimer: By no means do I encourage anyone who is not technically proficient to perform this operation. You could wreck your windows installation. Proceed at your own risk.</em></p>
<ol>
<li>Copy the driver files to the relevant folders in your system -</li>
<ul>
<li>.sys and .cat files to windows\system32\drivers\</li>
<li>.inf files to windows\inf\</li>
</ul>
<li>Open up the .inf file &#8211; this will give you the directions on what to do. This is where the registry editing tool comes into play. Refer to the <a target="_blank" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/DevInst_r/hh/DevInst_r/inf-format_0a6b2b92-442b-4295-ab95-5011ab9d8dbb.xml.asp">MSDN document on Inf files</a> first. The following are just guidelines:</li>
<ul>
<li>Go to the HKLM\System\CurrentControlSet\Services key, and create a new key named after your driver (e.g. for viamraid.sys, your key will be viamraid</li>
<li>create the various parameters you see in every other key here &#8211; <em>Group, Start</em> ( 0 for bootup ), <em>Type</em> ( 1 for kernal drivers), <em>ErrorControl</em> etc &#8211; follow the inf guideline where it mentions service installation (the clue will be given by the <strong>AddService</strong> directive &#8211; i.e. <em>AddService = viamraid, 2, viamraid_Service_Inst, Miniport_EventLog_Inst</em>   means the viamraid_Service_Inst contains the service installation block.</li>
<li>Set up the event log keys:  HKLM\System\CurrentControlSet\Services\EventLog\, <em>where  would normally be your driver</em>.</li>
<li>Study and refer to the <a target="_blank" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/DevInst_r/hh/DevInst_r/inf-format_0a6b2b92-442b-4295-ab95-5011ab9d8dbb.xml.asp">MSDN Inf File Sections and Directives</a> section. This will be necessary for correct installation of the driver.</li>
</ul>
<li>Reboot.</li>
</ol>
<p>Now, I spent an hour or two making sure the parameters were set up right (<em>I really dislike rebooting so much</em>), and lo and behold, no BSOD comes up. The computer boots up into the login screen. Of course, now, the motherboard still has to be recognised and various devices drivers reinstalled.</p>
<p>It did help that this newer motherboard (ASRock K7VT6 with Via KT600 chipset) is essentially a newer version of my old one (Asus A7V8X with Via KT400), so everything else was relatively smooth by now.</p>
<p>Moral of this tale? <strong>Install your device drivers first before you changeover your motherboard! </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazed.org.uk/2006/04/new-motherboards-installing-drivers-manually-fun/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

