Charl van Niekerk » Blog

Main

Latest

Archives

Powered by Blogger

Google Reverse Geocoding

So Google finally released a feature they call Reverse Geocoding. Normal Geocoding means that you can get GPS coordinates back if you feed it a location name. Reverse Geocoding therefore means that you get location names back if you feed it GPS coordinates.

So I thought it was time for some experiments...

The interesting thing is that Geolocation seems to be a problem in Gaborone. It gives me GPS coordinates but does not give me a city name. The region name is South East (which would be correct, relative to Botswana) but the country name is South Africa. The South East of South Africa is definitely quite far from here. Very strange.

However, when I then feed these coordinates into the Reverse Geocoding API, I get some rather interesting results back. Basically I get only one name and that is North West. What? Ok, that would actually be correct relative to South Africa and because the Geolocation API seems to round off the GPS coordinates to two decimal places, I could kind of forgive that.

However, what I don’t understand is why it doesn’t at least add “South Africa" to that text.

Strange... Maybe not entirely usable yet in this area? Any other good or bad experiences from other local developers or even users??

.za fees

I think the concept behind nom.za is excellent. I am a firm believer that the internet should be free and open to all and that definitely includes domain names, especially for the poor.

However, it doesn’t really seem like they are getting around to making many new approvals.

On their news page was something that particularly interested me.

The .za Domain Name Authority came up with a policy (PDF) about a year ago. In this policy they outline some exorbitant costs for domain registrations.

For each domain registration, if I read correctly, an amount of R48 must be paid to them per year. Taking into consideration that a co.za only costs about R50 per year currently, they would have to put up their prices or run at a loss. And in addition there are annual fees!

This is totally unacceptable.

I somehow do not understand that even though we already pay over our ears for tax we need to pay more for everything else as well. How is government spending our money???

Web Museum!

Ah, a trip down memory lane...

A few days ago I discovered a site called agric.za. Yes, they actually have a private SLD under the .za namespace. They must have registered this in the days when that was still allowed. Another example is pix.za.

It is clear by the way the site looks that it has been put up a while ago. The copyright message at the bottom says something about 1998.

The funniest thing is actually the doctype:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">

Considering that HTML 4.01 was released around 1999 that does indeed prove this site has had its best years.

Another thing I researched a bit was the history behind PIX, or the Proxima Internet Exchange that later got bought out by Naspers as part of MWEB. You can find a wiki page about it.

Lucio de Re, the Italian South African that founded PIX, has a research and development company Proxima. Most of the stuff does seem a bit old school, but hey, respect for being an internet legend!!

Developers are not investors

I myself and many others I know have been confronted by way too many of these offers to count over the years: shares in exchange for working either for free or at a very poor salary.

Now firstly, don’t get me wrong. It’s not like I don’t value shares and I happen to own some good ones myself (or at least that I still think are good). However, when people who you’ve never met before confront you and want to sell this “concept” to you, be careful.

Think about it like this. If somebody is a good business man, they probably have proven this already through successfully completing other projects and made a decent amount of money from them. If they then conceptualise this “killer” idea, they would probably want to retain as much shares in that as possible so that they can capitalise on the future earnings. They would much rather use their existing funds (the money they made from other projects) to pay you off in the short term so that they can make more money in the long term.

There are obviously some exceptions to this; for example, a couple of young people that together start a new company. However, I’m mainly talking about the “old timers”.

More often than not though, if guys want to get you to “buy” into their project it is because they do not have the money (does that speak well of them if they are out there doing business in industry?) or they themselves are not entirely convinced of the success of the project and want to share the risk with someone else. They might even have a generally bad opinion of IT people in that they over charge or do not deliver (probably because of their own screw ups in dealing with us in the past).

But why should developers not be willing to share in the risk? Well, put it this way, quite simply: are developers (in general) qualified to be able to distinguish between a good business deal and a bad deal? The answer is probably not. Developers are technical people to the greatest extent, and rightfully so. They are awesome when it comes to writing code, but working with computers is quite different than working with the economy. There are reasons behind the existence of business schools.

Now again, don’t confuse the issues. There are a lot of serious business people that (rightfully) make their developers minority share holders in addition to paying them well. This is in order to keep them extra motivated as they will directly benefit if the project does well and in addition instils a certain sense of ownership in the developer which is also good for the project. However, the amount of shares offered is usually only between about one and two percent of the company.

So, what must developers do? We are not investors by nature, and if we are investing our time without decent compensation, that makes us investors. Let the real investors take care of these issues; we just need to get paid at the end of each month, that’s all. After all, if the project is really that great, why can’t the potential client go to the real investors and pitch to them to get the funding to pay us? That’s how it’s expected to work overseas, (from what I can tell of the serious projects I am aware of) so why should it be any different in Africa? (I understand it might be a bit more difficult to get funding in Africa but again this is not an excuse. Somebody with the right ideas should be able to make a plan irrespectively of where in the world they are.)

Ok, I realise I voice some strong opinions right now, but it really had to be said by somebody sooner or later. In Africa there are just far too many schemers around and the situation is being aggravated due to the current economic climate. Be careful people. Don’t let your geekiness get the better of you. Remember, these guys are often experts at human manipulation, because that’s how they get by in life. They will make you feel important, they will hype about it in order to appeal to your ambition and tech fetishes. The end result is simply that you will get pwned like a noob.

Triplog.co.za and Location Tracking

Recently Triplog hit Muti. This is part of the research and development efforts of Platform45 , a Cape Town based web technology company.

The development immediately interested me as we don’t see much of this type of thing going on in South Africa at the moment, especially considering the current economic crisis.

On the positive side, the registration process and interface in general is well designed in terms of it being easy to use and aesthetically pleasing.

Although this is certainly interesting from a research perspective, I have to however unfortunately question if this is truly practical.

Firstly, you need to send SMS messages. This does make it very accessible as probably every possible cellular phone in South Africa has SMS capability, but these are (relative to GPRS/3G/EDGE data rates) quite expensive.

Also, to manually compose the SMS messages tend to be quite time consuming for most of us (although I’ve seen some school kids that can type messages on a normal cellular phone almost as fast as I can type on a full keyboard).

In my opinion, although the SMS feature is a useful add-on, it would be much more practical to just store the locations somewhere else temporarily such as on a mobile phone notes feature, PDA, laptop computer, or even notebook (you know, the one with the traditional paper based interface) and upload or capture it later.

What would however have been extremely nice is a little application that runs on your mobile phone, recording your GPS coordinates as you go along automatically. Then it can track your exact movement while it is enabled without you even having to worry; ultimate convenience. It can put this on a map (Open Streetmap, Google, Yahoo, Afrigis, etc) and then in the evening when you get home you can review where you were during the day and fill in the outstanding details.

Another very useful feature would be to be able to track the movements of your family and/or close friends, mainly for safety and security reasons (especially considering the local situation with crime today). In other words, parents tracking their kids, spouses tracking each other (cheaters definitely won’t like this one), etc.

What would be even nicer is to integrate this with other existing location tracking services such as Fire Eagle for live syndication to Pownce and Brightkite for example. However, you probably want to restrict your level of detail to the city, otherwise it might become a privacy or even safety concern. (Just imagine if criminals start catching on to this... They could figure out exactly when you will be home.)

Obviously, I understand that many phones today still do not have GPS functionality (probably most of the phones out there at the moment in Africa). But, what’s wrong with triangulation? Even if you don’t know to the metre, you should still have a reasonable accuracy to the extent where it fulfils its purpose, especially for long distance travellers.

Oh well, just some random thoughts of mine to get the weekend started... Please feel free to comment if you can think of anything to add.

Zoopy Development Suggestions

From a developers perspective, I had a couple of ideas for new features that could be included inside of Zoopy. Since Zoopy has become a major source of local media material it is very handy to be able to integrate it with other social applications and content rich websites. Hopefully others in the local tech community will be able to join me and think of more cool ideas for them. Please comment or blog and leave a link in the comments to your post if you have anything to add.

One of the few things that unfortunately disappoint me a bit about Zoopy is that they do not currently have much of an API. I understand why as there are probably not too many African developers at the moment that would make good use of it, so investing a lot of expensive development resources into developing an extensive API is probably not all too practical. However, there are certain little things they can do that will definitely make a big difference, or well, at least to me.

The first thing I would really like to see is oEmbed support. oEmbed is a relatively new standard but already implemented in various places. Flickr has support and there are also many other popular ones supported at oohEmbed such as Youtube, etc. For those that don’t know about oEmbed yet, it is a standard for exposing metadata and even code for embedded content.

The second thing is most definitely Gnip support. In other words, Zoopy must become a Gnip publisher. Gnip makes it very easy to keep track of new posts, usually to online social services, in real time. For example, you can subscribe to my Twitter feed via Gnip and every time I post something to Twitter Gnip will make an HTTP POST to your server informing your web app of my latest post. Something similar would be really cool in Zoopy as every time I post something new Gnip could help notify the various syndicators out there in order to spread my content more widely more quickly and efficiently.

Well, that was my main two things. If you have any suggestions, as I said, please add!

Recursive Tabs to Spaces Converter

After my last post and the excellent feedback I received on it (thanks to the cool people at the CLUG and at the FSIU) I came up with the following solution:

#!/bin/bash
for f in $(find -P -not -path *.svn*)
do
    if [ -f $f -a -w $f ]
    then
        sed -i $'s/\t/    /g' $f
    fi
done

Converting tabs to spaces

In the Chisimba location module I made the mistake of indenting using tabs instead of four spaces. This was easily corrected using bash and sed though. Meet my latest utility script, tabstospaces:

#!/bin/bash
sed $'s/\t/    /g' < $1 > $1.tabstospaces
mv $1.tabstospaces $1

Usage: ./tabstospaces controller.php

Ok, so I don't really know too much about bash scripting, but at least it works. :)

Learning about the FHS /srv

According to the Filesystem Hierarchy Standard wikipedia page, the /srv directory is for:

Site-specific data which is served by the system.

According to the page on Data, it is defined as follows:

Data refers to a collection of organised information, usually the result of experience, observation or experiment, other information within a computer system, or a set of premises. This may consist of numbers, words, or images, particularly as measurements or observations of a set of variables.

So, would it be right for me to throw my scripts inside of /srv? Does it qualify as data? Apparently so:

A computer program is a collection of data, which can be interpreted as instructions. Most computer languages make a distinction between programs and the other data on which programs operate, but in some languages, notably Lisp and similar languages, programs are essentially indistinguishable from other data.

Now I am really confused why /var/www is set as the default Apache web directory on Ubuntu. According to the FHS, /var is for:

Variable files, such as logs, spool files, and temporary e-mail files.

Semantic MediaWiki

BarCamp Africa is currently on the way at Mountain View. In the meantime, Erik is in Johannesburg and attended the BarCamp Johannesburg. And I am sitting in George, like a noob.

Ok, enough of feeling sorry for myself. At least some research helps to cure the small-town depression.

There is a nicely updated list of the population of African countries on semanticweb.org.

This is actually an example from the Semantic MediaWiki. Here are some quotes from the introduction page:

Manually generated lists. Wikipedia is full of manually edited listings such as this one. Those lists are prone to errors, since they have to be updated manually. Furthermore, the number of potentially interesting lists is huge, and it is impossible to provide all of them in acceptable quality. In SMW, lists are generated automatically like this. They are always up-to-date and can easily be customised to obtain further information.

Searching information. Much of Wikipedia's knowledge is hopelessly buried within millions of pages of text, and can hardly be retrieved at all. For example, at the time of this writing, there is no list of female physicists in Wikipedia. When trying to find all women of this profession that are featured in Wikipedia, one has to resort to textual search. Obviously, this attempt is doomed to fail miserably. Note that among the 20 first results, only 5 are about people at all, and that Marie Curie is not contained in the whole result set (since "female" does not appear on her page). Again, querying in SMW easily solves this problem (in this case even without further annotation, since existing categories suffice to find the results).

[...]

Inter-language consistency. Most articles in Wikipedia are linked to according pages in different languages, and this can be done for SMW's semantic annotation as well. With this knowledge, you can ask for the population of Bejing that is given in Chinese Wikipedia without reading a single word of this language. This can be exploited to detect possible inconsistencies that can then be resolved by editors. For example, the population of Edinburgh at the time of this writing is different in English, German, and French Wikipedia.

External reuse. Some desktop tools today make use of Wikipedia's content, e.g. the media player Amarok displays articles about artists during playback. However, such reuse is limited to fetching some article for immediate reading. The progam cannot exploit the information (e.g. to find songs of artists that have worked for the same label), but can only show the text in some other context. SMW leverages a wiki's knowledge to be useable outside the context of its textual article. Since semantic data can be published under a free license, it could even be shipped with a software to save bandwidth and download time.

The Wikipedia is an immense repository of quality-driven information. It would be absolutely amazing to have better semantic data portability. The possibilities are so immense I don't even want to start thinking about them.

Talking about semantics and standards, even though #bcafrica is the official social media tag for BarCamp Africa, it's really funny how most people on Twitter seem to use #barcampafrica instead. LOL!

South African Embassy

I think the Embassy of the Republic of South Africa in Washington DC should be renamed to the "Embarrassment of the Republic of South Africa" after this one. :)

At the time of writing, on the front page of the site, they have a photo of Welile Nhlapo, the South African Ambassador to the United States. That's cool, but the problem is that it is a JPEG image 2592 pixels by 3888 pixels in size, scaled down to a mere 140 by 199 pixels. The image is about 2MB in size and is very slow to download, at least from my house.

I honestly do not believe we should portray our technological competence to the outside world like that on the modern day. We have many excellent web developers in this country. Why is the embassy not contracting one of them in to do a proper job, and perhaps even remove the well-deprecated frameset while they are at it?

Green Card Lottery 2008

There is so much of this crap all over the show. Please read below, quoted from the Visa Lottery page on the official United States Diplomatic Mission to South Africa website.

Applicants for Diversity Visas are chosen by a computer-generated random lottery drawing. There is no fee charged for entering the lottery. Please be aware of companies or organizations claiming to improve an applicant's chances of winning. The selection is random and in no way can it be influenced or skewed to enhance an applicant's chances for selection.

[...]

There have been instances of fraudulent websites posing as official U.S. Government sites. Some companies posing as the U.S. Government have sought money in order to "complete" lottery entry forms. There is no charge to download and complete the Electronic Diversity Visa Entry Form.

If you wish to enter the lottery, please see the official Electronic Diversity Visa Lottery website. It will apparently start tomorrow (2 October) at 18:00 SAST.

Copyright © 2004-2009 Charl van Niekerk. All articles are released under the Creative Commons Attribution 2.5 South Africa licence, unless where otherwise stated.