<?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>arbitrary user &#187; Development</title>
	<atom:link href="http://www.arbitraryuser.com/blog/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.arbitraryuser.com/blog</link>
	<description>Jonathan Endersby, Recovering Technologist</description>
	<lastBuildDate>Sun, 08 Jan 2012 02:48:58 +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>Half Price Tuesdays</title>
		<link>http://www.arbitraryuser.com/blog/2008/09/30/half-price-tuesdays/</link>
		<comments>http://www.arbitraryuser.com/blog/2008/09/30/half-price-tuesdays/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 14:55:38 +0000</pubDate>
		<dc:creator>arbitraryuser</dc:creator>
				<category><![CDATA[Aggregate This]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.arbitraryuser.com/blog/?p=372</guid>
		<description><![CDATA[Half Price Tuesdays helps you find the best deals near you! (or something like that, but for now that&#8217;ll be good enough) If you&#8217;d like to help test the site please sign up here: http://www.halfpricetuesdays.co.za/ that is all.]]></description>
			<content:encoded><![CDATA[<p><em>Half Price Tuesdays helps you find the best deals near you!</em></p>
<p>(or something like that, but for now that&#8217;ll be good enough)</p>
<p>If you&#8217;d like to help test the site please sign up here:</p>
<p><a href="http://www.halfpricetuesdays.co.za/">http://www.halfpricetuesdays.co.za/</a></p>
<p>that is all.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arbitraryuser.com/blog/2008/09/30/half-price-tuesdays/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Not dead, just busy&#8230;</title>
		<link>http://www.arbitraryuser.com/blog/2008/09/23/not-dead-just-busy/</link>
		<comments>http://www.arbitraryuser.com/blog/2008/09/23/not-dead-just-busy/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 14:27:20 +0000</pubDate>
		<dc:creator>arbitraryuser</dc:creator>
				<category><![CDATA[Aggregate This]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.arbitraryuser.com/blog/?p=346</guid>
		<description><![CDATA[3 People have asked me in the last few hours if I was dead&#8230; Nope, I&#8217;m just busy&#8230;. but in the mean time please help me pick a logo. I&#8217;m not giving credit to the designers yet because I don&#8217;t want to bias the results. Feel free to design a better one if you feel [...]]]></description>
			<content:encoded><![CDATA[<p>3 People have asked me in the last few hours if I was dead&#8230; Nope, I&#8217;m just busy&#8230;. but in the mean time please help me pick a logo. I&#8217;m not giving credit to the designers yet because I don&#8217;t want to bias the results.</p>
<p><img class="alignnone size-full wp-image-348" title="hpt1" src="http://www.arbitraryuser.com/blog/wp-content/uploads/2008/09/hpt1.gif" alt="" width="439" height="608" /></p>
<p>Feel free to design a better one if you feel you can&#8230; Yes, that&#8217;s a challenge.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arbitraryuser.com/blog/2008/09/23/not-dead-just-busy/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Microsoft Gold Certification means nothing&#8230;</title>
		<link>http://www.arbitraryuser.com/blog/2008/02/27/microsoft-gold-certification-means-nothing/</link>
		<comments>http://www.arbitraryuser.com/blog/2008/02/27/microsoft-gold-certification-means-nothing/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 09:46:37 +0000</pubDate>
		<dc:creator>arbitraryuser</dc:creator>
				<category><![CDATA[Aggregate This]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.arbitraryuser.com/blog/2008/02/27/microsoft-gold-certification-means-nothing/</guid>
		<description><![CDATA[Many years ago I worked for a company who was a Microsoft certified partner. This was a long long time ago and I must admit that back then I was quite impressed by the fact that they were Microsoft certified partners&#8230; until I started working there. Redmond hands out certifications like a crack whore hands [...]]]></description>
			<content:encoded><![CDATA[<p>Many years ago I worked for a company who was a Microsoft certified partner. This was a long long time ago and I must admit that back then I was quite impressed by the fact that they were Microsoft certified partners&#8230; until I started working there. Redmond hands out certifications like a crack whore hands out cheap tricks &#8212; indiscriminately and to anyone who&#8217;s willing to pay fifty bucks.</p>
<p>Needless to say, this morning I was reading my gmail when I saw an ad for a &#8220;Microsoft GOLD Certified Development Partner based in Cape Town&#8221; and being the sado-masochist I am I clicked on the link&#8230; it was one of those /showpage.aspx?page_id=36 sort of sites. Ugly, but not necessarily dodgy. I put an apostrophe in the page id to see if they were cleaning their inputs and behold:</p>
<blockquote><p> Line 166:		Octigon.Octane8.Containers.Page tempPage = this._page;<br />
Line 167:<br />
Line 168:		while (tempPage.Id != 1)<br />
Line 169:		{<br />
Line 170:			if (tempPage.Parent.Id == 1)</p></blockquote>
<p>This shows that the site is vulnerable to sql injection&#8230; which, while not necessarily implying that the site <strong>can</strong> be hacked,  does imply that, given enough time, you <strong>probably</strong> could hack it or at least cause some damage. The page also pukes out all kinds of file paths and stuff that would be useful if you were trying to do them harm.</p>
<p>The point here is this. Why is a web development company who are obviously bad web developers Microsoft Gold Certified?</p>
<p>The answer can only be that Gold Certification means absolutely nothing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arbitraryuser.com/blog/2008/02/27/microsoft-gold-certification-means-nothing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>L10n, gettext, php5 and Afrikaans</title>
		<link>http://www.arbitraryuser.com/blog/2008/02/05/l10n-gettext-php5-and-afrikaans/</link>
		<comments>http://www.arbitraryuser.com/blog/2008/02/05/l10n-gettext-php5-and-afrikaans/#comments</comments>
		<pubDate>Mon, 04 Feb 2008 22:02:05 +0000</pubDate>
		<dc:creator>arbitraryuser</dc:creator>
				<category><![CDATA[Aggregate This]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.arbitraryuser.com/blog/2008/02/05/l10n-gettext-php5-and-afrikaans/</guid>
		<description><![CDATA[I&#8217;ve been playing with the concept of creating a multilingual site and after polling the experts I started toying with php&#8217;s implementation of gettext. What a ball-ache. Ok, so some things you need to know before we start. L10n stands for Localisation or Localization&#8230; the abbreviation is therefore obvious due to the words length and [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing with the concept of creating a multilingual site and after polling the <a href="http://wiki.clug.org.za/wiki/CLUG_IRC_Channel" target="_blank">experts</a> I started toying with php&#8217;s implementation of <a href="http://www.gnu.org/software/gettext/" target="_blank">gettext.</a> What a ball-ache.</p>
<p>Ok, so some things you need to know before we start.</p>
<ul>
<li>L10n stands for Localisation or Localization&#8230; the abbreviation is therefore obvious due to the words length and different spellings.</li>
<li>gettext is a GNU standard. I shouldn&#8217;t need to explain why standards are cool, but needless to say, there are plenty of tools to make using gettext a lot easier than a &#8220;roll-your-own&#8221; solution.</li>
<li>The PHP implementation of gettext is good when it&#8217;s working. But when it&#8217;s not working it&#8217;s like a scorned girlfriend &#8212; it will *not* tell you what is wrong. You have to figure it out yourself.</li>
<li>Your solution might not be *exactly* the same as mine because gettext relies on system locales, which in turn are structured differently on pretty much every linux distribution&#8230; having said that I&#8217;m sure the stuff you&#8217;ll read here will get you going.</li>
</ul>
<p>Firstly, why gettext? Besides the fact that it&#8217;s a standard, gettext is good because:</p>
<ul>
<li>gettext&#8217;s database files (.mo) are indexed and compiled.</li>
<li>PHP&#8217;s implementation is written in C or C++ by programmers who are probably better than you and I at writing efficient searches.</li>
<li>The gettext domain (your strings) are cached by the implementation so it really is quite fast.</li>
</ul>
<p>Ok, so let me run through quickly how it&#8217;s meant to work, starting with some code<code><br />
</code></p>
<blockquote><p><code> &lt;?</code><br />
<code> setlocale(LC_ALL, 'af_ZA');</code><br />
<code> bindtextdomain('messages', '/var/www/myapp/locale');</code><br />
<code> textdomain('messages');</code><br />
<code> echo gettext("Hello World!");</code><br />
<code> ?&gt;</code><br />
<code> </code></p></blockquote>
<p>Line for line:</p>
<ul>
<li><strong>setlocale</strong> tells php which locale to use; in this example I&#8217;m using af_ZA (Afrikaans)</li>
<li><strong>bindtextdomain</strong> tells php which domain to look for and where your gettext locale folders are. A &#8220;domain&#8221; is really just a collection. In this case we&#8217;re arbitrarily calling it &#8220;messages&#8221;.</li>
<li><strong>textdomain</strong> is telling php which domain to use from now on. (seems redundant I know but I assume you might be able to bind multiple text domains)</li>
<li><strong>gettext</strong> will look to see if it can find a translation for the locale you set earlier (af_ZA) for this index. gettext&#8217;s index is the original string in the original language. In this case we originally used the phrase &#8220;Hello World!&#8221;. If the locale can&#8217;t be found or there isn&#8217;t a translation for this index in the locale, gettext will return the original language &#8212; in this case &#8220;Hello World!&#8221;.</li>
<li>What is really important to note at this point is that there are a million or so variations of this code on the Internet. This is the stripped down version that works fine under PHP5 and Apache2.</li>
</ul>
<p>Next we have to create our locale directory structure.  This is what it looks like:<code><br />
</code></p>
<blockquote>
<pre>
/locale
    /af_ZA
        /LC_MESSAGES
            messages.po <em>(You'll create these later)</em>
            messages.mo <em>(You'll create these later)</em></pre>
</blockquote>
<p>Obviously you would create one per language you are wanting to support. I therefore have one for en_ZA and one for af_ZA.</p>
<p>Next we need to create our .po file. The .po file is the unindexed, uncompiled &#8220;language&#8221; file. Basically it has human readable plaintext in it. If you had a hoard of translators working for you you would send them your .po file/s, which they would add their translations to and then send back.</p>
<p>The important stuff in a .po file is:<code><br />
</code></p>
<blockquote><p><code> msgid "Hello World!"</code><br />
<code> msgstr ""</code><br />
<code> </code></p></blockquote>
<p>Now, the cool thing about using gettext is that there are tools to generate a messages.po file from .php files automatically. The following command will scan all php files looking for references to gettext and will generate messages.po file for you.<code><br />
</code></p>
<blockquote><p><code> xgettext -n *.php</code><br />
<code> </code></p></blockquote>
<p>The next step is to copy your messages.po file into your LC_MESSAGES <strong>folders</strong>. Once you&#8217;ve copied them you can make the change to the af_ZA one.</p>
<blockquote><p><code>    msgid "Hello World!"<br />
msgstr "Hello WÃªreld!"<br />
</code></p></blockquote>
<p>Next you need to compile both your messages.po files by running the following command in the respective directories. This command will output a binary, indexed messages.mo file.<code><br />
</code></p>
<blockquote><p><code> msgfmt messages.po</code><br />
<code> </code></p></blockquote>
<p>Once you&#8217;ve done that you should be able to rerun your code and it should give you the afrikaans version&#8230; <strong>although it won&#8217;t because here&#8217;s what you don&#8217;t get told</strong>. gettext will only work for locales it recognises, and even though you selected South Africa when you installed your ubuntu, it still doesn&#8217;t know what Afrikaans is. Enter the myriad of confusion solved, as usual, by one simple command.<code><br />
</code></p>
<blockquote><p><code> locale-gen af_ZA</code><br />
<code> </code></p></blockquote>
<p>This will, if you&#8217;re on a newish debian-ish box, enable the af_ZA locale and then, after restarting Apache (remember it caches), your app should be speaking Afrikaans fluently.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arbitraryuser.com/blog/2008/02/05/l10n-gettext-php5-and-afrikaans/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>cna.co.za fixes themselves&#8230;</title>
		<link>http://www.arbitraryuser.com/blog/2008/01/09/cnacoza-fixes-themselves/</link>
		<comments>http://www.arbitraryuser.com/blog/2008/01/09/cnacoza-fixes-themselves/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 17:51:32 +0000</pubDate>
		<dc:creator>arbitraryuser</dc:creator>
				<category><![CDATA[Aggregate This]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.arbitraryuser.com/blog/2008/01/09/cnacoza-fixes-themselves/</guid>
		<description><![CDATA[A while ago I was moaning about how CNA&#8217;s website didn&#8217;t want to let me on with my never-before-heard-of-crazy-combo of Ubuntu and Firefox&#8230; It seems they&#8217;ve fixed that problem which probably also fixed the &#8220;telling Google to go away&#8221; problem. http://www.cna.co.za and http://www.google.co.za/search?q=cna.co.za I wonder if that had anything to do with me? They never [...]]]></description>
			<content:encoded><![CDATA[<p>A while ago <a href="http://www.arbitraryuser.com/blog/2007/12/09/cnacoza-misses-the-point/" target="_blank">I was moaning about</a> how CNA&#8217;s website didn&#8217;t want to let me on with my never-before-heard-of-crazy-combo of Ubuntu and Firefox&#8230; It seems they&#8217;ve fixed that problem which probably also fixed the &#8220;<a href="http://www.arbitraryuser.com/blog/2007/12/12/cnacoza-tells-google-that-theyre-using-an-invalid-browser/" target="_blank">telling Google to go away</a>&#8221; problem.</p>
<p><a href="http://www.cna.co.za" target="_blank">http://www.cna.co.za</a> and <a href="http://www.google.co.za/search?q=cna.co.za" target="_blank">http://www.google.co.za/search?q=cna.co.za</a></p>
<p>I wonder if that had anything to do with me? They never said anything. Probably because I&#8217;m such a <a href="http://www.arbitraryuser.com/blog/2007/12/12/cnacoza-tells-google-that-theyre-using-an-invalid-browser/#comments" target="_blank">big bully</a>.</p>
<p>ath.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arbitraryuser.com/blog/2008/01/09/cnacoza-fixes-themselves/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>cna.co.za tells google that they&#8217;re using an invalid browser</title>
		<link>http://www.arbitraryuser.com/blog/2007/12/12/cnacoza-tells-google-that-theyre-using-an-invalid-browser/</link>
		<comments>http://www.arbitraryuser.com/blog/2007/12/12/cnacoza-tells-google-that-theyre-using-an-invalid-browser/#comments</comments>
		<pubDate>Tue, 11 Dec 2007 23:31:02 +0000</pubDate>
		<dc:creator>arbitraryuser</dc:creator>
				<category><![CDATA[Aggregate This]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.arbitraryuser.com/blog/2007/12/12/cnacoza-tells-google-that-theyre-using-an-invalid-browser/</guid>
		<description><![CDATA[Oh CNA&#8230; Who is the person responsible for this? If I could see your site I would send you an email. I wonder if they realise that their site is not going to be indexed at all?]]></description>
			<content:encoded><![CDATA[<p>Oh CNA&#8230; Who is the person responsible for this? <a href="http://www.arbitraryuser.com/blog/2007/12/09/cnacoza-misses-the-point/" target="_blank">If I could see your site</a> I would send you an email.</p>
<p><img src="http://www.arbitraryuser.com/blog/wp-content/uploads/2007/12/ouch.png" alt="ouch.png" /></p>
<p>I wonder if they realise that their site is not going to be indexed at all?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arbitraryuser.com/blog/2007/12/12/cnacoza-tells-google-that-theyre-using-an-invalid-browser/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>I should blog more&#8230; GeekDinner 5 &#8211; Eccentric Eggplant</title>
		<link>http://www.arbitraryuser.com/blog/2007/11/02/i-should-blog-more-geekdinner-5-eccentric-eggplant/</link>
		<comments>http://www.arbitraryuser.com/blog/2007/11/02/i-should-blog-more-geekdinner-5-eccentric-eggplant/#comments</comments>
		<pubDate>Fri, 02 Nov 2007 16:23:03 +0000</pubDate>
		<dc:creator>arbitraryuser</dc:creator>
				<category><![CDATA[Aggregate This]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[geekdinner]]></category>

		<guid isPermaLink="false">http://www.arbitraryuser.com/blog/2007/11/02/i-should-blog-more-geekdinner-5-eccentric-eggplant/</guid>
		<description><![CDATA[No really, I should. I have a really good blog post chomping at the proverbial bit&#8230; Even Adrian would approve. (probably not, but a man can have hope) Anyway, it&#8217;s GeekDinner time again, and this one, &#8220;Eccentric Eggplant&#8221; promises to be a good&#8217;un for two reasons&#8230; Firstly, I might finally be able to get Derek [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.arbitraryuser.com/blog/wp-content/uploads/2007/11/gd5_eccentric_eggplant_sm.jpg" alt="GeekDinner 5 - Eccentric Eggplant" align="right" />No really, I should. I have a really good blog post chomping at the proverbial bit&#8230; Even Adrian would approve. (probably not, but a man can have hope)</p>
<p>Anyway, it&#8217;s GeekDinner time again, and this one, &#8220;Eccentric Eggplant&#8221; promises to be a good&#8217;un for two reasons&#8230; Firstly, I might finally be able to get Derek the marketing guru to do his now &#8211; way &#8211; too &#8211; over &#8211; hyped &#8211; and &#8211; yet &#8211; not &#8211; delivered &#8211; on  speil &#8211; about &#8211; the &#8211; old &#8211; world &#8211; vs &#8211; new &#8211; world &#8211; advertising, and secondly, but most certainly not leastly, my friend Jennie will be talking about her experiences in the world of game development. Yes, she&#8217;s a real girl, and yes, she&#8217;s a real game developer currently working on something to do with <a href="http://en.wikipedia.org/wiki/Maya_(software)" target="_blank">Maya</a> and the <a href="http://en.wikipedia.org/wiki/Wii" target="_blank">Wii.</a> (I like how that rhymes with <a href="http://en.wikipedia.org/wiki/Maya_the_Bee" target="_blank">Maya The Bee</a>).</p>
<p>Sign up here <a href="http://wiki.geekdinner.org.za/wiki/Cape_Town_November_2007" target="_blank">http://wiki.geekdinner.org.za/wiki/Cape_Town_November_2007</a></p>
<p>Later, Aligator!</p>
<p>j.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arbitraryuser.com/blog/2007/11/02/i-should-blog-more-geekdinner-5-eccentric-eggplant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arcade Controllers, Coffee with Pascal Dornier and my ALIX.</title>
		<link>http://www.arbitraryuser.com/blog/2007/10/05/arcade-controllers-coffee-with-pascal-dornier-and-my-alix/</link>
		<comments>http://www.arbitraryuser.com/blog/2007/10/05/arcade-controllers-coffee-with-pascal-dornier-and-my-alix/#comments</comments>
		<pubDate>Fri, 05 Oct 2007 06:50:51 +0000</pubDate>
		<dc:creator>arbitraryuser</dc:creator>
				<category><![CDATA[ALIX]]></category>
		<category><![CDATA[Aggregate This]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.arbitraryuser.com/blog/2007/10/05/arcade-controllers-coffee-with-pascal-dornier-and-my-alix/</guid>
		<description><![CDATA[I just uploaded pictures from some of my recent escapades to flickr. Check my stream out here. Of particular interest to general geeks are the pics of Lourens&#8217; prototype arcade controller that we put together to test the hack-job we did on an old keyboard controller circuit. The wiring is messy as hell but it [...]]]></description>
			<content:encoded><![CDATA[<p>I just uploaded pictures from some of my recent escapades to flickr. Check my stream out <a href="http://www.flickr.com/photos/arbitraryuser/" target="_blank">here</a>.</p>
<p><a href="http://www.flickr.com/photos/arbitraryuser/sets/72157602273207785/" target="_blank"><img src="http://www.arbitraryuser.com/blog/wp-content/uploads/2007/10/img_9616_mini.JPG" alt="Controller Buttons" align="right" /></a>Of particular interest to general geeks are the pics of Lourens&#8217; prototype arcade controller that we put together to test the hack-job we did on an old keyboard controller circuit. The wiring is messy as hell but it worked perfectly (once we&#8217;d got all the wires soldered in the right place). He&#8217;s planning on building a full cabinet soon, and soon we&#8217;ll be rocking teenage mutant ninja turtles&#8230; just like I did when I was 13!  In case you&#8217;re wondering, he&#8217;s running this on MAME on Ubuntu and with a 1.8Ghz CPU. It runs flawlessly and he thinks he might even be able to get away with a 1Ghz cpu.</p>
<p><a href="http://www.flickr.com/photos/arbitraryuser/sets/72157602266881006/" target="_blank"><img src="http://www.arbitraryuser.com/blog/wp-content/uploads/2007/10/pascal.jpg" alt="Pascal" align="left" /></a>Next up is breakfast with Pascal Dornier, the designer of the WRAP board and now more recently the ALIX. For those of you reading this who have no idea what a WRAP board is, it&#8217;s one of the best embedded computers on the market and it&#8217;s tiny. The ALIX is slightly larger but has everything, including vga and usb.  Pascal is based in Switzerland and offered to fly to South Africa and deliver my ALIX personally. He also brought me Swiss Chocolate which was almost as sweet as the ALIX.</p>
<p><a href="http://www.flickr.com/photos/arbitraryuser/sets/72157602266881006/" target="_blank"><img src="http://www.arbitraryuser.com/blog/wp-content/uploads/2007/10/alixmini1.JPG" alt="Mini Alix" align="right" /></a>I haven&#8217;t had a chance to get the Alix up and running yet, but this weekend will be fun!</p>
<p>(ok ok, he didn&#8217;t fly here just to deliver my ALIX, there was some synchronicity involved too)</p>
<p>You can find out more about ALIX and her friends <a href="http://www.pcengines.ch/alix.htm" target="_blank">here</a>.</p>
<p>ath.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arbitraryuser.com/blog/2007/10/05/arcade-controllers-coffee-with-pascal-dornier-and-my-alix/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>You lose Computicket, YOU LOSE!</title>
		<link>http://www.arbitraryuser.com/blog/2007/08/09/you-lose-computicket-you-lose/</link>
		<comments>http://www.arbitraryuser.com/blog/2007/08/09/you-lose-computicket-you-lose/#comments</comments>
		<pubDate>Thu, 09 Aug 2007 19:03:11 +0000</pubDate>
		<dc:creator>arbitraryuser</dc:creator>
				<category><![CDATA[Aggregate This]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.arbitraryuser.com/blog/2007/08/09/80/</guid>
		<description><![CDATA[Never before have I been so floored by the absolute uselessness of an online process as I was 2 weeks ago when I tried to use Nu Metro&#8217;s online booking process powered by Computicket. The Computicket site requires Java to run. I run Linux, so even though I&#8217;m able to install Java I chose not [...]]]></description>
			<content:encoded><![CDATA[<p>Never before have I been so floored by the absolute uselessness of an online process as I was 2 weeks ago when I tried to use Nu Metro&#8217;s online booking process powered by Computicket.</p>
<p><img src="http://www.arbitraryuser.com/blog/wp-content/uploads/2007/08/compu0.png" alt="compu0.png" align="right" />The Computicket site requires Java to run. I run Linux, so even though I&#8217;m able to install Java I chose not to for security reasons.  So, I load up my virtual machine and browse the site using Internet Explorer 7 under windows. Off to a bad start.</p>
<p>Lets have a look at the site. First of all, the color scheme is terrible. It looks like something put together by a color blind person in 1994. I love the way they have taken advantage of the Internet Explorer&#8217;s customizable scroll bars, because, like, red and yellow are classy.</p>
<p>Next up we have the interface. At first it looks ok. Then you start using your brain. The blue box is the cinema. Check. The white dot is the cursor. You wonder, where are the seats? Are they all available? Am I losing my mind.</p>
<p>You assume simply that maybe the entire cinema is empty. On the right you click the up arrow twice to select that you want 2 tickets. Then you click somewhere. hoping to find an open seat.</p>
<p>(If you&#8217;re seeing this in an aggregated form, the rest of this story is on my site)</p>
<p><span id="more-80"></span></p>
<p align="left"><img src="http://www.arbitraryuser.com/blog/wp-content/uploads/2007/08/freemomentum.gif" alt="freemomentum.gif" align="left" /> Next it asks you what kind of tickets you want. AWESOME, the seats must be available.  You ponder this for a second noticing that momentum must be free. You select full price and click &#8220;Request Tickets&#8221;.</p>
<p><br style="clear: both" /><br />
<img src="http://www.arbitraryuser.com/blog/wp-content/uploads/2007/08/blind_donkey.gif" alt="blind_donkey.gif" align="right" /></p>
<p>You&#8217;re greeted with the worlds best dialog. EVAR. Take a moment to read the text.</p>
<p>No, no, NO, The dots don&#8217;t indicate anything.</p>
<p>But shit, I only have 3 minutes to pay for them&#8230; Oh noes!</p>
<p>So I click the only button I can which takes me back the same page I was at before. Empty &#8220;cinema&#8221; and a little white dot.</p>
<p><strong>I once again select 2 tickets and click a random point on the diagram and again select &#8220;full price&#8221; and am again presented with this same dialog telling me that I will be sitting in two seats that are aren&#8217;t available. </strong></p>
<p align="left">This is a friggen joke. Are they seriously telling me that I need to keep on clicking on random f$#king points until I magically find one that is available???<img src="http://www.arbitraryuser.com/blog/wp-content/uploads/2007/08/shouldistayorshouldigo.gif" alt="shouldistayorshouldigo.gif" align="right" /></p>
<p>After trying repeatedly and getting nowhere, I decided to try another cinema, maybe this cinema was just full? Or maybe I was just not lucky. Every time I was told the tickets weren&#8217;t available I had the option of keeping the tickets or changing them. Orly? Do I?</p>
<p><img src="http://www.arbitraryuser.com/blog/wp-content/uploads/2007/08/mono.gif" alt="mono.gif" align="left" />Maybe the cinema I&#8217;m trying to get two seats in is actually completely full? Would it have told me if I was fighting a futile battle? Lets have a look at another cinema. Maybe I&#8217;ll be luckier next time. After all, this cinema supposedly only has mono sound. Hmmm.</p>
<p><strong>Ok, off to Canal Walk.</strong></p>
<p><img src="http://www.arbitraryuser.com/blog/wp-content/uploads/2007/08/ftw2.gif" alt="ftw2.gif" /></p>
<p><strong>O.M.G. Salvador Dali designed my Cinema</strong>. I swear, this is awesome. Ok, so I start clicking randomly and eventually I win, finding two available seats. In your face computicket. I beat you.</p>
<p>But wait&#8230; I have red dots and the legend on the right side says that my red dots mean poor availability. I ignore this. I don&#8217;t know what it means. Moving on, lets pay.</p>
<p><img src="http://www.arbitraryuser.com/blog/wp-content/uploads/2007/08/creditbudget1.png" alt="creditbudget1.png" align="left" /> I&#8217;ve designed quite a few credit card forms in my life. This one is interesting. Firstly, why is the &#8220;name&#8221; field so much smaller than the &#8220;Surname&#8221; field?</p>
<p>And what&#8217;s this? Budget Period? <strong>4 years to pay off my R58 movie tickets?</strong></p>
<p>I resisted the urge to click it fearing they might stuff something up and bill me R58 every month for 4 years.</p>
<p>I ignore the fact that all the fields are compulsory and for some or other reason they want my phone number. I give them a fake number, but since I want to get an email invoice I chose to give them a valid email address.</p>
<p>Wait, lets read their terms and conditions. Ah there it is&#8230; it was pretty obvious it had to be there.</p>
<p>&#8220;<strong><em>Computicket may from time to time inform you of new Computicket listed promotional material on behalf of our clients&#8230;</em></strong>&#8221;  But I *have* to give them my email address in order to complete the transaction. Computicket = Spammers.</p>
<p>This entire process is retarded. But I fill in my details and click &#8220;Pay Now&#8221;. The transaction is approved and I wait for the email. Some of the choice quotes:</p>
<p>&#8220;<em>PLEASE NOTE: Tickets booked cannot be cancelled, changed or refunded</em>&#8221;</p>
<p>&#8220;<em>If the ticket details are incorrect, please phone 083 915 8000</em>&#8221;</p>
<p>&#8220;<em>PLEASE CHECK ALL DETAILS CAREFULLY!</em>&#8221;</p>
<p>So like, which is it? Can I change the details or can&#8217;t I?</p>
<p>All in all a thoroughly painful process that took waaay too long to complete. Whether you dislike flash or not, the Ster Kinekor process is a lot easier.</p>
<p>Thanks for listening.</p>
<p>J.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arbitraryuser.com/blog/2007/08/09/you-lose-computicket-you-lose/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Overheard</title>
		<link>http://www.arbitraryuser.com/blog/2007/06/27/overheard/</link>
		<comments>http://www.arbitraryuser.com/blog/2007/06/27/overheard/#comments</comments>
		<pubDate>Wed, 27 Jun 2007 06:20:21 +0000</pubDate>
		<dc:creator>arbitraryuser</dc:creator>
				<category><![CDATA[Aggregate This]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.arbitraryuser.com/blog/2007/06/27/overheard/</guid>
		<description><![CDATA[Because I said I would blog this. &#8220;The smallest cock-up of them all is sometimes the solution&#8221; - anonymous Also, there was a small discussion about monkeys doing repetitive tasks, which led us of course, to clarifying the distinction between regular monkeys and trained monkeys. ath.]]></description>
			<content:encoded><![CDATA[<p>Because I said I would blog this.</p>
<p>&#8220;<em>The smallest cock-up of them all is sometimes the solution</em>&#8221;<br />
- anonymous</p>
<p>Also, there was a small discussion about monkeys doing repetitive tasks, which led us of course, to clarifying the distinction between regular monkeys and trained monkeys.</p>
<p>ath.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arbitraryuser.com/blog/2007/06/27/overheard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

