Educating the world

Our blog has over 10,000 readers a month

Yii commands I keep forgetting

October 15th, 2014

Been using Yii for a while now and there are several functions that I need to use from time to time that don't seem to want to stay in my brain. Most of them seem kind of obvious now that they are in front of me which is why this is so annoying!
It's usually quite difficult to Google them because they are related to doing ordinary Yii type things and so I can't make the search specific enough to narrow it down.

Here is a pretty good guide to creating URLs in Yii2 which contains the things I want (amongst others) but these are the few I use when I need them.

Creating a URL without the wrapping anchor tag

This is handy when you need to generate a URL in order to place inside some Javascript.



echo Yii::app()->createUrl("recording/scheduler_data");




Creating Javascript names using compatible with Yii models


echo Chtml::activeId($model'model_field_name');

Produces: RepeatRecordForm_repeat_from


echo Chtml::activeName($model'model_field_name');

Produces: RepeatRecordForm[repeat_from]

More to come but I haven't got time to dig them out at the moment.

Historical Pubs in London UK

September 24th, 2014

I have taken all the historical pubs listed in The CAMRA Regional Inventory for London - Pub Interiors of Special Historic Interest and plotted them on Google Maps.

If you are planning a pub crawl around London and would like a selection of pubs with really nice olde worlde interiors then this is the map for you.

If you think I've missed any pubs them leave a comment and I'll update the map.

How to pay Corporation Tax online

September 18th, 2014

Got a letter through the post from HMRC to say that my Corporation Tax direct debit had expired after a year and as a result my latest Corporation Tax payment had failed. HMRC had been plugging "pay by direct debit" for a while and last year I went to all the trouble of setting it up in order to pay it. Corporation Tax is an annual tax against the profits of your company so imagine my surprise when HMRC said they cancelled the direct debit after a year!

I phoned up HMRC and tried to ask them why they would cancel a direct debit on an annual payment after one year. They kept saying that the Corporation Tax value was different each year so I couldn't reuse an old direct debit again. I told then that my VAT payment was different each quarter and yet that still worked. This vexed them so they took my details and said someone would get back to me.

Due to the payment rejection (and being away) my deadline was upon me and I had to pay it today. Went to HMRC's website and started reading their documentation which takes you around and round in circles.

My confusion was caused by assuming that the Corporation Tax direct debit payments would be handled in the same way as VAT payments which are quarterly. Essentially, I work out what my VAT liability is each quarter then go to the HMRC web site and enter the values into the 8 magic boxes, and the site calculates what my total payment should be. Sometime later HMRC direct debits that amount from my account. Paying VAT is akin to paying my mobile phone bill each month.

I was reading the payment documentation with the assumption that paying Corporation Tax would be the same but it is subtly different.

When you enter the VAT details into the 8 magic boxes HMRC automatically creates a new direct debit instruction with the bank details you have assigned to paying VAT along with the payment amount it has calculated. This instruction is added to the system (on your behalf) and the money is debited from your account in due course.

Corporation Tax is handled differently because our accounts department has to fill in loads of forms which the finance director has to sign off as valid. Those forms maybe submitted online but the paperwork (with the signatures) still has to be posted. HMRC then creates a liability in the Corporation Tax section of the HMRC website. It is then up to me to create a new direct debit instruction with the amount we've declared and submit this to the system.

Each one of these direct debit instructions (VAT and Corporation Tax) can only be used once and then it expires from the system. My confusion had been cause by not realising that HMRC was automatically creating a new instruction for each VAT payment, and not doing that for Corporation Tax.

More confusion was caused by HMRC having an internal policy that it does not use a Direct Debit Instruction after a year. The Direct Debit Instruction Mandate is valid and everything it stands for is still active, it also still appears in your direct debit payment section as available to use. The trouble with their policy is that they do not inform you when this 12 month period has finished and it is not possible to find out when it expires. If you use the available and expired Direct Debit Instruction you get a letter from HMRC a week later saying that you need to set up a new Direct Debit Instruction because the old one expired, then they ignore everything you did. If you have set up a Direct Debit Instruction in the past you have to go through all your records to check when the last payment was or create a brand new Direct Debit Instruction with exactly the same details in it as your old one.

This confusion is further compounded by the fact that they do not use the same terms across their site to mean the same thing. "Direct Debit payment" is used to refer to a "Direct Debit Instruction" and a "Direct Debit Payment Plan" and so following the links to want you want becomes very confusing.

Now that we understand how it works it's still a bit of an arduous task to set it up. So here are some instructions to help:

  1. Goto and login.
  2. Click Services you can use from the left hand menu titled Main menu.
  3. Find the Corporation Tax (CT) section and click the Access Service.
  4. In the View account section the amount to pay will be shown as a link, click that.
  5. From the table click the date link you want to pay. This will take you to the Accounting period overview page.
  6. Find the line:

    When making a payment for this accounting period please quote the payment reference number 1234567890A00112A

    Cut and paste the long reference number and the amount to pay into a text file so you can use it later.
  7. Click the Your HMRC services in the top left corner of the screen above all the links for your Corporation Tax.
  8. Click Direct Debit payment from the Main menu navigation menu on the left.
  9. The table is a list of Direct Debit payment profiles. If you have used your Corporation Tax direct debit instruction less than a year ago then click the Direct debit reference link of the bank profile you wish to use, then click Add payment plan.
    If however you have not used this instruction in the last 12 months, which is more likely as this is an annual payment! Then follow these instructions to create a new direct debit instruction for this payment, as HMRC don't use them if they have not been used for over 12 months. Strangely, they don't cancel it or remove it from your account they just send you a letter if you try to use it and ignore what ever you did - how pointless is that?

    1. Under the direct debit profiles, click the confusingly named Set up Direct Debit payment. It should really be called "Set up Direct Debit Instruction".
    2. Click through the next page noticing you about signatories.
    3. Enter your bank details and click Next.
    4. You will be presented with a Set up Direct Debit payment page to confirm your direct debit instruction, so click Next to set up the confusingly named Direct Debit payment, when I think they mean "Direct debit payment plan" using their lingo.
  10. Select Corporation tax (CT) and click the Next button.
  11. Enter the 1234567890A00112A you recorded earlier, the amount and today's date (or The earliest date you can enter which is listed) then click Next.
  12. Check the details and click Next.
  13. There is now a useless Security check which asks you to enter your login credentials again, but if you have told your web browser to remember that information to help you (initially) login then your browser will just fill them in again for you. So click Submit.
  14. Make a note of the Direct Debit reference (and the Service User Number if you created a new direct debit instruction) so you have something to give them, if there is a problem.

I'm not sure why paying Corporation Tax isn't as simple as paying VAT, but hopefully HMRC are working on it.

The rules I live by

August 25th, 2014

Peter Tatchell guiding motto is:

Don’t accept the world as it is, dream of what the world could be, and then help make it happen.

Featured on BBC Radio 4 Midweek on 25 January 2012.

Maybe it’s because I had Peter’s quote in my mind that I spotted this quote from Eleanor Roosevelt:

When you have decided what you believe, what you feel must be done, have the courage to stand alone and be counted.

IMDB cast faces popup

August 8th, 2014

The Internet Movie Database is the best resource on the Internet for information about Films and Television. For the most part, their web site is great but some of the pictures in the cast list are a bit small and difficult to see.

Most of the time the actors and actresses profile photo is a pretty clear head and shoulders press shot which has been shrunk down to 32x144. There are, however, many not so famous actresses (and actors) whose profile photos are just grainy black and white photographs of them on set or shots of them in a film. After they have been miniaturized they are unrecognisable.

I really missed the Facebook style pop ups you get when you hover over someone's face. So I wrote a Greasemonkey script to fix it. Install the script and go to IMDB, look at the details of a film and hover over the image next to the persons name. The face will be enlarged with more detail and overlayed in the centre of the screen.

The current version of imdb-cast-popup.user.js is 1.1.

Install it and let me know what you think. If anyone would like to send updates I'll be happy to incorporate them here.

28 Aug 20141.1e4660cddfb7b1128269949d75c13ccfe
8 Aug 20141.0c5d33b72a4d1fb8ba53968957a9004ff