Banks suck

So, I have an account with Revolut.

I like their product and I liked them a lot, too, but they’ve become very successful and bigger and pretty rapidly have ended up being really just like any other bank – i.e. staggering awful.

Revolut require that you receive an SMS, if you want to transfer money from Revolut to a regular bank account. Problem is, SMS is not a reliable service; sometimes it doesn’t work from telco A to telco B, and sometimes you’re out of signal (but on wifi still) and so you can’t receive an SMS. Finally, some people are wifi only.

So SMS isn’t enough – but Revolut offer another method; you ping support in the phone, and they give you an authorization code, which you would otherwise have received in the SMS.

Problem is, the code is valid for *sixty seconds*. So you need to sit there, eyes glued to the phone, until support give you a code, and then you need to sprint over to the transfer and try to make it happen in time. I’ve never managed it.

What’s more, if you’re transfering to a *new account*, you have to enter all the account details *before* you can enter the code, and if the code is wrong, you can’t save it – you have to back out fully.

It’s *impossible* to use a code from support to make a transfer.

In other words, no one at Revolut has actually stepped through their process to see it works, and that means no SMS, no bank transfers.

This is bad, but what’s worse is the utter impossibility of getting anyone in support to even *understand* let alone *acknowledge* their is a problem.

So today, because of this, I spent an hour and a half going to an ATM and then a local branch to take out cash and pay it in by hand (Revolut still cannot grasp there’s an issue). It was raining, I got wet, and it too long enough I had no time for gym. I’ve not been for a week and I’m dying to go. I spent a fair part of the morning talking to support (and getting nowhere in any way, shape or form). I was frustrated and stressed, and then I realised it, and then I stopped talking to them. Basic take-away is Revolut have no support; if something doesn’t work, even if it’s a gross and blatant screw up on their part, you simply have to find a completely different way to solve the problem, *because you cannot communicate with Revolut*. They are unreachable; the wall of customer support is too high and too thick.

All in all, it’s just like a normal bank, and that’s why I stopped using normal banks.

Talking about normal banks, my idiot retard bank in the UK, the co-operative, have once again failed to managed the awesomely difficult task of *changing my address*. They’ve not managed this first time in at least five years now. This time I tried it on-line. You enter the new addy, confirm yourself with your authenticator token, and it then tells you it’ll take a day to change. Well, that’s not impressive anyway.

I check two days later, it’s not changed. I’m completely unfloored by this. I would have been floored if it HAD changed.

So I send a message to support, online.

Or I try to.

See, when you type in your message and come to hit send, you’re told “please enter a valid message”. It looks like there are characters the form checks for and will not permit.


So after spending a minute or so entering the initial message, and then five minutes fucking around trying to guess what the parser didn’t like, I wiped the message and asked support to give me the list of unacceptable characters so I *could* send them a message.

In fact, I remembered then running into this same problem at least a year go.

I sent the message. “We’ll reply inside 24 hours.”

I actually wanted to sign up for a gym now, but I can’t : partially because I couldn’t transfer money today because Revolut suck, and now because the Co-Op suck as well and not only have failed to change my address, but also to be able to accept messages from customers, or to reply to them in a timely manner.

In short, banks suck.

If there was any other possible way to keep money, I would use it. There isn’t, because the industry is so massively regulated there is no or almost no innovation. Everyone in the industry is huge, and there are very few of them, they all suck, and it works for them, because there’s no alternatives for us – we can’t *go* anywhere else.

I’m seriously thinking of moving to cash. Anything is better than this.

(Addendem. Turns out when you submit an address change online with the Co-op, what they do is, they send it to someone to do. It’s manual. It’s not automatic. This is why it take so long. Jesus Christ.)

Life and all that jazz

Non-lfds update.

I’ve just moved from Berlin to London.

It was pretty much a catalogue of failure.

Last time I flew out of Berlin I was heading to Athens for a day or two.

One of the metro routes had a bus replacement service (for two months) and after that, once I was back on the metro, turned out two stops on the S-Bahn to the airport were closed that week. Ended up at some random station with no signage to where the bus replacement service was, with ten minutes spare, and had to find a taxi on the street.

This time, the main metro line going up to Tegel was shut for about three stations, for one week, starting on the day I flew, on the station I board.

I was *distinctly* not impressed. Thumbs down for BVG.

45kg of luggage, an almost completely packed bus, tons of traffic.

Anyways, I left with plenty of time (and in future now I know BVG better I’ll leave with an extra hour) and arrived just fine.

At Tegel, the free airport wifi doesn’t work on my phone.

The reason is the activation page has some fancy javascript in – fancy enough it doesn’t work on all browsers. In my case, that means the Android 4.4 browser.

Srsly guys. The activation page for free wifi needs to be ABSOLUTELY SIMPLE. Fancy javascript? NO. *Mistake*.

I can use wifi from my laptop, though, since I have Firefox. Email doesn’t work though – seems to be blocked. SSH blocked as well, so I can’t log in and check email directly. No email for *me*, terrorist SSL-using fiend that I am.

The other problem with Tegel is THERE ARE NO POWER SOCKETS.

Srsly. 2017, God knows how many million people going through airport, and there are NO power sockets. It’s like being in the DDR.

So I get on the plane, we go to London City Airport (LCY).

At LCY, the free airport wifi doesn’t work on my phone.

Srsly. It’s like trying to travel to an aiport on BVG.

The activation page has a bunch of stuff like give me your email address, name, etc – and I’ll email you a confirmation code.

You fake all this stuff and then it sends you a confirmation code (needs cookies, but says nothing, so do it all twice) and *then* you find you can’t check email. Not if you’re using SSL I guess at any rate. You also can’t check web based email.

So… how is this supposed to work, exactly?

But you can file a support ticket if you have trouble with wifi.

I figure someone should tell them, so I fill it in and explain and hit submit…

…which takes you to a page which tells you your ticket not yet submitted because you need to check your email for a registration email to be able to submit.


Srsly. 2017, God knows how many million people going through airport, and *no one* walked through the process of what happens when people have trouble with wifi. It’s like being in the DDR.

Fortunately, just outside LCY, there’s a Costa Coffe, and they *do* know how to do wifi, i think because their income in part depends on it (unlike LCY, who just offer it to be nice and maybe to scam some personal details and so never notice they’re buggered it up), so I’m able to get on-line on my phone and convert some euro into sterling on my card and buy a metro ticket.

(Addendum : it’s the next day, and I’m figuring out my transport options around London. The Transport for Longon site has a “single-fair finder”, so you can work out the cost between two stations. It doesn’t work, at least, not for me, with Firefox. I go to their feedback page. The button to contact them also doesn’t work – just like in LCY yesterday. To misquote Michael Caine, “do not use bloody javascript in your bloody contact mechanism”).

(Addendum 2 : it gets worse. I tried the Android browser, thought maybe it would work there. In fact the TFL site *REFUSES TO DISPLAY* in Android. “This web page is not available”. I didn’t actually know it was possible to break a web-site in this way. Broken also in desktop view. I *think* they’re trying to do a redirect of some kind for mobile and it’s broken. TfL BTW receive last I heard five billion a year in subsidy from the Government. In Berlin it’s 81 euro a month for a metro pass zone A and B. Here, it’s 137.5 euro for zones 1 and 2.)

(Addendum 3 : Unbelieveable. It actually gets worse. I would not have thought this *possible*. I tried the site via Tor Browser on my mobile. It pops up a Google Captcha. Problem is, the Captcha is not fully visible on screen – it looks like in a box which has been pushed off to the right, where there’s hard padding on the left, so I can’t move it into view) AND it is unresponsive to touch, so I can’t select things anyway. So they have kinda a joke web-site, made to look like a web-site, but actually it’s like one of those children’s toys where everything you push makes a funny noise 🙂

(Addendum 4 : Given up. Four different browsers, two platforms, can’t get single fair finder to work. Tor in Linux came closest – I could fill in the to/from stations and select a ticket type – but hitting “show fair” did nothing. I’ll ask at the metro station and see if they can tell me.)


Been making position independent versions of the data structures.

So far : freelist, stack, queue (unbounded many many), queue (unbounded single single).

Made tests for the position independent stack, they pass.

Need to make tests for the rest, and also make the position indepenent btree and lists.

Have to think about the freelist elimination array and position independence (I think it’s just okay – works no changes) and have to think about position independence and the SMR methods.

Again, I think they just work – have to switch them over to offsets internally, but that’s all – so it should be possible to make position independent versions of the SMR-using data structures.

The next thing though will be a quick extra benchmark for the freelist, to properly benchmark the elimination array. Gym first though 🙂

Update – first offset-based data structure (for use with shared memory / user-mode to kernel-mode)

Been busy visiting museums the last three days.

However, have now a compiling freelist which uses offsets (i.e. for shared memory use).

Next, tests.

Then have to make offset versions of all the existing data structures.

I’ve opted to use a new API in each case, so the docs are simple to explain, and it seems reasonable that when an instance is being used with shared memory, it will be distinct in its use to other data structures. It would be possible to overload the pointers in the current data structures, so they’re used for offsets, and then you could do things like pop from a shared memory freelist and push to a non-shared memory freelist, but then you have to explain to users all the caveats about use, and users have to make sure they don’t blunder into error.

It also strictly breaks ANSI, since it means I have to assume a pointer type can hold all the values in a ptrdiff_t. I can’t imagine a platform where this isn’t true, but I know I don’t know much.


Both SMRs now passing their (prety minimal but actually testinge everything) tests, at least on x86_64.

Will run a build-system wide build in the morning.