Tim Keller

Web, IT, Telecoms, Development, Networks, Photography, Life.

Getting Married

has 2 comments

Wedding Day - GK-049

19 December 2009: Tim and Amy get married at Simon’s Town Methodist Church

Our official photographer will be turning in her beautiful images this week, but in the meantime I thought I should get just a couple of pics from the day up! Thanks to our family and friends for capturing some truly special memories for us.

First and foremost, thank you to all our friends and family who joined us on the 19th. Your presence and presents were most appreciated!

Getting married is just about the most exciting, scary, complicated and wonderful event you’ll ever experience. The sheer number of things which need to come together on the day is quite astounding. Invites, guest list, seating plan, dress, suits, flowers, cars, pastor, mariage contract, marriage counseling, traveling friends/family, Honeymoon booking, speeches, lunch/dinner, cake, photographer, videographer, and rings – its all quite something.

As part of my commitment to Project52 – to blog once a week for the next 52 weeks – I’ll slowly be taking apart our Year 2009 and explaining how we were able to put together an amazing wedding without breaking the bank. From Engagement to Honeymoon, Amy and I will share via this category of posts the steps you can take to put together a beautiful wedding experience of your own.

Happy New Year and welcome to 2010.

Posted on January 7th, 2010 at 11:13 am by Tim Keller

An Oxymoron’s Guide to PHP on Windows

has no comments

I had the privilege of speaking at SA Developer Cape Town last night. Twenty-something local geeks turned up to hear about how well the Open Source PHP language runs on Windows IIS, using FastCGI.

For the longest time, the utterance of “PHP” and “Windows” within the same sentence meant the speaker was either temporarily insane, or horribly misguided.

In ‘An Oxymoron’s Guide to PHP on Windows’ you’ll discover just how much the situation has changed in the past 12 months. Thanks to Windows Server, IIS7 and FastCGI, running PHP on Windows finally makes a great deal of sense. It performs admirably and facilitates integration with familiar Microsoft technologies like ASP.net and Silverlight.

Posted on November 26th, 2009 at 11:40 am by Tim Keller

Google Go

has no comments

Go Logo

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 behind the project:

No major systems language has emerged in over a decade, but over that time the computing landscape has changed tremendously. There are several trends:

  • Computers are enormously quicker but software development is not faster.
  • 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.
  • 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.
  • Some fundamental concepts such as garbage collection and parallel computation are not well supported by popular systems languages.
  • The emergence of multicore computers has generated worry and confusion.

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’s on the team.

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 – forerunner of C, UTF-8, shepherd Unix and Plan 9), Ian Taylor, Russ Cox, Jini Kim and Adam Langley.

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.

Installation on Snow Leopard

Before you follow these steps, you should have XTools 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.

Environment

Go needs a couple of shell/environment parameters to be set prior to installation.

Add the following lines to your ~/.bashrc file:

export GOROOT=\$HOME/Go
export GOOS=darwin
export GOARCH=amd64
export GOBIN=\$HOME/bin

Now use the source command to apply those changes:

source ~/.bashrc

Next we need to add the bin directory for Go, and map it on the system path:

mkdir -p $HOME/bin
echo "$HOME/bin" > go
sudo mv go /etc/paths.d/
eval `/usr/libexec/path_helper -s`

Source Code

The Go team are currently using Mercurial to handle the source code. If you don’t already have it installed, you can install it quickly and easily with the following command:

sudo easy_install mercurial

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 ~/.profile file:

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

Adjust according to your locale, if neccesary. Big thanks to ricafeal for this.

This will use the Python easy_install tool to install the mercurial package on your system. Once complete, its time to checkout a copy of the Go source code:

hg clone -r release https://go.googlecode.com/hg/ $GOROOT

This will place a full directory of Go source in the directory defined in ~/.bashrc as $GOROOT

Installation

All the Mac OS X particulars are done and you can follow the standard installation procedure. That includes:

cd $GOROOT/src
./all.bash

If you get a message stating…

--- cd ../test
N known bugs; 0 unexpected bugs

… you should be good to go (oh the puns).

Hello World

package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}

To compile:

$ 6g hello.go
$ 6l hello.6

To execute:

$ ./6.out
hello, world

You may also want to check out Jeremy’s great little script which lets you compiler (6g) and ink (6l) in one, well, go.

More Go later this week!

Posted on November 16th, 2009 at 5:17 am by Tim Keller

No VoIP for iPhoners without Wifi

has 4 comments

Skype iPhone needs WifiIt sounds like Dave Gale had a bad day with his iPhone 3G and Vodacom today.

I’m on the road today, between a client site [that's us] in Westlake and the home office when I discover that Vodacom have decided I don’t need to talk to anyone. I call my wife 3 times in a row to hear her repeating “HELLO?” in more and more exasperated tones while I bellow fruitlessly into my headset, then rip the headset out of the phone just in case it is on the fritz, not the network. Nada. No joy.

So I think, no problem, I have Skype and Fring on this pocket rocket-phone, I’ll just call via Skype-Out.

Not so much.

The iPhone SDK restricts apps from using the GSM network to make VoIP calls. The user has to have a Wifi connection via which these VoIP calls can be switched.

Dave continues (with links added by me):

They charge us far more than they should for calls, duck and dive when they’re pressured to reduce prices, and then it appears they block us from making use of VoIP over 3G.

The tragedy is that this should not be a problem for South African iPhoners. It is AT&T/Apple policy that has shaped the App Store’s T&Cs to protect the cellular network’s traditional voice business interests. It is Apple’s monopolistic behaviour that has landed the Cupertino-based powerhouse in hot water of the past.

But there seems to be some light in this iTunnel, according to Engadget Mobile:

AT&T’s restrictive network policies might have been behind some of the more notable iPhone app rejections in the past, but at least one major class of applications just got the green light, as Ma Bell just opened up iPhone VoIP calls over 3G. We can only assume this is the result of the FCC’s renewed push for net neutrality and AT&T’s argument that it’s doesn’t need new regulations to remain open, but — what does this mean for you? Well, Skype on the road, for starters, but we’re guessing a flood of interesting new VoIP apps will hit just as soon as devs can get their apps updated and submitted.

In the meantime, here’s the timk.co.za hacky work-around:

  1. Get yourself an old phone that has a Wifi chip in it (I use an old Nokia E65 with my iPod Touch when on the move)
  2. Download and Install JoikuSpot Light – a free symbian app which turns your device into a Wifi Access Point to serve up the phone’s 3G connection.
  3. Connect to the JoikuSpot from the iPhone’s Wifi Manager.
  4. Make your Skype/Fring calls

Hope that helps! If it doesn’t, you might be better off with one of these.

Posted on October 15th, 2009 at 12:29 am by Tim Keller

Silicon Cape idea – Develophpers Cape Town

has 2 comments

Luke, Tim and ChristiaanI was privileged to get to spend the day with some of the brightest entrepreneurs and founders in Cape Town at the Silicon Cape launch. It was incredible to see how quickly founders Vinny Lingham (of Yola) and Justin Stanford (of 4Di Capital and FireID) have been able to bring their vision of a Silicon Valley in the Cape to light. The event included big hitters like former Mail & Guardian Online GM Matthew Buckland, South African billionaire Johann Rupert, Western Cape Premier Helen Zille, and Dr Ramphela Mamphela.

The essence of the day can be consumed via various news sources, but ultimately three goals were exposed:

  • To develop a digital innovation hub
  • To give entrepreneurs a kick-start
  • To set up a Cape VC fund for start-ups

The main take-away for me was an issue raised by a delegate during the open-floor panel discussion: we have a drastic skills-shortage in the local tech start-up space. While the Silicon Cape may foster a community of entrepreneurship, we can’t do much without high quality, skilled employees. The majority of our bright minds are picking up corporate bursaries after High School, and moving straight into black suit and tie after 4 years at University. If we’re going to have great startups in the Silicon Cape, we need great programmers, sysadmins and techies who are available for employment.

With that in mind, I’m going to kick off a little group around this. I think it should be called “Develophpers Cape Town” – a community for PHP devs, aspiring and experienced. Let’s see if we can get some discussion going in the comments here. What is needed most: training, social geek-out events, hackathons, etc?

It is clear to me, that the Cape is onto something really exciting and potentially powerful. Let’s be a part of it.

Posted on October 12th, 2009 at 3:35 pm by Tim Keller

Staffroom: Effective School Admin

has one comment

Out of order

Hopefully this doesn’t across as an ad – its not. I want to discuss why we bothered building an application to help make teacher’s lives easier. Here goes.

The majority of my life has been spent around teachers. My father is a principal of a local school called Sun Valley Primary and my mother is the remedial teacher. My grandmother, aunt, brother and even fiancé are also teachers. So I’m fairly surrounded by them.

What I love about teachers, is their willingness to search for ways to improve what they do. Gone are the days of grumpy Latin teachers, and angry PE instructors who don’t. Despite the often difficult South African teaching environment, the teachers I get to see on a daily basis are passionate, dynamic and innovative individuals who work tirelessly to give their kids the best education possible.

The problem is that they’re caught in a system which requires inappropriate amounts of “admin” to be completed. There are paper-based assessments, markbooks, schedules, reports and moderations that have to be completed well outside of the standard working day. The tragedy is that, by the end of the term, they’re too worn-out to be effective in their core competency: teaching.

Enter Staffroom from Stage Right.

In late 2006, I visited my father’s school and saw how the teachers were using an arrangement of Excel spreadsheets and Word Documents to file their termly academic reports. The overworked academic heads would prepare these elaborate spreadsheets and give them to teachers on USB flash drives. These flash drives would eventually return a week later for processing.

Very often this “processing” would involve changing the font from Comic Sans 12pt back to Arial 10pt, the text justification from Justified to Left, and the textbox from two centimeters off the page to where it was meant to be. All in all, it was a circus that left staff and teachers disheartened and exhausted.

I knew there had to be better way, and I set about developing a replacement system with the following characteristics:

  • No Duplication: Capture information once.
  • Access Anywhere: Web-based
  • Teacher-friendly: Intuitive software, designed, tested and approved by teachers.
  • Security and Access levels.

Three years later, we’ve achieved that and more. Umoya Networks has integrated the software with the rest of its products. We re-branded the service “Staffroom” and launched it at the South African Principals’ Association conference in May 2009. Our operations team is busy rolling out Staffroom to several South African schools, both public and private/independent.

I encourage you to read more about it at http://www.mystaffroom.net

We recognise that we’re not going to change school admin overnight, but if we can make the painful daily tasks of being a teacher less painful, then our country’s teachers are going to be a whole lot happier and able to train tomorrow’s much needed leaders.

Posted on October 11th, 2009 at 5:14 pm by Tim Keller

YouTube talent

has one comment

I recall the first time I came across YouTube in 2005. Ryan Warzecha suggested we at The (then highly active) Cavern Today put our video content onto a new website called “YouTube”. My immediate reaction was somewhat negative. I assumed it was nothing more than a collection of barely funny memes, myspace-crazed teens, and keyboard cats. And, importantly, it was really slow on my 56k Dialup internet connection.

Fast forward to 2009 and I can easily lose an hour an evening on YouTube. In fact, Amy and I spent more than a few minutes this evening watching some very talented Yale students’ music videos. Amazing.

The talent of some YouTube posters is absolutely astounding… and most of them are in High School or College. When I was in school (not terribly long ago), Tech-savvy meant knowing some Python or Java, running Firefox version 0.7, and hacking Linux on the weekends. Today, the tech-savvy youth are producing amazing creative work through simple (often free) audio and video editing apps on Macs, PCs and the web. It is hard not to be impressed.

Here’s a couple of embedded videos from a YouTube-exclusive series produced by a bunch of Yale students. I think they deserve a watch. Enjoy!

College Musical

Episode 1

Episode 2

Episode 3

Episode 4

Posted on September 12th, 2009 at 12:50 am by Tim Keller

Facebook acquires Friendfeed.

has one comment

facefeedFacebook, the insanely popular Social Network, has acquired Friendfeed, the increasingly powerful Social network aggregator. The financial terms aren’t being discussed but Facebook’s primary gain here is talent over product. The Friendfeed team of ex-Googlers like Paul Buchheit (creator of Gmail) and Bret Taylor will take up lead engineering roles at Facebook.

My initial and unexplored thoughts on this:

  1. Facebook just became the biggest and most popular aggregator of all Social Media Networks. They now own the social space, even moreso than before.
  2. Twitter will be worried. I believe this is the first nail in the coffin.
  3. Google will look to acquire Facebook, and Facebook will do everything it can to avoid acquision.
  4. FriendFeed’s (geeky) userbase won’t be happy. This will give rise to an OpenSource, federated alternative, not unlike Laconica (and by extension, Identica). In fact, Laconica might be the perfect staging ground for this project.
  5. For the most part, Facebook’s userbase either doesn’t know or doesn’t care. They’ll rise up against the inevitable Home Page changes that this will eventually bring, and then quickly learn to deal with them.
  6. Facebook care much more about their platform than the current services they offer. That’s why they purchase new talent and ideas in the form of Parakey (2007) and FriendFeed. Expect interesting cross-social-platform integrations over the next 12 months.

Here’s my prediction as we move into the era of the Realtime Web. The next major web war will be waged between Google Wave and FaceFriendBookFeed.

Posted on August 10th, 2009 at 10:53 pm by Tim Keller

TechEd Session: Embrace OpenSource on CodePlex

has no comments

Title: Embrace OpenSource on CodePlex
Presented: Microsoft TechEd Africa 2009, Durban, South Africa.
Date: 3 August 2009
Link: View on Slideshare



If you’re a software developer interested in running an open source project or just looking around for a particular tool to download, come check out the latest from CodePlex. CodePlex is the open source project hosting site from Microsoft. Launched in May 2006, CodePlex hosts thousands of open source projects. CodePlex users can start open source projects with support for source control, bug tracking, wiki pages, downloads, forums, and project statistics. Additionally, CodePlex supports the widest range of source control clients. This talk explores the top downloaded projects, outlines the CodePlex feature set, and explains how we build the CodePlex software.

Posted on August 9th, 2009 at 1:06 pm by Tim Keller

TechEd Session: PHP on Windows

has no comments

Title: Windows Server and FastCGI technologies for PHP
Presented: Microsoft TechEd Africa 2009, Durban, South Africa.
Date: 2 August 2009
Link: View on Slideshare



PHP is a wildly popular scripting language for the web, and powers some of the largest websites on the Internet. Traditionally, PHP on Windows has been something of an oxymoron. 

Join us and find out why PHP is now highly performant, scalable and efficient when run under FastCGI on Windows Server and IIS. Presented by a local PHP developer, you’ll gain insight into how you can take advantage of PHP on Windows, and integrate it with technologies like PowerShell, ASP.NET and SQLServer.

Posted on August 9th, 2009 at 12:43 pm by Tim Keller