26 December 2013

Grab Left 4 Dead 2 for free on Steam!


Just click on INSTALL GAME, and even if you don't have the client, it will be unlocked to your account!

Go go go! Enjoy!

28 November 2013

Forbidden 403 when running RHEL Web Services (HTTPd) caused by "setenforce 1"

Been wasting most of my morning trying to figure out why a basic Apache Web Server won't run properly on my RHEL box.

/var/www/html/ default index.html works fine but when I try to access a UserDir (e.g. www.example.com/~user) it throws a 403 Forbidden error.

All permissions are set correctly and httpd.conf is configured right.

chmod 701 /home/*
chmod 705 /home/*/public_html
chmod 604 /home/*/public_html/*.html

Checking the error_log file in /var/log/httpd shows that the client requests are being pushed to /var/www/html/ and won't check the /home/*/public_html location.

After doing some digging, I discovered that this error can be caused either by the server permissions being set incorrectly for each directory (most common), or by "Enforcing" mode blocking standard suexec calls.

Running "setenforce 0" I was then able to browse to the ~user home page.

The following information was derived from http://www.brennan.id.au/13-Apache_Web_Server.html:

Forbidden Errors (SELinux)
You may experience a "forbidden error" when attempting to access a users public web site (http://localhost/~alice), this is generally because the permissions are either set incorrectly, or SELinux is set to "Enforcing" mode which blocks the standard suexec call needed by the Apache server. Common error is the "/home/username" permissions.

To temporarily disable SELinux so you can test the access permissions, type "setenforce 0" at the command prompt. Typing "setenforce 1" sets SELinux back to Enforcing mode.

Use the following commands to permanently adjust the SELinux file security context so Apache can access user's public web sites.

### SELinux ONLY - Enable User Website
[bash]# setsebool -P httpd_enable_homedirs true
[bash]# chcon -v -R -h -u user_u -t httpd_user_content_t /home/*/public_html
### SELinux ONLY - Disable User Website
[bash]# setsebool -P httpd_enable_homedirs false
[bash]# chcon -v -R -h -u user_u -t user_home_t /home/*/public_html

10 September 2013

iPad Mini 256GB Fail

Someone I know just bought an iPad Mini 256GB from Hong Kong for $150...

Looks fantastic! Read more for the whole story!

20 August 2013

MyMemory.com is now Huggler.com and amazing opening specials!

The (really awesome, IMHO) photobook printing service MyMemory.com has changed ownership (well, I suppose not really ownership since Huggler was a director) and with it, changed name to Huggler.

There is a few opening specials going around but the most significant is this one:

Head over to www.huggler.com and buy one of these GBP30 photobooks for a mere GBP5 - that's around an 80% saving!

Enter HUGGLER5 in the voucher field and voila! Cheap photobook!

You can only buy one at a time but the voucher is reusable and if you purchase a photobook voucher, you have twelve months to complete your masterpiece. Just one thing to note, though, Huggler now charges for delivery so add on another GBP3 for the international delivery cost (but that's still a total of GBP8 and if you opt for a bunch to be delivered at once, you'll save on delivery fees I'm sure).

21 June 2013

Pairing LG remote to LG TV

Had a major headache trying to find how to pair an LG remote for a DR165 with an LG CRT TV.

Found out the way to do it was to hold down the numbers 1, 2, or 3 on the remote while simultaneously pressing the power button of the TV section of the remote while aiming at the LG TV you want to pair it to. This then trained the two to talk.

Hope this helps someone out there who's been trying to figure out this little nuance as much as I have!

12 June 2013

Fedora problems with dual screen in KDE: screens don't stay set on reboot

Tremendous frustration with Fedora and dual screen in KDE. When I use the System Settings option to configure my displays it works fine until reboot, at which point the dual screen reverts to a clone mode. I've tried the UI options pretty exhaustively and it still won't set past a reboot.

As most Linux users do, I eventually resorted to the Terminal to get this fixed. Here are the steps I followed:

  1. Configure your settings as you would like them to be permanently using the System Settings UI
  2. Go to Terminal
  3. Get your current display settings: "xrandr"
    1. Make note of the graphics interfaces listed as "connected" and their positioning, resolution, refresh rates

      Hint: you can extract similar information from ~/.kde/share/config/krandrrc
  4. Go to /etc/X11
  5. Create a new shell script (e.g. "sudo nano fixKDEdisplay.sh")
    1. Enter the details as you would like them to be set, based on your current configuration in (3)
    2. In our example:
      ### For DisplayPort card (ATI Radeon H6450)
      xrandr --output DVI-0 --pos 0x0 --mode 1920x1200 --refresh 60.0
      xrandr --output DisplayPort-0 --pos 1920x0 --mode 1920x1200 --refresh 60.0
      xrandr --output DVI-0 --primary

      Hint: if you used the krandrrc file above, replace the \n with new lines instead
    3. Save and quit
  6. Make the script executable (e.g. "sudo chmod 755 fixKDEdisplay.sh")
  7. Now make sure this script runs on every startup by going to System Settings --> Startup and Shutdown
    1. Autostart
      1. Add Script
      2. Run On Pre-KDE startup
  8. "reboot" to make sure
  9. Problem solved!

Resetting Google Chrome Sync to fix Sync errors

When setting up a Windows 7 laptop, a Windows 8 Laptop, and a Linux desktop, I use Google Chrome Sync to keep everything standard across the platforms. This worked beautifully with Windows 7, Ubuntu Chrome, and Windows 8 on a tablet but when I brought Windows 8 onto my laptop and started to use Fedora as my desktop, I noticed that the Google Extensions (applications, specifically) didn't synchronise.

After much troubleshooting and patiently waiting to see if more extensions would eventually appear (the bookmarks were fine) I decided the best course of action was to reset my Chrome Sync.

Here are the steps:

06 June 2013

Can't add rows or columns in Excel after Format As Table

If you find that once you highlight a few columns or rows in Excel and tell it to "Format as table" you are unable to add any more rows or columns (the option is greyed out in "Insert") then you have accidentally formatted the entire spreadsheet as a table. In other words, you've max'ed out on the columns and rows available.

To fix this, you must delete everything you are not currently using (i.e. select from the last column and go to the end of the spreadsheet, or from the last row and go to the bottom of the spreadsheet and then right-click and "delete").

You will now find the "Insert" option is available again for rows and columns.

28 May 2013

More Cell C contract considerations

It's no secret that I am a big fan of Cell C at the moment, and why not? They're offering the most simple and most competitive package options available: R1 gets you R1 of value; how much simpler can you get?

Previously I recommended going on a Straight Up 100 contract and paying for what you use from there (especially if you weren't sure if you would use the 100 minutes or more) but with Supacharge now here to stay, my advice shifts a little:

Whether you sign up on Straight up XX or Straight up XX Topup the contract values remain the same:

So we can establish that there is no difference between prepaid or postpaid and it's up to personal preference.

Well, that would remain to be the case if it were not for Cell C Supacharge being a permanent feature now with Cell C:

With Cell C Supacharge any top-ups on airtime will include:
  • Free Cell C to Cell C minutes
  • Free Cell C to Cell C SMSs
  • Free data
f you want to spend R200 a month, my original argument still stands: do not get the Straight Up 200; rather get Straight Up 100 and pay for the extra minutes if you need them. Of course, I'd even go so far as saying start on the Straight Up 30 if all you are concerned about is the talktime. The only loss on moving "down" the contract tiers is the lost SMSs and data; if this is a big deal for you then bear in mind the following:

An SMS on Cell C costs money to be sent, so if you use 200 minutes and 100 SMSs a month but start at Straight Up 50, you will be paying the same amount for the minutes but will be paying for 50 SMSs that would have been free if you had just opted for Straight Up 100 or Straight Up 200 to start with. Ultimately the choice is yours and depends on your requirements for data and SMSs but once you have determined which package to settle on, you should still make it on TopUp and here's why...

The bonus of Supacharge is the inclusive minutes and SMSs and data. It is limited to Cell C but it does open up a new consideration. If you are going to commit to R100 a month on Straight Up 100 then go for the TopUp option instead. You're protecting yourself from unexpected expenditure, sticking to your budget, and in the off chance that you need more airtime, you will score with Supacharge bonuses when you recharge.

A really sly individual may even top up R300, score themselves the usual R300 airtime (even to overseas destinations at the same cost as local calls) but also get a further 900 minutes to Cell C contacts FOR 30 DAYS (on top of the 900 SMSs and 900MB of data). The R300 carries over for three months and you will reap the benefits of, essentially, unlimited calls for the month to Cell C contacts. If you did not top up but spent the equivalent amount, you would miss out on the Cell C to Cell C minutes. 

Going for the R500 deal gives you absolutely unlimited calls to Cell C contacts but I think spending R300 over two months will be R100 more, give you just as much unlimited airtime, but carry over R600 of airtime (which is R100 more and lasts for two months).

Anyway, Supacharge gives some additional things to consider now... my vote is TopUp contract every time, for the time being at least!

Pocket: when you've got more content than time

I am a notorious link hopper. Since Netscape days, I have discovered how to break each and every browser that comes out to improve life for end-users. Opera, Firefox, Crazy Browser, Chrome, IE, you name it, I've run it to the ground. Multiple browsers, multiple sessions, multiple tabs, and so forth means no matter what machine I am running, it will be max'ing out all the time. As it is, I am using Chrome on an i7 with 8GB of RAM and it's buckling under the weight of my resource-intensive link hopping.

If I do have the lucidity of mind to 'read it later' then I invariably email it to myself but that just ends up clogging up my mailbox which is equally undesirable.

I have really needed a better way of consolidating my content together to save time and be more productive. Bookmarks don't do it, saving recurring sessions doesn't do it, so when I stumbled upon Pocket, my life's dilemma was looking like it was finally resolved!

Check out the intro video and some of the basic features and decide for yourself if this is the tool you've been looking for ... comments welcome!

Introducing Pocket from Pocket on Vimeo.

Sounds great, huh? Well read on to see if it's worth its salt ...

Where to find Pocket

Pocket supports multiple platforms:
  • Pocket for iPhone
  • Pocket for iPad
  • Pocket for Android
  • Pocket for Kindle Fire
  • Pocket for desktop web browser
    • Chrome Extension
      • includes a bookmarklet
    • Mac
Simply go to http://getpocket.com/ and be having it :-)

Features of Pocket

  • Pocket allows multiple email accounts to be assigned to one Pocket account; this means you can save links by emailing them to add@getpocket.com from any of your registered accounts and also receive shared items from other Pocket users.
  • As mentioned, you can add items to your Pocket Queue via email but you can now also do it from one of the 300+ integrated apps (such as Twitter, Flipboard, Reeder, Zite, Pulse, etc.)

Annoyances / dissapointments

  • E-mailing links only allows one per email which is a real pain; to send an individual email each time diminishes its usefulness and it would have been helpful to filter multiple lines in the email.

23 May 2013

Search Twitter history easily, quickly, and online

If you have a need to search Twitter history, then Snapbird is the ideal website for you - simple, smooth, and highly helpful - just open the link below and get searching!


DNS issues affecting SAOL.COM - may affect other users too

SAOL.COM has DNS issues. They have had these issues for a few days and to my utter amazement (read: disgust) they haven't emailed out an advisory to this effect so people won't know how to fix it even if they wanted to ... here's the fix (may apply to other ISP's too):

Use these DNS server settings - and

16 May 2013

Fedora: Missing Security Signature when installing any programs behind authenticated proxy

I've decided to make the plunge into Linux as my primary desktop at work; this is the only way I'm going to learn anything about Linux I suspect. Fatherhood has put paid to any efforts at home so this is my time, this is the hour, this is my future (blah blah blah).

I connect via an authenticated proxy (Bluecoat) so this may not apply to everyone but it's a guide for those that need it.

One of the very first things I hit when trying to install any applications on Fedora was an error about certificates.


When trying to install google-chrome-stable_current_x86_64.rpm (no comments necessary about Chromium please)...

Missing security signature
The package security signature is missing and this package is untrusted. 
This package was not signed when created.

Public key for google-chrome-stable_current_x86_64.rpm is not installed

From my limited understanding of how things work, this is because YUM is not configured to talk via the proxy and YUM doesn't talk to the System Settings. YUM must be configured independently in order for these installations and updates to take place:
  1. Open Terminal
  2. sudo nano /etc/yum.conf
  3. Insert three lines at the bottom of [main] section as so:
    1. proxy=proxy details:port
    2. proxy_username=proxy user name
    3. proxy_password=proxy password
  4. To make sure it worked, run sudo yum list
  5. If it has worked you'll see files updating.
Export the settings as so:
  1.  export http_proxy="http://proxy details:port/"
To make them persistent on reboots, add export command to the login:
  1. nano /root/.bash_profile
  2. export http_proxy="http://proxy details:port/"
To verify the settings have been entered into the environmental variables you can run one of the following:
  1. env
  2. env | grep proxy
    1. If you do not see http_proxy=(your proxy details:port) then something is wrong with the export command.
Once this is all done, if you try to install the program you should see it go through just fine.

13 March 2013

Using multiple DSL accounts on D-Link DSL-2750U (or simply, running half-bridge mode)

A fairly straightforward post but I found myself stuck for a while so hopefully this will save someone else the same level of frustration (and a few hours) -

The D-Link DSL-2750U doesn't seem to have an option for "half-bridge" mode; it's either PPPoE or Bridging. To allow you to have a default account set up in the router, keep it set to PPPoE and to allow users to dial-in to whatever DSL account they want on a PC, make sure the option PPPoE pass-through is enabled.

It's that simple, and now you can have a main account for home and separate accounts for your work machine etc.


26 February 2013

Cell C contract considerations - just my opinion on how to save some cash

Cell C is - at least on the surface - doing a lot right at the moment, which to me is really no surprise since they've got the former Vodacom CEO now!

Simplifying the contracts has been a breath of fresh air - R1 gets you 1MB, 1SMS/MMS, 1 minute airtime (at 99c per minute per second billing).

Cell C offers you a bunch of these "bundle" deals from R30 per month to R800pm.

The way I see this unfolding is unless you intend to use SMSs and lots of data, you don't want to pay for the bigger contracts, and here's my reasoning, by means of an example:

Allocated Minutes
Used Minutes
Out of Bundle Minutes
Carry-over Minutes
Cost per month
Straight up 100
Straight up 200
If you sign up for R100pm (100mins, 100SMSs, 100MB) then you can use up to 100 minutes without paying out extra. If you end up using 153 minutes, you'd pay 99c * 53 (which is R52.47) on top of your 100 minutes (R100) giving you a total usage for the month of R152.47. The alternative is to get the next one up - the R200 per month deal. In the same example above you'll use 153 minutes, bank 47 unused, and pay R200 - you've wasted R47 because if you're not using those 47 minutes, they're just sitting there slowly accumulating and eventually expiring. That's a R47 loss per month on airtime you're not using. 

This is the important factor: Banking the minutes is irrelevant with Cell C because you will be storing up minutes you've not used, that you've paid for, and won't ever get around to using (exhibited by your average monthly usage) whereas the reverse is better - only pay for what you use and that's it - no risk of banked minutes expiring or paying for airtime you won't use

Of course, the ONLY benefit to the extra R100pm on contract is the additional 100MB and 100SMSes but if you don't plan to use that much data, you're better off with my idea.

Over one year the Straight up 100 will cost you R1 829.64 and the Straight up 200 will cost you R2 400.00 which is almost four months paid up on Straight up 100.

So, in my opinion, pay for what you need and then go on pay-as-you-use because you won't end up with extra minutes being banked. The cost per minute remains 99c out of bundle anyway, so actually from a pure talktime perspective, it's cheaper to go with 99c per minute than the R1 per minute in bundle.

25 February 2013

Outsurance R400 promotion is a farce

Okay, so the heading is a bit sensationalist but it gets the attention it requires.

Basically, I am venting, and what better forum to vent than on my personal blog with its tens of thousands of visits?

Outsurance is so confident that it can offer you the cheapest premium around that it to give R400 to anyone who doesn't receive a cheaper quote from Outsurance.

Their text is as follows:

We are prepared to pay anybody R400 cash if we are unable to beat his/her current car insurancepremium when quoted on a like-for-like basis. It’s quite simple, if our quote on your car is more expensive than what you’re currently paying and you decide not to switch your insurance to us, you get cash. If we are cheaper, you get cash through your monthly savings with us. It’s a win-win situation for anyone that is not already an OUTsurance client.

The important bit is this: "if our quote on your car is more expensive than what you're currently paying and you decide not to switch your insurance to us, you get cash."

When I phoned Outsurance to get a quote on my car, I was given a price of R50 more per month than my current premium with their competitor, and told them I had a comparative quote from King Price Insurance for R300 cheaper per month. I genuinely could not understand the difference and asked the call centre agent - Julian - to help me get a lower premium.

Julian was adamant that I should not consider King Price. He threw arguments at me about how King Price is an unknown entity because I've never had a policy with them before and they are new upstarts and so on. I responded by saying I've never had a policy with Outsurance either so they're also an unknown entity for me and if Outsurance is - by his reasoning - so spectacular now then it must be remembered that they also had humble beginnings so I could not ignore King Price possibly growing into the same perceived league domination as Outsurance has today. I then said if Outsurance can't beat my current premium, I want the cash.

Julian simply refused to pay out, saying I had obtained a quote last year so I can't qualify for it again. I pointed out last time the quote was around five Rand cheaper so I didn't move across to Outsurance because it wasn't worth the admin and pain. Julian insisted I don't qualify again, and I said I have never qualified before - am I now being penalised because a few months ago I chose to not move across to Outsurance so I am disqualified now from getting the payout?

After a long and draining argument with Julian growing incredibly rude and cocky, I spoke to his call centre manager (Karl) and obtained some explanation that the last quote was received within the past 186 days (six months) which disqualifies me from getting a payout.

I don't understand how that's possible since I have never qualified before but there you have it - if you have ever received a quote from Outsurance up to six months prior - regardless of whether it was more or less - you cannot qualify for the R400 payout.

I wonder if I get my wife to phone in whether it will still reflect on their system...

10 January 2013

Digital Photographs - how, what, where, why

The year is 2013 and it's well into the 21st Century now so it's safe to say we are in the digital age.

In the digital age almost everyone has a digital camera (either a dedicated one, or a cellphone, or a tablet, or a friend with one, etc.). It goes without saying, then, that with these digital cameras we are making digital photographs. As time goes by, and as storage expands, and as life goes on, we are taking more and more pictures and before we realise it, we are heaped with thousands of pictures that take up a whole lot of space. Finding a way to store these pictures securely is one thing, finding a way to organise them is another. Both are challenges that some of my friends and I have been facing for years, and since we live in South Africa and seem prone to house invasions, the need to store our pictures securely is a most pressing one.

Of course, it doesn't just end with "where" to store the pictures - being able to store our pictures securely AND preserving the metadata that we've spent hours of our lives adding to each picture is first prize because no-one wants to have to redo the metadata each and every time we recover our pictures.

Over the course of the next few posts, I will endeavour to unwrap the solution/s that my friends and I have considered over the years and which solutions we've settled down with. Hopefully someone out there will find this information useful, and if there's something even better than what we've settled on, you'll tell us about it!

Most of this conversation is derived from my buddy Hoky and I deciphering the best way forward to preserve our pictures (or in Hoky's case, what ones he has left after several unwarranted home invasions).

Our primary objectives are:

  • Find a site that 
    • allows unlimited photo storage, 
    • provides unlimited lifetime, 
    • stores original photo sizes, 
    • permits bulk downloads.
  • Find software that allows us to 
    • embed metadata into the images rather than rely on a 3rd-party installed application that manages the metadata (if it crashes, we don't want to lose the metadata)

Below are some of the areas we'll explore in these posts (TBC):

  • FREE storage - Facebook, Google+, Flickr
  • Photo printing sites - Snapfish, Shutterfly
  • Organiser software - Picasa vs. Windows Live Photo Gallery