Sky TV fail!

So, chasing a problem with a subscription we cancelled last year and still billed for...

1. They call me and ask me for my password, and fail to see the problem!
2. They then email as multipart/alternative with a text part that is just "No content"

Notes for the non techies:-

1. It could be anyone calling asking for my sky password. Bank do this as well. They say "its about the letter you sent" and seem to think that helps. I could call hundreds of people and say that and some would have sent a letter, and bingo I get their password.

2. When you send an email you can send in various ways. One way is "plain text" which is just what it sounds like. One way is "html" which is formatted like a web page, so "prettier". Sky could have sent a "web page" formatted email and I would have been able to read it. They could have sent "plain text" and also fine. There is however a way to send an email saying "there are two different versions attached, take your pick, they say the same thing", and then attach both plain text and web page format. Sky did this. Except the plain test part had only the text "No content". So they are deliberately offering a choice when the could have just sent the web page format. Brain dead!



Well, looks like my Pashley is finally giving up the ghost. Not sure how safe it is to cycle with it like that, but they have silly lead times getting new ones.

Maybe I can buy a new frame. Ho hum.


Err, what can I say

OK, I like them, but what kind of mind thought this up.

Well, some things work

We upgraded LNS and core routers.

Sounds like IPv6 suffered for a minute or so, which is odd.

But what worked was the LNS changed - we drop PPP and routers reconnect. We even had one customer who was playing WoW. The drop was between 1 and 3 seconds according to the log and his game was not affected. He only noticed because our graphs go purple (fixed over night).

Pretty impressive IMHO.


Fed up

Well, nice way to start the weekend, fed up.

I need more customers, and have no idea on marketing :-)

I need suppliers (the un-named telco) not to screw me around with billing suddenly changing arrears billing to advance billing with no fucking notice.

I need things to go right for a bit.

Ho hum.

But apart from that, all is well :-)
I am sure I'll feel fine by the end of next week...

Update: We broke the Ethernet customers - arrrg - fixed, but just one more thing.

So, Saturday - do I sit and watch TV all day, or go and do some work...


Pen knifes and memory sticks

I usually have a pen knife on me as they are useful - it is good for opening parcels and packages, has handy small scissors, and the screwdriver is exactly the right size to work perfectly on all of the screws used to assemble a PC. Being able to take the lid off a computer without looking for a toolkit is useful in my line of work :-)

Now, Victorinox are clearly trying to appeal to geeks. They have done laser pointers and USB memory sticks in the small pen knives for some time. Now they do a really cool presentation master one. It has a laser pointer, of course. It has a two button bluetooth remote which works to do previous and next page on a powerpoint style presentation and even works on my Mac (that is cool). But the expensive bit is they do encrypted fingerprint access USB memory... That is uber cool.

Well, I saw it said windows, and I am not allergic to windows, not quite, if I have to find a machine to set something up. Sadly they have really missed a trick here. Yes, windows (app is on the memory stick, obviously), and it sets up finger prints, and so on, but to actually use the memory stick you still need windows and have to run the software.

The real advantage of USB storage is it works on everything. By insisting on windows and by insisting on running code off the stick, you limit uses massively and create compatibility issues for the furture. It is horrid. How hard would have have been to make it check finger prints itself - e.g. plug in and PC sees mass storage with nothing mounted - wipe finger, and it blinks an LED to say well done, and tells PC media has been inserted and works. That would have been cool, and compatible. A portible, compatible, finger print access encrypted storage device would be cool. But sadly not. Really missed a trick there guys...

So I got a standard USB memory stick version and swapped the sticks and gave my son the geeking fingerprint one but in the normal penknife without the laser and bluetooth.

Sadly the damn thing has gone missing. I have only had it a few months. Not even had the chance to use the presentation bluetooth buttons on a real presentation yet. Arrg! I bet it is at the bottom of the washing machine but no luck yet.

So, I decided to go for something simpler this time. An ordinary penknife, and a separate USB memory stick (as they are smaller than the ones in the penknife anyway). What I have ordered is a really tiny, waterpoof, keyring USB stick. Looks cool, and may survive the way I treat them.

So, now for an ordinary penknife. Mistake! I decided to go for the proper swiss army knife. I mean, why not? Sadly, I did not note the size (111mm). It's nice. Sadly it has a blade just over 3" which means unless I am hiking or camping or some such (yeh, likely, not!) I can't take it out of the house. Really nice knife, but will have to live in the tool kit. It is a shame they do not do it with a UK legal blade which is just a tad shorter.

I'll get something smaller :-)

P.S. knives from swisstool.co.uk and memory stick from amazon.


Am I missing something (leases and lawyers)

The office next door has come up for lease, and it would be a bit handy to have two connected units, so we are looking to lease it. Simples you might think. We were their neighbours for years before the moved the office so they know us. We have been in business for 12 years and have multi million pound a year accounts with our favourite telco on credit terms, what could go wrong?

But then the solicitors get involved, and it gets messy. And I have to wonder why...

After all, if someone comes to work for us they expect us to pay them money every month, yet they do not expect a guaranteed 3 year commitment, or to see audited accounts, or have a 3 month deposit, or have a director's personal guarantee or a charge on the company, yet they are probably risking their entire family income on us staying in business and paying them every month.

But when a business wants to lease a building, for a similar amount each month to the above scenario, even though that is a drop in the ocean and not their entire income, they expect you to go through hoops.

Why is this I wonder? Why can't life be simple.

Thankfully we don't need the same, so we are holding our ground and maybe it will all work out. Ho hum.

Followup: They have caved in - now to get the actual leased checked over properly.

How it should be done?

Well, the same people that had trouble with the "Notepad Document" we sent them, has today sent me an email to answer a simple question...

The answer was to be found in a sheet of a spreadsheet file that was in a zip file with several other spreadsheets which was itself an embedded object in a sheet of a spreadsheet which was in a zip file which was attached to their email.

Oh, and it did not really answer the question...

Makes me think of http://xkcd.com/763/


Notedpad Document

Classic! Someone we emailed has, after some weeks, finally managed to open the "Notepad Document" we sent them.

You guessed it, it was a plain text attachment...


Making a resilient network

Interesting thought came up today - can we market a resilient network at all?

Then I get to thinking what does that mean - well, I think it means, to me, that the network can tolerate various types of unexpected issues and still work. The dictionary says "springing back; rebounding" and "recovering readily from illness, depression, adversity, or the like; buoyant." so that sort of fits.

A resilient network is one that recovers from problems.

So, we try and do that - we have dual links to our favourite telco and our other favorite telco ( :-) ) and we have dual LNS and dual switches and dual routers and dual DNS and dual RADIUS and dual transit and even dual local peering, all in a data centre with redundant power supplies and so on.

The theory is that if any one of these breaks, things carry on. Ideally they do so seamlessly, but if there is an outage it should be a matter of a few seconds and recover all by itself without us having to intervene.

Now, it is not really quite possible to cover every scenario. Multiple failures are unlikely, thankfully. The biggest issue in any such system is partial failures where something is working enough not to trip fall back systems but is in some way broken or intermittent. Thankfully in such a case manually shutting down the ill part of the system can switch to the other half.

Of course we have to have lots of monitoring. If you have dual systems and don't know one has died then you are in the shit. We also have spares on site to allow for quick replacement or repair when things do break, or for the dreaded multiple failure scenario.

It all sounds good, but to be honest it is just best practice and business as usual for any ISP, even a small one like us. Indeed, if not for the way bandwidth gets charged by our favourite telco we would probably have a dual site redundancy with a second dual fibre interconnect to them, even as a small ISP. I know far smaller ISPs with just as much attention to resiliance, if not more. I can't say we have always managed it, and a few years ago we found to our peril that we had a single point of failure and the backup kit was never tested, but these days I can say we are a lot more careful. We can never be totally foolproof, but we do take it seriously.

The problem comes with the telcos. Sadly, even telcos that have decades of experience with the telephone network seem to lack the basics when it comes to data networking. They routinely have single points of failure and links that do not automatically fall back. It is scary. Any fault that can take hours to fix smacks of not having a resilient network. Any planned maintenance that can take services down for hours smacks of not having a resilient network.

Like a BRAS that suddenly starts crashing and you can't get working - well switch to the backup BRAS surely? What, no backup BRAS? What, need a card and there is not a spare on site? WTF? Not a resilient network.

The only real option we have, and is what we do, is use two independant telcos, so that we can extend our resilience out to multiple back-haul networks, multiple DSLAM, and multiple copper pairs to multiple routers. It works well. It does not mean one is inherently better than the other (even if that does seem to be the case), just that it is really unlikely to have an issue on both at once (bulldozers permitting).

Of course, we can, and do, go one step further. There is always going to be a single point of failure in our network whatever we do - and that is the aministration/management. We could fail in the way we run things. We could accidentally break the whole thing. So we work with at least one other ISP where customers want dual ISP resilience too. That is something no one company can ever offer.

So, I think we offer what people need to have resilience even if the telcos do not.


Yes, I do have real work to do

And I know I should not be working out if one can write a solver for loops of zen entirely in javascript. No, that would not be real work, even if it is fun...

It would seem the 10x10 ones can often be totally solved with no trial and error - i.e. just deducing where tiles must be a particular way around. It is a bit iterative - you can fix the initial obvious tiles (blank, and 4 way) and then progress to adjacent tiles. Tiles at the edges have less options. Tiles adjacent to ones you are sure of can find their options limited to one choice and so you fix them too, and so on.

The first version looked at 1 way, and 2 way right angle, and 2 way straight, and 3 way tiles distinctly and considered the various options. It is a stupid way to consider it and I have been dumb. I should just "test" the tile all 4 ways around and see how many "fit" against adjacent know tiles. If only one way, fix the tile. It can be done in a loop. How silly of me!

(I'll try that now :-)

Doing the same on the larger ones leaves islands of tiles which have a choice about the way the puzzle is solved, but typically deciding one of them causes the rest to fall in to place.

So, a cheat function that works out what can be statically deduced without trial and error gives a sort of difficulty score for the game - how much can be fixed like this and how much needs trial and error. The trick then is to use this cheat mode to test different ways of making the random puzzle in the first place to determine if they make easier or harder puzzles...

Or, I could get one with the mountain of real work I have to do.



Well WTF happened there, bright red blotches on hands and face gone red?! Antihistamine and 10 minutes later all well. Very odd.

Trying to work out if I have been bitten by a radioactive spider or just been playing too much Loops of Zen :-)

Kicking myself

OK, mistakes happen, and generally when things break I start checking it was not me first...

Sadly, on this occasion, a stupid typo in my code meant that our LNS caused a tunnel to drop and reset once the sequence wrapped around (at 65535 messages). Silly mistake.

The problem, of course, is that this only happens after a long period of running perfectly. In this case a couple of months. So you naturally assume it is working well and so assume it must be our favorite telco screwing up as usual.

Well, red faced and kicking myself... Sorry to our favourite telco for hassling them for more than a day on this. ui32 changed to ui16 and all should be well. D'Oh...


Gone loopy

OK, Loops of Zen is a fun game on the iPad.

We (or rather Kev) found a version that is flash based on the web.

So James and I, after a few drinks late last night, knocked up a quick javascript based version. Took maybe an hour at most.



WoW copyright

OK, pondering... I wonder if there is case law :-)

It is, as I understand it, well established copyright law (at least in UK) that a photograph of a sculpture is not a breach of copyright in the sculpture. The photograph itself is a new copyright for the photographer, but the sculpture copyright is not breached in any way.

Recently someone referred me to Big Blue Dress on youtube. The lyrics are funny, especially if you are a level 80 mage like me... And the graphics are actually really well done. I am impressed. Getting three gnomes to dance in sync can't be easy.

Then I wondered. The video. Who's copyright? The world of warcraft is a three dimensional computer model. It is a virtual sculpture. So a two dimensional still or video is like a photograph of a sculpture, surely? The art and creativity in composing the camera shots and the characters to make that video took skill. Do Blizzard own any copyright in the 2D rendering of their 3D designs?

Just pondering...



With the way things have gone so far this morning I have to wonder if it is safe to put the coffee on. Not a good day so far...

For a start, I was trying to work out if I could black mark engrave on the back of an iPad. A useful thing to know, obviously, as it means I know what is possible when a customer whats an iPad engraved. The marker spray works well on steel I know (you spray it, let it dry, and laser it, and it makes a very strong permanent black mark). It is meant to work on aluminium too.

First problem is spray and laser does not work well as the aluminium is anodised. The black mark is left on the anodising which comes off where lasered. You get a mucky brown effect or at best a sort of grey. Oh, and trying to laser on the curved edge does not work well either due to focus issues.

OK, so try a small mark (little apple logo), laser cut the anodising first, spray, and re-laser. Well, sort of works. The iPad slipped and I have two small apple logos overlapping, partly a grey colour, partly a reasonably good but not perfect black and partly just whitish where anodising is removed. Grrr. I suspect with practice I could get it to work, but tricky.

So I went for a full stargate logo on the back around the apple logo that is in the middle. This is easy. I decided against black as not really as good as I wanted, and went for the tried and trusted laser cut of anodising effect. That bit looks good, except...

When making the artwork I position an apple logo on the blank sheet the size of the iPad so as to get the rest of the artwork right. One then removes the logo and sends to print (laser). Except I forgot to remove the apple logo.

This is where the real problems start, watching the machine I realise it is cutting the logo out too. This is not good. So I pause the job, and have to cover the logo. Sending the job and starting again would create alignment issues. I have some engravable plastic, so stick that over the logo to protect it and continue. I could not find any silver foil (which works well for this).

This results in the artwork coming out fine (phew) but the plastic is now welded to the apple logo...

So I use a sharp knife to try and peel it off. Reasonably successfully but in the process slice my finger.

What else can go wrong I wonder... Well, off to the beer restival at Earl's Court... We'll see.


No shame!

Well, we had a junk call that came through and was put through to a junk call handling number. It was not one to a spare number so was not handled automatically. The message they got was quite a rude one.

The owner of the company has had the cheek to call me up and complain about it. She has absolutely no concept that marketing calls to TPS listed numbers is not allowed and no remorse and no intention of stopping making such calls.



How did I live without valgrind? It so useful!

To be honest I am very careful with coding and rarely hit memory leaks. My background has been in embedded software which means being very careful.

However, we had a memory leak in the call handling code. Not serious, and picked up by our monitoring anyway. Just using up a few bytes every now and then so that after some days you could see it was using noticeably more memory.

Buggered if I can find it, so (at Cliff's suggestion) I tried valgrind. It is already installed on the machine as standard it seems. All I had to do was run the app with valgrind on the start of the command line; leave it a few seconds to "leak" a bit; stop it; and valgrind says where the leak is. It could not be simpler to use...

Knowing where to look - it was, of course, blindingly obvious. An exception case did not free something, but that was happening every time an authenticated SIP request came in.

So +1 for valgrind. Well worth using if you have any suspicion that you have a memory leak in your code. Very cool.

P.S. Apologies to my sister-in-law and other non-techies as this will have made no sense whatsoever and I really could not find a way to explain it in simpler terms, so didn't even try... :-)



OK, she has a car now. It's second hand from a dealer but looks nice. It's a Ford, and is blue and has doors at the back as well as the front. That is about the extent of my car knowledge.

/me knows he has just made his son cringe at that :-)

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 an...