When you explain something to someone and then ask “Does that make sense?” or “Did you understand that?”, if they answer “Sort-of” then they don’t understand it. At all.

DO NOT REPLY EITHER WAY – THIS IS A SCAM

I received two of these messages in the last two days:

Free MSG: Government Debt Help available, those struggling to repay can apply to have debt written off. To apply for more info txt YES or to opt out txt stop

Received from:

  • +447873457012 /07873457012
  • +447543041390 /07543041390
The Citizens Advice Bureau Logo.

Image via Wikipedia

This is one of many messages that are circulating as originally highlighted in my article Debt Settlement Order Spam Text Message. If you ever receive anything that remotely fits this template then delete it.

First off, there is no such government debt help as the message implies. There is a Debt Relief Order (Link to Citizens Advice Bureau), which is only available to people in very very very specific circumstances and who remain in those circumstances for the duration of the order. It also has some marked consequences, which are not to be taken lightly. You can find these by scrolling down through this article.

Moreover, Debt Relief Orders can only be processed through an approved intermediary (otherwise known as a “Competent Authority). These can be found by visiting this site. Note, the company that is touting for your business will NOT be an approved intermediary.

Again, DO NOT REPLY. And, if you can, post the number in the comments below. This will help people searching by that number alone find this article and avoid any potential trouble arising from replying. I’d also be interested to hear of any variants on this message that surface.

The sending of any spam IS ILLEGAL. The companies that use this form of marketing are equivalent to the people who buy stolen goods. These are not the sort of companies you want to do business with!

If you want to read more, can I recommend the above link. It contains a list of articles that I’ve written regarding this whole scam and its setup. I found the research both fascinating and appalling at the same time.

How Did they Get My Number?

The didn’t. They guessed it. For every sucessfully send text message there may be hundreds sent to inactive or non-existent numbers. See how it works in this blog posting.

Are You a Victim?

Screenchannel Television is making a new series about debt and loans and are looking for people to share their experiences. If have been a victim of this scam, or have even considered responding and are interested in taking part, then you can read more in this article.

Reporting

You may be report these messages to your provider. The following links may help:

Vodafone – How do I report spam text messages? Forward the spam message to VSPAM (87726).

Orange – Stop spam text messages. If you are on Orange and get spam messages, please forward them to 7726 free from your Orange phone. By doing this you are helping Orange to collate information to help reduce spam messages being sent to you and others.

02 also allow you to report on 7726. See: SPAM and unwanted subscription texts

I would also try forwarding the message onto 7726 if you are with T-Mobile or Three.

You can also try NumberCop and DoNotCall.gov

Back in May 2009, the Guardian newspaper wrote an article Spam to go – the new mobile menace. It recommends a number of organisations you can contact.

To complain about an inappropriate text, call the Advertising Standards Authority 020 7492 2222 or go to www.asa.org.uk/asa/contact/

To resolve continual mobile spam despite texting “stop”, contact the ICO on 01625 54 57 45 or go to www.ico.gov.uk/complaints.aspx

For help with premium rate text spam, call PhonepayPlus on 0800 500 212 or log on to www.phonepayplus.org.uk/output/Make-a-complaint.aspxDue to a new legislation, those struggling with debt can now apply to have it written off. For more information text the word ‘INFO’ or to opt-out text stop.

, ,

Principles

Most developers are have instilled within themselves certain fundamental core programming practices. Possibly the most famous of these is the DRY (Don’t Repeat Yourself) Principle, which states that duplication can lead to maintenance nightmares, poor factoring, and logical contradictions.

But as with many principles in programming, there are always trade-offs, and times where the rigorous application of a principle can be unhelpful and even counter-productive.

The counterpart to DRY is WET (Write Every Time), and there are scenarios where it makes sense to duplicate code, as described in the articles: Write Every Time Dilutes performance Bottlenecks and Beware The Share.

The JSLint Error

Another principle that is preached almost religiously is the efficient management of resources, and one strategy for doing this is to allocate any resources as late as possible, and  release them as early as possible. The use of block scoping is a particularly common key for achieving this.

This gives rise to code similar to the following:

var a = 1;
if (x === a){
    var b = 2; //'try' giving variable 'b' block scope
    //do other stuff
}

In languages such as C++, C# and Java the above convention would limit the scope and lifetime of the variable ‘b’ to the ‘if’ block.

JavaScript, however, has no block scoping, and any variables declared within a block will be ‘hoisted’ to the top of the nearest scope when the code is picked up by the compiler. This is either the nearest containing function, or global scope. In short, this will make them visible outside the originally intended scope.

JSLint is all about reducing bugs, and had the author of this StackOverflow question run their code through JSLint, then they may never have had to ask a question at all.

Adding (Pseudo) Block Scoping

If you really wanted to enforce scoping down at this level then the following convention might help:

var a = 1;
if (x === a){
    (function(){
        var b = 2; //give variable 'b' (pseudo) block scope
        //do other stuff
    }());
}

Here we’ve wrapped the code in an anonymous function, and invoked it immediately (thanks to the set of parens at the end).

But JSLint Stops Scanning

Yeah, sometimes it does.

I have tried to remain neutral in all my posts on JSLint messages to date. Here, however I am going to jump off the fence and offer a sentiment of bafflement.

JSLint deems some errors so serious that it immediately ceases scanning. For me this is understandable in the event that it encounters utterly unparsable code and literally cannot continue, however, I just don’t understand why it must stop dead with the following:

for (var x=0; x<10 x++){
    //do something
}

And it appears I am not alone. A very similar query posted on the JSLint GitHub repository failed to yield any explanation before the thread was closed.

Any ideas anyone?

A Guide To JSLint Messages

This article is one of a series on the error and warning messages produced by JSLint.

, ,