How I Nearly Got Arrested for Going on the Train This Morning

Yes, seriously.

I get the train into Charing Cross from Brockley every day.  I tend to use an Oyster Card because, well, it’s convenient.  Except when it goes wrong and you have to deal with a bunch of people in India to try and get a refund.

This morning the ticket barriers at Brockley were broken.  No way to swipe in with my oyster card.  In fact the barriers were in pieces and there was no way to use any kind of ticket!  I checked with the staff (evidently a lot of people were confused) and was told to go through anyway and that I’d be charged at Charing Cross.

So with some deep misgivings off I went.  09:17 Southern train to London Bridge then the SouthEastern service to Charing Cross.

When I arrived at Charing Cross the gate staff said they’d seen a few people from Brockley with this problem and – clearly disinterested – told me I’d have to pay the full fare for a single ticket.  That’s 40p more than the fare I’d have paid with Oyster.  I questioned this, pointing out that I’d tried to pay the correct Oyster fare and that no additional cost had been mentioned they refused to negotiate and repeatedly told me it was “just the regulations”, “I’d have to complain to Tfl for a refund in writing” and there was nothing they could do.  When I asked in return for the staff to give me a written explanation of why they were imposing the excess charge, they refused.

They further explained that the inflated fare was covered by the Oyster terms and conditions – but didn’t offer a copy or say whether those terms applied, given I had not been informed of the additional fare or been given the opportunity to decline it.  Can you be bound by a contract when no money has changed hands and nobody’s told you the price isn’t as originally advertised?

I suggested I use my Oyster card to pay the correct fare at that end of the journey but was told “the system isn’t setup for it”.  Then I suggested I simply pay the correct Oyster fare in cash and was told that – despite having remained polite and calm throughout – that I would be arrested if I tried to leave the station without paying for a full single ticket.

W. T. F.

Eventually I and another passenger with the same problem called the police over and they apologetically explained they really would have to arrest us if we wouldn’t pay the additional fare.

And that was that.  Basically imprisoned at Charing Cross or forced to pay a higher, unannounced fare.  I’d played nice, remained polite throughout and tried to follow the rules.  So much for that.

Whoever employs the staff at Charing Cross – let’s talk about this.  Overcharging passengers at the far end of the journey when it’s your own equipment at fault and threatening them with arrest if they don’t submit to the mafia-style shakedown is truly beyond the pale.  Furthermore, telling passengers at Brockley they could pay at the other end but neglecting to mention the price would be higher – isn’t that simply fraud?

I know it’s only 40p but seriously, Tfl, SouthEastern, what the HELL are you playing at?  What kind of a service threatens its customers with a criminal record when all they try to do is pay the advertised price for something?

NB: SouthEastern/Tfl/whoever – so as to avoid the popular “privacy forbids us from discussing individual cases” excuse – you have my full permission to publicly discuss what happened this morning.  Please, I really want to hear your version.

 

Posted in CrapCompanies, Travel | Tagged , , , | 12 Comments

Silencing the Flood of Recruiter Emails with a Domain List

I get a torrent of email from IT recruiters.  There’s the occasional gem; every once in a while someone really does want to get interesting work done on scalable web-facing UNIX platforms.

But the rest is utter dross.

“Your CV came up in our search” they bleat, “we have an excellent opportunity for you to earn £15k+bens per year as a Windows support monkey in the bowels of some godforsaken corporate in Wolverhampton”.  “See what a great favour we’re doing you”.

 

It isn’t a favour.   They aren’t your mum and they don’t have your best interests at heart.  Some can do a passable impression of competent, empathic human beings (from experience I’d say about 10%) but most are illiterate swaggering liars who don’t have a clue what all those acronyms on your CV mean.  They want your commission and they’ll say anything to get the meat (that’s you) into the grinder.  They look and quack like estate agents but cost ten times the price and have even less regulation.

So this torrent of adverts for jobs I won’t like.  Most are from lazy agents who’ve done a simple keyword search (I suspect using copies of my CV they’ve illegally scraped from job sites and dumped into their own database) and mass-mailed a tragically effusive “this job is perfect for you!!!!” to any poor soul who came up.  Most turn up just after 6pm because agents believe you just love to get job adverts after a hard day’s work.  And god, their stunted attempts to make the jobs sound cool… there shoud be a special hell for anyone who actually refers to IT experts as ninjas and gurus or tries to link the job to some irrelevant current affair.

Any agents reading this: don’t try to make your emails fun, it instantly marks you out as desperate.  And a tosser.

For a while (for sport?) I’d occasionally reply to the least appropriate.  “Yes, I’d love to be a COBOL developer for a major retail bank…” to see how far along in the process I’d get.  But in the end the stream of invitations to apply for shitty jobs got me down.  Asking them to stop met with variable results; some people just can’t believe you don’t want to hear about their ‘opportunities’.

“Why not use my nerd-fu powers to filter them” I thought.  Screw it, how many could there be?

 

 

So the List…

84 so far and that’s just London.  They must breed like rabbits.

This is a non-exhaustive list of the domains used by IT agents from my email in the last couple of years.  It’s UK-centric but I’ll add suggestions from other countries.  Global namespaces FTW.

Download: Domains recruiters mail you from (updated 2011-10-31)

 

 

How to Use it?

Turn the list into a set of filtering rules in your favourite mail client.  For me it’s a joy incorporated into a sieve ruleset on my server.  As for the all-important gmail – I can’t find any way to import a bunch of pre-made rules.  Squeak if you have an idea.

Unless you plan to be in your current job forever I wouldn’t suggest routing them all to /dev/null.  Tag them and file into a “jobs” folder to plough through whenever you’re on a long journey.

Here’s a trivial python script to compile that list into a sieve rule:

#!/usr/bin/env python
f = open('recruiter_domains.txt')
doms = filter( lambda d: len(d)>2, f.readlines() )
doms = map( lambda d: '"*@' + d.strip() + '"', doms)
print "# " + '-'*70 + "\n#   Filter messages from recruitment consultants"
print "#   needs require \"fileinto\"; and require \"regex\"; at top of script\n# " + '-'*70 + "\n"
print "if address :matches \"from\" [\n  " + ', '.join(doms) + "\n  ] {\n    fileinto \"recruiters\";\n}\n\n"

See that recruiters?  YES I CAN DO “SCRIPTING”.  Do you know what a scripting are?  That’s one right there ^^

Disclaimer: I’m not responsible for, uh, anything.  Ever.  If this list of domains burns your house down it ain’t my fault.

What if you really do want to block them from your own domain?  If you run Postfix try this:

sed 's/^\(.*\)/\1     REJECT  Agencies not welcome at this domain/' recruiter_domains.txt > /etc/postfix/recruiters
echo "smtpd_sender_restrictions = hash:/etc/postfix/recruiters" >> /etc/postfix/main.cf
postmap hash:/etc/postfix/recruiters
/etc/init.d/postfix reload

Sorted; any email from a domain in that list will bounce.  But think about this first – you might be missing out on some great “opportunities”.

 

 

Finally…

I don’t hate all recruiters – just the lazy, incompetent, dishonest ones.  If you’re one of the few who’ve made a career out of matching up talented engineers with jobs they’ll love, go in peace.

The rest of you… it’s better left unsaid.

 

Posted in jobs, Tech | Tagged , , , | 2 Comments

Rule #1 of Marketing: Don’t Subscribe Me to Your Crap and Call it a Service

There are two kinds of people who carry multiple phones – drug dealers and IT consultants.  I’m the latter.  My second phone is a special one; tiny enough to not get in the way and carried solely so that the computers I run can text me when they’re in pain.  If I’m doing my job well this almost never happens but when it does the phone goes off like an air raid with PMT.

Yesterday afternoon it went off.  “Oh no!” I thought, “My babies are sick!”

But no…

Hi from Orange. You’ve been chosen to try our free new messaging service Bright Stuff! That’s news, competitions and exclusive offers from brands we think you’ll love, sent direct to your phone. For more info go to brightstuff.orange.co.uk (free to access in the UK only) or to opt out send STOP to 200000

This service sounds awesome.  You say you’ve chosen me to receive news, competitions and exclusive offers from brands you think I’ll love?  I feel honoured.  How was I chosen, a magical Willy Wonka ticket?  Have you been carefully watching my texts (occasional messages like “client-web-01 is unavailable” and “disk full, clean out yo’ shi”) and deduced that I’d just LOVE a stream of news, competitions and exclusive offers from brands you think I’ll love?

Doubt it.

 

How Does This Happen?

What is Orange Bright Stuff?  A quick Google reveals this

“At the moment we are inviting users to be part Bright stuff. For more info on the service visit http://brightstuff.orange.co.uk.”

 

No Orange, you aren’t inviting them.  Inviting means asking somebody if they’d like to take part.  You forcibly signed me up to it.

Who on earth thought this was a good idea?  I imagine the meeting went something like this…

“Hey, Tarquil, we need to find a better way of monetizing those cheap-ass PAYG customers. How can we screw more shareholder value out of the poorest section of our subscriber base?”

“I know Barry, let’s use them as a captive audience for advertising from other companies.  We’ll make a fortune.  But nobody really wants ads so how can we dress up a shit sandwich full of them to make it taste better?”

“Got it!  Let’s just send them to millions of subscribers who haven’t asked.  The ones who pay the least so it doesn’t matter if a few leave.  And we’ll throw in the odd bit of garnish so we can pretend we’re offering them a service.  We’ll send them news and competitions and adverts, all for free.  And if we send it to millions of subscribers by default you just know most will be too dumb or lazy to opt out!”

“Tarquil, that’s brilliant.  We can get paid to send ads to people and it makes the Orange News team look like they do something useful.  We’ve been trying to justify that news portal for years.  But if we can only compress celebrity gossip into 160 character texts and pump them down the lines mixed in with a torrent of shit we’ve got it made.”

“Barry, that’s a brilliant value proposition.  We’re both great. Marketing is so great.  Let’s all go and buy Porsches!”

 

Tossers.  They’re figments of my imagination and already I’m seething.

 

So You Want to Opt Out?

There’s more to the story.  I try to unsubscribe.  I reply to the message saying “STOP” (and have to change the number since Orange used a different sender number so if you reply without changing it your “STOP” doesn’t count. And back comes another message saying, roughly, “you’ve asked to opt out of Orange Bright Stuff. are you really sure? If you really don’t want to receive our torrent of crap text STOP to 200000 again.”

So I text “STOP” to 200000 once more (is this getting repetitive?). The phone bleeps again.  Hurrah, are we done?  “You’ve now opted out of Bright Stuff and the service will stop in 24 hours time [why? does it take 24 hours to update the "don't send pointless crap" field in your database?] To opt out of other marketing messages from Orange call 450″

Note the “other marketing messages”.  They haven’t used the ‘M’ word before, they know it turns us plebs off.

Wow.  Orange, you’re really determined to send me marketing.  Isn’t two STOP’s enough to convince you I don’t want it?  Or is this just a ploy to make opting out reeeeally hard so customers will stop trying and you can boast to advertisers about your massive reach? And, er, what’s to stop you changing the name of the service and signing me up again?

I call 450, hit 2 and then 4 (hope this saves a few seconds of someone’s life) and am told I’ll have to pay 25p to be customer services representative.  Orange, WTF? I have to pay 25p for service?  And finally I get to explain it all to a nice Indian-sounding lady who checks the “do not send this guy rubbish” box on Orange’s intranet. She promised to refund the 25p but only after I’d asked.

Corporate marketers – here’s a quick, simple rule. Your customers will NEVER thank you for signing them up to marketing crap.  Don’t act like some tinpot spammer, unless you have something good to tell your customers leave them the hell alone. One-off mailshots about things they really care about (special offer, everything free today) might be okay but signing them up for a shitstream you’re probably making money out of?

Nice one Orange.  You’re sending a very clear message that says “we don’t give a damn about service, you don’t give us enough money so we’re going to make more out of you”.

Posted in CrapCompanies, Marketing | Tagged , , , , | 7 Comments

Fail of the Day: Federal Express Europe Inc.

Latest rant: FedEx.

A month ago I had a parcel shipped from the US.  A week after the parcel arrived came a letter from FedEx saying customs charges needed to be paid.  “Fair cop” I thought as I scanned the invoice.  But wait, what’s on it?

  • £10.84 for the customs charge
  • £10 “administration fee” from FedEx

Errr, say what now?  Where did I ever agree to pay some unspecified “administration” charge?  And what work have FedEx done to justify £10?  Greedy f*ckers.

 

 

The FedEx Website

The invoice has a URL on it – which I assume is for online payment.  I go to the FedEx website and try to create an account.

Fail!

“Oh well” I figure, “their website must be really busy on a Sunday night”.  I email FedEx about it and resolve to try again on Monday.

Fail again!

Nice one FedEx.  Greedy, incompetent f*ckers.

 

 

The Post

By the close of play Monday nobody’s replied to my email so I write them a letter.  Something along the lines of “what’s all this £10 administration charge about?”.  Since I don’t dispute the customs charge (well, except morally – why should one have to pay to import equipment that can’t possibly be made in one’s own country?) I include a cheque for it.

A few days later the cheque gets cashed.  Since the letter was wrapped around the cheque it’s certain that someone at FedEx has seen it.  From this I infer FedEx accept £10.84 is all they deserve.

But wait, what’s this?

On June 25th I get home to find an “overdue invoice” letter.  FedEx seem to have noted my payment of the customs charges (they’ve knocked £10.84 off the invoice amount) but assert the rest is still due.  No attempt to respond to my dispute, just a big scary “OVERDUE INVOICE”.

Nice way to look after people, FedEx.  This goes out tomorrow; I wonder if you’ll have the manners to respond?

 

 

Monday 27th June

Dear Sir/Madam,

Earlier this month I received from FedEx an invoice (no. 5-431-32874) for customs charges applied to a parcel shipped from the US along with a “clearance administration charge” of £10.00.

Since the service I’ve received in this instance was  poor (broken website, no response to emailed communications) and the invoice contained no information on what “administration” FedEx have performed, I queried it.  On June 7th I sent a letter with a cheque for the £10.84 customs charge (which I do not dispute) together with a question about why you feel entitled to levy a £10 fee on top of the sum already paid to you to transport the parcel.

It is certain that FedEx received this letter since you cashed the cheque enclosed with it.

You have not deigned to reply to my original letter querying the £10 charge you’re trying to impose.  Instead you sent an overdue notice, acknowledging my payment of the customs charge but claiming £10 is still due.

So I’ll ask you again –

1. WHAT services have FedEx performed to justify a £10 “administration” charge?
2. WHAT agreement have I made with FedEx to pay any charges you deem fit?
3. WHY when I queried the original invoice have you twice ignored my communications, despite cashing the cheque included in the most recent?

As I said in my letter the level of customer service you’ve displayed in this instance is abysmal and it’s hardly reasonable to charge people for “administration” when you won’t even answer an email.  That you feel justified in sending me overdue notices while ignoring my query about dubious charges rather underlines the fact.  Is this the level of service all customers should expect from FedEx?

If FedEx want my custom in future I suggest you resolve the situation by abandoning your “administration” fee together with explaining why you’ve given such appalling service and some compensation for the growing amount of time I’ve had to waste chasing you over it.

Yours Faithfully,
Mr A. Hewson

 

 

Judging by this (unexplained “administration” charge, broken website, refusal to communicate about a queried invoice) I’d suggest anyone thinking of having stuff shipped to the UK with FedEx think again.

 

Posted in CrapCompanies, Letters | Tagged , , | 10 Comments

EDF Energy: How Not to do Online Billing

Dear EDF Energy,

I’ve had an email saying my bill is awaiting payment and suggesting I view it online.  This seems plausible; as a citizen of the developed world I use gas and electricity and I am indeed your customer. It ended with the boilerplate text:

“the internet is inherently insecure and EDF Energy plc cannot accept any liability for the integrity of this message or its attachments. No employee or agent of EDF Energy plc or any related company is authorised to conclude any binding agreement on behalf of EDF Energy plc or any related company by e-mail.”

It’s a fascinating statement.  An unqualified disclaimer would seem to render the entire email paradoxical.  I pondered this for a while.  Are you authorized to conclude a binding agreement with me that you don’t accept liability for the email?  Do I actually have a gas bill or is this some elaborate Kafkaesque logic puzzle?  And if you are authorized to make a legally binding commitment to the bill existing, am I authorized to believe it?

Continue reading

Posted in CrapCompanies, Letters | Tagged , , | 62 Comments

HTTP KeepAlive Considered Harmful

Isn’t that a wonderfully alarmist title?  A better one would be “HTTP KeepAlive harmful for modern high-traffic low-latency low-footprint websites”.  But then you’d have fallen asleep by now, wouldn’t you.

This was written to expand on an idea I touched on in the last piece about webservers – the idea that when a browser on a modern PC takes 250 milliseconds to fetch a web page, hanging around for a further thirty seconds just in case another request gets made is just plain selfish.

What’s All This KeepAlive Nonsense?

Image from Wikimedia commons

Remember when Internet Cafes weren't full of tramps?

We’ll start with a history lesson.  Think back to 1996 – a time when dinosaurs still ruled the earth, Oasis were in the charts and we printed out our web pages at the local cybercafe to read at home later.  The language spoken by web browsers and servers – the HTTP Protocol – was simplistic.  HTTP/1.0 really was basic: when your client (read: Netscape Navigator) wished to retrieve a page it would connect to a server, request the object, snarf it and then go away.

Continue reading

Posted in Infrastructure, Programming | Tagged , , , | 9 Comments

“Open” UK Rail Data: Media Coverage & Broken Appeals Process

Since my last piece on the saga of National Rail Enquiries shutting off public access to their data feed the problem has gained coverage in the Guardian and elsewhere in the press.  On Thursday I went on Radio 4′s You and Yours programme to bring more attention to NRE’s attempts to make money out of commuters.

Continue reading

Posted in Open Data | Tagged , , , , , , | 18 Comments

Awful Recruiter of the Year: Nick Blake of “Technical Identity”

I originally posted an entry about a particularly obnoxious IT recruiter on LiveJournal in July 2009.  Sometime in the last couple of months it’s been suspended by them for reasons unknown.  Here’s the entry in full…

Continue reading

Posted in Tech | Tagged , | Leave a comment

How to Survive a Slashdotting on a Small Apache Server

…so your plain ordinary webserver just got listed on a high-traffic news site.  Slashdot?  Reddit?  Hacker News?  Well done, turns out you’re hosting something thousands of people want to read.  Now thousands of people want to come to your webserver at once.

But you’ve got a problem.  Your server’s hosed and none of those potential readers can see it.  Worse, your story will only be top of the Slashdot/Reddit/whatever for a few hours and this means you’ve got to fix the problem right now before the world loses interest.  You haven’t time to buy new hardware, setup a complex load balancing solution or rewrite half your app’s codebase.  What are you going to do?

Follow uncle Alex’s checklist and we’ll soon have you back on the air.

This is written on the assumption that you’re running a standard, out-of-the-box setup on RedHat, Ubuntu, CentOS or some other common Linux distro with SYSV init scripts.  It also presumes you have Prefork MPM (the default), MySQL as your database and no other major apps running on there.  If you’re already running some funky config then this tutorial isn’t for you.

NB: Uncle Alex makes no warranties about his checklist and accepts no liability if destroys your server, fails to solve the problem, runs over your wife or sleeps with your dog.  Follow these instructions at your own risk.  But you’re desperate, right?

Continue reading

Posted in Infrastructure, Programming | Tagged , , , , | 41 Comments

National Rail Enquiries: License Application Refused; My App Still Dead

Remember last month (1, 2, 3) where National Rail Enquiries ordered me to shut down my free train times web app and locked down their data feed so only people whom they grant a license key can query it?

A month later they still hadn’t gotten back about my license application – even though I’m aware of several web developers who have been offered licenses to use the data feeds for their free sites.  So I sent Derek Parlour a polite email prodding him about the lack of communication:

Hi Derek,

Hope you’re well.  Has there been any progress on my application for a license?

Regards,
Alex.

Eight days later Derek replied to say they would not be licensing my use of this “open” data feed, and that this is solely due to the negative publicity caused by my posts about National Rail Enquiries greedy behaviour around its data feeds.

So much for free speech.  Even though NRE’s participant organisations (& therefore NRE itself) are funded by passenger fares and government subsidy if you criticize them you get punished: they won’t let you use the feed of UK train information.

Fortunately National Rail Enquiries are obliged by their code of practice to give a timely, written response containing their reasons for denying my website a license.  Unfortunately the person I have to appeal to is Chris Scoggins, Chief Executive of National Rail Enquiries – the very man who took umbrage last month when I quoted the three lines of the email where NRE said my free application was likely to face a license fee.

Here’s my appeal to Chris Scoggins in full:

Continue reading

Posted in Open Data, Programming | Tagged , , , , | 9 Comments