Charl van Niekerk » Blog

Main

Latest

Archives

Powered by Blogger

Glentana a year after the flood

Last year I blogged about the flood damage in Glentana. We drove out again this year and found that despite the recent floods in some other areas Glentana is looking pretty good. Most of the damaged houses and roads seem to be repaired.

Where the convenience store used to stand, they now built one major bridge and a road on top. The bridge looks very solid but I don't think there is enough space for the water to pass underneath if another flood happens. All that will happen is that the water will rise even higher on the one side and that might cause even bigger damage. Anyway, check out the photos and make up your own mind. ;)

Flash Video Players

I really hate most Flash Video Players. These are the issues I typically have with them:

They start playing / downloading automatically when the page is loaded.
This is bad for African conditions where bandwidth is severely limited and bitcaps are often in place. There's no room for wasting bandwidth, so I want them to wait until I click the "play" button (therefore, I really want to watch the video).
When the player reaches the end of the video, it starts downloading all over from the start when you want to play it again.
Also bad for African conditions.
There's no way to get back to the page on the original video sharing site if the video is embedded on a blog somewhere.
What if I want to go check out what others said in the comments on the video sharing site, or anything else? Maybe I want to link to the video from my own blog without embedding...

Youtube seems to get most of these right, except that the video automatically starts playing when you visit the video's page on youtube.com. This is irritating as well because sometimes I just want to have the page open to read comments after viewing the video on some other site. But yeah, not everybody is used to retarded African bandwidth and ridiculous bitcaps so I guess that's fair enough.

Don't generalise with religion

I have my religious views, others have theirs, and I respect that. However, I really do not like it when people generalise.

I recently had quite a few interesting conversations with different people about cases where an individual belonging to a particular religious group did something that was quite distasteful. As it is with gender, age and race, it's very easy to let one individual's actions reflect on a greater demographical group they belong to.

People should keep in mind that not all individuals belonging to any particular religion necessary follow that religion very accurately or consistently. If they do something wrong, it doesn't automatically mean that it's the norm for that religion or what is prescribed by it. Take a religion for what it is, and take its followers for what they are - human beings. We are not all perfect. Just don't create more stereotypes please.

Example: Jan claims to be a Christian yet snorts a lot of cocaine. "Oh, look at him!! These Christians are so hypocritical!" Notice how "Christian" (singular) turned into "Christians" (plural)? No, it's a (as in, one) Christian that's being hypocritical. Not all of them. And even if it was two, three, four, ten or twenty, it still doesn't reflect on a religion in general that has thousands (if not millions) of followers world-wide and clearly does not advocate snorting coke.

Google Pagerank Strikes Again!

I really love Googe's Pagerank technology. It is extremely interesting to me.

A bit earlier today, I Googled for "timesurl" (I forgot that the TLD was at) and got the following result:

Image: Screenshot of the Google Result Page

Yes, my blog post about TimesURL appeared in the results before TimesURL itself!

This might have something to do with the fact that this blog has a Pagerank of 6 and timesurl.at has 0 (at the time of writing). This will change soon though as more people start linking to timesurl.at and Google updates, so things will put themselves right.

Twitter SMS

Twitter's free SMS service works quite well. During Christmas when the cellular networks were heavily overtaxed, even when a normal SMS takes hours to get delivered, Twitter's SMSes got delivered virtually instantaneously.

You get up to 250 free SMSes a week from Twitter, which is really cool, but the only problem I have is that I can't select that some of my contacts have their updates delivered to my phone and others not while having all of them delivered to Jabber.

I therefore opened up a separate account, charlvncell, and set up SMSes there while leaving my normal account to be used along with Jabber. Now I can have some people's updates delivered via SMS and some others' delivered only via Jabber. Not the ideal setup, but it works.

The nasty thing about this is that I can only receive 250 SMSes, so if people spam me with all kinds of crap they can use up my credits. However, the nice thing about this is that I can select who can send me direct messages and updates so if they abuse the service I can just remove them.

But yeah, if you want to be able to send me free SMSes, just add the charlvncell user and I'll reciprocate. Then simply send direct messages to that user and I should receive each as an SMS. Quite cool, and cuts down on the profit of the South African telecommunications monopolies (which always feels goooood)!

Blogspot Addresses

This is quite weird. I was setting up a new blog on Blogger the other day for a friend of mine. I accidentally registered the new blog under the wrong Google account however. So I deleted the blog, logged out, logged in as the correct user and tried to add the blog again. However, this time it said that the blogspot.com address was already taken. I logged out, logged back in as the first account, but the blog was not listed.

I tried to create the blog again using the same name on this account. When I clicked "Check Availability", it told me that the address was still available. Logged out, logged back in under the right account, tried exactly the same thing but the address was already in use.

So in other words, Blogger assigns a blogspot.com address to a user account even after the blog was deleted. I think this is a feature, not a bug. I wonder for how long though. Permanently perhaps, or only a couple of days or weeks?

Wireless Coffee Ordering

From Apple to Launch Wireless Coffee Ordering System:

The recent filing, presented to the U.S. Patent Office on December 20th, is a request for legal rights to create and deploy a “wireless system that would allow customers to place an order at a store using a wireless device such as a media player, a wireless personal digital assistant, or a cell phone.”

[...]

Furthermore, the patent request is for software enhancements that, in addition to making standard beverage requests possible without directly consulting employees working store register counters, allows for Starbucks to maintain “favorite orders” across all shops in the global coffee chain that opt in to the system and share customer data.

About half a year back, I talked about semacode uses, one of them being this:

Thirdly, many restaurants and coffee shops have slow service. Why not use already existing technologies to cheaply speed up the ordering process? I always hate having to put up my hand and call waiters/waitresses.

The shop can run an internal wifi network. You connect up through the wifi from your phone. You get access to the shop's full updated menu on their "intranet" (of sorts). (Really, how many times haven't you been at a place with outdated menus? It's actually quite expensive or even impossible to always keep the menus perfectly updated.) You can order items immediately and always have an accurate, updated subtotal displayed so that you know you're not overspending.

However, now the staff knows your order but not your location in the shop. This can be solved by having a Semacode on each table. Right when you sit down, aim your phone at that. The corresponding IRI you open contains a parameter that specifies your physical location in the shop so that it can be registered on the shop's database. Then you get directed to the menu in your phone's browser, all in one go.

So now the shop staff knows your order and where you are sitting! All with minimal extra hardware expenditure from their side.

I guess this is supposed to buy me nice "I told you it was a good idea" points?

Celebratering 777 Posts

Image: Part of a screenshot of my Blogger Dashboard

Wow I just noticed this by accident. This is the 778th post on this blog! Yay!!!

Charl van Niekerk's Blog - posting the strangest shit on the web since June 2004! (TM)

Google Pages Update

In March 2006 I blogged about the Google Page Creator. I particularly pointed out the quality of the generated output markup, which would naturally be something a guy like me would care about. A year down the line, they I'm taking another look after setting up vanniekerk.za.net.

They changed the doctype from XHTML 1.0 Strict to HTML 4.01 Transitional. Naturally I would have liked HTML 4.01 Strict but taking all things into consideration I think that was quite a realistic move.

I immediately like the clean indentation. They are using two spaces while I usually use either one space or a tab, but that's fine as it looks very clean and it's reasonably easy to see the hierarchy.

They seem to be using a lot of <div style="clear: both"></div> which I don't like very much but I understand these things are quite difficult in a wysiwyg environment. Personally I would have still opted for something like <div class="clear"></div> just out of principle (not using the style attribute) but I guess it doesn't really matter very much because it isn't separation of content from presentation anyway.

The page has a massive inline stylesheet. Personally I would also try to take that out into a separate external stylesheet and group as many of the common styles as I could into a global stylesheet for all the pages on the site. Especially for African situations where bandwidth is tight, it's best to keep things trim.

Even though it's only HTML 4.01 Transitional, the page still doesn't validate, which was somewhat disappointing. I used the Validate Local HTML option in the Web Developer Toolbar because when I validate normally it comes up as valid XHTML Mobile 1.0. This means that it's serving a mobile version of the page to the W3C Validator. It's great to know it supports mobile browsers and at least my mobile page validates, but I'm a bit scared of content negotiation between server and client due to caching issues with proxy servers, especially in South Africa. Serving different versions of a page according to attributes in the HTTP Request Header other than the Request URI can be risky because even if you set the correct caching parameters in the HTTP Response Header, many crappy proxy servers just don't care. Yes, proxy servers suck in my opinion.

I also can't help thinking that it might get some less-used browsers wrong if it got the W3C Validator wrong. Also, I just get an error Your client has issued a malformed or illegal request. when I try to open the site in Lynx. That sucks!

So although I have mixed feelings, I am in general quite impressed, taking into consideration we're talking about a wysiwyg editor here. :)

Google Apps: From 0 to 100 in 3 Hours

About a year and a half back, I applied and got an invite to try out Google Apps (at that point in time it was still called Google Hosted). I was totally stoked and really impressed with the service, but that was nothing compared to how great it is these days!

About 8 months back, I registered a domain vanniekerk.za.net for our family mail. Since then the Summer of Code hit as well as various other things so never really got around to doing much with it. I ran it as an alias domain of charlvn.za.net on Google Apps until today when I decided we need to get something proper up.

I removed it as an alias and registered it as a separate domain on Google Apps. I made some changes to the DNS records of the domain (currently held over at afraid.org) and configured everything on the Google Apps Control panel. I had to do a little bit of waiting while everything was being set up on Google's side but it only took about an hour or two and all was ready for action.

We now have a website (unfortunately with the www. in front) using Google Page Creator, e-mail using Gmail, a start page portal using something similar as iGoogle, a calendar using Google Calendar and document management using Google Docs.

Phew! All in 3 hours? Amazing. Moerse impressed!:)

Twaction Just Launched!

This is so much fun it's hilarious!

Today, Tyler Reed launched a new Twitter application called Twaction. The site itself says it best I think:

Twaction is a simple site that turns your tweets on Twitter into actions. You can now poke, slap, drink beer or smile at your friends on Twitter.

Example: @twaction @TylerReed kick for ignoring me

There are lots of different actions to choose from. Apparently "pwn" has been added especially for me! :D

You can follow everybody's actions on the front page (with RSS), follow individual users like me (also with RSS) or follow individual actions like this one. Really cool!

Twitter just became a whole lot more enjoyable... ;)

Merry Christmas!

Image: A small part of our Christmas tree

For all those that celebrate Christmas, have a very merry one! :)

TimesURL

It seems like Tinylink is dead at the moment but luckily now we have TimesURL. It took me a while to get around to this but now I finally changed the links on this blog to point to TimesURL instead of Tinylink. In the Tinylink scripts I wrote and published on this blog earlier, the only change you need to make to them in order to get them to work is replace tinylink.co.za with timesurl.at. For sed that would be something like:

sed s/tinylink\.co\.za/timesurl\.at/ < tinylinkscript > timesurlscript

In order for the Ajax TimesURL thingy to work on this blog just make sure you get the latest version of my general script. Transparent proxy servers in South Africa can be a real pain.

Bypassing Flickr's 200 Photo Limit

I used Flickr a lot until they introduced that stupid 200 photo limit last year. If you upload more than about 200 photos, the older photos are still there but you just can't browse them until you pay (sounds almost like extortion to me now). I thought I should put this to the test.

I opened the oldest photo of mine still visible and uploaded some more photos. It disappeared off the last page of my photo list. The photo also disappeared off the may2006 tag. However, it is still available from its "item page", even in large size as an anonymous user.

Ok, so the solution here is obvious. Build a service that utilises either the RSS/Atom feeds or the Flickr API. It keeps its own database of all the photos you upload and crawls the site every now and then to see if there's any new photos. It doesn't have to download the actual photos, just the id of the photo. Then it allows the browsing of the photos according to the photo ids, similar to Flickr itself, only allowing you to browse all the photos!

I will be building something like this as soon as I get some time. Shit, are these Flickr people insane??? Do they really think we're that stupid? I can hardly believe this.

Twitter is Dangerous?

This is one of those things that just make me the moer in!

From Twitter is dangerous:

Twitter is rapidly becoming a serious threat to corporate information protection. The program’s great strength — many-to-many messaging — becomes its great weakness in this context.

Imagine this scenario: 20 people are in a confidential meeting, one of them using Twitter. This attendee broadcasts an off-hand “tweet” (Twitter comment) to his or her “followers” (Twitter friends). With traditional instant messaging, that message would be received by perhaps one or two others. With Twitter, that comment may be seen by 10, 100, 1000, or more followers.

What the %#$#@$#&^*%!!!!!!

I can't believe this guy. Is Michael Krigsman trying to pull another Patricia de Lille on us? I feel about Twitter more-or-less the same way I feel about MXit.

Twitter is a brilliant communication medium. Yes, I might do my share of complaining, but hey nothing's perfect!

These communication mediums should exist because they can be used responsibly by many users. If they are abused by some, well that is not Twitter's fault. It does not make them evil in any way. There are thousands of possible ways to leak information. Twitter is one medium for that, yes. So is MXit, IRC and blogging. However, it should be used responsibly. Don't hate Twitter because some people just suck.

Update: Ok maybe I "slightly" over-reacted, he probably didn't mean that Twitter is dangerous but that widely distributed information sharing in general could be. But he chose the title of his post very poorly.

Kudu believe it!

Image: Photo of Sanchez!!

A while back, they had this funny TV ad in South Africa about the Opel Corsa Light. They had a kudu in there called "Sanchez" that had to act like a mouse and dance around on the steering wheel.

Now it seems like I saw another kudu trying to act like a mouse next to Jayx's computer. Kudu believe it? You better believe it, because it's true! (Oh yes and we are not k@k either...)

Got light?

Image: The fluorescent light bulbs they gave us.

Ok so there has been a lot of jokes the last two years in South Africa since we started to have issues with our national power supply. I also went through the Age of Darkness last year. Yes, the Dark Ages has returned. We are in the dark continent, after all. Will national power company Eskom ever see the light? Whatever... We heard them all by now. From Gatiep jokes to the occasional Van Der Merwe.

Anyway, the other day we got some free "power saving" fluorescent electrical lamps. "Free" is not really true because we pay for them and for some less fortunate people's through our tax money. They seem to be manufactured by Philips, not for resale. I don't really like Philips in general, even though it's a Dutch company. Rather give me South Korean like LG.

For the last while we have been enjoying better power in many areas but now with Zuma people are starting to worry again so better save as much power as you can. The national power grid might not be upgraded again soon as we have to spend money on Zuma's new mansion in Knysna. :)

Ok I have nothing against saving power but I honestly don't like fluorescent lamps. They have various disadvantages including some health risks (mainly from ultraviolet radiation). According to an offline source they apparently produce high quantities of electromagnetic radiation outside of the visible spectrum which might not be good for you. Not sure about the accuracy of that though.

So, should we go back to tungsten? Of course not! The best lamps by far are LED lamps. They are extremely low on power, have minimal radiation outside of the visible spectrum (apparently - I don't have my own equipment to be able to test). Why not look at mass-producing these in an automated factory locally (please no unions, strikes, or Chinese companies) and make it cheap for the entire country?

We actually saw some of these on sale over at the Checkers in George in the middle of the year but they were suspect (no-brand manufactured in China) and they all had screw-type instead of bayonet-type connectors which we use in our house.

Somebody please, make a plan for us here! I don't want our tax money wasted like this. KTNXBYE.

Chicken Tikka & Spicy Food

I have always been a big fan of spicy food. For me, there is two components to "spicy". Firstly, there is the flavour of the various herbs and spices used, and the second is the burning effect of the chillies (or cayenne pepper) that gives it that extra power. The two need to be in exactly the right balance for the perfect meal.

So as you can imagine, I am a big fan of Indian cuisine. These people really know how to make my kind of food.

While I was in Cape Town for the Starcamp, Rafiq was kind enough to give me a lift back to Sea Point and on the way he told me about chicken tikka. The other day, Rafiq twittered about eating it and then uploaded a picture of this to Flickr:

Image: Chicken Tikka; photograph by Rafiq

Now I want to try this as well of course but thought I would have to wait until the next time I get my ass over to Cape Town. However, today my mom found a recipe online for lekker chicken tikka on green cuisine. They actually have a shop up at the Johannesburg international airport where she bought some of their spices a few months back.

Now for some of my own flavour.

Being half Dutch, I really like potatoes. I am also in love with chillies, particularly Jalapeños. Jalapeño chillies are my favourite because I love their taste and I can use a lot of them because they aren't very hot so frankly there is a lot of that delicious taste to go around!

So here is some code for you:

$spices = $southIndianSambaar + $chilliAndGarlicSeasoning + $blackPepper;
$food = $jalapenos + $potatoes + $spices;
$charlvn->eat($food);
echo $charlvn->getStatus();

And this is the output:

stuffed full!

And a photo to compliment, since that is the way we do things around here:

Image: My home-made food! Potatoes, chillies and spices!

Yum yum!!! (No, the food, not the package manager...)

Facebook Profile Cleaned Up

As a follow-up on a previous post of mine, Bloatbook, at last I have a nice clean Facebook profile again. I didn't remove any applications, I simple clicked the close button on every box I could and selected "Remove Box" so that they won't take up any more space on my profile page. Now I still have all the functionality and none of the bloat. Perfect! I wish all my friends' profiles looked this clean. :)

Muti on Twitter

Three days back, Rafiq wrote a blog post on Your Group of Web AddiCT(s) titled Muti idea for twitter, inspired by Jacob Zuma. Previously, the Muti Twitter feed only contained the titles of links posted. However, early this morning (South African time), Neville made a new system live similar to TimesURL.at that includes a link to muti.co.za that redirects to the original post link.

This has two advances. Firstly, TinyURL.com is not being used (I hate that service) and secondly, if spam is posted and the link is deleted, the redirect will also stop working.

Please note that according to the Twitter API, you should also be able to delete posts but in practice this seems to be very unreliable.

I am currently seriously climbing into Twitter development so more posts should follow about this soon.

Teh Charl has Landed!

Lol! Ok, I have been travelling like a crazy mofo the last couple of weeks. First I went to the October 27 Dinner, then to the November Geek Dinner, then to Starcamp and now up to Johannesburg for a few days.

However, finally I'm done and am back with my feet on the ground, literally and figuratively. I need to get around to blog about all my experiences the past couple of weeks and seriously get going with work again.

Here are some photos I took at Johannesburg International Airport:

I need to leave country now?

Ok so for a long time I kept saying (in RL, not much online) that I will leave the country if Jacob Zuma becomes president. I was actually saying that thinking that it would never happen. Now that seems to be a real possibility. Does this mean I need to book my tickets now?

My new favourite beer!

Photo of a can and glass full of Marzen Gold

First of all, no I am not affiliated!

I saw quite a few television advertisements about Hansa Marzen Gold the last while so decided to try one today. Indeed, a refreshingly different beer! Although in general it tastes quite mild to me, the flavour and the colour are both great. I think I just found a new favourite. :)

I also tried Brutal Fruit Litchi but I thought it sucked. I'm just not one for coolers, sorry. Rather give me normal non-alcoholic fruit juice. The only difference I could find is that this tasted somewhat fermented (big surprise). Actually, it tastes just like litchis that are a bit past their expiry date. Rather give me fresh ones, and normal litchi fruit juice.

Twobombs does it again!

I complained about the Windows on one of my previous posts Twobombs Hardware, so Twobombs commented that he actually runs a dual boot. He later sent me a link via instant messaging to a screenshot on SuSE Linux.

Screenshot of a quad core system on SuSE Linux

Also, he started his own blog now!

Update: It's a pity KDE System Guard only seems to support 2 cores. :(

The Guide / Yiza

I am hectically busy with work at the moment but squeezed a few minutes off this evening (mainly because I got an invite from Matthew Buckland) to take a look at the new social events site The Guide which uses the social networking component Yiza (at the moment the site is just redirecting to The Guide).

Even though the site is hosted overseas and the traceroute looks crap (take a look below), the site is lightning fast. That is very impressive as it's well suited to the African bandwidth environment.

charlvn@stargate:~$ tcptraceroute www.yiza.co.za ftp -f 3
Selected device eth1, address 10.0.0.2, port 58514 for outgoing packets
Tracing the path to www.yiza.co.za (89.234.7.83) on TCP port 21 (ftp), 30 hops max
 3  cdsl1-rba-gi1-2-457.ip.isnet.net (196.38.73.237)  63.217 ms  63.004 ms  62.576 ms
 4  curp1-rba-gi6.isdsl.net (196.38.72.238)  62.907 ms  63.395 ms  62.519 ms
 5  cdsl1-rba-gi0-3-43.ip.isnet.net (196.38.72.229)  61.516 ms  63.152 ms  62.795 ms
 6  cdsl2-rba-gi0-1.ip.isnet.net (196.36.80.162)  62.689 ms  63.207 ms  61.274 ms
 7  196.36.80.165  62.952 ms  135.062 ms  62.294 ms
 8  csw2-ny-gi1-1-256.ip.isnet.net (168.209.0.242)  679.759 ms  678.420 ms *
 9  csw1-dock-gi1-20-184.ip.isnet.net (168.209.100.42)  677.823 ms  678.403 ms  680.919 ms
10  cp1-dock-gi0-1.ip.isnet.net (168.209.246.8)  677.440 ms  679.071 ms  678.062 ms
11  g3-15.edge3.lon.rackspace.net (195.66.224.116)  678.675 ms  678.326 ms  680.102 ms
12  vlan903.core3.lon2.rackspace.com (83.138.150.17)  680.936 ms * *
13  aggr10a.lon2.rackspace.net (83.138.150.87)  680.741 ms * *
14  106294-web1.106294.mg.co.za (89.234.7.83) [open]  683.432 ms * 680.818 ms

Personally I would really like to see this evolve into a site supporting OpenSocial (extended with some custom stuff for reading / posting events), Microformats (particularly hCard for profiles, hCalendar for events and hAtom for the Friend Feed), Atom/RSS for the Friend Feed etc, valid (X)HTML, etc etc.

Of course the site is very new so complaining about this is silly, I just wanted to state these things so hopefully the developers will read it and take note that it is in demand. :)

Update: Oh yes and what would be really super of course is integration with Facebook events and particularly iJol.

Another Update: Oh yes and of course we should not forget about OpenID! ;)

Bloatbook

Other than not supporting OpenSocial, I generally quite like Facebook. However, my latest issue is with bloated profiles. Some people's profiles really are starting to look like Christmas trees. Even my profile is starting to get quite hectic. Sometimes I see horrible flashbacks of MySpace.

Maybe people overseas don't really notice it that so much, but here in Africa many of us can really feel these things. Profiles are sometimes painfully slow to open. Videos, pictures, and who knows what other kind of shit, all on one page!

So why does absolutely every Facebook app need to display on your profile? I mean, come on! Can't there be some kind of Ajax loading script to expand applications? Or pagination? Or something??? For the moment, I'm just clicking the close button and selecting "Remove Box".

Will Facebook remain the top social networking site in South Africa, or will it be overtaken by Yiza and similar projects? I am just gunning for whichever service takes the local lead to support OpenSocial.

Twobombs Hardware

Phew this is another nice system. It seems like I know all the guys with the right hardware these days. Twobombs, a friend of mine in Holland, has this beauty:

Also see his CPU-Z Database entry. Not half bad!

Now we just need to see more of these systems running on a real operating system... ;)

Starcamp and Joomla! Day

Star Camp Cape Town 2007 - I'll be there

Firstly I have to apologise for posting about this so late. As a matter of fact, I didn't even get time to blog about the last Geek Dinner, but hopefully I'll catch up soon. On my side, life is going at 5 000 kmph at the moment. Things should be returning back to normal after the next three days.

In less than 4 hours from now, I will be leaving from George on the bus and we should be arriving in Cape Town tomorrow morning early.

Saturday and Sunday I will be at Starcamp. If you don't know what it's about yet, check this out:

StarCamp is this year's event for those interested in technology, new media, and social networking in Cape Town. Anyone can attend, and anyone passionate enough to want to speak has a platform to share their passion.

StarCamp builds on the 2006 BarCamp Cape Town, the GeekDinner movement started post-BarCamp Cape Town, and the 27dinner phenomenon of finding new ways to get people together to learn from each other and to learn of each other, to help build Cape Town as a leader in business and technology.

Believe it or not, there is actually still more than enough space left so by all means, if you want to attend, pitch! Remember guys that this is the event of the year of us tech types so definitely not one to miss. ;)

I will also be doing a presentation about Joomla! 1.5, probably on Sunday.

They should have net access over there so you can bet your ass I'll be on the interwebs bogging, twittering and jaiku'ing like mad! I come armed with a laptop and a digital camera!

Then on Monday, I will be attending Joomla! Day. I am very privileged to have been asked to speak so will do a talk, mainly about templating.

I am so excited I can hardly sit still! I have to get packed now though and answer a few e-mails before I leave...

charlvn.za.net Server Move

This might be very difficult to believe and I'm actually quite ashamed about it, but my experimental site charlvn.za.net was hosted on an IIS server (yes, on Windows) for a couple of months. Finally I got the time to move it over to a proper Linux-based server in Germany. There is no obvious benefit in terms of the connectivity, but at least now it's on Apache and I can use .htaccess files again to do some URI rewriting. I also have the satisfaction that my site is running on an open source platform stack and the reliability will be much better.

The move was not without its problems as I forgot to set up the blogger.charlvn.za.net subdomain on the new server, but am sorting out all these issues as I go along.

Traceroutes, for anybody that might be interested (first one is to the old server, second to the new server):

charlvn@stargate:~$ tcptraceroute -f 3 75.126.6.231 ftp
Selected device eth1, address 10.0.0.2, port 52322 for outgoing packets
Tracing the path to 75.126.6.231 on TCP port 21 (ftp), 30 hops max
 3  cdsl1-rba-gi1-2-457.ip.isnet.net (196.38.73.237)  60.814 ms  61.111 ms  58.154 ms
 4  curp1-rba-gi6.isdsl.net (196.38.72.238)  60.697 ms  60.162 ms  59.362 ms
 5  cdsl1-rba-gi0-3-43.ip.isnet.net (196.38.72.229)  59.492 ms  59.937 ms  59.655 ms
 6  cdsl2-rba-gi0-1.ip.isnet.net (196.36.80.162)  60.535 ms  59.655 ms  59.624 ms
 7  196.36.80.165  59.253 ms  61.081 ms  59.379 ms
 8  csw2-ny-gi1-1-256.ip.isnet.net (168.209.0.242)  669.158 ms  669.566 ms  670.091 ms
 9  csw1-dock-gi1-20-182.ip.isnet.net (168.209.100.38)  672.284 ms  671.944 ms  672.888 ms
10  cp1-dock-gi0-1.ip.isnet.net (168.209.246.8)  737.564 ms  670.533 ms  672.943 ms
11  ge3-0.pr1.lhr1.uk.above.net (195.66.224.76)  672.382 ms  671.665 ms  673.415 ms
12  so-0-1-0.mpr1.dca2.us.above.net (64.125.27.57)  778.181 ms  748.023 ms  748.373 ms
13  so-1-0-0.mpr2.atl6.us.above.net (64.125.28.230)  759.604 ms  762.003 ms  763.193 ms
14  so-0-0-0.mpr1.atl6.us.above.net (64.125.27.49)  834.565 ms  786.170 ms  791.624 ms
15  so-1-2-1.mpr4.iah1.us.above.net (64.125.29.62)  788.355 ms  776.038 ms  773.541 ms
16  so-0-0-0.mpr3.iah1.us.above.net (64.125.26.13)  777.501 ms  774.179 ms  775.146 ms
17  so-1-1-0.mpr1.dfw2.us.above.net (64.125.26.129)  779.344 ms  849.699 ms  783.556 ms
18  ge4-13.cer01.dal01.dallas-border.com (64.124.79.202)  851.079 ms  784.549 ms  782.487 ms
19  po51.fcr01.dal01.dallas-datacenter.com (66.228.118.150)  782.665 ms  784.260 ms  784.762 ms
20  75.126.6.231-static.reverse.webafrica.co.za (75.126.6.231) [open]  787.352 ms * 1489.861 ms
charlvn@stargate:~$ tcptraceroute -f 3 charlvn.za.net ftp
Selected device eth1, address 10.0.0.2, port 40997 for outgoing packets
Tracing the path to charlvn.za.net (85.10.213.128) on TCP port 21 (ftp), 30 hops max
 3  cdsl1-rba-gi1-2-457.ip.isnet.net (196.38.73.237)  58.677 ms  58.784 ms  59.561 ms
 4  196.38.73.142  60.449 ms  59.809 ms  59.392 ms
 5  cdsl1-rba-gi0-3-52.ip.isnet.net (196.38.73.137)  58.288 ms  58.923 ms  59.408 ms
 6  cdsl2-rba-gi0-1.ip.isnet.net (196.36.80.162)  60.441 ms  59.932 ms  59.227 ms
 7  196.36.80.165  59.152 ms  60.983 ms  61.623 ms
 8  csw2-ny-gi1-1-256.ip.isnet.net (168.209.0.242)  670.381 ms  670.515 ms  672.382 ms
 9  csw1-dock-gi1-20-182.ip.isnet.net (168.209.100.38)  827.861 ms  812.087 ms  674.461 ms
10  cp1-dock-gi0-1.ip.isnet.net (168.209.246.8)  672.138 ms  671.645 ms  846.467 ms
11  LINX1.LON-2.uk.lambdanet.net (195.66.224.99)  682.118 ms  677.173 ms  673.077 ms
12  FRA-1-pos313.de.lambdanet.net (82.197.136.25)  691.230 ms  688.176 ms  687.916 ms
13  FRA-3-eth100.de.lambdanet.net (217.71.96.70)  689.126 ms  688.081 ms  698.805 ms
14  NUE-2-eth100.de.lambdanet.net (217.71.96.74)  699.874 ms  692.891 ms  693.243 ms
15  lambdanet-gw.hetzner.de (213.239.242.214)  692.829 ms  696.727 ms  694.225 ms
16  hos-bb2.juniper3.rz4.hetzner.de (213.239.240.142)  767.330 ms  692.907 ms  689.814 ms
17  dedi328.your-server.de (85.10.213.128) [open]  695.128 ms * 696.806 ms
charlvn@stargate:~$

Sorry for doing this to port 21 but if I do it to port 80 then I'll hit transparent proxy servers in South Africa.

Crowdsource

Random thought of the day. I honestly don't get the point behind crowdsourcing. Who is going to put in a lot of development time just because your version of the project might be chosen and you might get paid? I understand this would be cool for inexperienced developers or students, but for us experienced okes that can deliver the quality work, why take part?

Ok, so if you compete against noobs, then your version is likely to be chosen. However, if you are competing against other experienced developers, then why bother?

"Just for fun" projects would be excellent, but I, for one, would not recommend companies to go that route. But maybe I'm missing something. Any thoughts?

Quad Core Power!!

If there is one serious m*therf*cker in the Garden Route it must be the graphic design and (X)HTML/CSS pwnerer Jayx (also one of the leet Garden Route "oubies"). Check this, well, mother of a system he's got over here:

This is one seriously mean-looking PC! This system is actually a server but in true Chuck Norris style, only the best is good enuff as a real oubie's desktop workstation.

Around The World For Free

A while back, Simon Botes (well known as the South African Fring blogger locally) invited Jayx and me to join the Around The World For Free Facebook group.

Alex Boylan together with Chris won The Amazing Race 2. He is now travelling all over the world together with Zsolt for six months in this new exciting reality show. And indeed, reality it is! Alex is not allowed to bring any of his own money... Wherever he goes, people have to help him get to the next destination on his trip.

Since they landed in Cape Town a few days earlier, we decided to help them out by giving them a lift over to the Garden Route on Sunday.

We met up with them in Cape Town and started making our way east. However, on the way tragedy struck: the Beemer's fan belt came off! Jayx got in under the car and Alex under the bonnet. They managed to get the fan belt back on, but only about a hundred metres later and it came off again! We still had a few hundred kilometres to go so putting the belt back on would have been totally pointless.

Luckily we weren't too far from the beautiful town of Swellendam. It was on a Sunday so obviously getting out a tow truck was not too easy though. However, after a long time struggling to get hold of somebody, Jayx managed to contact the right guy and he came out to tow us all the way back to his repair shop.

Traditional Afrikaner culture in these remote areas is absolutely amazing. This guy not only allowed us to sleep over at his house for the night but even fed us some delicious roasted lamb and a fine selection of wines!

Simon and his wife drove straight throughout the night to come pick Alex, Zsolt and me up early the next morning and took us back to the Garden Route while Jayx stayed behind to get the Beemer back in tip-top shape. At the end of the day Jayx and I were safely back in George while Alex and Zsolt stayed over at the Crags with Simon.

If you want to see our trip back documented on video, please see Day 77: Update from the Road and Day 78: Trip to Crags.

The best thing of all is that, on the way back, Simon also hooked these guys up with Fring so that their viewers can get in contact with them live wherever they are. Exciting stuff!

Hosting Changes

I am currently undergoing several changes in my hosting infrastructure. Although I hoped it would be transparent to the end user, this was clearly not the case as this blog broke down temporarily. Apologies for this and things should be back to normal again. Please let me know if you find any other errors.

Bad PHP Error Message

Personally I dislike many of these heavy PHP template engines. I prefer to keep things small, compact and efficient.

Sometimes we might do things like this, which generally works fine:

<?php function choice($myChoice) { ?>
  <h1>You have a choice even!</h1>
  <?php if ($myChoice): ?>
    <p>You picked the first option!</p>
  <?php else: ?>
    <p>You picked the second option!</p>
  <?php endif; ?>
<?php } ?>

To try and keep things neat and consistent, you might do this when you want to combine multiple templates into the same class:

<?php class My_Template { ?>
  <?php function helloWorld() { ?>
    <p>Hello World!</p>
  <?php } ?>
  <?php function helloJannie() { ?>
    <p>Piet Pompies gaan jou nie help nie, broer!</p>
  <?php } ?>
<?php } ?>

Then you might get an error like this:

Parse error: syntax error, unexpected ';', expecting T_FUNCTION in /var/www/test.php on line 1

But why? Well, think about it for a bit. As soon as you escape PHP mode with ?> you are outputting everything directly to the standard output stream/buffer until you enter PHP mode again with <?php or sometimes even <? depending on your PHP configuration (the latter method is often frowned upon because it creates issues when using an XML declaration such as <?xml version="1.0"?>).

In other words, you are basically writing white space characters inside of a class but outside of a function of that class. That just wouldn't make any sense.

But now take a look at the error message. There would have been a thousand better messages one could think of surely. Or am I missing something?

The Google Highly Open Participation Contest

Wow, just caught on to this today. If you would like to participate in something similar to the Google Summer of Code but you are still in "school" (as per usual South African convention to call "school" what you go to before you go to college or university) you might qualify to participate in the The Google Highly Open Participation Contest.

Following on from the success of the Google Summer of Code program, Google is pleased to announce this new effort to get young people involved in open source development. We've teamed up with the open source projects listed here to give student contestants the opportunity to learn more about and contribute to all aspects of open source software development, from writing code and documentation to preparing training materials and conducting user experience research.

If you're a student age 13 or older who has not yet begun university studies, we'd love to see you help out these projects. In return, you'll learn more about all aspects of developing software - not just programming - and you'll be eligible to win cash prizes and the all important t-shirt! You will, of course, need your parent or guardian's permission to participate where applicable.

Needless to say, Joomla! is in on the game - please see the Joomla! Google's Highly Open Participation Contest Forum for more info.

Exciting shit! I am really looking forward to the Google Code Jam 2008. Hopefully we'll get the information soon!

Blogger Comment Moderation

To moderate or not to moderate, that is the question! Bah, these Shakespeare sound-alike phrases can get so irritating!

Being on Blogger, so far I didn't really have any major problems with spam, but every now and then I seem to be targeted by some bunch of idiots.

I am constantly going between moderated and unmoderated comments. With moderated comments, I get a mail like this:

Piet Pompies has left a new comment on your post "Who Cares?":

You are teh suck!

Publish this comment.

Reject this comment.

Moderate comments for this blog.

Of course, Publish and Reject are links as this is HTML mail.

This has the advantage that, if the comment is spam, I simply click Reject and the comment gets deleted. But it has the disadvantage that I have to click Publish for every legit post as well. When I get lots of spam, it's easier to leave this on, if I don't, it's easier to just leave this off.

If I choose to publish a comment or if I do not have comment moderation turned on, I get the following message:

Piet Pompies has left a new comment on your post "Who Cares?":

You are teh suck!

Posted by Piet Pompies to Charl van Niekerk » Blog at Monday, December 03, 2007 9:20:00 PM

This makes it a little more difficult to moderate comments. First I have to click on Who Cares as that's a link and go to the post. Then I have to delete the comment from the post the "hard way" by finding the right comment, clicking the delete icon, confirming the deletion, etc.

The big pain for me is that I do not want to stop conversation going on my blog. People should just be able to go mad in the comments and have a discussion, with or without me. They shouldn't have to wait for me to manually publish every single comment that gets posted. Then they can just tolerate the bit of spam that slips through occasionally and I can go later and delete it.

So my idea is basically this. Blogger should put a "delete" link straight in the latter e-mail. Then we leave comment moderation off but deleting spam remains just as easy. They could have an option to ask confirmation before deleting, but I basically want to use this like the comment moderation's Reject option, so it shouldn't ask me confirmation at all.

How does that sound? Any thoughts / opinions / flames?

Back in George!

Finally, I am back from road tripping and in the beautiful City of George again at home with my "trusty" (ha ha, yeah right...) ADSL connection. This must have been the most adventurous couple of days I have ever had in my entire life so far. There is so much to blog about at this point in time I don't even know where to begin. I guess a good place would be to start at the beginning and gradually work my way towards the end then. Yeah, I actually figured that out myself. Can you believe it? You better believe it, because it's true!

I will have to work like a madman the next couple of days in order to catch up with everything (especially my mail which is currently getting out of hand), but as soon as I get some spare time I will start typing up some of my experiences and even include photos with that as well!

Really looking forward to *camp this weekend though... Another good reason for me to work really really hard! :P

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