Charl van Niekerk » Blog

Main

Latest

Archives

Powered by Blogger

South African Telecoms Industry Violates Hacker Ethics

Just for the entertainment value, check this out. Here is a quote from the CCC Hacker Ethics:

  • Access to computers - and anything which might teach you something about the way the world really works - should be unlimited and total. Always yield to the Hands-On Imperative!
  • All information should be free.

Hahaha! Free? This is very far from free! And then you have traffic caps so it certainly isn't unlimited either.

More Joomla! Updates

Some Updates from Joomla! were published on the Google Summer of Code Blog after the post The Summer of 2007 has ended on the Joomla! Team Blog. There is also a full report available of this year's GSoC developments for those that are interested (also see the blog post SoC End Term Report…as promised ;-) and the Google Summer of Code 2007 Joomla! Forum).

There is also a KML File for an application such as Google Earth that will give you all the physical locations of the GSoC participants that provided the right details (myself included). Also see the Showcasing Summer of Coders Around the World blog post. I'm the only one in Africa it seems this year unfortunately but hopefully next year we'll have many more participants to show in this continent!

Last week I also made my first commit to the Joomla! trunk to fix Bug #6903 as part of my involvement with the Joomla! Development Working Group. Not a major fix, I know, but you gotta start simple. :)

Now I just can't wait for my T-Shirt. ;)

IT Salaries

In recent South African IT salary comparisons it seems like a Software engineer earns about 2 000 ZAR more on average per month than a Developer / programmer, which is not an astronomical difference, but the best salary for a "Software engineer" is about 10 000 ZAR more per month than the best salary for a Developer / programmer.

I'm studying "Software Engineering" at Unisa at the moment. How exactly is this different (in practice) than developing / programming? Is it simply that the better guys are calling themselves by a different name?

But wait, it gets better. The average Web developer earns about 8 000 ZAR less per month than the average Software engineer.

Web development is a very challenging field in its own. I believe it is more challenging than desktop software development in general as you have to live within the constraints of browsers. Cross-browser compatibility issues more than makes up for cross-platform compatibility issues (which most desktop application developers seem to ignore anyway still).

Therefore, to me it would only make sense that web developers should be well paid. We also need to put up with most of the general software development issues that other developers have to put up with, and more. We also need to write code (in several languages), interact with databases, have a good system architecture, know about design patterns and principles, development mythologies, etc. And because you have so many layers (both on the client and server sides) it is often necessary to do a huge amount of planning (also on standards & conventions), especially on larger systems. Then there's usually issues like accessibility as well, unless when you're developing for an intranet environment where you know your user base very well.

I consider myself to be a general developer / programmer / software engineer as I do desktop applications as well. But I would really like to know what the big difference is between these three groups at the end of the day, particularly pertaining to their job difficulty, responsibilities, stress, skill, and therefore salary. In my opinion the three groups should be earning more or less the same.

Or am I missing any important distinctions between these three groups?

According to the English Wikipedia, it would appear that computer programming is the implementation phase of the software development process, which in turn is part of the discipline of software engineering.

Maybe a software engineer then has a broader focus, including things like analysis and architecture, while the programmers focus on the code? The survey does not seem to favour analysts but architects seem to come out on top. Therefore I guess it's the architecture side that makes "software engineers" so valuable?

I dunno. Thoughts welcome. :)

Pure Cheese & Calcium Chloride

Cheese makers normally throw all kinds of shit into their products. Artificial additives to our food seems to be the order of the day.

However, here in George I was surprised to pick up some cheese that had a rather clean list of ingredients (in the original Afrikaans):

  • Melk
  • Geselekteerde Kulture
  • Kalsium Chloried

Translated, this would be something like:

  • Milk
  • Selected Cultures
  • Calcium chloride

Right below the list of ingredients, it states Geen mikrobiese stemsel & Sout which would translate to something like No microbial stem cell & Salt.

This is Morning Milk Pizza Mozzarella cheese.

I looked up calcium chloride on the Wikipedia and found out that Calcium chloride is an irritant; wear gloves and goggles to protect hands and eyes; avoid inhalation. Sounds dangerous - but then again, once it has reacted with water I guess it's no longer so bad.

Apparently calcium chloride tastes more salty than sodium chloride (normal table salt). This does seem to be the case as the cheese definitely has no shortage of taste. Quite to the contrary, it tastes almost too salty even though it (apparently) contains no sodium chloride.

According to the Wikipedia article, it seems like calcium chloride can indeed be used in food. Some people would even consider it healthier than your normal table salt as it does not contain sodium (rather uses calcium instead). This is an interesting concept to me; I would really like to know if it is truly generally healthier or not, and what the real health-related impacts are (if any). Some people apparently even take injections of it. Does anybody know about a (good) study that has been conducted about this they can refer me to?

Skype on Dapper: Dead Still

I recently downloaded Skype 1.4.0.99 (Beta) for Linux for the i386 platform. The fact that you have to go through no less than four pages just to get the right link is rather irritating.

I know now that Skype works great on Ubuntu Feisty, so I wondered if it would work on Dapper too. I clicked on the Ubuntu Dapper link (which I see has now been removed) and downloaded a file called skype-debian_1.4.0.99-1_i386.deb. In other words, clearly there is no difference between the Debian packages for Ubuntu Feisty, Ubuntu Dapper and Debian Etch.

I installed the package using dpkg and then got this:

charlvn@aurora:~$ skype
skype: error while loading shared libraries: libQtDBus.so.4: cannot open shared object file: No such file or directory
charlvn@aurora:~$ sudo apt-get check
Reading package lists... Done
Building dependency tree... Done
You might want to run `apt-get -f install' to correct these.
The following packages have unmet dependencies:
  skype: Depends: libasound2 (> 1.0.12) but 1.0.10-2ubuntu4 is installed
         Depends: libc6 (>= 2.3.6-6) but 2.3.6-0ubuntu20.5 is installed
         Depends: libgcc1 (>= 1:4.1.1-12) but 1:4.0.3-1ubuntu5 is installed
         Depends: libqt4-core (>= 4.2.1) but 4.1.2-1ubuntu1.1 is installed
         Depends: libqt4-gui (>= 4.2.1) but 4.1.2-1ubuntu1.1 is installed
         Depends: libstdc++6 (>= 4.1.1-12) but 4.0.3-1ubuntu5 is installed
E: Unmet dependencies. Try using -f.
charlvn@aurora:~$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree... Done
Correcting dependencies... Done
The following packages will be REMOVED:
  skype
0 upgraded, 0 newly installed, 1 to remove and 57 not upgraded.
1 not fully installed or removed.
Need to get 0B of archives.
After unpacking 13.0MB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 161660 files and directories currently installed.)
Removing skype ...
charlvn@aurora:~$

Ok, so let's see. I have everything, but the versions are too old. Coolness! This is excellent news! Now I have an excuse not to use Skype again (at least, on my reliable LTS desktop system). Give me my trusty Jabber/XMPP thank you very much! :P

SAIX Local-Only ADSL?

I just saw an ad in Gmail for Axxess DSL for prices starting at R15 per GB of traffic. This seemed too good to be true so I thought I should investigate.

It appears that they were talking about their local-only deals which is what I suspected. This does not help the average person much I guess so the advertisement could be a bit misleading (although not incorrect). However, what caught my attention was that it would appear that they are providing this access through SAIX, an interesting new move as I thought it was only Internet Solutions and Verizon that were providing this up to now.

For a 10 GB account, I would rather go for OpenWeb's Internet Solutions deal at R69 per month. However, if you need less than that, you can buy anything between 1 and 4 GB for cheaper at Axxess.

I believe that you can still use Internet Solutions' SMTP server after you're capped; not so with SAIX it seems. But then again, who wants to use SAIX's SMTP server anyway? Your mail could get filtered as spam as they are frequently blacklisted internationally.

Axxess' international offerings also do not look too bad. If you look at their prepaid and pay as you go offerings you pay about R69 per GB. However, even with prepaid, you don't really win when you buy in bulk. Their 200 GB offering at R13 999,00 is more than R69 * 200.

(Please note I am not affiliated; this is just an independent review.)

Botswana Goes Engrish

Many people in the West love poorly translated English texts from Asia. However, I picked up this cool one in Botswana. We bought some toilet paper from the local grocery store. It is labelled Fu Qiang Paper Company with the text Gives-me-more below it on the front. On the side it says More Cleaner & Softer and 2-Layer Facial Tissue.

WTF? Facial Tissue? I thought this was toilet paper! It comes in a roll, it has a brown hardish paperish thing in the middle so that you can hang it up next to your toilet on that holder thingy, etc. Oh, maybe they're talking about that face... Eish I get caught every time with that one...

Maybe they need to see the facial tissue and toilet paper wikipedia articles. :)

Open Source People are Most Valuable

From Microsoft Most Valuable Professional:

Microsoft Most Valuable Professionals (MVPs) are exceptional technical community leaders from around the world who are awarded for voluntarily sharing their high quality, real world expertise in offline and online technical communities. Microsoft MVPs are a highly select group of experts that represents the technical community's best and brightest, and they share a deep commitment to community and a willingness to help others.

MVPs represent a broad spectrum of Microsoft product users. They occupy many different professions including accountants, teachers, artists, engineers and technologists. MVPs reside in over 90 countries, represent 30 different languages, and cover more than 90 Microsoft technologies.

MVPs tend to be early adopters of new technology and actively communicate their experiences to millions of other technology users. Through their extensive community activity, MVPs help others solve problems and discover new capabilities, helping people get the maximum value from their technology.

Most valuable professional? Sounds a bit like your average Linux user.

Adding Stylesheets in Joomla! 1.5

Joomla! 1.5 makes it really simple to add external CSS (or other) stylesheets into your component or even module templates. You can simply use the addStyleSheet method on the JDocument class.

For my GSoC project I used this in com_poll in the default.php template:


$doc =& JFactory::getDocument();
$doc->addStyleSheet('components/com_poll/assets/poll_bars.css');

This neatly inserts a link element inside of your page's head element. Although many popular browsers seem to support the link element for stylesheet includes even inside of the body element, this is not allowed according to the HTML 4.01 standard (and therefore also in XHTML 1.0). This appears to be the same in HTML 5 too (in the draft at the time of writing, unless I'm reading it wrong).

On my (outdated) checkout of the Joomla! trunk, the code it generates looks like this:

<head>
  [...]
  <link rel="stylesheet" href="components/com_poll/assets/poll_bars.css" type="text/css" />
  [...]
</head>

There are also a lot of other cool functions in the JDocument class such as the addScript method, etc. Also see the JDocumentHTML class with methods such as addHeadLink and addFavicon. Worth checking out, in my opinion!

10101 & Back in George

Firstly, yesterday I turned 10101 in Gaborone. This is cool because it's a palindrome. Had great fun at the Bull & Bush watching the English get pwned by the South Africans in Rugby. I told Stii we need to go fetch the bus because we are taking them to school.

Secondly, I just got back in George. It's much colder over here, which is welcome. The crap in the air giving me this sinus is not though. Had a piece of home-made carrot cake at last. The shop around the corner in Gabs sucked so much I would never trust something coming out of their bakery. Beer coming in a closed bottle or can is probably safe though, so that was the right choice for sure.

No Vodacom roaming in Botswana apparently so my cellphone was offline. It's back on now so I presume it won't stop ringing. "Where on earth were you, you little bastard!" and all that. :)

27 Dinner, here we come!

I would love to be at the Cape Town September 2007 Geek Dinner and was actually on the list but unfortunately after they confirmed the day to be the 27th (a Thursday) I will not be able to make it since I have to roadtrip from George.

However, the 27th next month (October) will fall on a Saturday, being ideal for guys like us from George and elsewhere around the country to make our way to attend the 27 Dinner Cape Town!

Jayx and I are already on the list and I am still waiting for a few of my other buddies to confirm they will be available too. Am really looking forward as I've never attended a 27 Dinner before! Am going to meet up with a lot of other cool people there too before / afterwards and have a moerse jol. Hoping to see quite a few other people from George also attending. Will blog with further updates as we have them!

Google Intelligent Word Matching

Screenshot of Google Result set for 'screencast' in Firefox 2.0.0.6 on Ubuntu Linux Feisty

In the olden days of SEO I used to remember that we had to cater for multiple forms of the same words. For example, screencast, screencasts and screencasting were seen as different words altogether. No more apparently; at least not in the eyes of Google.

I don't really know for how long this has been going on but Google is now seeing all three of the above as the same word. For example, search for screencast linux. Immediately screencasting and screencasts are also highlighted. Therefore Google is recognising them as search terms. I bet this will make the life of a search engine optimiser a lot easier. This is probably old news by now in the right circles but well done to Google for this feature!

(Also note who's second first on the result set - Tectonic! Great stuff!)

PS: If you want to bypass this just put your search terms between quotes. For example, compare screencast with "screencast".

Minimalist Design in Africa

This is quite an interesting one. Although the bandwidth in Botswana is actually not half bad, even in comparison to South African standards, it isn't really that great either compared to international standards. When you are designing websites and Africa is included in your target market, you typically want to keep page sizes minimal. For example, instead of using script.aculo.us you would rather use mootools (thanks for the tip, Stii).

What really confuses me therefore is the website of BTC, Botswana's state-owned telecommunication company. This is not how I personally would have approached the task.

Screenshot of BTC's homepage in Mozilla Firefox 2.0.0.6 on Ubuntu Linux Feisty

The website homepage is basically covered with images and totals 113 KB. This is probably considered lightweight in comparison to international standards, but relative to African standards this is definitely quite heavy. From inside of Botswana, this actually loads extremely fast. But from South Africa a couple of weeks back, the speed was not that great. As a matter of fact, I was surprised as I waited about 10 minutes for the page to load. Although I suspect they were having temporary connectivity issues as pings also revealed bad packet loss. I would like to see how it loads after I get back to South Africa; am sure it'll be much better.

In Africa we are plagued with poor and unreliable connections, bad throughput, bandwidth shaping and traffic capping. Over here, simplicity, minimalism and efficiency rules. Actually, I would go as far as saying that your sites don't even need to look that pretty, as long as they load fast (although I guess this depends on the type of site). Although African internet is a real frustration at times, it is also a unique challenge that already passed long ago in other countries. I just wish some people will open their eyes and stop ignoring the situation. We have to be smart over here.

I know that Jacob Nielsen also recommends the minimalist approach, although he might be taking it a little too far. But the fact is that nobody wants to wait for pages to load. Are people really willing to wait longer for information, just to have it look pretty?

My solution (as a user) is normally to multitask. I have about 10 tabs open and while I wait for stuff to load I move between tabs and between my code editor, console, etc.

You can also make use of image and stylesheet caching. Images can be repeated for backgrounds. Why have that background image that gets repeated horizontally 10 pixels wide when it would achieve exactly the same effect if it was only 1 pixel wide?? Why insist on writing presentational markup with deprecated elements or style attributes all over the place when the formatting specification can be placed in a separate external stylesheet that can be included and cached? Why are so many people making use of internal stylesheets on production websites? I really don't catch it. We need to educate developers and people that really do care about quality.

Thoughts on Gaborone, Botswana

Over the last week, Stii and I have been making a "draai" here in Gaborone, Botswana. Before coming, I was actually quite scared as I didn't know what to expect. After all, this is Africa. Not all places look equally great and you have to be a bit careful when travelling.

However, after being here for a while, I have to say that I am rather impressed with the place. The people around here are generally friendly and not as violent and dangerous as in many places in South Africa (particularly thinking about Johannesburg).

In most of this post, I will be speaking relative to South Africa as that's what I'm used to up to thus far. This is the first time I travel outside of South Africa in a looooong time so am glad to have been able to use my new South African passport (well, not that new, about a year old now) for the first time.

Firstly, when coming here with a South African passport, I didn't need a visa. This made the travelling really easy. We just flew in and had to fill in a little form after landing. The form even got handed to us while we were still on the aeroplane so that we could start to fill it in while we were waiting to land.

Gaborone is quite hot and dry relative to George. Surprisingly, a dry 35 degrees Celsius over here feels like 25 degrees to me in the humid George. But I guess this depends a lot on the individual. One thing for sure is that, even despite the fact that I'm still recovering from a flu, my asthma is much better up here. But it normally is in drier areas. I presume there isn't so much pollen over here either even though it's spring now.

Botswana is one of the better off countries in Southern Africa it would appear. The local currency is quite strong and seems more stable than the South African Rand. I'm not an economist though so I can't give you the full picture or make even reasonably educated statements about this.

Apparently meat is a lot cheaper over here than in South Africa. However, fruit and vegetables seem more expensive. In George we are used to paying about 5 or 6 Rand per KG for bananas. Over here it's 6 Pula per KG. At the current exchange rate this is definitely not as cheap, but not really that much more expensive either.

Actually, often we pay the same amount of Pula here as Rands in South Africa. In other words, if you pay R2 in South Africa you will probably pay P2 over here for the same thing. The rate at time of writing is such that you get 0.88596 Botswana Pula for 1 South African Rand though (if you don't count taxes/fees/etc).

It seems like prices are also quite relevant to what is being produced locally and what needs to be imported. The majority of fruit, vegetables, and other produce is probably imported. Meat is produced locally however. As a matter of fact, I'm sure a large percentage of the meat produced over here is exported to South Africa and other countries. This seems to be similar to technology; over in South Africa we pay a lot for hardware because it needs to be imported. Food is generally relatively cheap however.

Monopolies in Botswana do play a big role unfortunately, similar to South Africa. A South African produced car can be bought cheaper in Australia than it can be bought in South Africa itself for example. We pay twice the internationally accepted air flight taxes in South Africa. I shouldn't even mention South African telecommunication monopoly, Telkom (also often "lovingly" referred to by locals as Hellkom, Telscum, etc). The list goes on and on...

It is extremely dry over here in Gaborone. Apparently the last time it rained was January or February this year. That's why I nearly freak every time I see water being wasted (for example, a tap leaking).

There's a surprisingly large amount of South African chain shops over here. Nandos, Pick 'n Pay, Woolworths, etc. It almost feels like home. The only difference is that you need to pay in Pula which is quite pesky. It would have been much easier if they could just accept South African Rands. In South Africa I believe it's illegal to pay in a foreign currency but I could be wrong. If that's not the same case in Botswana it would have been really cool if some of the larger shops could accept Rands. That means less trips to the Bureau de Change. I'm sure enough South Africans visit this place to justify the inconvenience. It would be like in Switzerland where in many places you can either pay in Swiss Franc or in Euro.

The only thing I found so far that is really no good is the electricity. The voltage dips constantly and you have to keep all your PCs/Macs on UPSes otherwise you're screwed (unless of course your PC/Mac comes with a built-in UPS as with laptops, notebooks, portable computers, etc). Apparently they buy electricity (or at least some of it) from South Africa. Our electricity is bad but Botswana's is definitely much worse.

So in general, yeah I definitely do like the place. Would I stay here? Possibly. However, at the moment it's only spring and it's going to heat up a lot towards the summer. I would probably stick around in South Africa but in general this place definitely rocks in its own kind of way.

Joined the Joomla! Development Working Group

Firstly, sorry for not blogging much. Things are going hectic up here in Botswana so I don't have too much time left for other stuff. Hopefully I'll be able to catch up after returning to South Africa towards the end of next week (my flights are currently scheduled for the 15th of September).

Anyway, I got really exciting news. After my GSoC project this year for Joomla! I got accepted into the Joomla! Development Working Group.

I will therefore be continuing the work I started with my GSoC project as part of the team and as it seems many other exciting things as well. Am really looking forward!!

Re-Skyped

Finally I am back on Skype. I had some problems with version 1.4.0.74 on Dapper last time but version 1.4.0.99 on a fresh Feisty install is working out really well. So if anybody cares, my Skype address is charlvn. I just don't have a headset with me right now so for the next week or two I probably won't be able to do the VoIP thing. But at least I can use text messaging over Skype again. While I'm in Botswana I should be on Skype a lot now but when I'm back in South Africa and making use of local-only ADSL I will no longer stay logged on to it all the time. Therefore you'll have to make an appointment with me as usual. At least I don't have to worry about beetrooting to Windows every time though. I wonder if the new version will actually run on Dapper too...

Oh yeah and the new version looks really great. Is starting to look much more like the Windows client. The first versions of Skype on Linux I used to use a year and a half ago were uber ugly. Finally Skype seems to be waking up and realising their Linux market out there. Next step would hopefully be to open up their protocol. Yeah like that's going to happen. They are stuffing up their own product though cause it means guys like me can't write custom applications for them. When do they release their own API libraries??? I mean they are limiting their own functionality. Eventually the competition (like Google Talk) is going to make a serious dent in their market share because they are open and freely extensible. Or at least so I hope!! It's all XMPP (and therefore XML-based) anyway so is pretty damn cool and easy to build on! :P

Ubuntu Linux Feisty on Fujitsu Siemens Laptop

Wow today I am moerse impressed. I got a new Fujitsu Siemens laptop this morning. The only problem is that it came out of the box with very bad malware installed. It was so bad that this malware completely took over the system. It's called "Windows XP Media Centre Edition" or something. Even AVG anti-virus could not remove (or even detect) it. I thought this was a job for Linux so I immediately installed Ubuntu Linux 7.04 (a.k.a. Feisty Fawn) on it just now and it's working like a dream (well, almost).

My screen works perfectly. My sound works perfectly. My on-board Wifi works perfectly. The only real issue I had so far was that my sleep function seems to misbehave. My keyboard seems to be turned off and not turned on again when I need to unlock. Since I could not even escape to another virtual terminal I had to do a hard reboot by pressing and holding down the power button.

Otherwise, well done to the Ubuntu team. If you can now just get my power management sorted this will work really nicely. I know Mac users will probably think this is quite funny (I can already hear Stii laffing) but remember guys, our engineers do not have the luxury of restricting their software to only one hardware platform. Ubuntu will even run on your PowerPC systems hey. :P

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