<?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>Tim Keller &#187; Geek</title>
	<atom:link href="http://timk.co.za/category/geek/feed/" rel="self" type="application/rss+xml" />
	<link>http://timk.co.za</link>
	<description>Web, IT, Telecoms, Development, Networks, Photography, Life.</description>
	<lastBuildDate>Sat, 10 Jul 2010 19:09:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>uniti successfully deployed for the Soccer World Cup</title>
		<link>http://timk.co.za/2010/07/10/uniti-successfully-deployed-for-the-soccer-world-cup/</link>
		<comments>http://timk.co.za/2010/07/10/uniti-successfully-deployed-for-the-soccer-world-cup/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 12:43:58 +0000</pubDate>
		<dc:creator>Tim Keller</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Professional]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Chirp]]></category>
		<category><![CDATA[disaster management]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[staffroom]]></category>
		<category><![CDATA[umoya]]></category>
		<category><![CDATA[uniti]]></category>

		<guid isPermaLink="false">http://timk.co.za/?p=62038345</guid>
		<description><![CDATA[I&#8217;ve been rather quiet of late &#8211; here&#8217;s why: Our team at Umoya have been hard at work on supplying our uniti app to the National Disaster Management Centre for 2010.
In September 2009, we starting building Umoya&#8217;s next software platform using staffroom (our school management app) as a base. We distilled the framework down to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been rather quiet of late &#8211; here&#8217;s why: Our team at Umoya have been hard at work on supplying our <em>uniti</em> app to the National Disaster Management Centre for 2010.</p>
<p>In September 2009, we starting building Umoya&#8217;s next software platform using staffroom (our school management app) as a base. We distilled the framework down to its core, and called it the ChirpFramework (a reference to staffroom&#8217;s original name &#8211; ChirpSchool). We chose PHP on the front-end so that our developers could rapidly deploy new features, and MySQL on the backend as we understand its performance characteristics in staffroom. In between, we have some bits holding things together.</p>
<p>Since November we&#8217;ve been actively developing <em>uniti</em> &#8211; our unified collaboration app for business and government. Here&#8217;s some more about it:</p>
<blockquote><p>DISASTER management centres around the country will use software developed for the World Cup to coordinate a multi-disciplinary, multi-sectoral approach to expected xenophobic attacks and their consequences.</p>
<p>The need to manage the risk of disasters during the World Cup prompted the Western Cape Disaster Management Centre to ask Cape Town ICT company, Umoya (www.umoya.net), to devise a web-based platform that has since streamlined emergency communications country-wide.</p>
<p>Known as &#8220;uniti&#8221;, the software helped more than 350 disaster management workers, including command and control centres, to share real-time information that provided up-to-the minute readiness to deal with any eventuality during the World Cup said Peter Beretta of Umoya.</p>
<p>“The National Disaster Management Centre has procured the program for operations in all provinces, where it is being used by Disaster Management themselves, as well as elements from the police, Red Cross and other government entities,” said Beretta</p>
<p>Jackson Rikhotso, Western Cape provincial deputy director responsible for disaster preparedness, said the &#8220;uniti&#8221; software “helps us to get accurate information for proper decision making”.</p>
<p>“It contributed to the smooth running of the World Cup,” said Rikhotso.</p>
<p>Hailing Uniti as a “major milestone”, Mlungisi Gongqa from the national Disaster Management Centre in Pretoria said: “For the first time in the history of national disaster management we are able to network with everybody across the country, and improve response time.</p>
<p>“We can report and analyse situations more quickly.”</p>
<p>Gongqa said on Friday: “We are already plugged into Uniti in all the provinces so it will be easy for picking up xenophobic incidents as they arise from municipality to municipality and from province to province.</p>
<p>“We will use Uniti to log in every incident of xenophobia, and will follow up on every one of them, no matter how small.”</p>
<p>Andre Harrison, also of Umoya, said: “Although Uniti was developed for the World Cup, it has legs beyond that. To help the country cope with attacks and their consequences, the system can be developed further to make it more specific for the needs that arise out of the displacement of people. As these events occur, the software is able to develop in synch with what is happening.”</p>
<p>Beretta said Uniti facilitated communication between line functions like police, ambulance and fire services, and was already being used by some district and local municipalities, including the City of Cape Town.</p>
<p>The management of refugee camps was being developed to link all the camps and their managers, who could communicate with each other easily and quickly.</p>
<p>“Camps that have the Uniti software will, because of their integrated communication, be able to register the refugees in and out of camps, keep full biographical details of displaced persons, and provide accreditation details of NGOs, social workers and people working in the camps.</p>
<p>“The software also facilitates the transferring of people between camps. It is able to link family members in different camps. Part of the software is a web presence that allows details of missing persons to be published on the website.</p>
<p>uniti’s core is the thousands of contacts it provides of individuals in all areas able to respond when disaster threatens.</p>
<p>“A centralised address book of all relevant disaster management, police, emergency services, defence force and fire department staff makes it possible to reach the relevant person when necessary,” Beretta said.</p>
<p>“Your data base gives you the name of the relevant individuals, contact details and photographs of each. All you need do is click on ‘call’,  and the program dials your landline or cell phone while calling the other person.”</p>
<p>The &#8220;uniti&#8221; system includes the ability to listen in on or join two-way radio talk groups, voice recording, situation report logs, a forum for text conversations, and a web intranet facility for posting alerts, updates and images. It also plots the recorded incidents using Google Maps.</p>
<p>“It is already being used daily for communication between Disaster Management and emergency services. The program allows everyone to know when and where anything is happening. We get several hundred entries a day from users.</p>
<p>“We have designed it so that it is mobile. You can access it from your cell phone or a laptop and it is rapidly-deployable anywhere because it is a hosted application and only requires access to the internet.”</p>
<p>It takes two hours to train someone to use the system, he said.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://timk.co.za/2010/07/10/uniti-successfully-deployed-for-the-soccer-world-cup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m speaking at DevDays 2010</title>
		<link>http://timk.co.za/2010/02/24/devdays2010/</link>
		<comments>http://timk.co.za/2010/02/24/devdays2010/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 12:48:04 +0000</pubDate>
		<dc:creator>Tim Keller</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Speaking]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[devdays]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://timk.co.za/?p=62038269</guid>
		<description><![CDATA[
Don&#8217;t sit on the bench, get to DevDays 2010 and score with us! Laduuuuuuma!!!!
It&#8217;s here! Microsoft DevDays is the premier developer event of the year and is all about learning, sharing and interacting with one another and having fun! DevDays 2010 brings you the best of current developer technologies, along with a preview of soon-to-be-released Microsoft [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste"><img class="alignnone size-full wp-image-62038270" title="devdays2010" src="http://timk.co.za/wp-content/uploads/2010/02/devdays2010.jpg" alt="" width="700" height="216" /></div>
<p>Don&#8217;t sit on the bench, get to DevDays 2010 and score with us! Laduuuuuuma!!!!</p>
<p>It&#8217;s here! Microsoft DevDays is the premier developer event of the year and is all about learning, sharing and interacting with one another and having fun! DevDays 2010 brings you the best of current developer technologies, along with a preview of soon-to-be-released Microsoft tools and technologies.</p>
<p>I spoke at DevDays 2009 and had a blast. This year, I&#8217;ve been invited back to deliver two new talks:</p>
<ul>
<li><strong>Getting started with Silverlight development</strong><br />
Interested in Silverlight development but not sure how to get started? Learn the basics of Silverlight application development – the tools and fundamental concepts behind Silverlight. Find out how to re-use your existing .NET development skills to build exciting new applications. This session will focus on the fundamentals of Silverlight including layout, data binding, data access and styling.</li>
<li><strong>Open Source and Microsoft – Working Together</strong><br />
Microsoft AND Open Source? What?! Come and learn how Microsoft platform works with open source platforms like PHP and Java form the server room and into the cloud. Come and learn how Microsoft is opening up and supporting open source development and technologies.</li>
</ul>
<p>Find out more, and register at <a href="http://www.microsoft.com/southafrica/devdays/default.mspx" target="_blank">http://www.microsoft.com/southafrica/devdays/default.mspx</a></p>
<p>Most importantly, entrance is free! Please join us for a wonderful day of learning and networking.</p>
]]></content:encoded>
			<wfw:commentRss>http://timk.co.za/2010/02/24/devdays2010/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Buzz off, Facebook</title>
		<link>http://timk.co.za/2010/02/11/buzz-off-facebook/</link>
		<comments>http://timk.co.za/2010/02/11/buzz-off-facebook/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 10:35:39 +0000</pubDate>
		<dc:creator>Tim Keller</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Industry]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[buzz]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[gtalk]]></category>
		<category><![CDATA[jabber]]></category>
		<category><![CDATA[picassa]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[xmpp]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://timk.co.za/?p=62038255</guid>
		<description><![CDATA[
In contrast to a week allegations of &#8220;internecine warfare among Microsoft&#8217;s established divisions and a dysfunctional corporate culture that squashes innovation&#8221; comes yet-another-innovative-Google-product, Google Buzz.  Google Buzz is Mountain View&#8217;s first convincing entry into Social Networking, that isn&#8217;t limited to merely an API.
Gina Trappani, posting on Smarterware, says it all: &#8220;This ain&#8217;t no Orkut.&#8221;. Google [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-62038264" style="border: 0pt none;" title="googlebuzzofffb" src="http://timk.co.za/wp-content/uploads/2010/02/googlebuzzofffb.png" alt="" width="547" height="90" /></p>
<p>In contrast to a week <a href="http://brainstormtech.blogs.fortune.cnn.com/2010/02/04/dick-brass-why-microsoft-is-failing/" target="_blank">allegations</a> of &#8220;internecine warfare among Microsoft&#8217;s established divisions and a dysfunctional corporate culture that squashes innovation&#8221; comes <em>yet-another-innovative-Google-product</em>, <a href="http://www.google.com/buzz" target="_blank">Google Buzz</a>.  Google Buzz is Mountain View&#8217;s first convincing entry into Social Networking, that isn&#8217;t limited to merely an API.</p>
<p>Gina Trappani, posting on <a href="http://smarterware.org/" target="_blank">Smarterware</a>, says it all: &#8220;This ain&#8217;t no <a href="http://www.orkut.com">Orkut</a>.&#8221;. Google are very serious about taking down Twitter and Facebook.</p>
<p>Jason Calacanis, <a href="http://calacanis.com/2010/02/10/breaking-google-buzz-is-brilliant-facebook-just-lost-half-its-value/" target="_blank">posting</a> to his email list this morning, made it clear that he sees this as a major challenge to facebook:</p>
<blockquote><p>1. Google Buzz 1.0 is better than Facebook after six or seven years.</p>
<p>2. Facebook&#8217;s history is one filled with stealing other people&#8217;s<br />
innovations and doing them better (i.e. Zuckerberg has stolen every<br />
idea Evan Williams and the Twitter team have released). How ironic now<br />
that Google has out &#8220;Facebooked&#8221; Facebook. Google</p>
<p>3. Google has excellent privacy record and Facebook is a disaster.<br />
Most folks do not trust Zuckerberg and Facebook any more because of<br />
their privacy record (filled with lawsuits) and because they steal<br />
every good idea they see (i.e. Twitter&#8217;s innovations and FourSquare&#8217;s<br />
checking in).</p>
<p>4. Google Buzz auto generates your network&#8211;this is MUCH better<br />
process than Facebook&#8217;s.</p>
<p>5. Google Buzz is way faster than the sluggish Facebook&#8211;this is a<br />
HUGE advantage.</p>
<p>6. Google Buzz puts relies and updates into your GMAIL as<br />
threads&#8211;this is BRILLIANT and a HUGE advantage.</p></blockquote>
<p><img class="size-full wp-image-62038260 alignright" style="border: 0pt none;" title="landing_preview" src="http://timk.co.za/wp-content/uploads/2010/02/landing_preview.png" alt="" width="354" height="501" />Perhaps Jason is spot on. It certainly does seem that Google has almost everything in place to flip the switch, and take over the Social Networking space.</p>
<ul>
<li><strong>Status<br />
</strong>Google: Buzz Status and GTalk Status<br />
Facebook: Status</li>
<li><strong>Photos<br />
</strong>Google: Picassa,<br />
Facebook: Photos</li>
<li><strong>Videos<br />
</strong>Google: YouTube,<br />
Facebook: Videos</li>
<li><strong>Email<br />
</strong>Google: Gmail since 2004<br />
Facebook: <a href="http://techcrunch.com/2010/02/05/facebooks-project-titan-a-full-featured-webmail-product/" target="_blank">Project Titan</a> (not yet released)</li>
<li><strong>Instant Messaging<br />
</strong>Google: GTalk with XMPP/Jabber<br />
Facebook: Facebook Chat (XMPP <a href="http://techcrunch.com/2010/02/10/facebook-chat-launches-xmpp-support/" target="_blank">just released</a>)</li>
<li><strong>Applications<br />
</strong>Google: Not yet.<br />
Facebook: Farmville, and a <a href="http://www.facebook.com/apps/directory.php">few others</a>.</li>
<li><strong>Media Sharing<br />
</strong>Google: Google Reader, YouTube<br />
Facebook: A mix of rss importing tools, and (possibly) the recently purchased <a href="http://www.friendfeed.com">FriendFeed</a>.</li>
</ul>
<p>The only problem, in the words of the imitable <a href="http://www.google.com/profiles/110322743153515261271" target="_blank">Reinhardt Zündorf</a>, is: &#8220;This is lame, now I can&#8217;t find out  which dog I am (via a five bullet questionnaire) and share it with my  facebook friends&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://timk.co.za/2010/02/11/buzz-off-facebook/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Monitor your World of Warcraft server, on Twitter</title>
		<link>http://timk.co.za/2010/02/07/monitor-your-world-of-warcraft-server-on-twitter/</link>
		<comments>http://timk.co.za/2010/02/07/monitor-your-world-of-warcraft-server-on-twitter/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 16:03:23 +0000</pubDate>
		<dc:creator>Tim Keller</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[warcraft]]></category>
		<category><![CDATA[wow]]></category>

		<guid isPermaLink="false">http://timk.co.za/?p=62038249</guid>
		<description><![CDATA[
Its no secret that I spend a fair amount of my time in World of Warcraft. My main character, a Human Paladin, is on the US-based realm of Stormscale.
In order to support the 12 million players, Blizzard operates a network of 500+ servers (called Realms) across the globe. From time to time, these realms are [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-62038250" style="border: 0pt none;" title="Stormscale Twitter Status" src="http://timk.co.za/wp-content/uploads/2010/02/stormscale-is-back.png" alt="" width="580" height="199" /></p>
<p>Its no secret that I spend a fair amount of my time in <a href="http://www.worldofwarcraft.com" target="_blank">World of Warcraft</a>. My main character, a Human Paladin, is on the US-based realm of Stormscale.</p>
<p>In order to support the 12 million players, Blizzard operates a network of 500+ servers (called Realms) across the globe. From time to time, these realms are taken offline for maintenance or upgrades by the Blizzard Tech staff. This post is about how to track these periods of downtime so that players can easily monitor the status of their realm.</p>
<ol>
<li>Start by visiting <a href="http://warcraftupdate.net/" target="_blank">http://warcraftupdate.net/</a> &#8211; a directory of all the US-based realms.</li>
<li>Search for your realm, and click on the title once found.</li>
<li>This will link you to your Realm&#8217;s Twitter profile (such as the one for my realm, <a href="http://twitter.com/stormscale" target="_blank">Stormscale</a>).</li>
<li>Follow the profile in order to receive updates whenever your realm goes up or down.</li>
</ol>
<p>For the alliance,<br />
Tim</p>
]]></content:encoded>
			<wfw:commentRss>http://timk.co.za/2010/02/07/monitor-your-world-of-warcraft-server-on-twitter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Comparing two MySQL tables</title>
		<link>http://timk.co.za/2010/02/01/comparing-two-mysql-tables/</link>
		<comments>http://timk.co.za/2010/02/01/comparing-two-mysql-tables/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 15:05:52 +0000</pubDate>
		<dc:creator>Tim Keller</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://timk.co.za/?p=62038231</guid>
		<description><![CDATA[From time to time, I need to compare MySQL database tables and see what data has been added to the one in the time since I mysqldump&#8217;d the first one.
For example: Let&#8217;s say I have table_a as my snapshot&#8217;d table, and table_b as my newer table which has one or more new rows in it.The [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-62038234 alignright" style="margin: 0px; border:0" title="MySQL Logo" src="http://timk.co.za/wp-content/uploads/2010/02/mysql_logo.gif" alt="" width="250"  />From time to time, I need to compare MySQL database tables and see what data has been added to the one in the time since I mysqldump&#8217;d the first one.</p>
<p>For example: Let&#8217;s say I have table_a as my snapshot&#8217;d table, and table_b as my newer table which has one or more new rows in it.The query below will return all records that are in table_b, and not in table_a.</p>
<pre><code>SELECT table_b.* FROM table_b
LEFT JOIN table_a ON table_b.id = table_a.id
WHERE table_a.item_id IS NULL</code></pre>
<p>This idea can be extrapolated to comparing the tables of two different databases:</p>
<pre><code>SELECT database_b.sometable.* FROM database_b.sometable
LEFT JOIN database_a.sometable ON database_b.sometable.id = database_a.sometable.id
WHERE database_a.sometable.item_id IS NULL</code></pre>
<p>The you can take those results and use them to INSERT the missing records, should you want to do this.</p>
]]></content:encoded>
			<wfw:commentRss>http://timk.co.za/2010/02/01/comparing-two-mysql-tables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>School kids &#8211; want to learn computer programming?</title>
		<link>http://timk.co.za/2010/01/22/school-kids-want-to-learn-computer-programming/</link>
		<comments>http://timk.co.za/2010/01/22/school-kids-want-to-learn-computer-programming/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 14:51:45 +0000</pubDate>
		<dc:creator>Tim Keller</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[uct]]></category>

		<guid isPermaLink="false">http://timk.co.za/?p=62038226</guid>
		<description><![CDATA[Calling budding programmers, developers and geeks!

Are you interested in learning computer programming? Want to find out what it is all about, without devoting too much time? Do you have a child or learner that might be interested? The University of Cape Town is holding a free course to give young learners an introduction to computer [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="Python Logo" style="border:0" src="http://python.org/images/python-logo.gif" alt="" width="211" height="71" />Calling budding programmers, developers and geeks!</p>
<p/>
Are you interested in learning computer programming? Want to find out what it is all about, without devoting too much time? Do you have a child or learner that might be interested? The <a href="http://www.uct.ac.za">University of Cape Town</a> is holding a free course to give young learners an introduction to computer programming. They will teach the basic skills needed to start creating your very own fun and useful computer programs.</p>
<p/>
The course will be run from <strong>Friday 26 to Sunday 28 February 2010</strong>. It is targeted at learners in <strong>grades 7–10</strong> with little or no knowledge of programming, but learners of other grades are also welcome. The course will teach <a href="http://www.python.org">Python</a>: a real-world programming language used by many large companies such as Google, Yahoo and Industrial Light &amp; Magic that is also easy to pick up.</p>
<p/>
The only prerequisite for the course is a fair level of computer literacy: using a web browser and text editor. The course will start from the very basics of what computer programming is about and end off with an introduction to programming concepts: flow control, lists and functions.</p>
<p/>
You can apply online at <a href="http://algorithm.cs.uct.ac.za/apply" target="_blank">http://algorithm.cs.uct.ac.za/apply</a>. Dead- line for applications is 21 February.</p>
<p/>
]]></content:encoded>
			<wfw:commentRss>http://timk.co.za/2010/01/22/school-kids-want-to-learn-computer-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Go</title>
		<link>http://timk.co.za/2009/11/16/google-go/</link>
		<comments>http://timk.co.za/2009/11/16/google-go/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 03:17:55 +0000</pubDate>
		<dc:creator>Tim Keller</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[10.6]]></category>
		<category><![CDATA[compiling]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[snow leopard]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://timk.co.za/?p=62038201</guid>
		<description><![CDATA[
Google is touting its new Go language as a modern systems programming language which is expressive, concurrent, garbage-collected. Go takes the development speed of working in a dynamic language like Python, and combines it with the performance and safety of a compiled language like C or C++.
In its Go FAQ, Google explains the main motivations [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-62038202 alignright" title="Go Logo" src="http://timk.co.za/wp-content/uploads/2009/11/bumper480x270.png" alt="Go Logo" width="382" height="216" /></p>
<p>Google is touting its new Go language as a modern systems programming language which is expressive, concurrent, garbage-collected. Go takes the development speed of working in a dynamic language like Python, and combines it with the performance and safety of a compiled language like C or C++.</p>
<p>In its Go FAQ, Google explains the main motivations behind the project:</p>
<p>No major systems language has emerged in over a decade, but over that time the computing landscape has changed tremendously. There are several trends:</p>
<ul>
<li>Computers are enormously quicker but software development is not faster.</li>
<li>Dependency management is a big part of software development today but the “header files” of languages in the C tradition are antithetical to clean dependency analysis—and fast compilation.</li>
<li>There is a growing rebellion against cumbersome type systems like those of Java and C++, pushing people towards dynamically typed languages such as Python and JavaScript.</li>
<li>Some fundamental concepts such as garbage collection and parallel computation are not well supported by popular systems languages.</li>
<li>The emergence of multicore computers has generated worry and confusion.</li>
</ul>
<p>Bold words from Google, especially considering the number of new languages which have come and gone over the years. Surely its too risky to put the corporate name behind the project? Not once you hear who&#8217;s on the team.</p>
<p>The project is being staffed by some serious Computer Science heavyweights: Robert Griesemer, Rob Pike (Unix Team, Plan 9 OS, UTF-8, Inferno), Ken Thompson (inventor of B &#8211; forerunner of C, UTF-8, shepherd Unix and Plan 9), Ian Taylor, Russ Cox, Jini Kim and Adam Langley.</p>
<p>Coming from a C/C++ background during my university days, my first Go experience felt quite nostalgic. I grabbed the source via Mercurial, compiled it in the Terminal, and configured some shell environment variables. What I was left with was a native Go compiler for my x64 architecture (6g) and a Go linker (6l). These are the recommended compilation tools until the GCC-based (gccgo) version catches up.</p>
<h2>Installation on Snow Leopard</h2>
<p>Before you follow these steps, you should have <a href="http://developer.apple.com/TOOLS/Xcode/" target="_blank">XTools</a> installed. You should also be running Snow Leopard as your OS. These instructions should also work for 10.5 Leopard, but you may have to use GOARCH=386.</p>
<h3>Environment</h3>
<p>Go needs a couple of shell/environment parameters to be set prior to installation.</p>
<p>Add the following lines to your <strong>~/.bashrc</strong> file:</p>
<pre><code>export GOROOT=\$HOME/Go
export GOOS=darwin
export GOARCH=amd64
export GOBIN=\$HOME/bin
</code></pre>
<p>Now use the <code>source</code> command to apply those changes:</p>
<pre><code>source ~/.bashrc</code></pre>
<p>Next we need to add the bin directory for Go, and map it on the system path:</p>
<pre><code>mkdir -p $HOME/bin
echo "$HOME/bin" &gt; go
sudo mv go /etc/paths.d/
eval `/usr/libexec/path_helper -s`
</code></pre>
<h3>Source Code</h3>
<p>The Go team are currently using Mercurial to handle the source code. If you don&#8217;t already have it installed, you can install it quickly and easily with the following command:</p>
<pre><code>sudo easy_install mercurial</code></pre>
<p>I encountered an issue whereby UTF-8 was not set as my locale language type. While some will not experience this, I had to force this by adding the following lines to your <strong>~/.profile</strong> file:</p>
<pre><code>export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
</code></pre>
<p>Adjust according to your locale, if neccesary. Big thanks to <a href="http://mytechblogdiary.wordpress.com/2009/10/04/mercurial-in-snow-leopard-utf-8-error/" target="_blank">ricafeal</a> for this.</p>
<p>This will use the Python <code>easy_install</code> tool to install the mercurial package on your system. Once complete, its time to checkout a copy of the Go source code:</p>
<pre><code>hg clone -r release https://go.googlecode.com/hg/ $GOROOT</code></pre>
<p>This will place a full directory of Go source in the directory defined in <strong>~/.bashrc</strong> as $GOROOT</p>
<h3>Installation</h3>
<p>All the Mac OS X particulars are done and you can follow the standard installation procedure. That includes:</p>
<pre><code>cd $GOROOT/src
./all.bash</code></pre>
<p>If you get a message stating&#8230;</p>
<pre><code>--- cd ../test
N known bugs; 0 unexpected bugs
</code></pre>
<p>&#8230; you should be good to go (oh the puns).</p>
<h2>Hello World</h2>
<pre><code>package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
</code></pre>
<p>To compile:</p>
<pre><code>$ 6g hello.go
$ 6l hello.6
</code></pre>
<p>To execute:</p>
<pre><code>$ ./6.out
hello, world
</code></pre>
<p>You may also want to check out <a href="http://jeremyhubert.com/articles/installing-google-go-on-osx-snow-leopard.html">Jeremy&#8217;s</a> great little script which lets you compiler (6g) and ink (6l) in one, well, go.</p>
<p>More Go later this week!</p>
]]></content:encoded>
			<wfw:commentRss>http://timk.co.za/2009/11/16/google-go/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Macworld Philnote</title>
		<link>http://timk.co.za/2009/01/07/the-macworld-philnote/</link>
		<comments>http://timk.co.za/2009/01/07/the-macworld-philnote/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 22:39:24 +0000</pubDate>
		<dc:creator>Tim Keller</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ilife]]></category>
		<category><![CDATA[iwork]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macworld]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://timk.co.za/?p=62038088</guid>
		<description><![CDATA[
iLife, iWork, MacBookPro 17-inch, and iTunes is finally DRM-Free!
It was, by all accounts, one of the most anxiously anticipated Apple Keynotes in recent history. Just 24 hours prior, Steve Jobs had finally released a letter to the community detailing the reason for his dreadful weighloss over 2008, and subsequent absense from Macworld.
At 9am PST, Apple&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://timk.co.za/2009/01/07/the-macworld-philnote"><img class="alignnone" title="Philnote 2009: Mac" src="http://live.gdgt.com/img/2009/01/img_0053.jpg" alt="" width="390" height="259" /></a></p>
<p><strong>iLife, iWork, MacBookPro 17-inch, and iTunes is finally DRM-Free!</strong></p>
<p>It was, by all accounts, one of the most anxiously anticipated Apple Keynotes in recent history. Just 24 hours prior, Steve Jobs had finally released a <a href="http://www.apple.com/pr/library/2009/01/05sjletter.html" target="_blank">letter</a> to the community detailing the reason for his dreadful weighloss over 2008, and subsequent absense from Macworld.</p>
<p><span id="more-62038088"></span>At 9am PST, Apple&#8217;s Senior VP of Worldwide Product Marketting, <a href="http://en.wikipedia.org/wiki/Phil_Schiller" target="_blank">Phil Schiller</a>, took to the stage to deliver the 2009 Macworld keynote-of-death. A visibly nervous Schiller cracked: <span class="update">“Good morning everyone, I can tell you how excited I am to deliver the Macworld 2009 keynote. I can’t tell you how much I appreciate you all showing up.&#8221; (Laughter) [<a href="http://live.gdgt.com/2009/01/06/live-macworld-2009-keynote-coverage/#more" target="_blank">GDGT</a>]<br />
</span></p>
<p>Apple had come out in mid-December &#8216;08 with a statement that Steve Jobs would, for the first time in over a decade, not be delivering the much-anticipated <em>Macworld &#8220;Stevenote&#8221;</em>. The announcement also indicated that this would be Apple&#8217;s last year at the IDG Macworld Conference &amp; Expo. They would instead be focusing on their own Apple-controlled events and product launches from now on &#8211; a dire mistake, in my opinion. But more on that later.</p>
<p>For the first time, I got to enjoy <strong>live audio</strong> from the keynote thanks to <a href="http://chris.pirillo.com/live/" target="_blank">Chris Pirillo&#8217;s live feed</a> &#8211; complete with the odd Leo Laporte &amp; co. commentary! I also had <a href="http://live.gizmodo.com" target="_blank">GizmodoLive</a>, <a href="http://www.technologizer.com" target="_blank">Technologizer</a>, and <a href="http://macrumors.com" target="_blank">MacRumorsLive</a> open for the text and visuals. Sadly for MacRumors they were careless and left some passwords available for anyone to see &#8211; soon 4chan.org had control of their live stream and hilarity ensued.</p>
<p>Phil had three things (and one <span style="text-decoration: line-through;">last</span> final thing) to talk about, and executed them in a style Sir Steve would surely have approved. Here&#8217;s the summary:</p>
<p><strong>iLife &#8216;09</strong></p>
<p>iPhoto:</p>
<ul>
<li>Face recognition, searching and tagging (Picassa-style, but much better).</li>
<li>Export photos to Flickr and Facebook (Goodbye Third-party plugins, hope you enjoyed putting food on the table).</li>
<li>Places: GPS geotagging and search of photos.</li>
<li>Slideshows: Uses the Face detection technology to correctly contruct &#8220;Smart Slideshows&#8221;</li>
</ul>
<p>iMovie:</p>
<ul>
<li>Automatic Image Stablisation of imported video (thank goodness!)</li>
<li>Brand new Timeline editor for Video and Audio (together or separately).</li>
<li>Drag and Drop video or audio anywhere on the timeline.</li>
<li>Video Special Effects</li>
</ul>
<p>Garage band:</p>
<ul>
<li>Teaches you how to play an instrument.</li>
<li>Comes with video instruction from professional musicians.</li>
<li>Nine basic lessons included.</li>
<li>Additional downloads can be purchased from within Garageband for $4.99 each. Clever.</li>
</ul>
<p><strong>iWork &#8216;09 and iWork.com</strong></p>
<p>All I can say is, goodbye forever Office! I&#8217;ve used iWork &#8216;08 exclusively as my office suite for the last six months and have always enjoyed it, barring a few niggles. This year&#8217;s update changes all of that.</p>
<p>I&#8217;ve installed it and have enjoyed a quick look around the Three apps this evening. I&#8217;ll be using it extensively tomorrow and will report on its performance.</p>
<p>Keynote:</p>
<ul>
<li>New transitions: &#8220;Magic Move&#8221; will animate (tween) movements of like objects upon transistion. It works insanely well when you play with it.</li>
<li>Chart options: Great new charting tools.</li>
<li>Keynote Remote app for the iPhone and iPod Touch to control Keynote wirelessly.</li>
</ul>
<p>Pages:</p>
<ul>
<li>Full screen editing of documents. Think <a href="http://www.hogbaysoftware.com/products/writeroom" target="_blank">WriteRoom</a>&#8230; kinda.</li>
<li>Dynamic outlines (finally).</li>
<li>Mail Merge with data from Numbers</li>
<li>Integration with MathType and EndNote.</li>
<li>40 great new themes.</li>
</ul>
<p>Numbers:</p>
<ul>
<li>250 new functions (and a great new Function Browser)</li>
<li>Table Categories</li>
</ul>
<p>iWork.com</p>
<ul>
<li>Online collaboration suite (think Google Docs, Zoho Office)</li>
<li>I&#8217;m in the beta and it seems really interesting. Will be testing tomorrow.</li>
<li>Built on the <a href="http://sproutcore.com/" target="_blank">SproutCore Javascript library</a> (as is MobileMe&#8217;s <a href="http://www.me.com" target="_blank">web interface</a>).</li>
</ul>
<p><strong>New 17-inch MacBookPro</strong></p>
<p>Featuring the new Unibody case design and a huge 8-hour (non-replacable) battery, the new High-end MBP is the laptop to rule them all. Let&#8217;s see what&#8217;s in the 0.96inch deep box:</p>
<ul>
<li> Three USB ports</li>
<li>Mini DisplayPort</li>
<li>Firewire 800</li>
<li>320Gb HDD or 250Gb SSD</li>
<li>nVidia 9400M and 9600M</li>
<li>Max RAM: 8Gb 1066Mhz DDR3</li>
<li>Digital audio in/out</li>
<li>Expresscard slot</li>
<li>Gigabit Ethernet (finally! Yay!)</li>
</ul>
<p>There&#8217;s also a $50 anti-glare option available for those of us normal human beings who can&#8217;t stand the glossy look.</p>
<p><strong>One More iTunes thing<br />
</strong></p>
<p>Not so much a thing, but probably the biggest story of all. <strong>iTunes is going DRM-Free</strong>. As of today, 8 million of the catologue are being freed (and users can upgrade to iTunes Plus for free). The balance of the catologue will be completed in the coming months. In April, the price-plan will change to a three-tier model. Songs will sell DRM-Free for 69cent, 99cents and $1.29 depending on the label.</p>
<p><strong>Conclusion</strong></p>
<p>It was no Macworld keynote 2007. There was no new iPhone, no new iMacs, and perhaps worst of all &#8211; no new Mac Mini. It was, however, a solid and interesting keynote. Great hardware is only as good as the software it runs, and the &#8216;09 editions of the Apple apps will take strong advantage of the new NVidia-based notebooks that we rolled out in September &#8216;08.</p>
<p>I suspect that we&#8217;ll see a Desktop Mac refresh in April. This Special Apple Event would include lots of news about Snowleopard, a new iMac and (finally) a new MacMini.</p>
<p>[Watch the broadcast at: <a href="http://events.apple.com.edgesuite.net/0901ouabdcaw/event/index.html" target="_blank">Apple Events</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://timk.co.za/2009/01/07/the-macworld-philnote/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Opensourcing some stuff</title>
		<link>http://timk.co.za/2008/03/03/opensourcing-some-stuff/</link>
		<comments>http://timk.co.za/2008/03/03/opensourcing-some-stuff/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 21:56:31 +0000</pubDate>
		<dc:creator>Tim Keller</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[OneWebStudios]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.timokeller.net/2008/03/03/opensourcing-some-stuff/</guid>
		<description><![CDATA[Hey all
It has &#8211; yet again &#8211; been ages since I&#8217;ve posted. Sorry to keep you *all* waiting!
We here at OneWebStudios have had great fun writing a lot of code over the past year, in various languages, and so today I&#8217;m pleased to announce that we&#8217;re going to start opensourcing certain projects. This won&#8217;t happen [...]]]></description>
			<content:encoded><![CDATA[<p>Hey all</p>
<p>It has &#8211; yet again &#8211; been ages since I&#8217;ve posted. Sorry to keep you *all* waiting!</p>
<p>We here at OneWebStudios have had great fun writing a lot of code over the past year, in various languages, and so today I&#8217;m pleased to announce that we&#8217;re going to start opensourcing certain projects. This won&#8217;t happen overnight, nor will it include our major projects (ChirpSchool, etc) but it will include smaller projects that we&#8217;d love some help with. If you&#8217;re keen to join the OWS family, drop us a comment on this blog post.</p>
<p>In the meantime, watch <a href="http://www.timokeller.net/opensource">www.timokeller.net/opensource</a> for news.</p>
<p>Tim</p>
]]></content:encoded>
			<wfw:commentRss>http://timk.co.za/2008/03/03/opensourcing-some-stuff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Think Different 2007</title>
		<link>http://timk.co.za/2007/10/21/think-different-2007/</link>
		<comments>http://timk.co.za/2007/10/21/think-different-2007/#comments</comments>
		<pubDate>Sun, 21 Oct 2007 15:33:30 +0000</pubDate>
		<dc:creator>Tim Keller</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.timokeller.net/2007/10/21/think-different-2007/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/YHineBZTpNw"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/YHineBZTpNw" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://timk.co.za/2007/10/21/think-different-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
