Sunday, 13 August 2017

Epic Adventure

As I say, I have just returned from a 7 day family cruise holiday on the Norwegian Epic - it was awesome!

OK, sarcasm over, it had challenges as I posted, but it is worth trying to put all of the niggles behind you and have fun. Sadly, for me, the biggest downer of the whole cruise was that my wife was ill, and no amount of insurance claim for her ticket really changes that. So let's move on and look at what was good.

Cruises are strange things...

One of the biggest plus points of a cruise is the reliability of the "floating hotel" you get. It is the consistency that comes with you as you go from country to country. Whatever conditions you find, you can always go back to the room and have the butler get you a pepperoni pizza, and sleep in a reasonably comfortable bed.

If I was trying to visit Italy, France, and Spain in a week by any other means I would have to keep packing and unpacking, would have a range of hotels and quality of hotels, and it would be a lot of hard work. A cruise solves that. For that alone I recommend them as a concept (even if not recommending NCL's craziness).

This trip we had some bad weather, not that bad, but enough to make sleeping harder. It was only a couple of nights. Usually it is plain sailing.


We booked in to the Haven, which is the top two decks on the Norwegian Epic. As Sandra was not with us I agreed to swap rooms with Mikey and Victoria, so they had the two bedroom cabin with Mikey's mum and I was on my own. It was almost certainly the right thing to do, but meant I could not set up a laptop, as no table, or living room even. Eventually I ended up with a chair in the bathroom by the bath and the laptop on a make-up table - but I looked good :-)


One of the nice things in Haven (more so on my last cruise) is the Butler. He would do things when you asked, like getting Pizza, or breakfast, or even just clearing the table. OK I only asked him to clear the table on the last day as an excuse to get him to the room and give him a $100 tip.


Cruises have some sea days (not docking at a port) but we only had one at the start. The rest we docked at a port. Mostly this is dock in morning and leave in evening, but some are funny, like Palma, which docked in afternoon. You can go ashore, look around, and come back, as you need. Unlike airports, the process is pretty informal getting off and on the ship.


What was really fun, and made my day massively, was when we docked in Rome. We decided not to bother with an excursion (we have all done Rome before).

I left the Haven area as some guests were being shown around, as Rome is a port for starting a 7 day cruise in its own right. They were having trouble getting in ti the Haven area. I moaned that the mag card readers on the door were crap, and walked on to the deck 18 "Posh club", noting oddly some laughter behind me. I thought little more of it.

Then, we went down to eat in the Haven restaurant, and had a table, and again some laughter. Massive double take - my mate Mike, and wife and two kids, were sat there on the next table. They were the ones I had just walked passed!

It was great to meet them all again. Mike had this booked months ago, kept it quiet, and even turned off iPhone location sharing just in case. They had been in Rome a couple of days before. That really made my day. Thank you all for sharing our holiday. They now have two more days and disembark in Rome.


Obviously, in any port, there will be a range of excursions. All bookable with your concierge, or via the app on the phone. These are a tad tricky - they are often more expensive and less flexible than doing it yourself, but they are simple.

We did a tour of Herculaneum. It was hot. The tour guide thought he was funny and laboured every point way too long. He could have reduced each five minute ramble to 30 seconds, and the whole tour be less than an hour rather than two. I gave up and went off taking video rather than melt any longer. However it was really interesting. I have made a video of my walking around and used his first talk (before we even got in to the ruins) as the sound track...

Sadly I left my phone on the bus. That was fun. We called it, and managed to get the driver to bring back to the port. After a lot of calls and messing around we met him and I got the phone back (gave him a 20 tip) and managed to re-board with 8 minutes to spare!!! Close call.

On ship

The ship also has a lot on it - not just a pool and slides and climbing wall and so on, but also bars, and restaurants, and shops. It is big. The Haven has exclusive areas, a separate pool and hot tubs. Not as good as your own private hot tub, and actually, this time, I did not even get my swimming shorts out of my case. Of course there are sun decks, and Haven on the Epic has a private sun deck, no children, and a bar... The "posh club".


There are a lot of restaurants, and the food is mostly good. There are some extremes though! The Haven restaurant was pretentious as hell, so much so I found nothing on the menu I would eat - that is until I found they had a children's menu :-) The other extreme is the Garden Cafe which is, well, amazing. It is crazy, with thousands of people milling around. It is a buffet, and they have all sorts, pizza, chips, indian, chinese, the lots, all just buffet style. We did have a snack there a couple of times, and one time Mike's family had dinner there at peak time, and said it was a total zoo! Don't get me wrong, it is totally "down to earth" food and not at all pretentious, the opposite. So mostly food I like, but if you can go to the specialty restaurants I would rather...

The steaks in Cagney's were really good - we went there (all 8 of us) for Mikey's birthday. The Italian place was really good too.

Oddly the chinese style restaurant, which was really quite good, was one of the complementary ones, though we (in Haven) had priority seating.


It was strange - we had lots of bars and could drink as much as we liked of normal alcoholic drinks, all included in the price, but I probably drank a fraction of what I do at home! I drank some cocktails, which were fun.

Gift shopping

There are, of course, lots of shops. Oddly, if you want diamonds, or watches, you are sorted. Loads of them!

The shops were slightly odd - they insist, even at sea, on charging 21% Spanish VAT, but they also show prices without VAT and have a "no refunds" policy, neither of which fit with being subject to EU law. The prices are also a joke, they start at 40% off the marked price when not having a 50% off sale the next day. However, you can get some nice gifts, which I did.


Well, like any casino, a way to lose money, and all that matters is how quickly you lose it. I lost $100 very quickly on four spins of roulette. Mike lost $100 with him, Mikey and Victoria, playing blackjack, but took nearly an hour to do it. Well done Victoria splitting two 3's, getting 7's on each, and then getting aces on each... But end of day the money went. Was entertainment, so worth every penny.


I took a lot of the time to read more of my Programming in Ada 2012 book. I will do an Ada blog some time when I have finished. I managed about a ¼ of the 1000 pages. Maybe I was strange, being in the bar, in the posh club, in the shade (obviously) in a shirt, reading an Ada book and drinking a cocktail. But that is me...

Epic fail? Thomas Cook and Norwegian Cruise Lines

I have just returned from a 7 day cruise of the Mediterranean on the Norwegian Epic. It was meant to be a family holiday this time, but my wife was ill at the last minute (she is getting better and I have to thank my daughter Louise for looking after her this week). We have insurance for her, but she insisted I went anyway, and so it was myself, daughter, her partner and his mum in two cabins.

I'll do a more positive post on the holiday itself separately I expect. Herculaneum was interesting (and hot). This blog is about the problems, and gotchas for anyone planning such a cruise.

Short story?

Simply put the holiday is sold as "all inclusive" so that you have "simplicity and relaxation", the idea that an all inclusive holiday means you don't have to worry, or even budget for "tips", it is all included. In practice everything you do needs checking to see if included or not, all the time, and there are a maze of complicated and confusing exceptions and rules and mistakes making the cruise a serious of annoyances and arguments from start to finish. Nothing is "simple" or "relaxing" about the rules and exceptions you encounter all day and every day.

Premium All Inclusive

The headline is simple. Always included are alcoholic beverages, soft drinks, bottled water, unrivald [sic] dining, entertainment, service charges, gratuities and more... Sounds perfect.

What's more, Premium All Inclusive is now included in your cruise fare, so not some optional extra. That is even better.

Unfortunately the truth is far from that - apart from the restrictions in the various packages (which I cover below) there is one huge gotcha right at the start. It is subtle, and I would not have noticed it. We booked through Thomas Cook, and asked for the best package, and they said nothing about this difference...

I have put them side by side from next years cruises on the NCL site...

One is "7-Day Western Mediterranean from Barcelona" and one is "7-Day Western Mediterranean from Barcelona - Fly & Cruise". You would expect the difference is "Fly", i.e. the latter is more expensive and includes flight and transfer, simple. This is presumably what Thomas Cook thought.

The prices are different, yes... Starting from £809 for the cruise, and starting from £1,176 for the fly+cruise. That is £367 per person for flight and transfer which is a lot.

But spot the other difference, the cruise has "specials" including "Premium All Inclusive". Yes, that thing that is "included in your cruise fair" seems not to be included in your cruise fair on the more expensive fly+cruise package. What the hell?

I really think Thomas Cook should have advised us properly - clearly if we want the best package, then this is not it. Indeed, it would be a better package, and cheaper, if Thomas Cook had also booked us flights and taxi transfer. That would also have been much more flexible, allowing a better seat on the plane, and a taxi that met us. As it was - departing we had to wait nearly an hour in a hot and humid airport for our transfer bus, and returning the transfer bus meant leaving at 6am and waiting nearly 5 hours in the airport. Yes, last week there was some strike, but not this week, and if we had a taxi we could have changed it and not had to be up at 5am (4am UK time) on our last day!

Even so, it does not excuse the fact that NCL state clearly that Premium All Inclusive is included in the price of the cruise. I really think we need to get Trading Standards to look at the whole thing.

Our first real clue to this was when we got the confirmation. Oddly, we did have several of the parts of the Premium All Inclusive, but not quite all. Spotting what is missing is hard as you don't know what is itemised normally. However, we did spot that in my cabin, only two people had the "Ultimate Dining Package" and "Ultimate Beverage Package". Why is that even an option? Why would one person not have things (especially if they are "included in the cruise fare")? Thomas Cook said NCL had made a mistake and NCL said Thomas Cook had booked it wrong, and we told them to just sort it, so the new confirmation showed the extra package for Mikey's mum. Yay!


The "Premium All Inclusive" is pretty clear in its headline, "always included: bottled water". However, that is not the case. It seems that the "Premium All Inclusive" includes a bottle of water per person per day in the cabin...

Now, we know this because my mate Mike was sneaky and booked his family holiday as the 7-Day Western Mediterranean from Rome, and surprised me by being on the next table in the restaurant when we were docked at Rome! He had kept it quiet for months. It was a great surprise and we then joined him and his family for various meals and activities until we left today. Nice to see Mike and his family again and a nice surprise.

Mike had two adults and two children in the 2 bedroom cabin, but he had 28 bottles of water in the cabin at the start. The difference is he booked flights separately (and more cheaply) so just got the cruise not the "fly+cruise".

However, even he found that bottled water is not in fact "always included", in spite of that very clear headline on the web page. They even try and trick you when you go for a meal as they start by saying "Would you like still or sparkling water?" - both choices are an extra charge, you need to ask for the tap water (which, in ship, is good quality water). Other than the water in the room, all bottled water is charged - very misleading!

It does seem a very strange restriction as you can drink as much alcohol as you like, but not bottled water. Why do that if not just to annoy people?


This brings me to the next restrictions which are even more confusing. Some coffee is included, it seems, not sure if included anyway or included in the "Ultimate Beverage Package", but not charged. E.g. my pot of coffee with my breakfast.

But Mike's son got a coffee from one of the various outlets on the ship, and was charged! This is because "Specialty coffee" is not included! Except, apparently, it is, when having a meal in the restaurant!

It gets worse, Mike's cards all have "UBP" (Ultimate Beverage Package) and "+C+J". He asked what he "C" and "J" are and was told "Coffee" and "Juice". OK, so why charge for coffee? Well no, even the "Coffee" add on to "UBP" does not include specialty coffee?!?

We are left wondering how many types of coffee there are and what coffee exists that is not in "UBP" but is in "C"?

The problem is, if you go to pretty much anywhere on the ship that serves coffee and ask for a coffee, what you get is apparently a "specialty coffee" which costs extra.

There is one extra coffee type - the room has a coffee machine with pods of coffee, which I know are expensive normally. Mike did not use it for fear it would be another charge and another argument. From what I can tell that is included!

Oh, and "J" for "Juice" does not cover freshly squeezed juice. But juice out of the plastic bottle is included in the "UBP", so again, what juice exists that is not in "UBP" but needs "J" add on?


The "Ultimate Beverage Package" covers alcoholic drinks, and these are "always included" according to the headline on "Premium All Inclusive". Well, sort of..

The main rule is drinks up to £15 per drink. It seems an odd rule - if I want a shot of a 12 year aged whisky I would pay the extra $1.75 as it over $15. But I could drink Southern Comfort all night for no charge. I suppose it does discourage people ordering bottles of wine and bottles of whisky so maybe not that daft. Most drinks and cocktails are below the $15 so not really an issue, but odd.

If that was the only rule, it would make sense, but as I say, the bottled water, and the coffee (unless with a meal) is excluded, and so is freshly squeezed orange juice, but also, it seems, cans of soft drinks like pepsi and red bull are excluded too. We started to wonder if they make it up as they go along! More confusing was when the cans were allowed as the mixer tap was playing up!

OK, so we have some clue on this, what of the mini bar? We established that the self service coffee in the room is included, and the mini bar has small alcoholic drinks under $15 which would be included if we went to the bar and got them, so that is included, right? Wrong! The mini bar is charged. Yes, you can go to the bar and get a drink for free (included) but not to the mini bar!

OK, what of sending the butler to get drinks. He can take the room card and get them and bring to room. Well, no, apparently that is not allowed either. The butler is not charged for (as part of Haven) but the drink is!

This led to some concern when the the Haven lounge, playing cards, nowhere near the bar... One of the bar staff found us and asked if we wanted a drink. They took the card to the bar, got drinks, and brought it all back. Apparently that is included. But the butler doing the same (and from some rooms that is a shorter walk), it not included?!?!

To top it off, Mikey's mum got stung for drinks because her room card does not say "UBP" on it. Now, we got Thomas Cook and NCL to add that for her, so it should be on the card, but the bar staff were adamant, and charged her! It was the last night and I was sick of this. We had not had issues with meals and no "UDP" on her card, oddly.


The other thing that is part of the "Premium All Inclusive" is the meals. [Update: Reading the terms the specialty restaurants is part of Haven, not the Premium All Inclusive] Well, the whole ship has a lot of restaurants, and many are just included for all guests. Haven has one just for Haven guests and that is included. But there are "specialty restaurants" that charge extra. We had "3UDP" on the card, which is three meals in speciality restaurants.

Why three? There are a lot of restaurants, and if they were simply all included we may try a different one each day, and quite possibly would only use three in specialty restaurants. But by limiting it, we had to plan things and think of things. It was Mikey's birthday and we decided to go to one of the specialty restaurants for that. This meant that 8 people were now planning dinners to ensure they had one of the three inclusive meals left for that day. You had to think about stuff and plan instead of relaxing.

The other quirk was when Mike joined the ship. He did have the "Premium All Inclusive", clearly (he has the water!). Now, he was wary from the start (after being on the last cruise with NCL), so asked the concierge to explain it all. The concierge explained the drinks (though not all of the restrictions by far) and the meals and that it was three specialty meals, but that did not include the kids. He said it is only two per cabin. Well, oddly enough, that is what we had - why is that even an option NCL?

Mike was not amused, and the kids heard this, so when the kids were not there he ended up spending a long time arguing it with the concierge - how stupid is it that they don't get to go eat a meal with the kids, or more to the point that the kids now felt they did not want to eat in those restaurants as it meant running up a bill for dad! The concierge basically said he could not fix that, he did comp a show (remember, "Premium All Inclusive" always includes "Entertainment", but shows somehow cost extra!).

However, he then realised that the kids did have "3UDP" on their cards, so the concierge had basically lied when he said it was only two per room. OK, maybe not intentionally lied, but it shows that even the person working on the ship helping guests does not have a clue how the crazy system works on NCL ships!

Update: It occurred to me, the "Premium All Inclusive" is "Always included: Unrivald [sic] Dining". From what I can gather this does not include the specialty restaurants, they was because of Haven. But surely the "standard restaurants" are at lease "rivalled" by the "specialty restaurants"? Otherwise, how are they "specialty" or worth more money. That means the claim of unrivalled dining is not true.

Leaving the ship

When you get to the end of the cruise you leave the ship in the morning. People are put in different colour bands, and have luggage tags. The Haven have "gold" tags for priority.

What priority means is the luggage is all lined up in an area of the dock before you get off, and you can quickly find your own. At Barcelona, anything but priority meant the luggage carousel like an airport, and lot of waiting even when you are the first "colour".

There is another option! We found this on last cruise, but it apparently is on all of them: "Easy walk off". You just take your luggage with you and leave. You have flexibility of when to leave and you don't have to go hunting for your luggage. Even better, you don't have to pack everything but one set of clothes, toothbrush, tooth paste, shampoo, medications, phone charger, in the bag the night before and then carry all of that with you when leaving. I packed my marmite so did not have any on my breakfast, idiot!

In this case, as we had the transfer to airport, we were told we had to be on the "red" tags, which are 6am. The Butler confirmed that the gold tags could not be used as they were 6:30am and the bus would have left. He did not even mention "easy walk off".

In the morning, what actually happened, is before 6am was "easy walk off" only, i.e. no luggage was in the dock yet. We could have done that had we known! At 6am they called "Priority" (the gold tags) first. The priority luggage was all there on the dock and easy to find - we'd have seen our bags clearly as we came down the escalator if we had used the gold tags. Eventually at 6:05am they called "red", which we found was on the "blue" carousel (well planned there) and we had to wait ages for it. As I said, the transfer being so early meant nearly 5 hours waiting in the airport after a stupidly early start. Had we booked a taxi and our own flights it would have been cheaper and simpler by far.

Basically, never book a fly+cruise with NCL - it costs more - is more hassle - and has fewer inclusive benefits.


[update, added this section] One other thing worth mentioning - they charged 21% VAT even when at sea, which is odd, but did not seem subject to other EU laws such as the price tags showing VAT inclusive, and sale prices actually having been sold at full price at some point, or even that you cannot have an "all sales final, no refunds" policy.

But even the discounting was devious and meant to catch you out. They started with 40% off the ticket price, so I suggested it was still a bit much, and she said, OK I'll give you another 10%. But I saw what she did with the calculator - took of 40% then too off 10%, so total discount was 46% not the implied 50%. That would fool a lot of people too, and the fact she then added the VAT before showing the total makes it less obvious that it is not 50% of the ticket price now. She actually went one step further to convert to £ from $ to make it even less obvious what she had done.

Bending rules?

One of the reasons it was extra confusing for Mike and I is that we did the Norwegian Jade, and there the rules did not seem to matter. This was because we were in the 3 bedroom garden villa - one of three premium suites on the ship - the previous week our suite had Priscilla Presley, apparently! Not only did the butler get drinks (apparently he knew which bar staff were happy to accept him as just getting them as us), we even had one case when in the Haven lounge where I sent him for a bottle of Southern Comfort and he managed that with no charge! The fact that sometimes the rules do not matter makes it even harder to know what rules there are and when you will be ripped off!


Quick one on internet. The web site is clearer that it is 250 minutes you get now, it used to use words like "unlimited". So, well done NCL on that. On the ship it said if you have 250 minutes you can upgrade to all week (rather than 2% of the week) for only $85. I tried. I was charged the full $205. It turns out that even though the 250 minutes is per cabin, they put it against my wife's name, and when she did not show they cancelled it (no refunds). It took three days and a lot of nagging to get that fixed. It is also filtered like hell, and simply ssh did not work, even on alternative ports. L2TP worked though, and allowed me to have a working Internet connection and even IPv6 whilst at sea. It was 750ms base latency (satellite), dropping to 250ms in some ports (tunnel via US on land connection). Mostly very usable, but occasional peak load and 30s latency some of the time.

Update: I forgot to mention another scam - if you have the NCL concierge app, it shows you have a "message". To read it you can pay $9.99 for intra ship messaging - it allows you to message others in your party - presumably each person pays. I assume it is a "welcome" message. What makes this a con is that iMessage (text, not media) works when on ship anyway (presumably as the NCL app needs apple push messages) so if you have iPhones you do not need the intra ship messaging service anyway!

Not about the money

It is worth making a simple summary of the actual issues here.

Booking an expensive "Premium All Inclusive" holiday, especially with kids like Mike did, should be hassle free, indeed "simple and relaxing". They can go get drinks, and food, and do what they like, you all can, with no having to think about money or hassle or rules.

By having all these incomprehensible exceptions and rules, and even daft things like the meal thing being only three meals, you have to plan, ask every time what is included, and look out for catches constantly.

The stupid thing is the cruise is $10,000s, and I spent $1,000s in the gift shop, and even $100 for a tip for the butler (all gratuities are included!). The actual cost of the extra meals, or bottled water, is tiny in comparison and there is no way that it is any issue for either group to pay it. But you feel cheated if that happens. You feel cheated if you are charged for extras on an all inclusive package, you feel cheated when mistakes are made, so you feel you have to check what is included and complain when they get it wrong. (In case you had not guessed, money on ship is in dollars)

That is what can easily ruin a cruise, and stop the repeat business they should be wanting.

Friday, 11 August 2017

Public Interest

At present the Data Protection Act contains an exception for journalistic / public interest processing and disclosures of personal information - this is why the press can name people in stories, especially public figures.

I don't know if the new GDPR (General Data protection Regulation) stuff has the same exception - if not then the newspapers are going to be very strange, with no pictures of anyone, and even saying "The Home Secretary" will be identifying an individual, so not allowed. The exception must exist, surely?

Now, I wonder if it is public interest to state the full name of the person that works for British Telecommunications plc that has stated that BT is not a communications provider? I mean it seems such a stupid lie that he deserves "naming and shaming" surely?


I was not trying to make this yet another unhinged rant, honest, it was a genuine DPA/GDPR issue. Can I name the person?

Now, I was thinking, I could give his first name, which is Andrew, as we know many Andrews, even in BT, and so could not, as data controller, identify the person from his first name alone.

However, it got me thinking, The rule is, as far as I know, that anything which allows the data controller to identify the person, including access to other data the data controller has, or could get access to from third parties even, counts as personally identifiable data - even if the rest of the world could not use that data to identify the person.

So if I said "customer number 1209", to me, that is an identifiable individual, so that data, just "customer number 1209" is personally identifiable data, and I could not post it, even if nobody reading this knows who that is? Is that the case, really? Thankfully customer 1209 has agreed to that much data about him (or her) being posted in this blog post.

However, this BT person - I (as the data controller) can identify him from the "story". Just saying "The BT person that said BT is not a communications provider" is enough for the data controller to identify that person.

Basically, I cannot post *ANYTHING* about the story in any way without releasing personal identifying information - i.e. information the data controller can use to identify that person (given other data the controller has, or has access to).

Surely that makes no sense? Or is giving his identifiable information in public interest? If not, I cannot post the store at all. If so, then giving his full name is no more help to the data controller in identifying the person than the content of the story is.

So what is the question? Is the question "Is revealing personal identifiable data in public interest? yes/no". Or is the question "Is revealing this persons full name in public interest? yes/no?"

As I say, not an unhinged rant, a real question...

Dear OFCOM, can we play this game too?

I have recently been copied in to a couple of issues that some of my customers have had with BT plc. When I say BT plc, I mean the legal entity that is company 1800000, called British Telecommunications plc.

BT plc practice a form of corporate schizophrenia where they pretend to be more than one legal entity. Worrying this madness has spread to other organisations, notably the Ombudsman service that provide ADR (Alternative Dispute Resolution) for BT plc.

One complaint was against the BT Retail department of BT plc where an order caused another line to be broken, and the matter went to ADR. They case concluded with confirming "BT Retail sent the details correctly to Openreach", and basically that Openreach screwed up meaning case closed as ADR does not cover Openreach!

The other case is where The Ombudsman Service would not even take a case where Openreach were blocking a number port but would not tell anyone why, i.e. what "mismatch" existed, and BT Retail said there was no mismatch. They said they do not cover Openreach.

In one case, even though admitting that he (i.e. Openreach) is company 1800000, he kept insisting that Openreach was not a communications provider (a clear lie) and to contact his communications provider (which is company 1800000 and hence who my customer was talking to!).

This is, of course, nonsense. Openreach is BT plc; The contract these customers have is with BT plc;  The failure is by BT plc; The dispute is with BT plc; The ADR scheme covers BT plc. This needs sorting.

So the question to OFCOM really is whether this sort of stupidity pretend different companies is actually allowed. Can a company pretend that its different departments are different and hence pass the buck, blame another department, and get out of any liability even under ADR by doing so - a sort of internal force majeure. Is that actually valid?

If it is, then BT sort of get away with this crap, shame, but it also presumably means that A&A can tell CISAS that only our "sales department" are covered by ADR as only they sell to the public, and all other departments are not covered by ADR. This could greatly mitigate risk of any future ADR cases and allow us (unethically?) to "pass the buck" internally between departments with no liability.

If it is not, then can OFCOM please ensure that ADR schemes know that they represent a "legal entity" as a whole and not just parts of it, and that BT plc cannot blame itself for its own failings and get away with it!

Do courts agree with this lunacy?

In the mean time I have suggested, not as formal legal advice, just friendly advice, to both customers that they simply go for a county court claim against British Telecommunications plc, company 1800000. If someone from "BT Retail" turns up and says he cannot speak for "Openreach", then great, they can ask the judge for summary judgement as the defendant has not turned up. If someone from "Openreach" turns up and insists there is no contract the judge can be shown the contract with company 1800000, and again make a summary judgement as the defendant is claiming not to be the party to the contract! If both "BT Retail" and "Openreach" turn up, then one of them gets to take the blame for the error and again the judge makes a judgement against British Telecommunications plc company 1800000. I really doubt a judge would accept corporate schizophrenia as a defence or find it at all amusing.

Why do Openreach lie?

This is the statement from someone in Openreach today, and it is, in my humble opinion, a lie:

As I have said in my previous emails, Openreach is not a communications provider. We only maintain and install the network.

Why do I think it is a lie? Well, let's look at what a "communications provider" is exactly...

Communications Act 2003 section 405: “communications provider” means a person who (within the meaning of section 32(4)) provides an electronic communications network or an electronic communications service;

So let's look at 32(4): In this Act references to the provision of an electronic communications network include references to its establishment, maintenance or operation;

To me that is crystal clear that someone that simply maintains and installs [establishes] the network is categorically a "communications provider" by legal definition. Did I get that wrong?

What puzzles me is why they tell these lies - what have they got to gain by it? And if they do have something too gain by it, does that make the lie actually criminal fraud?

P.S. This is after he confirmed (eventually) that "Openreach" is UK company 1800000, so he is basically saying that British Telecommunications plc, company 1800000, is not a communications provider!

EU mobile roaming after brexit

I saw an article yesterday, well, someone read it to my whilst I was reading my Ada book, on EU mobile roaming.

The theory is that the "free" roaming in EU will continue after brexit because the Great Repeal Bill will maintain all the existing EU laws as UK laws when we leave, including the requirement to do the roaming at no extra cost.

First off, it may be that the deals the mobile operates have will indeed continue, and maybe we will retain the "free" roaming in some form.

However, a UK law cannot really enforce that. Right now the operators in UK and mainland Europe are all subject to the EU law saying they have to allow the roaming like this. When we leave the EU, those mainland Europe operators will NO LONGER be subject to that requirement when it comes to UK mobile operators roaming to EU as UK will not be in EU. So those operators can go back to charging UK operators a small fortune for roaming calls, texts, and data.

If the UK tells UK operators they have to allow roaming at same price as UK and the foreign operators charge a lot for roaming, what will happen? Someone loses out, or roaming becomes no longer an option. More likely is the operators which you can use when roaming get to be few and far between.

I also suspect that EU law retained in UK law will not necessarily force UK operators to allow EU phone users to roam to UK. After all, they are foreigners, and all that... So even the logic of reciprocal arrangements does not necessarily hold true.

Somehow the person writing the article thought UK law could bind all of these EU phone companies to play nice after we have left the EU - do people not think these things through?

Thursday, 10 August 2017

NCL Epic priority elevators

It is interesting reading some forums on this, e.g. here. Several rumours, so I thought I would document what I found.

When we were led on to the ship to Haven the butler did say there is priority elevator for Haven, but he had a laminated card saying Haven on one of the lifts holding it open, and we assumed he simply meant for boarding. No further explanation was given.

The forward/starboard (blue) elevators can get to the Haven (deck 16/17) and anyone can go to those decks. You do not need a card in the elevator. However, once on those decks, all the doors (even to the bar) need a card (and the readers are not good, so it can take a while).

The lifts also have a card slot outside by one set of call buttons, but I can confirm that really does seem to do nothing with guest cards. I tried and I saw others try. Also pressing combinations of door close and a floor do not help.

However, the card slot inside the elevator does do something with Haven guest cards!

This is how it seems to work - you insert the card and all floor selections and cleared and the display changes to say "PRIORITY SEVICE". Using card again cancels this mode.

You can then select a floor, the lift then goes to that floor, skipping all others, and goes back to normal mode. Simple.

Lift etiquette?

No instruction is given on lift etiquette, so it gets complicated. Indeed, a simple "do not enter an elevator that is not going your way" would be nice...

What do you do if lift has people in it and they have floors selected. Using priority takes over the lift, and clears all their floors. Not polite. Worse, you could probably take over a down going lift and send it up to your floor, even more impolite!

So, what if there is only one person, say you are going from floor 5 and want 17, but someone in the lift has selected 15. Well, seems polite to help them, use priority and re-select 15 as well as 17.

There is a catch!

If you do that you go to 15 and it goes back to normal mode, and clears the floors again, including your 17. You could now find yourself on a down going lift. If you are quick you can priority and 17 again. If someone coming on to the lift picks 16 you have the same game. If they try lower floors they probably won't register, so being impolite again.

Basically, it works well if you (and your party) are the only ones that get in to the lift in the first place, and so often works well if you are getting on at 17 and going down. Almost any other combination is at best impolite, and at worst means you end up not getting to your floor.

P.S. in spite of previous experience of someone getting on an up going lift at 16 and selecting lower floors, I have now seen many times that trying to select a lower floor on an upping lift does not register the selection (light on then off). Maybe the 16 to 17 is an exception simply because it will be down going in one floor guaranteed, with 17 being top floor. Maybe the lifts are each working in different modes, not clear.

Another catch...

One of the lifts has the mechanism to read the card missing/detached, leaving a hole in to which you are welcome to put your card if you never want to see it again. I am sure they will fix it soon.

I would suggest a small card or something that says how to use the priority service, and some tips own etiquette...

Monday, 7 August 2017

Lifts and idiots

Holiday rant!

We all encounter lifts (elevators) from time to time. On a cruise ship they are a way of life - almost anywhere you go is on another deck and some are many decks away - so unless you fancy a lot of going up and down stairs you use lifts.

This ship has 8 in the forward section, 4 that go all the way to the top decks (16 and 17).

The lifts always seem slow, and the reason, I have concluded, is not the lifts but idiots.

I just had this, and made the mistake of arguing with the bunch of special people that got on the lift.

I was going up to 17, the top floor. The lift stopped at 16, and people got on. OK, one floor (I would have walked), but no, they were going down!!!

I commented, and they said... yeh, go up then down.

As I tried to explain, this means they pressed UP on the call buttons (presumably as well as DOWN), so stopped me on my journey. If they had not, it would have gone to 17 and I would get out, and it would have gone down to 16 and let them on. They had delayed their journey by the time to open doors, get on, close doors, all on deck 16 on the way up, for no reason. And, obviously, going back down the lift would again stop at deck 16 for, well, them to get on! They delayed their journey at least this much and delayed mine as well.

They were all "chill, you are on holiday", and even commented that the lifts were terrible and slow. I tried to explain that this was primarily because of idiots like them delaying everyone's journey. It fell on deaf ears.

Of course they may even have been quicker if another of the three lifts reached them before mine returned, but worst case they delayed mine, theirs, and every other person on that down going lift, by at least 30 seconds and for no good reason.

It is not the only case, and seems to happen a lot - Earlier I was going up in a lift, and twice, as the doors closed, people dived in to go down, before the lift could move off.

If I was making a lift controller I'd be tempted to simple not accept buttons below the floor on a up going lift, and the converse, so they have to press them again when the lift changes to down going, just to cause them as much hassle as they caused other people. Arrrrg. As a software engineer I'd love to find an "answer" to this, but cannot think of a proper one. (Some interesting ideas in the comments below).

I have seen many other examples even in only one day on this cruise. So often the lifts stop on floors for no reason, and it is almost certainly people doing exactly this sort of stupid thing.

There is however one special case I had never even considered! Sharon (in our party) used the logic that, even though we wanted to go up, as the lift was above us she would press DOWN to, err, make it come down... That is one I doubt anyone could program for, sorry.


  1. I am not calling Sharon an idiot, I would not dare, and she would kick me in the shin.
  2. Someone (I think Sharon) suggested what I should have done when told to "chill, I am on holiday". I don't know why I did not think of it at the time. They had selected floor 9 (I think), so I should have backed down, apologised, and said yes, you are right - I'm on holiday so a little extra delay should not bother me, or you, and then pressed 16, 15, 14, 13, 12, 11, and 10 before walking off. I suspect somehow a delay in the lift would no longer be something to "chill" about. It would be a tad childish, but hey - I am on holiday - I am meant to be having fun :-)
  3. We have now discovered that our cards do something in the lift. They are not needed to get to decks 16 & 17, but they do instantly cancel all floor selections and allow me to select a floor or floors which it then goes straight to. Obviously it is polite to include the other floor(s) that were already selected by others in the lift when doing this I guess. Sounds like a recipe for more fun :-)

Saturday, 5 August 2017


I am in the rather odd position of going on two cruises this year.

I did a "lad's cruise" with my friends, as I blogged. Amazing trip, but the "family" holiday this year is also a cruise. This time it is around the med, with sunshine and things. I think I'll try and stay inside with air conditioning. The main thing I am interested in is visiting Pompeii, but the rest of the cruise I will probably be reading my book on Ada.

A family holiday is complicated when we have grown up kids, and this time it is with one of my (four) daughters and her partner and his mother. I do think in future we need to do other combinations, but obviously it gets complicated as we have grandchildren involved. One day I'd love to book both 3 bedroom villas on a ship like the Norwegian Jade and take all 5 kids with partners and grandkids in one go - but I suspect that will never happen, and would be, what's the word, fucking expensive!

Unfortunately this looks like one occasion that I will, for the first time, have to claim on some travel insurance as my wife is not well. I am very lucky that one of my other daughters is staying at the house and happy to look after her as she is insisting I go on the cruise and get pictures of Pompeii for her.

This will make it a very odd cruise I think. I feel terribly guilty going on the cruise without my wife. I did the last time, but this time she was meant to be coming! I would rather stay and look after her, but she is adamant. She may be on the mend, at last, but we head to airport in like 11 hours, so no chance she is coming on this trip, sadly.

Anyway, I have a much more compact "internet in a box" this time with a small AP working as client and AP at the same time connected to a FireBrick. It should allow me to do some work whilst on the cruise. I am planning to sort some Ada development environment on my laptop as well.

I may be rather odd, thinking of my holiday as a chance to read a book on Ada, in air conditioned room, but yes, that is a break from normal work and broadening my mind, it is good.

Friday, 4 August 2017

Contracts, payments, and @tesco

As I posted recently, we had an issue at Tesco where the till froze/crashed after authorising a contactless card. This created a slight deadlock where we could see, and show, that the card clearly authorised - it shows on the banking app as such, but Tesco insist it has "not gone through". The result is we left our details and left without paying (again).

Simple view

The simple view as a layman is easy - you can see that the "money has been taken". You have paid, end of story, why would you pay again?

How it works...

Having worked with cards before, and being reasonably up to speed on how such things work (often more so that people I speak in banks, sadly), I can see what has happened. The way card payments work is there is an immediate "authorisation", and later (usually of the order or two working days) the payment is settled, which matches up with the authorisation.

Once upon a time card statements arrived on paper every month, and so this delay did not really matter. With on-line banking it is a lot more obvious. The bank will "earmark" the funds when they see the authorisation, making the balance seem lower, waiting for the settlement. These days banks are letting you see the "pending transactions". Monzo go further and make it look like the transaction has happened, only in small print does it say "pending".

However, this settlement only works if the till / back-end system - has the transaction details. If the authorisation happens and then the details are lost, then they cannot settle the transaction.

In this case, what happened?

It is now three days later, the groceries at the same store (also on a Monzo card) have settled, i.e. no longer showing as "pending" on the app. The £20 for petrol still shows as pending. Experience is that this will show as a £20 credit some time next week if not settled, and at this point, after 3 days, it is not likely to be settled.

So we owe Tesco £20. I went in this morning, queued at customer services, paid the £20. However, get this, the man in front of me in the queue was in basically the same situation and was there paying £50. Apparently he paid on some other card, and from what I can gather he even got a receipt, but Tesco contacted him to say it had "not gone through" and can he come in and pay.

Is this a huge co-incidence, or a sign that Tesco (at least that Tesco/garage) have a serious issue?

Contracts, law and police

One interesting part of the debate is where things stood legally. Had we committed any sort of offence or breach of contract or what?

Firstly in terms of crime, an issue some people raised on irc (concerned we would get a visit from the police) - I am pretty confident on this, albeit not a lawyer, that there has to be some intent for there to be theft. It is clear we intended to pay - the fact we have the bank confirming the card was authorised shows we presented a valid payment card with sufficient funds. So any dispute from there on in is pretty much a civil / contract matter.

As for contracts - I doubt there is a formal written contract and even if there was one, we would not have seen, read, and agreed it. There is, however, a normal process for making payment which means presenting the card to the contactless terminal, and seeing that it did in fact read and authorise the payment. There is not normally a receipt in many shops. So one can argue that all of the actions normally require for payment were done by us, we did our bit, so not in any way in breach.

One person argued that refusing to "try again" showed intent not to pay, well, again, the discussion at the time was that we would be happy to pay if this does not go through, but we won't know that for a few days, will we? So again, clear intent to pay, just not intent to pay twice. It is also likely that trying again would mean £40 is reduced from the balance with £20 coming back a week later, inconveniencing us when we did nothing wrong. I am told that this is not always the case and some POS systems can indicate that this is an attempt to re-authorise, but no idea if Tesco tills can do that or if Monzo cope with that.

I think, contractually, the situation created an impasse that could not be resolved without waiting a few days to see if the payment is settled. Tesco could not prove that they would not submit the transaction for payment. We could not prove that they would. All we could prove is we did try to pay, and there is an authorisation, so if Tesco did have the details to settle the payment, or recovered them later, then Tesco could take the money. I therefore think the remedy for we we opted was spot on: waiting and seeing if the payment goes through, and then, if necessary (as we did) paying Tesco what is due at a later date.

What annoys me is they took around 25 minutes of hassling my wife for that to happen.

I also think that a judge would take a very much "average man in the street" view, which would be "it says on the phone bank app that I paid, so I have every right to assume I have paid". Who knows?!


We did not get a receipt, but that is normal for contactless anyway in many places.

I do however find it rather interesting if the other person in the queue got a receipt, as he says. I was always under the impression that a receipt is a pretty important contractual document. It confirms receipt of payment. You cannot have people saying later "it did not go through", else that makes the bit of paper totally meaningless.

Wednesday, 2 August 2017


This is likely to be the first of a series of blog posts over some months.

I am planning to learn Ada. For those that do not know, Ada is a programming language.

Why? Well, why not? I like to expand my skills and knowledge, and it is a good language.

I have used many many programming languages over the years, high level, object oriented, and even some very "special" ones like postscript and ps-algol. I have done a lot of assembler in a range of processors. However, at the end of the day my go-to language is C, more specifically GNU C (as it has a few invaluable extensions to normal C).

I like C for several reasons. It makes it very easy to work at a low level with the compiler generating code that you expect - or does it? Sadly, times have changed. Once upon a time I could tell you what the compiler is doing - but there have been two key changes. One is some very smart optimisation in compilers, and the other is the way processors (even relatively simple ones like ARM) pipeline and cache things. The combination of the two is a compiler that knows that some things that seem obvious are not so, because of the way the pipelining and caching work. You can end up with compiler output that is quite confusing to understand, but ultimately rather good. You almost have to consider RAM to be a slow peripheral these days, which is a new way of working for me.

I also like C because of the way it allows me to access bits and bytes as I want, or does it? The big and little endian nature of processors matters, and so does the way they handle 32 bit for 64 bit registers. C has types which you cannot always tell are as specific size. Indeed, in the FireBrick code we have types like ui8 and ui32, and so on, so we know exactly what we are dealing with. You can do that with C if you try.

I also like C because all of the libraries in linux, where I do most coding, all work with C interfaces and include files. This remains true and is actually a stumbling block for learning any new language. To be honest, the FireBrick code would probably have benefitted from being done in Ada from scratch as we do not have an existing operating system - we have our own. Sorry to Cliff who did suggest that when we started the latest design (FB2700, etc) - maybe it would have been a good idea.

So, I have started, and Ada is basically a simple procedural language like C, not fundamentally different in concept. Well, to start with. The syntax is different, and in some ways more verbose / wordy. So far it seems to have some very nice features. The data object definitions and very strict typing are excellent, and something we should all use (GNU C is not too bad at some of that). The explicit mapping of data to binary structures is nice too. A nice thing is the option for a shitload of runtime checks, including data types with strict ranges.

It also has good exception handling, which is useful in any system. It also has a multiple threaded operation and scheduling as part of the language - awesome!

My understanding is that Ada suffered from being the recommended, or even mandated, language for military projects, and so people steered clear of it. That is a shame.

Another point that appeals is that it is not a stagnant language - Ada 2012 is the latest version (I think). With C, you have C99 and GNU C, but it is not a progressing and updating language in the same way.

So far I have read a lot, and done the obligatory "hello world" program. I need to read more, and code more. There is a lot to actually learning a language. Far more than the Computer Science degree stuff - you have to really understand it in practice and be able to use it properly in an operating system environment. I have to find code I can make in Ada, and that is where the fun starts.

I work a lot in a linux environment. Lots of standard libraries, from mysql, to tls/ssl, and I use them. I need "bindings" to allow these standard libraries to be used from Ada rather than C. That is likely to be where the work lies.

So, reading a book and playing with code while on holiday next week I expect, and I'll report back. Can I "embrace" Ada as a language, or will this be a small diversion and intellectual exercise, or will I just forget it and watch TV? Yet to see.

Tuesday, 1 August 2017

Home secretary embarrasses herself, again

Today it seems that Amber Rudd, Home Secretary, has once again embarrassed herself by showing her total lack of knowledge of the Internet, encryption, and even logic.

Even if we accepted her arguments that encryption helps terrorists (as do white vans, the M4, and even sandwiches), the step of making secure communications systems weaker does not make logical sense.

If one makes WhatsApp, and similar apps, less secure for "real people" - does that stop terrorists using encryption? Well, no, obviously. Apart from using other common apps (only one app needs to actually do "end to end encryption" to be "useful") they can make there own - maths exists and so does encryption. Heck, you can buy books on it! Apparently terrorists groups already have apps for this - will Amber Rudd go and talk to ISIS and ask for back doors in their apps?

So the logic of actually making these commonly used apps less secure for everyone in order to help catch terrorists just makes no sense.

We then have the condescending and dangerous idea that "real people" do not need secure communications. "Real people" have every reason to keep communications private for lots of (legal) reasons. Oddly, MPs are reported as using WhatsApp simply because it is so secure. One can only conclude that MPs are not "real people" - something many have suspected for some time.

Either she is batshit insane, or stupid (in my personal opinion) or there is a motive to spy on everyone, not just terrorists and criminal. I am not actually sure which applies here. I hope people see how illogical these ideas are and treat them with the contempt they deserve. You do not have to understand encryption to realise this.

Why do we put up with such an embarrassing public figure?

And, to remind people, encryption can be done using pen and paper and dice... No apps needed!

Contactless technology @tesco today

Not a nice 20 minutes in Tesco today when their till froze after using a contactless terminal to pay £20 for petrol. My wife was made to feel like a criminal and my grandson sat in the car with me waiting was getting quite upset. The Monzo card app clearly showed the authorisation had gone through but they wanted her to "contact the bank". Well there is no point - the bank updates the app and shows the authorisation.

After 20 minutes I just gave them our name and address and phone number and said we are leaving, and walked out. Happy to pay if the auth times out or is reversed later, but giving my wife grief over their equipment failure is not on!

We shop in Tesco almost every day and on-line. Feeling somewhat cross now.

Monday, 31 July 2017

Very careful blog post...

I blog on many things, some I am closely involved in, some I have views on, and some I am puzzled by or curious of. This is a blog post in which I find I have to be very careful.

This is meant to be a discussion point, honest!


The actual definition of the word is simply someone that "likes" children. Well, we all like children, I have 5 and I have 2 grandchildren. I like children... If you are a francophile you like the French. It does not mean you want to have sex with all French people! Pedophile, as a word, has become more refined, not only someone sexually attracted to children but someone that actually commits illegal acts and abuses children. The word has become quite specific.

I have children (grown up) and grandchildren - I would be horrified if any of them, at any time in their life, were at any risk from someone even thinking of abusing them in any way, sexual or otherwise.

I personally have no sexual desire for children, and I feel that I have to make that clear when making such a blog post. I find the whole idea repulsive and wrong. The issue is that even someone wanting to debate such issues is at risk of being branded a pervert!

However, I also have no sexual desire for sex with men, and this is where the whole issue gets complicated.

We now, in society, accept that there are homosexuals. I know several, and I have nothing against them. That sounds condescending somehow, sorry - the fact that a person is gay or not really does not matter to me, and why should it? Yes, if I were not married, and I found a woman sexually attractive, it would matter that she was a lesbian, as I would not pursue sexual relations with her, but in general such things do not matter... We do not need to know or care of such things normally.

We accept that homosexuals, even as a statistical minority, are just as they are, it is the "way they are", and not a choice, and the same goes for a whole spectrum of people that "identify" as a different sex to their organs, etc.

These days the whole notion that we just know another people's gender is rather odd. It is locked in to our language and culture, but why? It probably stems from 500,000 years of that mattering and basically identifying if you can fuck someone or not. But in modern society it is not quite the same.

The world is changing and accepting that people's feelings and desires in relation to gender and sex are a fact of life and not a choice, or an illness, is now the way we view people. It is good.

I support this view. I have my, somewhat conventional, feelings and desires, but I completely respect that other people may have very different feelings and desires.

Except, when people are "cursed" with a sexual desire for children - that is different somehow, and for a very good reason. Children cannot consent to such things, and should not be abused. They are inherently vulnerable and absolutely need protection. The "desire" is not the problem, the "act" is the problem.

The issue is where people are "cursed" with that being "the way they are", and sexually attracted to children. Now, they can never legally, or morally, pursue that desire. Children are out of bounds, and rightfully so! But do we accept that is "the way they are" or do we assume they are "ill"?

If we accept that is "the way they are" then things like "dolls", and "cartoons", and even videos with young looking actors and actresses that are actually of legal age, should not be an issue - surely?

What you do in the privacy of your own home should surely never be an issue if nobody is abused. Right now, legally, it is an issue. Right now, cartoons of child abuse are illegal, and even some dolls are illegal to import, even a video if the person "looks" too young is illegal! The idea that a judge is trying to asses the age that a cartoon looks is crazy, in my view. Imagine if you have videos like Avatar - if that is sex with an alien that is depicted as under 18 Earth years old, as that is how they are depicted as being mature on their world - that matters in law now!? How crazy is that?!?

The idea is that such things are a "gateway" to abusing children. I am no psychologist, but is that true? or is it only true because such things are already the wrong side of the law? If they were all allowed, but actual abuse of children was clearly where the line is drawn, would allowing such things, in the privacy of your own home, help such people live out their lives without actually abusing children? I really do not know!

Maybe this is where I do not know enough? Maybe this is simple and such things lead to actual abuse? If so, then maybe the law is right as now.

It only makes sense to stop them if we consider them "ill" rather than "the way they were born". So that is the question... How is it that a man attracted to a man is "the way you are", but a man attracted to a child is "perverted and ill"? What is the actual difference?

I will now be very non PC, and say that not only do I feel the whole idea of sex with a child is inconceivably repulsive to me, but so is sex with a man. That is "the way I am", somewhat "regular heterosexual". I am not meaning to be offensive, that is just the way I was born.

I imagine some gay men I know would find the idea of sex with a woman repulsive too. At least they may find it unappealing. That is the way they were born. That is life...

That does not mean I do not respect the rights of homosexuals to their life and desires and consensual activities, I do. But apparently sexual desire for a child is placed in a different category - why?

I post this actually to spark debate. I say this as someone promoting privacy, the very privacy that people in the whole transgender, homosexual, whatever, communities now, want and need. Privacy we all want, to be honest! Why is what you do alone or with consenting adults without physical harm in your own home not always legal? If you are one of those wanking over a cartoon or a doll of a child, does that actually harm anyone? Can we have some clear lines of actual harm, and harmless private fantasies here?

I always find it strange that we endorse fantasies over killing and carnage in films with no problem - serious issues, but nobody bats an eyelid over watching Die Hard or some cowboy western. Why are films over sex so much more taboo?

Or, is sexual attraction to a child actually "special" and "a mental illness" and not "the way you are", and if so, why? Really, why is that not just the way those people were born?

Comments welcome, and once again, I have to stress so much that I don't know any pedophiles, and I would not want anyone going near any of my children or grandchildren with such thoughts, sorry. I am rather prejudice myself on this - what I am trying to do is see past any wish to regulate people's private desires and fantasies in their own home. Really, what you do in your mind, your dreams, and your own home with no actual abuse, I really feel is not my concern.

I have a strong view that criminalising one's thoughts is an issue. If we are not careful, one day, we will have "dream police". And whilst I consider myself pretty "normal" in many ways, I would never ever want to be judged on my dreams and desires!

So..., comments?

P.S. Why that picture? Well, Carry-On films were made in a day when the idea of someone dressing up in a school uniform for fun in the bedroom was not seen as being wrong in any way - I am sure that featured in some of them, but could not find the relevant picture. Maybe I am misremembering. These days, a cartoon can be deemed to be depicting someone under age because it shows someone in school uniform, from what I understand of cases I have seen reported.

Maths test

This is an invoice from Viking (Office Depot International (UK) Ltd). I am at a loss as to how it is worked out.

The items are simple, there are £58.25 of items with 20% VAT and £53.98 of items with zero VAT. There is also a phantom £2.26 "Protection Plus", which I have no clue about and no idea if VAT applies or not.

The items are not clear whether they are quoting VAT inclusive or exclusive, as neither way do they add to the stated NET total of £102.23.

VAT of £11.06 is not right on the VAT listed items, whether they are VAT inclusive or exclusive and whether the £2.26 has VAT or not or whether it is VAT inclusive or exclusive.

Basically, I cannot find a way to make it add up at all. Any maths or accounting genius out there that can explain it to me?

P.S. Their customer service number is an expensive 0844 number which is a problem under current legislation!

Saturday, 29 July 2017

Honeywell RF stuff

Thanks to Mike, I have a selection of Honeywell RF stuff and a new RF RIO. This includes a PIR, Key fob, flood/temp detector, and smoke alarm.

The RF RIO appears on the bus as a device, like any other, and the panel (I am testing with a G2 here) allows up to 8 inputs on the RIO to be set up. This very much mirrors the normal RIO with 8 inputs, and they can be set to intruder, or whatever...

Each input is set with a "serial number" of the attached device, which can be auto detected, to save time.

The device can report a signal strength 0-10 out of ten, or as the panel says, out of 00 (seriously is says 10/00).

So far so good. It seems to work.

But why only 8 devices. Well, the instructions actually suggest that to avoid RF congestion you do not have more than 24 devices, so I assume other panels allow more than 8.

But looking at the bus, it is simple. I am using the V2GY protocol, but there is a later ALPHA protocol which is somewhat different, but for both the RIO simply reports status updates from the devices with its serial number.

Importantly the RIO does not care if the device is configured on the panel or not. Any device in range at RF level will be reported, including, it seems, around four devices that my neighbours must have! So any suggestions of avoiding RF congestion fall down when it is not in your control as neighbours could be using these devices in the same RF "space".

Indeed, any idea of limiting traffic on the bus is irrelevant as all these extra devices get reported to the panel even if it knows nothing about them!

I am working on including in my alarm code, and I will not limit to 8 per RIO - there is no point - all devices in range of a RIO will use RF and bus bandwidth anyway, so why not allow them?

I am wary of RF connected alarm bits, to be honest. I think wiring in is better. But this is progress for the alarm system to support these.

Playhouse alarm

The alarm project has been pottering on since I installed in my house. I have it working well here and on a bench setup. I have also been working on decoding more stuff such as the newer RF RIO and RF PIRs that you can get. They are fun. I can even tell when there is movement in one of my neighbours house - privacy implications I wonder?

It is all on GitHub now.

However, one thing I also did was wire up the kids' playhouse in the garden.

Yes, that is a kids' playhouse with swings, and slide, and Galaxy Max Reader, and big green exit button, and Galaxy keypad, and small (cabinet/drawer) mag-lock and (large) reed switches. The grandkids love it.

It has been, however, a good test, as I expected it to be. I wanted a platform with a working door that I could test on more accurately than my work bench but not messing up my house alarm and doors to my office here. An alpha test site, if you will. It has raised some fun issues.

First off, I needed a way to configure it so they could not in fact set the alarm and lock the door - yes they can get out by other means, but they were rather puzzled the door would not open. Easy enough.

However, the biggest issue I have is the bus is showing a lot of errors. I have retries, and they work, and the door works and the max reader works, but there are errors, several a second.

One thought is bus termination resistors. This is maybe 20m or 30m of cable, outside. The screen is not (yet) earthed. No termination resistors. The reason is that I found the whole thing fell apart when I added them.

I have worked out on a bench test that this seems to be a relatively simple matter. With the resistors, the bus comes cleanly back to zero after we transmit, and that causes us to catch a BREAK after we transmit, which we were taking as the start of a response message. A simple bit of code to ignore that and it looks like they will no longer be a problem. So that is one mystery solved.

Now I have a scope I can also see that we are nowhere near seeing nasty bus reflections or ringing to get in the way of things working without resistors. They are a good idea, yes, and will help in some noisy environments or long lines I am sure, but at 9600 they are probably not strictly necessary. In some ways the flaw in the design is the long (10ms) bus idle periods. A protocol with message lengths and overlapping bus driving turn around could have eliminated the bus ever being idle and made the whole thing a lot cleaner.

So lack of resistors does not explain all the errors on the bus.

So, time to play with an oscilloscope on that bus... This looks wrong!

Top (yellow) is the "A" side, bottom (blue) is the "B" side, and middle (red) is the difference.

As you can see, we only have one side. It looks a lot like this bugger is broken... The RS485 driver. This is the second one I have seen like this, the first was when I first was started the project and I wasted hours trying to find why I could not transmit. It seems only one side of the bus is driving!

I'll get another and I bet all of the errors go away. To be honest it is a miracle that the bus works at all with only one leg. Somehow it limps along and the devices cope.

It has, however, been a good test of the logging and fault reporting which clearly shows the bus errors and retries.

In the mean time, it is quite amusing watching a neighbours RF PIR tripping as they move about!

Thursday, 27 July 2017

Say the words three times, stand on one leg, what else?

After a couple of months I tried the Apple TV again.

Still broken, so I hassled Apple again yesterday, and to my shock they called back today saying they need some more logs. Can I make it go wrong three times and record the times.

This is sort of say "Bloody hell Apple!" three times, turn around, stand on one leg, sacrifice a chicken, burn special candles, throw salt over your shoulder, fuck knows. Does that conjure their engineering department. I hope so.

We will see. They say they will call back tomorrow for the details.

P.S. They did call back, as promised, and have the times so they can check logs...

Wednesday, 26 July 2017

Nominet Domain Lock

Nominet have a new service called domain lock, and it is described here.

A little while ago I got an email about this and was puzzled, not only that it was a chargeable service, or the disproportionately high cost, but also that it seems to be targeted at the registrars and not the registrants.

It looks like a lock that stops certain things, like change of DNS or registrant details, unless/until unlocked. It looks like the unlocking is done by the registrar. I would have expected locking to be tied to a 2FA that is known only to the registrant, but reading it, that does not seem to be the case.

The email explained, if I remember correctly, that the idea was to stop any risk of things changing without authorisation. That is odd, as surely any unauthorised change would mean someone was being negligent (possibly Nominet) and that the change can be quickly corrected.

It also does not seem to protect against DNS injection attacks, etc. This is something DNSSEC should do, and is something Nominet do not charge for.

As a registrar, we have ability (acting on our customer's authority) to make changes to a domain. There is the risk that our security checks are not good and we take instructions to make a change from someone that is not the registrant. We are careful, obviously. We have actually added two factor authentication to our systems (free of charge) to help our customers have the assurance that we would not fall for such scams. But having 2FA from us to nominate seems like a pointless step, if we lacked good security, we'd take bogus instructions, unlock the domain, make the change, and lock it again.

Indeed, one of the assurances registrants have at present is that, if they fall out with their chosen registrar, they can go to Nominet to change registrar and details on the domain directly for a fee. This means rogue registrars cannot hold people to ransom in any way. The domain locking feature seems to undermine that - as there cannot be any way to bypass the registrars domain lock by pleading to Nominet, obviously. If that was possible then it would make this service useless.

So I asked Nominet, listing some of the ways a domain could be changed without authority of the registrant or registrar... I really struggle to find many where Nominet would not already be negligent to allow such a change. But I asked about...
  • If the police ask for a domain to be shut down (I say "ask" as I am not sure proper legal authority to do so always exists or that they always present it in such cases)
  • If some copyright related notice requests a domain to be shut down
  • A court orders nominate to change DNS or other details
  • If someone takes a case to DRS and the registrant loses the case and domain ownership is to be transferred
  • If the registrar does not pay Nominet fees and the domain becomes overdue
Of course, if the registrar stops paying the domain lock fees, does it automatically unlock too?

I have not even had an acknowledgement of my questions, let alone a reply. I assume none of those cases are in fact "protected". Yet, dubious allegations sent to the police against a domain holder, or even hacking one of their pages and then sending allegations, or faking dodgy email from a domain, is one way for someone to "take down" a major domain if they want to, so something to protect against.

Can a company that has the responsibility for the integrity of a database really say "that's a nice domain, it would be a pity if someone was to make an unauthorised change to it, wouldn't it?" and start asking for such a large sum to do its job and protect the integrity of the database?

Have I missed the point of this "service" somehow? Maybe someone can explain the logic here...

Friday, 21 July 2017

warning: comparison between signed and unsigned integer expressions

This is one of the stupidities in the C language and it bugs me because it would be so simple for C to just code it correctly. I'd really like a gcc option to do this!

When you store whole numbers in binary you usually have a choice of signed or unsigned. The signed version allows negative numbers but at the cost of the range of positive values possible.

For example a signed char allows values -128 to +127, but an unsigned char allows values 0 to 255.

If you compare them, using ==, !=, >, or < for example, the operation converts the signed value to an unsigned value and then compares.


signed int a = -1;
unsigned int b = 1;  
if (a > b)
   printf ("a>b\n");
if (b > a)
   printf ("b>a\n");

This print a>b even though a is -1 and b is 1!

This is because -1, converted to an unsigned value, is a big number, in fact the biggest an unsigned int can be.

What pisses me off is that, even when C was invented, the code to make the comparison work would have been one check of one bit extra. Basically, whatever the comparison, you just have to check the signed value is negative or not before making the comparison. If it is negative that means it is not equal to the unsigned value, and is smaller than the unsigned value, so whatever comparison you were doing is decided by the signed value being negative before going on to do the comparison as normal.

To me this would have been a far more logical behaviour than changing the value of the signed variable by making it unsigned.

Thursday, 20 July 2017

More on pitfalls of redundancy...

Hindsight is a wonderful thing!

I have been having long discussions this week and today. Many have the benefit of hindsight.

For kit we have in Maidenhead we have two possible ways to connect to the world! One if via the local transit, a single point of failure link. Another if via multiple (well, soon to be) diverse fibre lines to different London data centres where we have multiple transit and peering.

Even before the second leg of our ring, one leg is a single transit and the other is several transit and peering links via multiple (pairs of) routers. And even that allows fallback via the single transit link, just in case.

The problem, as ever, is a partly ill link: one that seems to be valid for traffic but is not. We had that today.

Announcing their routes primarily via local transit could work, but transit back out to the world being local is more complex. We would be offering a less redundant, and somewhat specialised, solution...

So we have the issue of hindsight verses reality. Ongoing, a link with more redundancy is better. The last few days is was not...

So do we offer knee-jerk services that are technically worse looking forward? Or do we say no, this is shit that happened, and was only wrong in hindsight?