Thursday, 31 July 2014

Late payment penalties, too late?

As some of you may know we charge late payment penalties on commercial debts. This is not uncommon (people like BT charge late payment penalties), and is even a legal requirement to be part of every commercial contact due to Late Payment of Commercial Debts (Interest) Act 1998.

If you are paying a commercial supplier late then they could charge you penalties - you are accumulating a liability!

We have a fully automated system to charge the penalties by issue of an invoice (no VAT). New customers we often credit the first charge and from then they pay on time. Ironically Direct Debit has cost us tens of thousands in collected late payment penalties each year as it means most people don't pay late now.

Now, for various historical reasons we have a couple of very long standing customers who were set up not to charge the penalties. Some of them have finally started to change their organisation and move some services away - shame. But I have picked up on one recently and realised they owe well over £3500 of penalties. So we invoiced them.

The only snag is the Limitation Act 1980 which means you can't take legal action (court) if the cause of action is more than 6 years old. In this instance some of the late payments are more than 6 years old. Some are only last month! It seems FedEx habitually pay late, what can I say.

Now, they have realised that the Limitations Act may be an issue. But I am not convinced.

In this case the action would be a county court claim for an unpaid invoice and the cause of action is that we raised an invoice, this month, so well within 6 years. Yes, the cause of the invoice was more than 6 years ago, but the limitations act does not limit such things, and the statute just makes the penalties part of the contract.

I don't know - may be interesting to find out and see what a judge says.

It also has odd issues if it is the case - the debt exists, in contract, we are just barred from using court to enforce it. If ever we owe them for something I see no reason we cannot offset against the debt we have, effectively using that as enforcement instead of court.

Either way, it is well worth making sure you don't leave you late payment charges too long, just in case.

P.S. An evil thought - they have a few services still. If they pay money the terms are clear it goes against oldest unpaid debt. Even if unenforceable via a court it is a debt, so the payments go against the late payment penalties, and leave the current invoices unpaid. Those recent bills can be enforced by court. Hmmm. Evil thought.

Bring back TheOatmeal.com


Wednesday, 30 July 2014

Villa Plus and Air Con

I posted how cross I was when we arrived in Cyprus after a very long day to find no air-con in the main villa living area.

Now, to be fair to Villa Plus, their web site says air-con in the bedrooms. In my defence, I did not book/choose the Villa, I just paid. My stipulations were air-con and Internet. Whilst the rest of them like to lie in the sun by the pool all day, they know I do not, and so I would spend all day inside working or reading a book and want air-con and Internet. Someone did not read the web site very well.

However, Villa Plus are not without some faults.

1. Air-Con in the Bedrooms - good. But it is on a timer switch that does up to 4 hours only. Now, the whole point of air-con in the bedroom is so you can sleep. I don't know about you, but I sleep more that 4 hours. Well, I would, if it did not get too hot and I have to get up after 4 hours and restart the air-con timer. Then it comes on at full blast and noisy and not "quiet" as I had set it, so I have to faff with the remote as well. It seems most of us in the Villa are having to do this, interrupting a good night's sleep. Not really up to the job Villa Plus, and not impressed.

2. The details describe that any other units in the villa are for heating in the winter only. Well, no, as we found out for the fee of €250, they can be enabled and do cool. They work well, as it happens. Why make up shit and say only for heating?

3. Having spoken to Villa Plus, and suggested that we would just go and get a portable unit and put in the study so I could work, they agreed that for €250 they would get the air con enabled. What is odd is that they said they would get an "emergency electrician" in, at a cost to them of €500, but as there was some confusion, only charge us €250. This was, however, a ruse. What actually happened is the owner came in and enabled the air-con units. He is not an electrical - it was a matter of the power switch having the wires disconnected, and he connected them live (well, until the loud pop and flash). Why lie about this? Saying that it is €250 for the two weeks to cover the extra electric is plausible and not unreasonable given the wording of the web site (well, actually, no idea of actual cost incurred, but OK in principle).

So, yes, they sorted air-con for a fee, but made up all sorts of bullshit around it for no good reason, and the bedroom air-con is not actually fit for purpose (i.e. of sleeping more than 4 hours).

So be wary when getting a villa.

Apart from that, in the early morning or late at night, the pool is great and the otter box iPhone case is great for dodgy pool selfies.

Monday, 28 July 2014

IPv6 in Cyprus

I plugged a FireBrick in to the Thomson DSL router in a villa in cyprus, and it got PPP and a prefix delegation for IPv6!

This means the Thomson had switched to bridged mode for PPPoE automatically, which is quite impressive.

It then killed the internet on the Thomson, and stopped working. It seems that it kept closing the connection once opened, and LCP term. However, a bit of experimentation found that this was because I was requesting IPv6 prefix delegations for three LANs. Drop to only one LAN and bingo, it connects and stays connected.

What is interesting is that they actually ask for IPv6CP first even - they are offering IPv6. I get a prefix of 2a00:1358:e0f8:af00::/64

I was about to be impressed, until I found that the IPv6 does not actually work. It looks like an announced prefix and looks like it may even get close coming from outside (right ball park response times on last hop), but not actually getting down the DSL line. So close!

Anyway, time to set up IPsec and some real IPs.

28 Jul 2014 09:36:08 pppoe ff:ff:ff:ff:ff:ff 0 CY PADI sent on WAN, MTU 1492
28 Jul 2014 09:36:08 SYS_IRQ 00:26:44:df:4e:be WAN 0 0 CY PADO accepted MTU 1492 BRAS1.LAT
28 Jul 2014 09:36:08 SYS_IRQ 00:26:44:df:4e:be WAN 0 0 CY PADO ignored BRAS3.LAT
28 Jul 2014 09:36:08 SYS_IRQ 00:26:44:df:4e:be WAN 0 0 CY PADO ignored BRAS2.LAT
28 Jul 2014 09:36:08 SYS_IRQ 00:26:44:df:4e:be WAN 0 0 CY PADS accepted MTU 1492 session 2
28 Jul 2014 09:36:08 SYS_IRQ 00:26:44:df:4e:be 0 CY Tx C021:LCP 01 00 000E ConfReq 05:MAGIC 06 8e:52:04:c8 01:MRU 04 1492
28 Jul 2014 09:36:08 SYS_IRQ 00:26:44:df:4e:be 0 CY Rx C021:LCP 01 01 0012 ConfReq 01:MRU 04 1492 03:AUTH 04 c0:23 05:MAGIC 06 1e:5c:27:7e
28 Jul 2014 09:36:08 SYS_IRQ 00:26:44:df:4e:be 0 CY Tx C021:LCP 02 01 0012 ConfAck 01:MRU 04 1492 03:AUTH 04 c0:23 05:MAGIC 06 1e:5c:27:7e
28 Jul 2014 09:36:08 SYS_IRQ 00:26:44:df:4e:be 0 CY Rx C021:LCP 02 00 000E ConfAck 05:MAGIC 06 8e:52:04:c8 01:MRU 04 1492
28 Jul 2014 09:36:08 SYS_IRQ 00:26:44:df:4e:be 0 CY Tx C023:PAP 01 00 000A 04 75:73:65:72 [user] 00 []
28 Jul 2014 09:36:09 SYS_IRQ 00:26:44:df:4e:be 0 CY Rx C023:PAP 02 00 0005 00 []
28 Jul 2014 09:36:09 SYS_IRQ 00:26:44:df:4e:be WAN 0 0 CY PAP pass []
28 Jul 2014 09:36:09 SYS_IRQ 00:26:44:df:4e:be 0 CY Tx 8021:IPCP 01 00 0016 ConfReq 03:IP 06 0.0.0.0 81:DNS1 06 0.0.0.0 83:DNS2 06 0.0.0.0
28 Jul 2014 09:36:09 SYS_IRQ 00:26:44:df:4e:be 0 CY Rx 8021:IPCP 01 01 000A ConfReq 03:IP 06 192.168.219.248
28 Jul 2014 09:36:09 SYS_IRQ 00:26:44:df:4e:be 0 CY Tx 8021:IPCP 02 01 000A ConfAck 03:IP 06 192.168.219.248
28 Jul 2014 09:36:09 SYS_IRQ 00:26:44:df:4e:be 0 CY Rx 8057:IPV6CP 01 01 000E ConfReq 01:I/F 0A 66:00:f1:ff:fe:cc:a3:00
28 Jul 2014 09:36:09 SYS_IRQ 00:26:44:df:4e:be 0 CY Tx 8057:IPV6CP 02 01 000E ConfAck 01:I/F 0A 66:00:f1:ff:fe:cc:a3:00
28 Jul 2014 09:36:09 SYS_IRQ 00:26:44:df:4e:be 0 CY Rx 8021:IPCP 03 00 0016 ConfNak 03:IP 06 93.109.42.104 81:DNS1 06 195.14.130.170 83:DNS2 06 195.14.130.220
28 Jul 2014 09:36:09 SYS_IRQ 00:26:44:df:4e:be 0 CY Tx 8021:IPCP 01 01 0016 ConfReq 03:IP 06 93.109.42.104 81:DNS1 06 195.14.130.170 83:DNS2 06 195.14.130.220
28 Jul 2014 09:36:09 SYS_IRQ 00:26:44:df:4e:be 0 CY Rx 8021:IPCP 02 01 0016 ConfAck 03:IP 06 93.109.42.104 81:DNS1 06 195.14.130.170 83:DNS2 06 195.14.130.220
28 Jul 2014 09:36:09 SYS_IRQ 00:26:44:df:4e:be 0 CY Tx 8057:IPV6CP 01 00 000E ConfReq 01:I/F 0A 02:03:97:ff:fe:2c:04:06
28 Jul 2014 09:36:09 SYS_IRQ 00:26:44:df:4e:be 0 CY Rx 8057:IPV6CP 02 00 000E ConfAck 01:I/F 0A 02:03:97:ff:fe:2c:04:06
28 Jul 2014 09:36:09 pppoe 00:26:44:df:4e:be 0 CY up 93.109.42.104-192.168.219.248
28 Jul 2014 09:36:11 dhcp6c-rx 00:26:44:df:4e:be 0 IA address 2a00:1358:e0f8:af00::

Sunday, 27 July 2014

When is an air conditioned villa not actually air conditioned?

When you book with Villa Plus.

We have just arrived at 1am, finally, and even at this time of night it is way too hot. The villa is big, and has a study even, so I can get some work done while the rest of the family go in the pool. That was the plan, I can stay in the air conditioned villa most of the time.

Turns out they don't actually have air-con the the main living area, or the study, or indeed any part of the villa except for some pathetic small units in the bedrooms.

What a waste of money. And I am stuck here for two weeks. Maybe I can bring a desk up to one of the bedrooms or something. This is ridiculous. I have been to many hot countries, and they manage to have proper air-con in the entire villa, whether it is Rhodes, or Barbados. That is the one redeeming feature of a hot country - they have air-con. But apparently not in Cyprus.

I am dreading two weeks here now. It is seriously tempting to fly home.

So much for Villa Plus, more like Villa Minus...

Oh, and the internet is jumping to 500ms latency when idle. That is going to be unusable as well.



Update: I have read the villa description, and it says Free Air Con. But it seems that the text does indeed say air conditioned bedrooms. So maybe I should be cross with the person that booked it. I asked for only two things when paying for nine people to go on holiday - air conditioning and internet. Next time I do the booking.

Update: The units in the main villa, which they say are heating only, are in fact air-con, and magically, for only €250 more, they can be turned on. We'll see later today, hopefully.

Update: And... we are starting to chill.

Saturday, 26 July 2014

SIP call flow diagrams

We have been working on ways to help us help customers debug SIP issues. SIP (Session Initiation Protocol) is what commonly is used for VoIP (Voice over IP). All of our VoIP services use SIP.

One of the challenges is training the staff to understand SIP properly. Following a SIP trace can be a tricky at the best of times. Some tools like wireshark do a good job as showing the call flow for a SIP call from a packet dump. But we needed something more generic that allowed us to look at SIP messages we capture for diagnostics and made it simple for staff to help a customer.

The real trick is presenting an overview of the whole call flow. We finally managed to get something pretty neat this week, thanks to some work by my son on the front end, which looks quite good. We have mouse-over to see each SIP message in full.

Here is a screen shot. You'll need to blow it up to see the detail.

Given that this was in fact just one junk call I got this morning, which I answered and told them to go away, it is quite impressive that it involves 8 separate (colour coded) call legs. It also involves 8 devices which we can see (plus many more before the call gets to us and more where it goes on to try calling my mobile). In this instance the call tried two SNOM phones and a SIP2SIM connection, and set up call recording in two separate places (one as part of the A&A service, and one on our call server in the office). Just getting the system to work out what packets are related to the overall call flow is a challenge in the first place!

I think this sort of thing will help staff understand SIP much more clearly and understand what is happening when customers have SIP related issues.


P.S. before you ask, no, this call flow trace is not available to customers - managing security on collecting and showing traces is proving to be a bit of a challenge as a call normally involves at least two separate parties and could involve many more. And no, we have not had a data retention notice so won't be storing these traces for any length of time - they are for diagnostics only

Explaining the diagram:-

The red on the left is the incoming call from an external call server for a call from the PSTN to B.voiceless. You can see the normal sequence of INVITE, 100 Trying, 180 Ringing, 200 OK, ACK to establish the call, and then BYE and 200 OK where the call was finally hung up.

The next part is b.voiceless passing that call to boxless. Here you see that it tries, and gets 401, so tries again with authentication details. The rest follows the same pattern with 180, 200, ACK, then BYE and 200.

From boxless it gets interesting. The yellow is a call to a SNOM at the office. It has INVITE, 100 Trying, 180 Ringing (repeatedly), but finally when answered on another phone is sent a CANCEL and gets 200 OK to that, so sends a 487 Request Terminated and gets an ACK to that.

The green call from boxless is just the same, but to a SNOM phone at home, except this goes 180 ringing and then 200 Ok, with ACK. That is where I answer the phone. Eventually there is a BYE and 200, showing I hung up the call from that phone. It is the 200 Ok on this call that prompts the CANCEL on the two other calls (yellow and blue).

The blue call from boxless is a call out to my mobile handled by A.voiceless that passes the call on to an external gateway (orange call). Both of these only get as far as 100 Trying, before there is a CANCEL because I have answered the call on another phone. This is because the mobile network takes time to start ringing, and I answered before the call got that far.

The light grey call from b.voiceless to noiseless is the call recording leg for the incoming call to the original number. Similarly, boxless also does recording and that causes the purple call to noiseless. Note, they were not the same noiseless - we have shown the calls based on known names where possible to simplify, but the call leg summary (not shown) and mouse-over text make it clear that we actually used two different recording servers in this case as noiseless is a pool of machines.

It is the BYE from my SNOM at home (the green call) that prompts the BYE back to b.voiceless and then on to the caller as well as the BYE to the call recording servers (noiseless).

Did you spot the error?

Friday, 25 July 2014

Makerbot Z18 major disappointment

The new Z18 arrived yesterday, an impressive looking bit of kit, even came on a pallet! It is big!

It looks well made. The packaging was good and it was easy to get going. We did a small test print, which seemed to work. All well so far.

We then installed the s/w on a Mac, and it could not see the printer on the network. Using a USB cable we could see it and upgrade the firmware. This then left us with the "Extrude not attached" constantly. After turning off and on, disconnecting and reconnecting the extruder, and so on, we eventually upgrade the firmware again (to same version) and finally it was working and extruder showed as attached.

At this point all looks quite good - the Mac can see the printer and send a print job over the network. The iPhone app can see the printer and the camera showing progress. All good.

So we printed something. It was thing 6274 Lego Brio cross piece. It said it would be 8 hours, which is a long job. Printing lego tends to be slow due to the design.

While it was printing I thought it would be a good idea to compare the old Replicator 2, so printed the same job, using the same Makerbot desktop s/w in the Mac, and the same "standard" settings 0.2mm with raft and 10% infill.

First big problem with Z18. The Replicator 2 finished in 6 hours 24, but the Z18 took 7 hours 56. That is massively slower for the same print resolution. I actually checked, and the head speed settings are the same.

That means the new 5th generation Makerbot printers are 25% slower than the previous generation!!

They don't tell you that on the web site!

But when we looked at the print, things were even worse. The Z18 has printed a total mess! This is using genuine Makerbot PLA.

Now, I'll check with the suppliers and Makerbot to see what they suggest, but at the moment, it is likely to be going back!

Printed on Z18
 
Printed on Replicator 2
Printed on Z18
Printed on Replicator 2
Update: Looks like changing the feed tube to go above the extruder guard rather than below may have helped a bit, but still not usable. This also means you can no longer put the lid on. Waiting on Makerbot response.