US centric AltGr keyboard layout

September 28th, 2009

For those using a typical US keyboard layout, but with the need to use the Euro sign. I used the Microsoft Keyboard Layout Creator to make a copy of the US-International keyboard and remove all the dead-keys. So basically it’s a normal US keyboard layout, with all the Alt-Gr goodies with it.

United States-AltGr layout available now.

Fresh water from the Newlands Spring

April 13th, 2009

Inspired by Raw Model and Daniel Vitalis, I took some pictures of our local spring that we’ve been collecting water from over the last few months. We go about every two weeks, unless we’re making Raw Essene Bread, Muesli, or anything else that we need to soak for, in which case it’s about every week.

Update (2012-07-16): Thanks to Tim from SAB, we can read a little about the historical significance of this spring. Interested parties might also be interested in the Facebook group Friends of Newlands Spring.


April 10th, 2009

It’s been a while, a long while. This post is a summary of my professional, spiritual, nutritional and personal life over the last 2 and a bit years.

The last serious set of blogging I did was about two years ago before I left Open Box Software (hip south african site, boring international site) to join Information Logistics. I moved from company which had just passed the 50 person mark (busy shifting from being a big-small company to a small-medium company), to a company of 4 (of which I was the fourth). (Re)learning how to work in a small company has been a challenging experience – it’s been interesting to see how the two companies differ and where they are the same.

At the same time, I’ve been evolving spiritually: quite serendipitously I came across the only open ancient mystery school in about October of 2006 (via Caroline, see below if you’re wondering who this is). The Rocky Mountain Mystery School has recently relaunched as the Modern Mystery School and over the last two and a bit years I’ve found that the ideas and teachings they offer have significant value in my life. Towards the end of 2006 I was frustrated that there wasn’t anything important to do in the world, I guess you could phrase it as: What is my purpose in life? Two years later, the answer to that question is not much clearer, but I am more certain about Who I am, and What I am, Where I came from, and Where I’m going. Starting to answer the former question is a lot easier when you can orient yourself with the latter four. Today I’m an initiated Adept, Teacher and Ritual Master, and can offer this amazing life changing empowerment called the 22-strand DNA activation.

In January 2007, I started Kung Fu at the Chinese Martial Arts and Health Center in Obs, Cape Town, and between Kung Fu and Tai Chi (which I’d already been doing for about 6 months with a private acupuncture practitioner in Wynberg) I’m amazed at how much I’ve developed physically and mentally over the last two years. Martial Arts (taught correctly) can give you an amazing appreciation for the human body and it’s capabilities. Traditional western upbringings lack the depth of body knowledge that eastern culture seems to be ingrained with. I grade to Yellow (about ~2.5 years into system) in May :-)

September 2007 saw Caroline and I educating ourselves about Raw Food via the Elements of Health course run by Soaring Free Superfoods. I’d already been vegetarian for about 4 years, so the transition to Raw Vegan wasn’t hard. I found that after going raw, my cravings for protein (about 4 burger patties/sausages per day) disappeared completely. I also dropped about 10 kg in a few months, and settled at about my perfect weight! (No change in exercise, this was only due to change in diet). Recently movies such as Simply Raw and Food Matters are starting to break into the more public consciousness, but it’s a slow process. Raw may not be for everyone, but the sheer number of uninformed people who think that Diabetes, Cancer, Heart Disease, Depression, etc are untreatable is staggering. We now get mostly all of our food from The Ethical Co-op, topping up on essentials from the Wollies organic section, and once a month we visit Pick n Pay for non-food items.

I proposed to Caroline in October 2007 (during our first Kabbalah retreat weekend), and we set the date for November 2008, most of 2008 was spent going up our second Kabbalah tree, and sorting out wedding arrangements. The wedding was held at the picturesque Picardie guest farm in Suider Paarl and was amazing. Honeymoon was a week in Mozambique at the Pestana Inhaca Lodge and was breathtaking (even though the commute there was a little painful).

Looking forwards, there’s so much work to do, that I have to be ruthless in deciding exactly what’s important and what’s not, I have choice and I everything I choose to do I have fun doing! I hope to bring some of that enthusiasm to the rest of Cape Town, and South Africa and the World.

I call dibs on noticing GTalk/Yahoo integration first

March 3rd, 2009

This XML was recently caught exposing a bug in

<presence type="unavailable" from="[email protected]/resource" to="yahoo.transport"
xmlns:ses="yahoogoogle:session" ses:terminated="true"/>

also seen here and here.

The question remains: Are Google and Yahoo up to something?

Connecting to .Net 3.0/Soap1.2/WS-*/svc/WCF services from legacy .Net 2.0/Soap1.0/Soap1.1/asmx clients

January 25th, 2009

Use BasicHttpBinding:

The BasicHttpBinding uses HTTP as the transport for sending SOAP 1.1 messages. A service can use this binding to expose endpoints that conform to WS-I BP 1.1, such as those that ASMX clients consume. Similarly, a client can use the BasicHttpBinding to communicate with services exposing endpoints that conform to WS-I BP 1.1, such as ASMX Web services or Windows Communication Foundation (WCF) services configured with the BasicHttpBinding.

We came across this one at work while trying to test our brand new WCF services using standard web service test tools that have not been updated to know about Soap1.2. I finally figured it out after I read Kurt’s Post comparing BasicHttpBinding to WSHttpBinding at the packet level.

Google App Engine memcache keys

December 28th, 2008

This only works on the development web server, but it enables you to see what the keys of the memcache are. Paste it into the Interactive Console (part of the Development Console) for instant gratification.

from google.appengine.api.apiproxy_stub_map import apiproxy
print apiproxy.GetStub('memcache')._the_cache.keys()

(before anyone asks, this only works on the development server, you can’t do this on a live site because of the implementation differences)
update: seem that in the new sdk the cache is organised differently, so you need to add [''] like this:

from google.appengine.api.apiproxy_stub_map import apiproxy
print apiproxy.GetStub('memcache')._the_cache[''].keys()

TECH4FRICA – A web and emerging technology conference for Africa.

June 25th, 2008

It’s happening on October 3rd, 4th 2008 in Johannesburg, South Africa. So what’s the big idea? Well we’re convinced that there will be web and technology growth in Africa, so we’re getting together leading, internationally respected speakers and thinkers from the industry to discuss what’s happening and what’s possible, with folks that are on the ground in Africa.

Stop by and take a look!

read more | digg story

Server Upgrade

June 3rd, 2008

My blog has migrated to a server with a new IP address :-) (this is being served off the new server). I had to upgrade WordPress too, which means I now have shiny new 2.5.1. Go me!

Mirroring a subversion repository

April 13th, 2007

Some tools like Trac require a local copy of your Subversion repository (this requirement might be fixed in a newer version of Trac I guess, but for now it’s an example). If your server is running Subversion version 1.4 or higher then you can happily use svnsync to create a read-only mirror of the repo, but what if it isn’t?

Well, then the trick is to use svk to create the read-only mirror. There’s just one catch (there always is right?) When you init the local svk repo it writes a commit, so when you pull remote changeset #1 it commits it locally as changeset #2 (ugh, that breaks all the Trac links now). With a bit of cunning, you can pass `-s 2` to ask svk to skip the initial commit in your source repository, and start at commit #2.

So the first two commits are rolled up, and committed as changeset #2, and then all following commits are imported with matching changeset numbers!

Things to note: You MUST mirror the root of the repository, otherwise changesets will again go out of sync. (svnsync has the same restriction, so it’s not like svk is worse off here or anything)

Large File Support in Samba

February 23rd, 2007

To enabled large file support (>2gb) in smbmount, you have to pass ‘-o lfs’ on the command line. Why this isn’t the default, I’m not quite sure. I think it is with smbclient, but it has to be enabled on the command line for smbmount. (ref)