NOTSCO (Not TOTSCO) One Touch Switching test platform (now launched)

I posted about how inept TOTSCO seem to be, and the call today with them was no improvement.

It seems they have test stages...

  • A "simulator" to prove basic connectivity, well, sort of. See blog!
  • Pre production (i.e. live with another CP, but not testing against the specification in any way).
  • They may have a wider general pre-production stage as well.

They seem to be missing the obvious, a proper simulator platform that can simulate communications with another CP using TOTSCO, both ways. This has the aspect that the testing is against the spec, not against other CPs and their interpretation of the spec. It would be something to use whilst developing OTS for an ISP, and before going on to preproduction testing.

Missing link

So how do we address this missing link, a platform to test TOTSCO as if talking to another CP, but without actually doing so. Testing against the specification?

Well, we, like other CPs, I am sure, made some simple test systems before going to TOTSCO. But external testing is invaluable. Even if the external systems have it wrong in terms of following the spec (as long as they will fix it), they won't have the same errors as you have. The best external test would be TOTSCO, making a proper CP to CP simulator system.

But it does not exist - so, as you might expect, if you know me, I have made it, for free.

  • No need to book test slot, just sign up and use for as little or as long as you need.
  • Configure the responses you want to a match request.
  • Send a match request with various options.
  • Send and receive the various messages for a switching order.
  • Send deliberately wrong messages to test your error checking.
  • Test as you go, an ideal way to test your code as you develop it.
  • Logging and reporting messages each way, in detail, with errors and warnings detected, quoting the specification and section that applies for anything it finds wrong.

From a privacy perspective, I am not expecting personal data to be stored, but we are deleting all test at the end of each day anyway. I did wonder about a report download option maybe.

Now launched

It is now launched at https://notsco.co.uk It took me a few days to create all this, about the same as it took TOTSCO to actually reply when we asked to go on pre-production testing (and they still have not actually set that up). Thank you all for your patience.

Discussions, bugs, feature requests - on GitHub please.

I have told TOTSCO about it as well...


Working with TOTSCO

This is hopefully going to help other small ISPs that will have the same challenges.

As I explained in my previous post, we have to work with TOTSCO to set up One Touch Switching. Well, we are doing that now that TOTSCO actually exists. The new deadline is September, but we want to ensure we are working well before that.


The specifications are not too bad. They have a few inconsistencies, which I have fed back to them. But I was able to code the system reasonably quickly. I created my own test system to act like TOTSCO so I could test my code with messages in and out in advance.

The underlying system is, as I say, just a messaging process between telcos. It can use OAUTH2, which is simple, and involves JSON messages each way, which is also simple. I use C and a load of long standing in-house JSON libraries, but for most people they would use some other platform with standard JSON libraries I am sure. It should be pretty simple. Obviously the hard part is integrating which whatever back end systems and processes the ISP uses, oh, and checking data for clean address data for matching services including UPRNs.


TOTSCO have a simulator, which is good. It will allow testing against them. It has been two weeks since I finished coding it all, and only just on the simulator, but it is a mess, so far.

  • The token issuing URL had an invalid certificate (wildcard, but one level too high). I ignored that to get further testing.
  • The directory URL did not work (404). This provides (or should provide) the list of ISPs, basically.
  • The messaging URL simply said "Error connecting to the back end".

Well, that is not a good start, but chasing up, after several days they finally want me to check I am using the correct URLs. Good thing to check, but I was, as per the spec.

  • They fixed the token certificate, good, but the reply did not say they fixed it. The new cert now uses a different CA that libcurl does not know, or some such, which is fun. But at least is valid.
  • They told me to use the directory path but on the token issuing host, which makes no sense. Re-reading the documentation it certainly implies the directory URL is an "API" and so you would expect to use the API host. So that is weird. But it still did not work (404 Not Found). I eventually found it works if I add the optional parameter &identity=all. Well, it is meant to be optional, and is a GET form style argument, so how it was giving 404 is beyond me. Interestingly, with that, it works on token host and API host, so even weirder.
  • They told me to use a path for the messaging that starts /testharness/ which is not as per the specification (which states /letterbox/). So basically the simulator does not follow the specification! Using testharness gets further but a different error this time.
  • Oh, and the directory I get has RCPIDs (Retail Communications Provider IDs) which don't meet the specs, so, of course, my code barfs trying to put them in the database which was set for 4 characters, as per the specification. So again, the simulator does not meet the specification.

Some progress

Well, surprisingly, we have a quick response now.

  • They say that the duff RCPIDs are dummy entries. OK, but surely they should at least have correct syntax, as otherwise it is sensible for my end to reject them.
  • They just say testharness should work, but I have to use specific RCPIDs for testing, good (would be nice if that was documented, maybe I missed something). But they really need to fix it to actually follow the spec and use letterbox.
  • I got as far as testing a match request and them trying to send a reply. They get an OAUTH2 Bearer token, and then try and post a message, but the message they post does not use the same bearer token I issued to to them, so is rejected.
  • I can see what they tried to post and it does not have the right source and target RCPIDs or correlationIDs, so again I would reject them if they actually authenticated.
  • Oddly, after more tests, they are using the right bearer now, but still wrong IDs
The irony here is that part of my coding was to make a simulator for my own testing before going to TOTSCO, and so far my simulator is way better than theirs!

Next steps

I have come to the conclusion that the simulator is actually useless. It does not simulate either the TOTSCO messaging platform (as it does not actually use the right URLs, or provide a sensible directory, or actually do OAUTH2) nor actual end to end messaging (as it does not do source/target RCPID or correlationID correctly).

What really puzzles me is that we know we are not the first to do this, and we know some of the big telcos have done this. So how have other ISPs not ripped TOTSCO to pieces over this stupidity already?

Follow up call

We have had a call. They explain that the simulator is totally dumb, it cannot be told to initiate any messages, and all it does it send one of two fixed replies to a match request (depending on the RCPID to which it is sent). It is meant to test connectivity.

But they want to do more than just two match requests and replies, they want us to send the order, update, tigger, and cancel requests.

This makes no sense, as the match requests test connectivity both ways already. And, of course, my system will not do that as it has not received a valid switch order confirmation reply. The fixed text they send is not valid as wrong RCPID and correlationID, so we don't accept it and don't store the switch order reference. And as such it does not see a switch order we can place or update or trigger or cancel.

I could fake such messages, but that is not testing my system.

They say that if I email explaining this, they will move to pre-production platform. The is the same as live, but with other CPs.

What they seem to lack is any sort of useful simulator that handles messages both ways as if to another CP. This would seen a sensible step before going to pre production testing.

Pre-production testing

We have moved on. Yay!

But the simulator test is meant to test connectivity, and seriously, does no more than that.

So you would hope and expect it simulates the real system.

But no!

  • The pre-production system has a stupidly big Bearer token, which breaks SQL tinytext. The simulator was way smaller, so not representative of the live system.
  • The pre-production system can't talk to us, not sending an Authorisation header, WTF!?

I can confirm we have pre-production testing, and now we have to work with a buddy CP to test. They spent a week not finding one? So we suggested someone, and we are now ready to send and receive messages to complete the integration testing.

This whole process would be literally weeks quicker if they had something like my NOTSCO system.


One Touch Switching

OFCOM have come up with a few things that are perhaps a tad questionable in terms of their benefit or practical application (in my personal opinion, of course). Sanity checking CLIs is one which created back scatter and broke useful services, but putting that aside, the latest is "One Touch Switching".

So what is it?

The concept seems relatively simple - a residential/consumer with a fixed location broadband (i.e. internet access) or telephone ("Number Based Interpersonal Communications Service") should be able to easily switch to a new provider. They should be able to do it as "one touch", i.e. their one order with the new provider.

Does this make sense?

Well, maybe. From a consumer point of view, for many people, the fact that moving from one "Openreach back end" broadband provider to another is different to moving from one technology to another, and may be confusing. Fair enough.

It is different for a reason - if you have a broadband service provided over Openreach based copper (or worse, aluminium) wires, you can change provider by the new provider working with Openreach to change what is attached to those wires and the ISP to which it is routed, and pretty much seamlessly move from one ISP to another. Of course ISPs vary, some don't even have IPv6, and some use CGNAT, and some filter or log stuff, so not really "switching", but OK.

But if it is a different technology, e.g. moving from VDSL on wires, to some radio (WiFi) service, or Starlink, or Virgin, or mobile, or, well, anything that is a different technology, the process is different.

But it is not complicated! It is order new service and cease old service. If you have any sense you arrange an overlap to ensure new service works well for you before old service stops, as it its not the same "wires". (and no, you cannot easily arrange that overlap now!)

OFCOM could have mandated that "ceasing" a service has to be simple and easy. That would have made any change of technology simple. They chose a different path.

How does it work?

Well, that's another problem, as OFCOM said to "industry, you have to do this", and expected something magically to happen. It did not, and has been delayed. Eventually some new company called TOTSCO has been created that is co-ordinating it.

This new system is simply a way for one telco to talk to another, with some quick, well defined (ish), messages to handle the process. Spoiler, it is JSON!

Basically the new provider ("gaining" provider) messages the old provider ("losing" provider) to match a customer and address, and if that all works they can start, and then later finish, a "switch". Old provider is expected to email customer with any early termination charges and stuff, good.

What it does not do?

It does not actually change the switching, migrating, or porting systems in place now. It simply adds a new layer.

If the process involves some migration or porting that happens the same as if ever did. If it does not, e.g. changing broadband from Virgin to Starlink, all its does is coordinate the cease of the old service when the new one starts.

More work for customer!

Our broadband provide and migrate order forms are complex enough, we have to know exact address and what service we can offer, and if migrating from another Openreach service. But now we have an extra layer on top to match the service from the old provider. It saves the customer ceasing the old service if it is a change of technology, but if a migrate then it makes no difference, just adds more that we have to ask and more that can go wrong.

But for some people it may help, especially if ceasing an old service would be hard work. Some ISPs seem to make it hard work. So some good, maybe.

It seems to also stop most "anti-slamming" measures - not allowing losing ISP to cancel a migration now!

The old systems still needed!

However, the new system is only fixed location internet access or telephony, and only consumers. Anything else still has to work as before, business services, and services that are not fixed location. And even for the cases the new system applies, the old systems to migrate and port are still needed to make it happen.

Some hope?

Maybe, just maybe, number porting, which seems to involve a lot of manual work now, could be improved using some new messaging system used for One Touch Switching. If so, that will be good.

The issue here is many VoIP services are not "fixed location", so outside the scheme. We have had lots of issues with people porting numbers to us where the "address" did not match, when in fact the losing providers idea of "address" is years old before it was moved to VoIP. The new system simply does not apply to non "fixed location" services, so that will be no help at all. A system like mobile ports, using a "PAC", may be way better, and not location dependent.

For us, porting a telephone service, from a fixed location, it may help, as it may confirm address match and confirm losing access provider, so ensure porting (which still has to use the same old system) may be more reliable. We hope so.

What's in a surname?

I mentioned a lack of any means to avoid "slamming", forced change of ISP/telco. This could be someone hijacking customers, or some end user being malicious and migrating someone's service for fun our malice or fraud.

The one thing the new system expects is a match of surname. They have a cryptic requirement to remove accents, but that is messy, depending on language and alphabet, simply "removing" an accent is far from "equivalent" to non accented. But we have done that in a crude way. But we do have to match surname.

So we have allowed customers to set the surname on their broadband services. This is not for VoIP as our VoIP is not fixed location, so will never match for One Touch Switching anyway, and needs old school porting out.

What I have now put on the web site re slamming is:-

For a long time we have operated an anti-slamming option where you tell us in advance that you do not wish your broadband to be migrated to a new provider. You could then change that at any time.

However, the new One Touch Switching system works differently. We will no longer be able to reject switching. However, to start switching the new provider needs an address and surname to match. They can start a switch process in BT without, but this is less likely as the normal process for consumers, and probably most businesses, will be One Touch Switching.

Because the surname has to match, we now allow you to edit the contact name on each line you have with us. Your name is what you want it to be, so picking any name for any circumstance is your right, and we have to respect that and allow you to change your name under GDPR, even if only on that very specific part of our system - the contact name for a broadband service.

If you change your surname, even if it is to PSJKHGJGEXC, then that is your choice. And any One Touch Switching match request would fail unless using the surname PSJKHGJGEXC.

Obviously this is meant to be for your surname not really as a pseudo password, but, well, it is up to you.


Hot tubs are expensive (again)

Yes, my hot tub is expensive.

Our whole house total power consumption was, typically, 55 to 60 kWh per day. Which is a lot. I have some excuses, servers in the loft, air-con for heating and cooling in various ways, and, of course, the hot tub.

The average hot tub usage 20kWh per day.

Simple change

The simple change anyone can do is insulations. The hot tub bucket has some foam coating stuff to insulate, but there are a lot of pipes connecting and holding (hot) water. These are inside some simple panels, and are not insulated.

The first surprise was how much difference the panels make. They are just thin fibre board of some sort, not obviously designed to insulate.

This is previous normal hot tub power profile :-

As you see, it is high when heating in the morning after being off all night, and when in use, but when idle is around 25% duty cycle maybe.

We removed the panels (to help turn it around, and ready for installing a heat pump). This was a surprising difference :-

The duty cycle, when not in use, when idle, was more like 75% or more. I emptied and refilled the tub from cold and it took 24 hours of full power to get to temperature. Yes, the lid was on.

This shows the side panels make a massive difference!

You can see why!

So what is the simple fix?

Lagging, multi layered loft insulation in fact, and a lot of silver tape, and quite a few hours.

The problem is I don't know how much this has helped, but it was done on the same day as the heat pump conversion - two changes at once. But it is a cheap change and I bet it helped a lot.

I should have done this years ago!

More expensive fix

The more expensive fix is a heat pump conversion. I spent £2299 in total on heat pump and installation.

It took a few hours...

It works by sitting in line with the circulation pump and with the internal resistive heater disabled (it actually has a relay to allow it to be used if really too cold for heat pump to work). The heat pump then operates whenever the circulation pump is on, leaving the hot tub to control temperature as normal, thinking it is working the resistive heater.

So, what's the difference

Firstly the power usage is way lower, the total for heat pump and the circulation pump, is around 1kW. Before it was 3.5kW. The other change is the duty cycle, which was lower. But I cannot be sure how much is down to heat pump and how much is down to insulation.

One big statistic is heating from cold, after a change of water.

  • With no side panels, resistive load 24 hours at 3.5kW. So around 84kWh.
  • With side panels, resistive load, back in January, 12 hours at 3.5kW. So around 42kWh.
  • With side panels, insulation, heat pump, 6 hours at 1kW. So around 6kWh.

So what doing the bigger stats say?

Average usage for May, 43kWh/day. I am seeing examples as low as 30kWh/day though. It seems the whole exercise has saved maybe 15kWh/day. But May is disproportionate with over 102kWh of tumble drier not a normal 42kWh due to someone having a broken bathroom :-)

It also means I am now regularly making enough solar, with battery storage, to run the house on overnight charge only, and have next profit on export, even in May, even on some gloomy days!

Last week's total electricity bill was 41p.


ISO8601 is wasted

Why did we even bother?

Why create ISO8601?

A new API, new this year, as an industry standard, has JSON fields like this
"nextAccessTime": "2023-May-18 04:43:00+0000 UTC"

I mean, pick a lane, why "+0000" and "UTC"?

Why "YYYY-MName-DD" FFS, that is not *any* standard in RFC or ISO?!

I just don't know how they could have come up with that in any sane way.

The xkcd "cat" format would be saner!

(FYI, it is TOTSCO)



There are lots of ways to debug stuff, but at the end of the day it is all a bit of a detective story.

Looking for clues, testing an hypothesis, narrowing down the possible causes step by step.

It is even more, shall we say, "fun", when it is not definitely a software or definitely a hardware issue. Well, to be honest, we know it is hardware related, but it could be hardware because the software has set something up wrong, or is doing something wrong, maybe. Really a processor hang should not be something software can ever do no matter how hard it tries, in my opinion, but in a complicated system with complicated memory management hardware, it is possible that a hang can be the side effect of something wrong in software.

I was going to say that "when I was a kid, software could never cause a hardware hang", but I am reminded not only of the notorious "Halt and Catch Fire" accidental processor operation, but that one could walk in to a Tandy store and type the right POKE command on one of the earliest Apple machines and turn it in to toast, apparently. So maybe there has always been this risk.

The latest step in the "watching paint dry" process of trying to diagnose the small issue we have with the new FireBricks is underway now. It has been a long journey, and it is too soon to say it is over. It will be an awesome blog when it is over, honest.

One of the dangers with software is the classic Heisenbug: a bug that moves or goes away when you change something. We are chasing something which, by our best guess, is related to some aspect of memory access. This means that even the smallest change to software can have an impact. Make the code one byte shorter and you move all the interactions with cache lines when running code, and change the timing of everything as a result. When chasing a big like this, you cannot rule out those being an issue. So a change of one thing may result is a change in behaviour somewhere else. We have seem a lot of red herrings like this already.

The latest test is unusual for us. It is a change to an auxiliary processor that controls a specific clock signal to the processor before the code even starts to run. One we don't currently need. And we are removing anything we don't need, no matter how unlikely it is to be the cause.

What is fun is that this means we have not changed a single byte of the main code we are running.

If this works, and only time will tell, we can be really quite sure it is not some side effect of simply recompiling the code. It pretty much has to be the one thing we really did change.

Being able to test something so specific by a software change is quite unusual.

Data packages

Our old SIP2SIM was "pay as you go", and the new one has monthly capped data packages.

To be honest, people have asked for this for a long time, but as ONSIM are selling us data packages, it makes sense to do the same, at least for now. Monthly 2GB, 4GB, 10GB, 20GB, 40GB. It is also more sanely priced than before.

But, of course, it is not simple.

So, for a start, adding data to a non data SIM, mid month, is a pro-rata data for rest of month at a pro-rata price. So far so good.

But what of increase of data package mid month. My thought on this (and it depends on ONSIM), is we update to new monthly, pro-rata if data started mid month, to new package, and the same for price. Mostly it will be an increase for whole month to new monthly rate and the difference in monthly price.

But what of decrease? Well, I guess, maybe, the same logic could apply, but only if you have used less than you would now have for the month. My thought it no, lowering the package is setting a new lower level for next month. This is far simpler, and no billing implication and no change to this month.

Of course if you then increase again, we have to allow for the fact that this month you are on a higher package than you will be next month, and only consider it an increase relative to that.

This is never simple, is it.

Hopefully we have something soon, sorry for the delay, waiting on ONSIM to do the necessary APIs for us.


07700 900461

This is the mobile number for Dr.Who.

The number is part of OFCOMs allocation for theatrical numbers. So not a valid UK number.

I could fake that number for calls or texts if I wanted to as I am a telco, but doing so would cause problems, as it would be a against OFCOM rules (General conditions), so obviously I would not do that. And obviously doing so for any fraudulent reason would be illegal.

I think people know we try to "do things right" anyway.

But I had a unique opportunity, I thought. Our new SIP2SIM service allows a mobile number to be set on the SIM. This is mainly to allow clean and easy defaults to use our service for calls and texts to and from the mobile.

But is also allows iMessage.  For iMessage to work there is a "behind the scenes" SMS each way to Apple, and the carrier we are using handle that internally. Makes sense.

This works even for numbers that do not normally get SMS, like our landline numbers. This is great. We are actually working on getting more SMS on landline numbers now, but this cuts out the middle man and allows it to work. All of our actual numbers can be valid as iMessage using our SIMs. Yay!

Basically we can make iMessage work with any of our actual numbers.

So nice, but in theory we could "hijack" any numbers for iMessage. This is not such a shock, honestly, the way mobile networks work is so open "within the telcos" to be scary. We are very careful to follow the rules, and do it right. A lot of telcos could "hijack" almost any number at SMS level. Don't be shocked, really, SMS is crap for security, honest.

But let's play by the rules, what if I was to "hijack" the number for Dr.Who? 07700 900461

Would that be legal?

Well, it is not someone's actual number.

And it is not fraud.

And we would not use for CLI for calls or actual SMS. So not covered by OFCOM.

I suspect it would be "legal", just.

So yes, to wind up my brother, I tried.

 "error":"Failed to provision user on network - please contact support"

Bugger, such a shame.

I mean, it would have been funny, and that was it, not fraud, not illegal, but sadly also not possible.


Adults must show ID to use social media

The stories in the press are "Children must show ID to use social media".

This is totally misleading.

"Passes please": All adults must show ID to use social media.

That is the real story here!

Children (under 13) are actually the ones that won't have to show ID as doing so won't help them. But for this to work, everyone will have to show ID to use social media!

P.S. This is my proposed email to ICO, if this ends up covering Mastodon.

Dear ICO,

I understand that under new rules, as the operator of a social media platform, I have to advise you how I check the age of my user. I have used two methods.

1. Looking in the mirror and seeing I look well over 18.

2. For around 55 years I have meticulously counted the number of birthdays I have had, that number being 60, which is more than 18. I did rely on my parents to confirm the first few.

I trust you find this meets the requirements.




As anyone reading my blog will know, I got COVID (on a cruise) last September. This was way worse than the first time a year or so before.

The infection at the time was bad, scary fever, especially on a cruise, but within a few days (and thankfully on dry land) I then had a stroke. I can't help feeling it was related.

The stroke was mild in many ways, mostly dysarthria (can't speak properly) and that cleared up maybe 90% in a few hours but not totally. Being in hospital was a pain, and I am now on blood thinners (forever).

But there is more, some subtle. Some may be COVID, some may be the stroke.

  • A general tiredness
  • Just can't get things done - just don't want to get things done
  • Not quite "myself" in coding stuff and doing work generally - can't think straight
  • I notice that when I walk, my right arm is rigid until I think about it!
  • My typing is worse, a lot worse

The real clue is some of these have improved, my typing is still hard work but better. I am finally getting in to the swing of working and coding. Not my old self, but way more than I was.

I am posting now as I have had a weekend working, and coding, and doing well, and it feels such a change. Such a relief! Almost back to my old self, which is great!

Oddly my right arm being rigid when walking is still a thing. Not like I can't move it. When walking my left arm swings and my right arm does not - until I think about it. Very weird.

My typing is not yet right, and I know it was not perfect before, but I see how bad it is still. I have to think more, and I have to check a lot more than I used to. But I feel it is improving.

It is weird trying to debug the way my own mind and body is working.


Is it spring yet?

This is more like it, but is only one day!

Most of our import (and today it is likely all of our import) was 2am to 5am at 14.71p.

Most export was during the day at 15.08p.

A lot of export, around 15kWh (54MJ) was 4pm to 7pm (actually 5:30pm to 7pm so we save some for evening) at 24.93p

Doing the sums I think...

  • Import 34.1kWh (122.8MJ), assume 14.71p, £5.02
  • Export sunshine, 26.7kWh (96.1MJ) at 15.08p, £4.02
  • Export battery, 15kWh (54MJ) at 24.93p, £3.74

Total electricity bill (excluding standing charge) -£2.74, and that left some in the battery still.

Without solar and battery? House used 31.4kWh (113MJ) and would have been mostly 24.51p, so £7.70.

If only every day was like this.


The power of eSIMs

I was always skeptical of eSIMs. The idea you have a mobile identity in a physical SIM that you control seems a sensible approach. An eSIM is sort of locked in to the phone, and you can't just move it. But does it matter? Possibly not.

But the real benefits were not as obvious to me until I started using one. It is mostly the benefits of a second number, or more specifically secondary service, on a mobile phone. This could just as easily be done with two physical SIMs, but it seems common for phones to have a physical SIM and additional eSIM. iPhones certainly allow a physical SIM and many eSIMs, and you can have any 2 active at ones.

Two numbers on one phone

Interestingly, the idea of more than one number is not new. When orange launched, what, 30 years ago, they allowed a secondary voice service on a second number, and their first phones allowed you to make calls and send texts on the two numbers, and know which was calling you, and so on. It was (is) a standards feature of GSM to allow a secondary number on a service. It is great for personal and work numbers on a phone, and for personal and more personal numbers or some such :-)

That was one service but with multiple numbers. I had this, and even had a separate fax and data number on the same SIM. It was only a second telephone number, not a second number for SMS though.

Using dual SIMs, or SIM+eSIM, etc, allows this but with separate service providers. Two services on one phone, including SMS.


For a long time we (A&A) have sold a SIP2SIM service, a physical SIM, typically used in one of three ways:-

  • Connect to your own telephone system and use as part of an office internal phone system (very niche, but what the name SIP2SIM is all about).
  • Connect seamlessly to A&As service and so be a mobile phone service in itself, like normal, calls, texts, data, but with nice features like call recording (but expensive as a normal phone service)
  • As above, but using a landline number not a mobile (once again, when they launched, Orange offered this).

We sold the service for all of these. The first is niche, and the others are expensive, so limited take up.

Mobile phone contracts

One of the big issues with making this your "normal mobile phone service" means "changing service provider". This means "waiting to the end of your existing contract". It also means hassle if you don't like A&As service (even with no minimum term) as that means getting a new "phone contract" which is hassle, it seems. So the hurdles are actually contractual and hassle, not technical, or even price in all cases.

But a second service on a phone solves all of that!

  • It can overlap with the main contract with no hassle, and continue as such if needed.
  • It can be tested, and then ceased, with no impact on main number.
  • It can be activated and working in a matter of seconds.

This really is something of a game changer, and I have now seen it in action.

Talking to a friend, and he wants to sort a work number. Within minutes we have a new number allocated, a landline (apparently his older clients don't trust mobiles). It is on his phone as a second number, and working, even with iMessage. All sorted.

Am I a convert?

To be honest, more of a fan of dual numbers, which I had 30 years ago. Even with one SIM, A&A allow a lot of numbers to work to a SIM. So not quite a convert as such. But I am impressed with the easy and speed of using an eSIM, so maybe I am. I'm also a fan of a secondary service on a phone, which eSIMs make easy.

Plugging the new A&A SIP2SIM service!

Shameless plug time - the existing SIP2SIM stops working end of April. The new service is up and running, but not quite everything in place yet, so we are just allowing early access to customers before the proper launch now. More here.

It is more per month, but no air-time charges for calls/texts, some free roaming in EU and US, and (when launched) much cheaper data pricing. Call/SMS charges apply with the SIP/SMS service to which it is connected (even if A&A).

Feedback: That was ridiculously fast and easy to set up, and I got my iMessage activated without problems too.


Breaking my heart

One of the things I suffer from is tachycardia.

My first memory of this was in secondary school, when I got a flat tyre cycling to school and ran the rest of the way as the the "form teacher", with which we had registration at the start of the day, was "evil" (well, I was a school kid), so I did not dare be late.

When I got to school my heart rate was stupidly high, and I ended up passing out. My "evil" form teacher was suddenly panicking that one of her kids might have dropped dead! In some ways that was amusing.

I found much later this was congenital, and not worth surgery to fix. It is rare that it happens, and oddly enough made a lot more likely by "heart burn". It lasts a lot longer if I have just had exercise, which is what got me in an ER department and ended up with it being investigated many years later.

It is basically my heart doing "double time", so if I would have been 100bpm from exercise it is 200bpm! If I have a lie down and wait a few minutes it is fine. On rare occasions after a lot of exercise, it can take a lot longer, and that is scary. I look like shit and am soaking wet from sweat. I managed it once in costa coffee, and the manager there (that we know quite well) was really panicked, sorry. 

What is weird is when it sorts its self out. I am instantly "absolutely fine". That confuses people. Yes, other customers in costa were really worried about me!

On a few occasions I have been able to capture this on an ECG, using a Kardia thing, and now my new Apple Watch.

The rate drops a bit while I rest, but as you see, suddenly, my heart rate drops back to normal.

One of the scariest things I ever had was when I was in ER and they administered drugs to fix it, and that makes your heart stop! I mean it may have been a second or two before starting up again, but it feels like it has stopped, and that is scary as hell.

I don't know if any of my follows have this. It was explained to me that it was not worth the side effects and risks of surgery to fix it, and was mostly a nuisance. It pretty much has been, with maybe a couple of times a year. Something I have had all my life.

Apple sleep tracking

I only post this because someone else may be as confused as I.

It is confusing - the instructions are very very clear that the Apple Watch will track sleep only when in "sleep focus", and you can set a schedule for that.

My issue is that I do not got to sleep at the same time - I could go to bed as early as 6pm or as late as 11pm. I could sleep all night, or sleep, and be awake, and sleep again (the old school "two sleeps" that apparently was the norm in medieval times) - last night I was awake and watched the really good "Miss Potter" film between sleeps. And no, I was not "in bed" all that time, so it is a tad confused and probably could have worked that out.

So I did not want to set a sleep focus schedule that was too soon as it stops notifications/alerts/calls. But also did not want to set too late so it does not record sleep. I did not want to set manually as I would forget, plus, it seems, you have to tell it to end the sleep focus (even if you have a schedule). I do get up consistently in the morning, so that helps.

My concerns were totally unfounded, as it seems that Apple are happy to record sleep starting way before your sleep focus is scheduled to start. So I can simply set for a sensible later time.

Why the hell don't Apple explain this? Why make me think I have to fuck about with "sleep focus schedule"?


Tweaking the CCTV

Having run the CCTV for a while (and not trying to cover the legal issues today), I have been having some fun tweaking.

I am really liking the NX Witness system, but I have a mix of cameras, from dirt cheap to expensive. And the newest ones are really nice - very low level light still in colour and really good clear quality images.

The fun one is the front door. I doubt it is a prime target for burglary, being right on a busy road, and the camera is hidden up in the alcove over the door, so not even obvious it is there. The main use of this camera is for deliveries. To prove when they arrived, and by 24/7 recording, proving when they did not arrive. It is also to allow for parcels left on doorstep and being nicked, or parcels or letters I leave for collection by post man on the door step and being actually picked up by the post man and not someone else. I have used that before to prove postman did collect (long story, saved me a lot of hassle).

I have taken the opportunity to re-position all the cameras, trying to think where someone might jump over a gate or a wall, and ensure a good view. One of my current targets for cameras is showing if/when household waste was put out for collection and when the refuse truck drove off without collecting, as that has happened now 5 times in a row!

But back to the front door - it used to be a dome camera. The issue is it could not see down in to the doorway, so I have replaced with a pendant mount which allows facing down.

So now, with the down facing camera, I actually ended up thinking laterally and turning it 90 degrees. It nicely shows the door, gate, some of pavement, and, pretty well, the "delivery". The only tweak which I will do is raise it a bit to ensure a clearer focus on the parcels themselves.

Update: I ended up changing the type of camera, to one with better focus controls, but still mounting in the eaves facing down. I also managed to get it all turned around in nxwitness.

It also avoids catching too many passers by, or at least faces, which I don't need to record, so even though this should all be out of scope of GDPR, I may as well try and avoid recording.

In many ways it is amusing, and relieving, that the main use of the cameras is not related to crime at all, but proving to the council I put the bins out in time and proving they did not collect them, or that a delivery happened or not. These are more benign things but none the less useful.


Another aspect is the overlay text - I have all cameras showing time. All set to NTP. And I decided all set to UTC for sanity sake, as some will not do BST, some do and get it wrong, and some get it right. Easiest option is UTC, and then when savings images or video (as above image) is NX witness overlay local time to avoid any ambiguity. I also added fixed text to say "UTC" by the timestamps, again to avoid ambiguity. Timestamps are a pain, and UTC is one of the few ways to make sense of it, but helps a lot to state it is UTC!

P.S. Someone pointed out the council expect us to leave refuse "kerbside" which puzzled me.

(they ignored the question, saying to leave in the "usual place"!)

Update: to my surprise, after the 5 previous collections days being missed, they collected, yay! They then missed the next day, surprise surprise.

Update: After missing 7 of 8 collection days, we finally got a visit from a supervisor - he was happy with where we were putting rubbish, gave me his mobile number, co-ordinated with the teams and ensured collections. He then worked with us to co-ordinate a change of collection to a different schedule (matching the rest of our road) which was a lot easier for us (fewer bin days). Well done.


Abergavenny active travel

MCC have issued a nice (and I bet expensive) video of active travel upgrades in Llanfoist and Castle Meadows. So I thought I would post a few comments of my own. I'm bound to upset someone, so apologies in advance. You can email activetravel@monmouthshire.gov.uk

First off, I'm very keen on active travel improvements. I don't drive. I walk Castle Meadows and on in to Llanfoist (ideally every day, but yeh, weather permitting). Cycling would be great but a total pain right now, and cycling through town is off putting to say the least, meaning my bicycle has been out of use for 3 years now. Just walking along the A40 in to town means encountering aggressive road users at various side roads, and a dangerous crossing on the box junction in town.

And, apart from the river looking very clean in that video (which would be an improvement), it looks nice, overall...


Castle Meadows can flood, which is understood, but at present, even a bit of rain leaves the current path more of a series of small lakes. Avoiding them means mud, which I know from bitter experience can lead to slips and falls. Will the new pathway have substantially better drainage to handle normal rain?

The Mill Lane access also suffers from flooding in rain leaving a lot of mud, and I would hope that is improved as well.


If making new junction markings, can we at least try and mark them to reflect highway code rule 170, and make it really clear that road users on the path continuing along the road have priority over vehicles turning?

The cycle path (shared path) stopping at every side road is treating bicycles as second class road users. Ideally separate cycle infrastructure would be good rather than shared paths, but space is limited.

At present there are routes on this proposal where a cyclist is far better off simply using the road (as they are fully entitled to do), as they do not have to give way at side roads, or avoid pedestrians.

I am, however, pleased to see zebra crossings at the roundabouts, especially crossing to Waitrose, as that is a dangerous crossing right now.

The cutting

This is confusing, the cutting shows cycle symbols on the road. Is it a cycle path, in which are why are cars there (and won't that piss off the residents)? If a road, why the cycle symbols?

Cattle grids

This is a problem - dog walkers are livid at cattle grids, but almost anything else is a major annoyance and discouragement to cyclists. Is there any way to improve matters? I mean one could have gates locked open when no cattle, but dog walkers would lose dogs through them, so I have no idea what the answer is here. Are there dog safe cattle grids? And don't forget wheelchair users. The video shows both gates and cattle grids in various places at present.

I'll add anything else I think of.


The first council rant, and my apologies

So, as predicted, I got cross over recycling. Yay, someone predicted this would happen...

We have the recycling bags (and we now have the green glass bin and the blue food waste bin). We are getting ready for the last commercial bin collection this weekend. We have been getting the hang of it. As I say, it is all a bit new to us.

I do have concerns over how much of this actually gets processed as we are led to believe, and why it is all left to amateurs like us, but we are working on getting it right anyway.

These red and purple bags (paper/card, tin/plastic) are weekly. I got the sheet saying what goes where and how often. I got the calendar showing the A/B weeks, and the couple of cases a bank holiday matters (mostly they don't, like Easter is normal collection days).

The road I am on is the main road. We see the road with these bags every Friday. My immediate neighbour, and all the houses opposite, put these out on a Friday. Everyone I share a postcode with puts them out on a Friday. We noticed this. I had planned to double check the day for glass and food waste, these bags are obvious.

Getting it right

I put them out last Friday, and they were emptied, yay, we have the hang of the system!

Like everyone else, I put them out for today (last night). There were not collected. Everyone else's was. I was fuming.

I emailed the council, but the contact email address says "Please note that this mailbox is not monitored", so is not in fact a contact email address. What the hell?

OK I can message them, which turns out to be facebook, and that turns out to be a robot, so again, not a contact!

I have ranted over the contact email address not being a contract email address, and feel justified in doing so.

Anyway, having got cross over the non collection (and more so over the email address), I thought I would just double check. I don't know what led me to check, but I did. And guess what, our house is not on the same collection as the rest of the road! We are Wednesday (for these bags). Even though we are on the main road, a drive and front door on the main road, an address on the main road, the postcode is the same as neighbours on the main road, but no - we are in with the collection for the side road (the one where the residents feel adamant that we are not anything to do with them and their fake resident permit parking scheme). I really did not expect that at all.

So I was wrong!

I am not like Trump, I don't handle being wrong well, and it is bugging me.

Thankfully a slight rant on twitter and facebook was only there a moment and quickly deleted.

But it is still bugging me. I try hard not to be wrong, and this will annoy me at least the rest of the day.

Usually when I get cross like this, I check my facts very carefully before ranting, and I did not follow that rule this time. That was bad of me. It is a good rule to have.

I apologise to the council for the ranty email (sent via their press office email address) about the collections.

Get it right now

Many councils have APIs. I had to screen scrape the Monmouthshire council site, but looks like I have a plan now.

Another use for an e-paper sign.

I can add a few more bits to this I expect.

Update: Maybe I was too quick to apologise?

Monday, black bag and green glass, 6:47, still there, not collected.

Tuesday, blue food waste, still there, not collected.

Wednesday, red (card/paper) and purple (tins/bottles), not collected.

Result: Finally after complaining, they have collected all.

What is extra fun is my ranty (and wrong) email, via the press office, did get to someone, and they asked for more details, and I was able to explain that "all three missed collections" have now been sorted, and they seemed quite happy. Embarrassment cancelled out by council incompetence - unexpected!

Update: New week, this week's first missed collection was food waste, Tuesday.

Update: Now 5th missed collection, red/purple bags, Wednesday.

Update: After missing 7 of 8 collection days, we finally got a visit from a supervisor - he was happy with where we were putting rubbish, gave me his mobile number, co-ordinated with the teams and ensured collections. He then worked with us to co-ordinate a change of collection to a different schedule (matching the rest of our road) which was a lot easier for us (fewer bin days). Well done.


Hot tubbing...

I have a hot tub, it came with the house over 3 years ago.

Managing a hot tub is complicated, and expensive. The expensive part is the power. But chemicals also cost. For reference, it uses around 17kWh a day on average.

I use it, I spend typically an hour or two reading a (waterproof) e-book in the hot tub most days. It is very relaxing and I feel worth it. And then Alice (granddaughter) might like to join me on occasion too :-)

When we moved in, a hot tub was new to me, and I read up on it. You need to maintain the pH, and chlorine levels, which means chemicals (last people left some for us).

Initially it got cloudy quickly, but after some time I found "clarifier" stuff. Eventually I found some cool "tablets" that have chlorine and clarifier and you put in a "floater" to dissolve slowly over several days. This worked well.

I eventually got to the stage that for at least a month the hot tub was clear and nice. But it would gradually go off. It would change a tad from a slight blue (which is normal, unless you have heavy water which is clear!), and change to a green tinge. The pH test strip would go a colour not even on the bottle. It would become a tad cloudy and more unpleasant and I would empty and refill it. This would typically take a month or so to happen.

More recently (and this is over there years now), it has changed. I got some new "pH increaser" (as what the previous people left had run out) and new "chlorine and clarifier tablets", and a new "floater" that allow slower dissolving. I have no idea which of these has helped.

But for the last, nearly, three months (and I had to check my power logs to confirm last refill), it has been nice. Crystal clear, blue not green, not cloudy. I have not even had to change the filter (which I typically do when empty/refill as compared to power cost of doing so a new filter is cheap). The pH has been stable, and sensible, and not a stupid colour.

I do have a wet vacuum cleaner thing that allows me to extract any flotsam that, err, sinks, (leaves and shit), so does not get to filters, rather nicely.

I don't know which of these things helped, but it is way better now.

I can only conclude hot tub chemistry is basically voodoo, much like RF PCB tracking design.

P.S. Environmentalists, we make more solar than the hot tub uses on average.

Learning to count [in recycling] ♳♴♵♶♷♸♹

It was predicted the first rant would be about council not collecting a bin - sorry to disappoint, it is about the Brady label printer and its labels.

You will notice the recycling symbol on the cartridge. I can only assume there are incentives for companies to do this or possible some apparent PR in doing so.

But let's consider this specific case, a plastic cartridge for printed labels. I wonder what bin that goes in, especially as my council seem to have quite a complicated mix of bins to choose from.

Well, helpfully, Brady include a little (paper) leaflet in with the cartridge to help you know.

This is it.

There you go, recycling instructions, in lots and lots of languages. The fact that the only text is actually the bit saying "recycling instructions" makes that a tad crazy to me.

But what are the instructions... Surely it is just which bin to put it in? Well, let's look... WOW!

Only 6 steps...

  • Use a screwdriver to remove the chip.
  • Use a screwdriver to break apart.
  • Break apart.
  • Remove remnants of label (this goes in general waste bin 🗑), and the bottom of the case which goes in ♸.
  • Separate the spindle in to 3 parts, one goes in general waste 🗑, and two in ♹.
  • Finally dispose of the rest, a washer in ♳PETE (is that the same as just ♳?), and a washer in ♴HDPE (is that the same as just ♴), The chip in electrical waste (WEEE) which is not something the council collect and I don't even have a unicode symbol for. Some in a 40 FE waste (again, not finding a symbol for that), and another washer thing, and the top of case in ♹ (unlike the bottom of the case which is in ♸).

The leaflet ignores (and I have emailed Brady to ask why):-

  • The leaflet itself, presumably paper waste?
  • The cardboard box it comes in, presumably card waste?
  • The plastic bag it comes in - maybe non-recyclable, or perhaps another plastic waste number?
  • The backing paper that you remove when printing a label?
  • The label itself if later removed and disposed of? This is presumably a per product matter as they do different materials for labels.

This is at least EIGHT different types of waste you are expected to separate somehow (maybe 9 if the wrapper is another plastic type), on a small label cartridge. And I have no clue how those different types of waste map to the council bins, seriously. And I am not paid for this!

To clarify:-

  1. ♳PETE for a washer
  2. ♴HDPE for a washer
  3. WEEE for the chip
  4. 40FE for some metal bits
  5. ♸ for case bottom
  6. ♹ for case top
  7. General (non recyclable) 🗑 for tail of label
  8. Paper waste for instruction leaflet, and assuming the same, card waste for the box
  9. The plastic bag, not mentioned, may be 🗑 or maybe not
  10. The backing paper (is it paper) for the label
  11. The printed label itself - per label type, I assume

The fact that even Unicode cannot keep up with the number of waste types is clue here.

Please tell me this makes sense


  • I have emailed the council with a link to this asking which bag each of the 8/9 types of waste apply, I'll post their reply.
  • Surely people making "clone" label packs will want the chip, rather than going to WEEE?
  • I am told these symbols ♳ to ♹ don't mean "recycling" but are just types of plastic, so as "recycling instructions" these are bullshit, and actually most of it is simply not recyclable. Will be interesting to see what council say.
  • Would it not be better to make these things so they can open, and load a new reel of paper and close - reusing instead of recycling?


Brady M211

I got a new toy. A Brady M211.

I used to have the hand held thing, the BPM21-PLUS (so not even the M210), with A-Z keyboard.

Label printers are handy, honest, but the labels are stupidly expensive for what they are.

So what is different about this?

The good things are, it is a robust unit, with rechargeable batteries (USB-C socket), operated by bluetooth from a phone app. Works well. Built in cutter. The app has a lot of options, including many barcodes, more fonts, images, lots more symbols, and so on. The fact you can save labels and formats is great. So yay, nice. love it.

Also seems designed for workmen, and can come with a belt clip and the like. Sold as "robust", toolkit type device, and looks the part.

The down side?

One of the main issues I found was this new "authentic™" thing. I wondered why a new logo. Turns out the old label stock had simple electrical contacts to tell the labeller which it is, but now they have something "smart", compatible with the old labeller still.

So I gave the old labeller to my son, and found that I ended up with 9 label cartridges that actually don't even work with the new labeller - so he is doing well out of this. A couple are clones, but the rest are genuine BRADY®, just older stock. At something like £30 each, that is annoying.

I don't expect it will stop clones, but is rather annoying.

There are also a list of issues I have emailed them about. I think they can fix all, and will be interesting to see if they do. No reply yet!

  1. It has date/time options, which is great, and has a load of formats. But lacks the one and only format I would ever use, the standard, ISO8601. How did they forget that?!
  2. It does barcodes, loads of formats, and can even scan an existing barcode and make one, but the default font uses crossed zeros, even for EAN which is meant to be OCR-B and very much not crossed zeros.
  3. They have a lot of symbols, including a load of COVID19 warnings, but don't have antistatic sensitive device symbol?!
  4. They do QR codes, but they are not well coded and so way more dense than they need to be. I suggested my QR library.
  5. I installed some extra fonts on my iPhone (that is a faff), notably OCR-B. They show in other apps, but for some reason the Brady app does not see them - arg! I found a font menu, which allows me to install more fonts - why not use the iPhone fonts system, but OK! I now have OCR-B as default, which is cool.


It's a label printer, and prints labels, it works. I really like (as before) the self-laminating cable labels (one of my main uses). It does "just work", and is very nice. Just expensive to use, and those niggles. But, overall, very cool. And yes, I got fonts working. Just don't ask about recycling!

No, not this, SMBC...

NOTSCO (Not TOTSCO) One Touch Switching test platform (now launched)

I posted about how inept TOTSCO seem to be, and the call today with them was no improvement. It seems they have test stages... A "simul...