Tuesday, August 28, 2007 - 07:59

Another Telkom Ripoff

I know, it's not exactly news that Telkom is ripping us off, or that Telkom's monopoly and backwards thinking is bad for the country.

But I came across a new way that Telkom is ripping us off, and it's one that I certainly wasn't aware of, and I'm sure most people don't know about it.

I noticed a bunch of phone calls on my last Telkom account, from my landline to a cellphone, which weren't answered, didn't go to voicemail, but were charged for.

Astonishingly, I got a reply from Telkom today saying that the charges are correct. Their explanation is that even though the calls weren't answered, they crossed to another network and thus will be charged for.

This is pretty shocking - I'm sure most people aren't aware that you're charged for any call from a Telkom line to another network, regardless of whether or not the call is answered! I suspect it's not actually legal, although Telkom would probably say that it was 'answered' by the other network, therefore it was connected and will be charged for. So all those "missed calls" that you make are actually costing you money - you might as well chat to the person for a minute, because it's costing you the same. And because the minimum call charge is so high, this is even more of a ripoff. And don't try testing your ringtone by phoning your cell from your landline, becasue it's going to cost you each time you try it out.

I wonder when this started, and whether other networks do the same thing. If I phone a Telkom line from my Vodacom cell, and I hang up before anyone answers, will I be charged? Or, if we take Telkom out of the equation - if I phone a MTN number from my Vodacom cell, will I be charged then if the other person hangs up without answering?

So be aware that you might be able to cut down on your phone bill by not phoning cell numbers that you think might be engaged, that you think the other person might not answer (even if you don't let it go to voicemail), or that you think the other person might not be able to take your call and might hang up without answering. Kinda cuts down on the usefulness of the phone system, doesn't it?

Labels:

Sunday, August 26, 2007 - 07:07

Problems With Properties

I've always been a bit suspicious of properties in C#. It just seemed a bit dangerous to be actually calling a method when you're seeming to just be setting a value.

Of course it depends what you use properties for. If you're using it purely to, say, check that the user has permission to set that value, it should be fine. But properties are so useful that they tend to be subject to feature creep. Why not set value A at the same time as you set value B? Since A depends on B, it makes sense to set B in the setter for A; that way they will always stay in synch. But now you're introducing side effects that aren't immediately visible when reading the code.

Here's one that bit me the other day: if A should always be rounded to two decimal places, why not do the rounding in the setter? Then you know it will always be rounded. Well, yes - but then you run into this situation:
myPropertyA = someValue;
myPropertyB = someValue;
if (myPropertyA == myPropertyB)
doSomething();
else
doSomethingElse();
And you find that counterintuitively, doSomethingElse always happens instead of doSomething. Whereas this works as you expect:
myPropertyA = someValue;
myPropertyB = myPropertyA;
if (myPropertyA == myPropertyB)
doSomething();
else
doSomethingElse();
Or at least it does if you're not doing anything odd in the setter. It's also easy to give in to feature creep in getters; after all, does it really matter what the real stored value is if you can control what is provided when that value is asked for? Instead of rounding in the setter, for example, you could round in the getter - so the unrounded value is still available by other means, but most code will see the rounded value. The problem is that it's not clear what you're going to get. If I call a method 'GetRoundedValue()', I know I'll get the rounded value. If I use a property, I think I'm getting the stored value but I might really be getting any manipulation of it.

So I tend to keep my property code basic - provide (or deny) access to values, but don't manipulate those values unless you want to have to trace through every step to see what your code is actually doing.

Labels:

Thursday, August 16, 2007 - 07:37

Couches and Coricraft

So with moving last week, I've had to go shopping :-) I've got a lot of stuff from before I left, but I needed to get some furniture, like a computer desk, mattress, and couches.

I looked all over for nice couches, and just couldn't find anything I liked. And not just not at a reasonable price, but not at any price! (Well, except for some lovely leather couches at R20000, but that's a bit more than I'm willing to pay).

But then I found some lovely couches at Coricraft. Slip-cover, so easy to clean, and incredibly comfortable. And on sale! The only catch is, they make them up specially for you, so it takes 4 to 5 weeks. And I've seen a lot of bad things about Coricraft on the net - delivering late and damaged, etc.

But they're so nice that I ordered them anyway. They're just so amazingly soft and comfortable!

I was pleasantly suprised - their original estimate was pretty much spot on (I got a call after 4 weeks saying that the couches were ready). The only problem was with delivery - apparently I live in a morning delivery area, so they didn't want to deliver in the afternoon, which is the only time that anyone was available to be at my place to accept delivery (a bit of a cheek, considering how much delivery costs!). But I got it sorted, and they did deliver in the afternoon, and when they were delivered they were in excellent condition.

So kudos to Coricraft, and hopefully this post will counterbalance some of the negative things I've seen about them :-)

Labels:

Online Again!

Finally I've got broadband! Dealing with Telkom is always tricky, but it actually wasn't quite as bad as I thought it would be.

I moved last month, and so I needed a new telkom line installed (well, activated, since the physical line was already there) and thereafter adsl.

Picking up the form wasn't too bad, although they neglect to tell you on their site that you need your ID book to be able to apply. Amazingly the telkom shop wasn't busy, but nobody could tell me if a deposit would be required, what the criteria for this were, or how much it might be (and I'm not prepared to pay a deposit, since you only get it back when you cancel your line, so it's effectively a donation rather a deposit). I actually still don't know, since you can't get a realtime balance, and you only get your first account about two months after your line is activated!

When I picked up the form, they said it might be about 2 weeks for the line to be installed. The next working day, I was amazed to receive an SMS from them! But it quickly turned to dismay when I read that the installation date has been set for 30 July - *5 weeks* from when I applied. Remember that there is a physical line, etc - all they have to do is plug it in at the exchange (although for some reason they still need access to my premises, requiring a day off work). This is so ridiculous - how do they expect to get new customers if that's the fastest they can get it done? It's insane. Oh, and did I mention that for this privilege of waiting 5 weeks for installation of nothing much, I have to pay them R432?

Telkom phoned me up about 4 weeks later, and left voicemail saying that they'd be installing on Sunday! Which was pretty cool, except that they didn't give a time. And trying to phone 10219 was useless - it just rang and then cut off. Phoning the telkom shop was useless, because it said that their voice mailbox was full (this was while supposed working hours). Eventually, I got through to someone who put a note on their computer system that they should only come in the afternoon, and that they should phone first. Sunday, just after lunchtime, I got a call saying that they were on their way. And about an hour later, I had a working phone line. So that wasn't too bad. It still took far too long, I think - they really need to start processing these installations more quickly. But at least it was done relatively painlessly (in retrospect, at least).

I then applied through WebAfrica for a line and usage package, and after two days they told me that Telkom told them that my exchange isn't enabled. Which was odd, since it's a fairly major exchange. So against my will, I applied through Telkom, and the install's gone through just fine. Ether Telkom's being extremely anti-competitive, or WebAfrica caught them at a bad moment and might have got a better answer if they'd tried again. Either way, pretty shoddy of Telkom (not that we expect any better!)

My adsl was apparently activated after just one day, but it took them a week to let me know (and, more importantly, to put a comment in the 'comments' section on their system to say that it was activated and that I could fetch the modem). Then I had a problem whereby the verification step of the self-install had failed, but didn't give an error message. That was sorted relatively easily, by phoning them on 0800 375 375 and asking them to reset the 'verified' status to nothing (and they even work 24 hours a day, which is impressive!). After that, it worked beautifully - and it's much faster than I expected! (Which is great, seeing as my Vodacom connection has been terrible lately - but that's another issue).

Thanks to all the mybroadband guys for help and advice :-)

Labels: