Forget Toll Roads: We have the money! And we’ve had it all along…

There have been many heated debates and commentaries on the current state of affairs surrounding toll roads in South Africa, but for the sake of clarity, I think it can be summarised as follows:

1. SANRAL, by way of it’s logic challenged spokesman, Vusi Mona, and it’s clearly equally challenged minister,  Dipuo Peters, claims that it is not possible to fund road maintenance and new infrastructure from the fiscus and thus we need toll roads.  “Government has mandated them to do this.”
Update: They have finally indicated that an additional R3.65 added to the fuel levy would have to be implemented as an alternative to tolling, thus bringing the fuel levy to R5.77 per liter.

2. Various parties have mounted legal challenges to the Gauteng Freeway Improvement Project.  OUTA and the DA have taken the matter to court, but to date have failed to make convincing enough claims to stop the projects.

I have often asked myself how much money the state collects via the fuel levy and haven’t heard much comment on that.  (update: Outa has done so since the first version of this post)  However, this comment on MyBroadband on the matter of conventional tolling of the Western Cape’s freeways, made me decide to analyse the situation to get some clarity.

Fuel Levy Stats

In more detail:

According to Shell & SAPIA in 2014 the following applied:

Fuel Levies CollectedNow, since SANRAL has to publish it’s Annual Financial Statements, we can see what they actually spend.  It seems much more has been collected that was used! (Remember there are toll fees in this income already from many toll roads across South Africa)

Sanral Financial Data

It’s also relevant to note how SANRAL views depreciation of the assets under it’s control:

Sanral DepreciationMinister Peters also recently said that the backlog to fix South Africa’s roads is R197 billion.  We don’t know what that is based on and that it’s probably wrong, based on the the other Peters track record.  But, for the sake of the argument, let’s assume a 50 year loan for that amount (@ 8.5% as per the world-bank rate for South Africa). That would cost  R1.415 billion per month, or R16.99 billion per year to pay back, leaving R30 billion for ongoing maintenance and new projects not included in the R197 backlog.

2014 Fuel Levies application

According to SANRAL, it receives R10 billion annually from the fiscus currently, which is of course too little to do their work (source: SANRAL Non Toll Budget 2013/2014).  It looks like a sinister movie plot, but it’s not:

    • The Ministry of Finance assigns less than 22% of the fuel levy to the purpose for which it was collected.
    • Toll roads are constructed, despite fierce opposition to the plans, since there’s “not enough money
    • Furthermore the government pension funds risks “investing” in SANRAL in lieu of the GPIF tolling project.
    • Only once, in 2003, was there a one month statutory appeal period to register objections to the Western Cape N1/N2 Toll Road project, the appeals which minister of transport summarily dismissed.

What is going on here?  Surely a legal challenge to the misappropriation of funds can be mounted and the effects thereof reversed?  After all, it was Barend du Plessis, under the “dreaded apartheid regime” that instated this fiscal travesty by dumping the fuel levy into the fiscus, ending the road fund (the South African NP government was facing serious financial problems at the time).  In effect he raided the road fund.  Exactly what the South African ANC government is now doing.South Africa, by way of it’s road users, has paid R324 billion to keep its roads in good shape, yet the Government has thought it totally in order to misappropriate R224 billion (that is R 224 000 000 000) of that money.  To add injury to insult, it now wants to collect more than R1 000 000 per month from the Gauteng freeway users alone, to “cover the debt incurred to upgrade the Gauteng Freeways”.

How will this be stopped and reversed?

Will OUTA, the DA, Cosatu, the EFF and others take on the Ministry of Finance and it’s sinister plot to double-tax us continuously?

Or will the people of South Africa take matters into their own hands as the people of Brittany in France have?

In 2010, it seems, the idea of a dedicated road maintenance fund was put forward by S’bu Ndebele, transport minister at the time, although it seems the DA had been promoting the idea for some time before.  So if this is being planned, why is SANRAL forging ahead with its tolling regime?

There are those that claim this is part of UN agenda 21. Watching and reading about it, does seem to make some sense, in a bizarre way, of what SANRAL and the ANC are doing, but please decide for yourself.  At least it seems there are people brave enough to come forward and spill the beans!

South Africa’s ruling party is making a grave mistake if they think that they can continue on this path of reckless unaccountability in the face of the South Africa’s people.

In the words of an old “struggle stalwart”: Enough is enough!

Magento Store Installation And Configuration Notes

1. Change Theme (and solution if it doesn’t seem to work)

After installing a demo store for a Magento installation, I tried changing the theme just to learn how the system works.  There are many how-to’s that explain how to install a theme automagically (http://info.magento.com/rs/magentocommerce/images/InstallingMagentoConnectExtensions4%200.pdf) and manually (http://www.rockettheme.com/forum/free-magento-stuff/131772-installing-the-quasar-template-on-a-fresh-magento-store) among many, but all fail to mention a very important aspect of themes:  Once a theme is installed, you have to go to the CMS menu, click “Pages”, select a page (click it) and click “Design” on the left.  Then select the new theme from the “Custom Theme” dropdown box.  Once you save the selection, the new theme will show for that page.

There are countless forums and pages that I have come across where some commenter had this exact problem and no-where is it answered by the Magento gurus.  Astounding!  I can just assume that this is so obvious to a seasoned Magento user, that it is ignored.  Thanks to user Allysin over here, I finally found this solution.

2. More to follow…

android kitkat

How to get Whatsapp on Android KitKat (4.4) to sync contacts

I recently upgrade my Samsung Galaxy Tab 7″ (P1000) to Cyanogenmod 11.2 to attempt to fix a Bluetooth problem I’m having (which is a different matter entirely), but noticed that Whatsapp was not syncing contacts with my phone contacts at all.  As a matter of fact, I wasn’t even able to add new contacts to Whatsapp or start chats with people not in my history of chats.

CyanogenmodI had previously upgraded from CM 9 to CM 10.2, which was an experimental build for the Samsung 7″ Tab, but this behaviour did not occur there.

After much searching, I finally decided to leave it for a later time.  Then one day, while looking for reasons why Waze wasn’t performing certain actions properly either, I noticed the setting (under settings | apps) “Enable Privacy Guard”.  This led me to further investigate this feature.

Under settings | privacy | Privacy Guard, a list of all apps is shown and each’s guard may be enable or disabled.  Lo and behold, when I disabled it for Whatsapp, suddenly the contact sync worked and my contacts where shown in Whatsapp.

I would have liked some notification by Android that Privacy Guard is on when an app attempts something that is blocked by privacy guard.  Maybe it’s just not ready in CM 11.2 yet?

Anyway, if you have this problem with Whatsapp or other apps, investigate this option and maybe you find that it solves the problem like it did for me.

How to test for a valid twitter handle using a regular expression

I use Redmine CRM, which allows custom fields in the Contacts, Deals and other modules.  The validity of an entry may be tested with a regular expression.  I had to do quite a bit of testing before I finally got it right (not doing this every day!), so here is what I ended up using:

^@([A-Za-z0-9_]+{1,15}$)

Meaning is should start with an “@” and then have at least 1 of A-Z, a-z, 0-9 or _, but not more than15.

Hope this helps someone else somewhere, sometime :-)

Jesus and the Wrath of God

Roland Giesler:

Good read!

Originally posted on Escape to Reality:

blood-stained crossAre you familiar with the hymn In Christ Alone? Do you know this hymn is not hundreds of years old? It’s not even 20 years old. In Christ Alone is a very modern hymn. It was written in 2001 by Keith Getty and Stuart Townend.

I mention this hymn because it has these wonderful lyrics:

Till on that cross as Jesus died
The wrath of God was satisfied
For every sin on him was laid
Here in the death of Christ I live

“Wait a second, Paul. Are you saying God poured out his wrath on Jesus? That sounds twisted.”

I agree that there is something dreadfully wrong with the picture of a father killing his son to satisfy some legal need for blood. It falsely portrays God as guilty of filicide, the murder of his own child.

I know some people have been turned off from the gospel…

View original 828 more words

South African Radio Stations via Rhythmbox

Since I run an Ubuntu desktop environment, I get to do with all the idiosyncrasies of service providers that imagine a “Windows only” world…  <sigh>

Here’s what to use to get radio via Rhythmbox or other music players:

  • Cape Talk 567 MW – rtsp://196.35.68.110/capetalk-live
  • RSG – rtsp://196.35.68.110/rsg_22?MSWMExt=.asf

If you have more streams (that you have tested!), please comment below and I’ll add them here.

LTSP notes

These are my personal notes wrt LTSP installations, tips and tricks that I have needed in various setups.  Instead of just storing these in my own notebook, I share them here for the benefit of anyone that may benefit from them.  Feel free to leave comments, corrections or suggestions.

Ubuntu 12.04 64bit Server with LTSP

i386 Clients that don’t support required ‘cmov’

Norhtec Surfboards with XCore86 processors:

  1. The last version of Ubuntu that has the ‘cmov’ instruction built into the kernel is 10.04.  I suppose it is possible to compile a custom kernel with ‘cmov’ support, but I think Ubuntu has removed code from their source, so one would need quite a bit of customisation to overcome this.  Not for me, I’ve wasted too much time on things I don’t really know enough about.
  2. Debian continues supporting ‘cmov’ up to the latest build.
  3. Debian LTSP implements NFS to connect from the chroot booted system to the server, Ubuntu uses NBD.
  4. With Ubuntu 10.04 Lucid, the NBD server listened on a port, typically 2000, 2001, 2002, etc.  Since 12.04 Precise (or maybe even the release before that?), the chroot booted clients connects with a named pipe instead of a port.
  5. To allow a 10.04 chroot client to connect to the 12.04 server, do the following
      1. $ sudo ltsp-chroot -a i386
        $ vim /etc/ltsp/update-kernels.conf

        Change the content to:
        BOOTPROMPT_OPTS=”append ro initrd=initrd.img quiet splash nbdport=2002″
        NBD_ROOT_NAME=ltsp_i386


        Now run:

        $ /usr/share/ltsp/update-kernels
        $ exit


        $ sudo ltsp-update-kernels

        Now the file /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default should reflect the changed connection method using a port.


      2. Change the nbd-server config as follows:
        $ sudo vim /etc/nbd-server/config
        [generic]
        user = nbd
        group = nbd
        includedir = /etc/nbd-server/conf.d
        oldstyle = true


        $ sudo vim /etc/nbd-server/conf.d/ltsp_i386.conf
        [/opt/ltsp/i386]
        exportname = /opt/ltsp/images/i386.img
        port=2002
        readonly = true


        $ sudo vim /etc/nbd-server/conf.d/swap.conf
        [swap]
        port = 2002
        exportname = /tmp/nbd-swap/%s
        prerun = nbdswapd %s
        postrun = rm -f %


      3. A different way (which I only found out yesterday by going through the script), is:
        $ sudo ltsp-update-image -a i386 -o “quiet splash nbdport=2002″

     

Extra notes:

There is a file /etc/ltsp/ltsp-update-image.excludes which removes certain file from the chroot when the image is created.  Edit this to allow sshd keys, home directories and more to included in the image.

If the client doesn’t log in to the server due to ssh keys not in the ssh_known_hosts file, delete the /etc/ssh/ssh_known_hosts file in the chroot, run ltsp-update-sshkeys and then ltsp-update-image.

If the screen resolution notification pops up after logon, delete the users ~/.config/monitors.xml file.

To enable sshd on the thin client:
In /etc/ltsp/ltsp-update-image.excludes comment out:
# etc/ssh/ssh_host_*_key

In /var/lib/tftpboot/ltsp/i386/lts.conf add:
KEEP_SYSTEM_SERVICES=”ssh”

Printers connected to the thin client?
check the device the printer is on: ls -la /dev/usb/lp1 for example  (on wheezy)
then set lts.conf to:
LOCALDEV = true
PRINTER_0_DEVICE = /dev/usb/lp1
PRINTER_0_TYPE   = U
for the application MAC address