On the matter of fonts and copyright

I think I am making some progress on using FreeType to work with fonts (previous blog post). And no, I am not planning to include my new Not Alteran font (blog post).

The plan is to move some things I previous did using postscript to SVG, mainly because of its much improved unicode handling. By being able to determine metrics when creating the SVG I can create an SVG that does line breaks and stretching or whatever correctly for the font.

One of the targets for this work is my existing card design platform. It needs some improvement I know, and I have done quite a few things recently, but moving to SVG would make it much neater - not only to see the designs on screen, but also to make cards using unicode characters properly.

And no, not just for emojis (though they will be included in the logic), but for all of the accented characters. Even just doing cards for a school reunion ran in to issues with the default Postscript font, and I still cannot manage some Polish names! Unicode would solve that properly.

Thankfully there are quite a lot of free web fonts (google do loads), so the system can use those. But there is one font that is annoying me. The Farrington 7B font.

It is defined in ISO 7811-1 which is one of the specifications related to bank cards, and is the font for the main large digits on the card (e.g. credit card number). The ISO standard has an appendix with detail drawings of the character outlines with measurements. They are simple as they are lines and arcs only. I had a copy of ISO 7811-1 ages ago for work, but don't have one now. I could pay for one I guess. Somehow they do manage to kill off dodgy copies just on the Internet (having paid once for a copy I can no longer find, I feel somewhat justified in using a dodgy copy if I could find one).

Also, there are several sites selling the 7B font. And it got me wondering, I may as well make one (assuming I find / buy a copy of the ISO). But then I don't actually have a clue what he copyright issues are here!

Fonts are special from a copyright point of view in that the font itself has copyright, but instances of use of the font are allowed. i.e. the font is like the written recipe and the printed work using it is the cake.

But an ISO is meant to be a set of instructions you can follow. You can make the bank cards following the instructions in the ISO you paid for, and presumably follow them to make an embossing machine to emboss the Farrington 7B characters, and do so without copyright issues.

So can one make a font from the details in the ISO and not be breaking copyright by effectively copying that appendix of the ISO in to a font? I have no idea.

The other issue is the font design tools - I need to work out if I can enter co-ordinates. It seems that they are designed to allow one to draw and drag points, and set guide lines, and so on, not simply enter co-ordinates off an engineering drawing.

The other annoying thing is that I have the spec converted to a Postscript font which I use now. I must have done this at least two decades ago.. From this I should be able to re-work the drawings, but to be honest, that is probably more work than the cost of paying for the ISO again.

Anyway, if I do make a font, I'll publish it for free. It is 10 digits, and that is it.

%% Farrington 7 B characters (credit cards)
/7B 50 dict dup begin
/FontMatrix [1 233.7 div 0 0 1 233.7 div 0 0] def
/FontType 3 def
/FontBBox [20 0 120 170] def
/FontName (Farrington 7 B) def
/PaintType 3 def
/Encoding 256 array def
/CharStrings 11 dict def
0 1 255 { Encoding exch /null put}for
/Private 10 dict dup begin
/m/moveto load def
/l/lineto load def
/x{currentpoint exch pop lineto} bind def
/y{currentpoint pop exch lineto} bind def
/cp/closepath load def
/an /arcn load def
/a /arc load def
CharStrings /null {} put
/c {Encoding 1 index dup (0)0 get add exch ( ) cvs cvn put
    ( ) cvs cvn CharStrings exch 3 -1 roll put} bind def
{-15 80 m 15 50 30 90 0 an 15 -50 30 0 -90 an -15 -50 30 -90 -180 an -15 50 30 180 90 an
 15 70 m -15 50 20 90 180 a -15 -50 20 -180 -90 a 15 -50 20 -90 0 a 15 50 20 0 90 a}0 c
{-5 80 m 5 x -70 y 45 x -80 y -45 x -70 y -5 x 60 y -15 x 70 y}1 c
{-45 74 m -15 0 80 110 90 an 15 50 30 90 0 an 15 25 30 0 -90 an
 -15 -25 20 90 180 a -70 y 45 x -80 y -45 x -15 -25 30 180 90 an
 15 25 20 -90 0 a 15 50 20 0 90 a -15 0 70 90 110 a -41 65 l}2 c
{-45 74 m -15 0 80 110 90 an 15 50 30 90 0 an 15 25 30 0 -60 an 15 -25 30 60 0 an
 15 -50 30 0 -90 an -15 0 80 -90 -110 an -45 -74 l -41 -65 l -15 0 70 -110 -90 a
 15 -50 20 -90 0 a 15 -25 20 0 90 a -25 x 5 y 15 25 20 -90 0 a 15 50 20 0 90 a
 -15 0 70 90 110 a -41 65 l}3 c
{-45 80 m -35 x 5 y 10 x 80 y 20 x 5 y 45 x -5 y 20 x -80 y 10 x -5 y -45 x}4 c
{-45 80 m 45 x 70 y -35 x 5 y 15 -25 30 90 0 an 15 -50 30 0 -90 an
 -15 0 80 -90 -110 an -45 -74 l -41 -65 l -15 0 70 -110 -90 a 15 -50 20 -90 0 a
 15 -25 20 0 90 a -45 x}5 c
{-45 80 m -35 x 0 y -15 -25 30 110 90 an 15 -25 30 90 0 an 15 -50 30 0 -90 an
 -15 -50 30 -90 -180 an -45 80 l 15 -5 m -15 -25 20 90 180 a -15 -50 20 -180 -90 a
 15 -50 20 -90 0 a 15 -25 20 0 90 a}6 c
{-45 80 m 45 x -80 y 35 x 70 y -45 x}7 c
{-20 80 m 20 55 25 90 0 an 20 35 25 0 -30 an 10 0 l 20 -35 25 60 0 an 20 -55 25 0 -90 an
 -20 -55 25 -90 -180 an -20 -35 25 180 120 an -10 0 l -20 35 25 -120 -180 an
 -20 55 25 180 90 an 20 70 m -20 55 15 90 180 a -20 35 15 -180 -120 a 0 6 l
 20 35 15 -60 0 a 20 55 15 0 90 a -20 -70 m 20 -55 15 -90 0 a 20 -35 15 0 60 a
 0 -6 l -20 -35 15 120 180 a -20 -55 15 -180 -90 a}8 c
{45 -80 m 15 50 30 0 90 a -15 50 30 90 180 a -15 25 30 -180 -90 a 15 25 30 -90 -70 a
 35 0 l -80 y cp -15 70 m 15 50 20 90 0 an 15 25 20 0 -90 an -15 25 20 -90 -180 an
 -15 50 20 180 90 an}9 c
end def
 exch begin Private begin
 140 0 FontBBox aload pop setcachedevice 70 85 translate
 1 setlinecap 1 setlinejoin 10 setlinewidth
 newpath Encoding exch get CharStrings exch get exec closepath
 %0 setlinewidth
 end end
} bind def
end definefont pop

Update: First attempt at font here.


Not the Alteran font

This blog post has possibly no use whatsoever - I was pondering whilst I went for a walk, and came up with the idea. Unless you are a film producer looking for a free font to represent some high-tech alien race, then I doubt the blog is useful :-)

The thought I had was that in Stargate they use a block font for the Alterans/Ancients. No doubt with the objective of looking like some high tech font used by an alien race. It is based on grid format, 3 wide by 4 high, and then has a special case of an extra half pixel below the centre middle to mark numbers.

It occurred to me that you could make a more efficient font that this. Yes, I said this was a useless blog post, honest.

So my thoughts were, a 2x3 grid, i.e. 6 blocks, making 64 combinations. However, there would need to be a few restrictions as generally you do not want it to be possible for one letter to look the same as another letter if you cannot see the base line of the text, so we need a few rules.

A first rule is no symbol should look the same as another symbol simply because it has been shifted by a pixel. Oddly, I decided later that there could be a few exceptions to this, but I'll come back to that. Basically, you don't have these two as separate symbols.

.. XX
X. ..

I.e. a small "r" shape should be in one position. Now, within a row of text, yes, you could tell them apart, but not on their own, and, if there are other symbols like this, one could easily have a whole word where the meaning depends on whether the word is shifted up a pixel or not. The same logic applies to something only on the left which could appear the same on the right. Oddly enough, I have decided later that some punctuation, which is rarely not next to other characters, could maybe break that rule. However, we definitely want that rule for normal letters and digits.

Restrictions like this cut down on the possible combinations. I did the sums in my head as I was walking, and work out I could easily allow for 40 combinations where there was always something both left and right, and always something on bottom row. These two restrictions meant the above rules were met. 40 is good, as you can have A-Z and 0-9 and 4 other symbols. Obviously any alien high tech font has to map to our normal characters and digits (the Alterans do!).


It occurred to me the digits should be logical, and obviously aliens will use base 10 (Alterans use base 8 except when it comes to their font). If I make them all from characters with the bottom two pixels set I am left with 16 combinations. This can be 0-9 and 6 extras. Sadly we have 4 extras over A-Z and 0-9 so that means I cannot make all letters out of characters where the bottom two are not set, there will have to be at least two letters will have to be in this style along with the digits. Shame.

So the digits I did as follows. I went for coding 0 as "10" because of underscore (see later).

.X X. XX .. .X X. XX .. .X X.
.. .. .. .X .X .X .X X. X. X.
1  2  3  4  5  6  7  8  9  0


Some letters could be made to vaguely match their normal characters, upper or lower case, e.g.

.X XX .X X. XX .. .X XX XX X. .X X. XX XX ..
X. X. X. .X X. X. X. X. .X XX XX .X .X XX XX
j  g  i  l  f  r  z  p  q  b  d  s  T  C  o

So that was a good start.


I had space for 4 punctuation characters in this style, so went for some basics...

.. .X X.
.. X. .X
XX .X X.
_  (  )

I decided the one, a solid block with all 6 pixels set, would be best as the .notdef special character for when a character is not defined.

But there was more than I could do, if I break some of my rules. For a start, I could make a few cases for where punctuation would be next to other characters so less ambiguous. We live with hyphen and underscore being the same (in some fonts). So...

.. XX
XX ..
.. ..
-  "

I could also do some single pixel wide options :-

. . X X X X
. X . X X .
X X X X . .
. , : | ' `

The only one I did not define, and may come up with something for, was a centre dot.

I could do a few more like this maybe... 


I decided to make a space that is just a blank character, but this sort of text probably looks better with no spaces. As far as I know, once upon a time people did not use spaces (when paper was expensive), and you can often work out when one word ends and another started #susanalbumparty

Making a font

I downloaded BirdFont for Mac. I have to say I don't like it much, but for this purpose it worked. I had a go with FontForge, and that looks better. I may re-make from scratch some time.

The result...

This font... TTF which you are free to use (some credit would be nice).

P.S. Crap, I have just re-invented Braille, haven't I. Oops.
P.P.S. And yes, Teletext and even TRS-80 allow exactly this style of block characters :-)


Getting bank details right

Whilst this is an area about which I have ranted before, it seems that things are changing soon. This BBC article covers the new system that will come in to place next summer.

In essence it will mean that, to send money, you will have to enter not only sort code, and account number correctly but also the payee name. If it is correct, all is well. If close, then you are promoted with the correct name. If wrong, you cannot send money.

The aim is simple, to reduce the significant amount of fraud where people are duped in to sending money to the wrong place. This is a good aim, I agree.

Of course, with any new system like this, there is the trade off of increased inconvenience caused by the new system, verses the reduced fraud. The trick is getting these well balanced and ideally not failing in one or both of these objectives.

We find it very difficult to get people to type the right reference on payments, and that is basically a letter and some numbers. As such, I have concerns :-)


The most obvious concern when this was all mooted a while ago is that having a means to find someone's name from their bank details is a privacy issue. If you could just get a name from account details you could easily use that information.

For example, if you are calling what you think is your bank, they ask for bank details, and come back and say, "And can you confirm that is Mr John Smith?", you are immediately re-assured the they must in fact be your bank.

Thankfully the article does address this - the name will only be given if the name you tried is similar. But the devil will be in the detail - what is similar? Too broad, and you have the same privacy issue, e.g. "And can you confirm your surname?"... "Smith"... "And that is Mr John R Smith is it?"... Again, an issue. Of course, if too narrow, you have inconvenience, see below.


We find it hard to get people to type a reference in correctly. I imagine we will have problems getting people to type "ANDREWS&ARNOLD LTD" correctly, and that is not that hard. Note the lack of spaces around the & so that it fits in an 18 character BACS reference, but we do have a space before Ltd. Yeh, that will be fun.

I am sure if your name is "JOHN SMITH" all will be well, but what if your name is "Quvenzhané Wallis" and you want someone to send you money? Good luck getting someone to type that on a phone keypad and even hit the "similar name" logic. Indeed, I know people that are known by their middle name not their first, and people that have names which are spelt differently if you don't have accented characters available.

Update: As per one of the comments, this gets even more complex if you are known by more than one name - I do hope banks will allow other names to be recorded for verification.

I can see some horror stories coming out of this whole system.

Trading names

A lot of businesses have different trading names. Heck, even we do, as we use "AAISP" a lot. So that will not match. Hopefully banks will allow trading names to be registered for this as well - though that then opens things up for scammers to register a trading name.

Of course, this will have side effects. If you are expecting to pay, say "Red Dwarf Building Contractors" you may be told "you need to put 'Kryton Ltd' as the payee name as that is our parent company".

Once people get used to that happening, scammers can easily just tell people what to type. They tell them the sort code and account number now, they'll just tell them the payee name to type. They'll also make it nice and simple to type correctly.

Of course the banks will be happy as the customer will have told the bank who to pay, and the bank will have done as they were told. The fact it is not who the customer actually wanted to pay will be the customer's fault again. Yay!?!!


The focus is on consumers being defrauded, but I have seen many cases of businesses being defrauded, and for much larger amounts (hundreds of thousands).

This system is almost certainly not going to impact any business using BACS files to send money, as a lot of larger companies do (even we do). BACS two day payments are still used for payroll and paying suppliers by a lot of companies. Unlike the on-line and mobile banking, these systems don't have the same interactive process - a file is submitted with some specific fields, and maybe a day later any errors are reported in a file. If payee name checks happened on BACS files, then suddenly a lot of outgoing payments (perhaps even payroll payments) would start failing and being delayed, so I seriously doubt this will impact BACS.

So businesses will still be vulnerable, and maybe fraudsters will move their focus to businesses. Before people start saying businesses can look after themselves, remember, a lot of businesses are quite small and could easily go bust as a result of a fraud like that - causing hardship for employees and business owners.


Fraudsters will simply adapt, sorry.

This system will help massively with silly typing errors on sort code and account numbers. It will however add inconvenience when people cannot type the right payee reference, more so for people with harder names.

But fraudsters will simply create accounts (after creating Ltd company) with a "similar name" to the one supposedly being paid, or register a trading name matching, or more likely tell you "Put XYZ as the payee name as that is our parent company" and people will just fall for it.

So I predict it to help a bit in the short term, to inconvenience a bit long term, and ultimately not help.

Does that make it not worth doing? - hard to say - it is all down to a trade off of inconvenience vs security, and that is always a tricky call.


P.S. The problem here is that the banks have not been doing anything wrong. Yes, I know it is odd my saying that. For a long time there was call to allow faster / instant payments and banks did that. Now, when people ask a bank to send money to somewhere, and the bank does that, the bank has done exactly what it was told. It is one of those occasions where it is not the bank being defrauded. So I can see why the banks have taken time to "do anything" as it is not actually them that has the "problem" here, but under pressure, they are now doing something, so well done. What this will do is again make it 100% clear it is not the bank's fault - when someone pays someone thinking they are paying one person but actually (for whatever reason) they confirm they are paying someone else (maybe as instructed by fraudster) the bank can be even whiter than white and say that they did as they were told and paid the right person not just by sort code and account number, but by name.


Canon EOS-R

For background I have used most of EOS 1D MkII, EOS 1Ds MkII, EOS 1D MkIII, EOS 1Ds MkIII, EOS 1DX, EOS 1DX MkII, belonging to us and friends. The ones we have get used in the business, for everything from coverage of sports events we are sponsoring, to photographs of products for packaging and web sites. We do offer photographic service even, but I am not really a professional photographer myself. I do, however, have some experience using Canon high end cameras.

In most cases I also had the WiFI adaptor and a GPS adaptor. The latest 1DXMkII has GPS built in, and the separate WiFI adaptor does 5GHz as well. The package works well, we take product shots and they instantly FTP to the file server where we can view then and use them.

I now have an EOS-R. I knew it was a slight backwards step. It is Canon's new full frame mirrorless camera and a few features are not quite as good as the 1DXMkII, but it has some nice things like built in WiFi and higher resolution sensor.

I don't intend to do a review of the optical / photographic features. There are many such reviews by those far more qualified than I to explain and review. In summary, the EOS-R is Canon's new full frame (30Mpix) mirrorless high end camera, with a new "RF" mount but with EF adaptor, which works nicely. It is small and light compared to 1DX, but has an optional battery clip which I like (others may disagree) which takes two batteries (battery life being one clear area it lacks compared to the 1DX). It is slower to start up, which is a tad annoying.

What I want to do is address the network side. Being something of a network engineer and having coded network stacks from scratch, I like to think I am a bit of an expert in this area. However, I 100% accept that some of the issues I have had may be user error. I'll update this blog where that is the case, but with the caveat that as someone with experience of previous high end Canon cameras, user error really should not be happening, if designed well.

1. Bad: No IPv6 (as far as I can see). When Canon started designing this camera, the IPv6 specs had been around for a couple of decades and the current version of Internet Protocol is v6. I could rant for ages on this, but I'll gloss over for now - for most things we can cope using just IPv4.

2. Good: Built in WiFi. Nice to have, and something I have always had to pay for as an extra adaptor before.

3. Bad: Seems to only be 2.4GHz WiFi. But to be fair they sell a separate WiFi adaptor too, which I really hope is 5GHz, so someone wanting faster WiFi can take that option. Fair enough I guess, but I doubt they saved a lot making it only 2.4GHz these days.

4. Bad: No built in GPS. I am sort of in two minds over this. I like GPS. I had a separate GPS adaptor on much older models, and the 1DXMkII built in GPS was nice. However, Canon have decided they can link to your mobile phone for location instead. I cannot work out if this is an annoying bodge or a cunning technical solution yet. I do, indeed, normally have my phone, and it knows where I am. I hope it will do it over Bluetooth as otherwise I have to faff with changing WiFi on my phone to use camera as AP or some such which I don't want to do.

5. Bad: Broken bluetooth. I have no idea at this stage if this is just my camera or generally, but any attempt to pair a bluetooth device does not get as far as a list from which to pick - it crashes out with Error 70 (a shooting problem?!?).

6. Bad: Very unhelpful error messages. I decided to try the cloud service thing. I am not going to use it as it means all photos go to Canon, sorry. But I did test it. Initially I was using the wrong WiFi SSID (partly because it does not show UTF8 SSIDs and partly as it does not show 5GHz only SSIDs) which meant it hit a wifi with an http intercept and splash screen. The error was that I had to set the camera data and time! This is so unhelpful as (a) you have internet, set it yourself FFS, and (b) if you have connection problems over internet say so, don't invent an unrelated error! (c) I had set the date and time, to within a fraction of a second.

7. Bad: No direct Ethernet, but maybe not the end of the world given it has built in WiFi.

8. Bad: It will not do FTP. This is not Canon deciding that people do not want FTP because it is old (which is an issue, I agree), as they will do FTP if you buy a second WiFi adaptor. The firmware clearly has the FTP capability and you can even select which images to transfer via FTP in the menus, but not actually set up FTP at all. For some inexplicable reason, even on this expensive camera, Canon have decided to cripple the software to not do FTP over the built in WiFi, and I cannot see any sensible reason for this massive backwards step. It almost makes me want to send it back for this alone. After all, most other models I have used will do FTP over Ethernet - you only need the extra WiFi adapter to, err, do WiFi. They don't cripple the protocols you have without it.

9. Bad: I simply cannot get the file transfer to a Mac to work at all. I have tried more than one Mac. I have even tried with camera setting up an SSID and Mac connecting to it. I have tried following the exact steps as explained by Canon on twitter only to find the app does not have a "Pairing over WiFi" button as shown in the manual. Even where I have managed to get a pairing over WiFi option though different routes, nothing shows on Mac or Camera. The WiFi does work (I can ping the camera, and even transfer to my iPhone over WiFi). This was after having to pretend I had High Sierra not Mojave (as advised by Canon). I am not keen on a call with their support, but may have to. Whilst this really is not as good as simply doing FTP, it may allow me to bodge something together to make it work overall, but I bet it will only work when on same WiFi as my Mac and not (as with FTP) from anywhere on the Internet.

10. Bad: I hope this is user error. I cannot seem to find any way to make the screen and view finder work as a normal SLR. It has a manual mode to always be screen or always be view finder, or auto to switch to view finder when you move your eye to it. What I cannot find is view finder when my eye is there, and menus / display photos / preview of shot taken on screen but NOT live shooting on screen. Why? Well (a) I am used to an SLR not live shooting, and (b) the live shooting is touch screen focus (nice when you want it) but bad when you touch with your nose, etc, (c) its uses power showing a live screen for ages when I don't need it. I'd like that option and a simple button to turn on live shooting on main screen when I want it and not all the time.

I'll update with more when I have chatted more to Canon on this.

Update1: Went through in great detail, with pictures (so as to be helpful) with Canon on twitter and they have no clue on the bluetooth issue! They have gone off to check with technical support.

Update2: Using camera as a WiFi AP, I managed to "pair" over WiFi to the EOS Utility, and then it worked via normal AP, but sort of only once and then freezes on the Mac so badly I end up rebooting. It does work in the mean time, but no way I am rebooting every time I want to transfer files. And that still does not give the auto file transfer to Mac as that is a different app! As I said in the comments, just one, standards based, protocol for sending images as taken over IP - that is all I want, whether FTP, SFTP, whatever, even https posts FFS. Anything that does not mean special proprietary code on my computer that Canon clearly struggle to make usable or stable.

Update3: Just to clarify, I can connect to iPhone, using normal WiFi AP, with its normal IP addresses (IPv4), and does not even have to be same SSID, just same LAN. So I can grab images to iPhone, remote shoot, and so on. That is moderately slick. So that is some progress. Talking to my Mac is still a struggle. Bluetooth is a total bust still.

Update4: I reproduced the stupid "set date/time" error by simply redirecting the https that is used for the cloud services to something without the right certificate. I have yet to check if a self signed or faked CA would work. What a stupid error to report though, really!

Update5: I tried again, resetting everything on the camera and rebooting the Mac and re-downloading the apps from canon. Somehow, this time, the Image Transfer Utility was able to "pair" with the camera. In face the mac is not even on the same SSID (but is on same LAN). And before you ask, the AP is not set with any broadcast filtering set up. So I do now have auto transfer (when here) to my Mac, so I'll have to code some magic to send to my photo site.

Update6: New stupid. Yes the auto file transfer to my Mac works, but not when I take a picture, no. It happens later, if I turn camera off, and later turn on again, then it suddenly catches up all unsent pictures at that point. WTF - what the hell is the matter with Canon. These are the people that, on the 1DX, with FTP, will actually connect and login on pressing focus and hold the TCP connection open so that the file transfer happens the instant you press the shutter.

Update7: Mirrorless it going to be hard to get used to - I pick up camera and hold view finder to my eye, and blackness initially - I even have to press something to see am image - that is so strange. Yes, it wakes up and I can then see something, but that is just weird, and I guess a feature of mirrorless.

Update8: Apparently the "Auto send images to computer" is designed like that, such that to to "auto send" the images you have just taken you have to "manually" turn the camera off and back on a gain. What the hell is wrong with Canon?

Update9: Apparently it can transfer to computer as you shoot, but only as "remote shooting", but that is misleading as in remote shooting mode you can shoot using camera. But to get to that is multiple menus and so on to get to it. Also, having got to the menu once, I cannot again - the camera says it is connect or not, but the EOS utility just offers pairing over wifi and does not list the camera now. Buggy as hell. There seems no way to just pick up the camera, take pictures, and have them transfer automatically as taken if you are on the local WiFi - it is hassle whatever you do with this camera. Nightmare. Canon used to be good, I thought, anyway.

Conclusion - going back for refund.

P.S. It is probably worth adding a few points. There are many ways to use a camera. I choose to have images stored on a server where they are backed up, and sorted in to albums and so on. The server links to geo-tagging as well, and presents images in different sizes or full size. For some, storing only on a local computer most of the time would be fine. For me, the server is in a data centre not next to me, so, for example, we have a shooting table at work for product shots but no computer is there, we take shots knowing they are on the server and use that later. So that means the EOS remote shooting would not work as you have to select on camera and then on Mac, so need the Mac there next to camera. That seems not to work for me over WiFi, but I know it does work over USB and if the Mac was there I'd use USB instead of WiFi to be honest. The way of working I have may be a minority - it is where I can simply pick up the camera and press the shutter and take a picture, and anywhere within the known WiFi we have in both offices and at my house I can be confident that, within seconds, even fractions of a second, the image is safely stored on the photo server where I can access it (even from my phone). Elsewhere I can connect to a local WiFi or even the hotspot on my phone, and it will transfer. If shooting away from these WiFI, it is a couple of buttons when I return to send all unsent images. This is fast, and easier than taking the card out, as that would mean then doing a file transfer from my Mac to the photo server which is a lot more manual that simply letting the camera do its thing. I am not fussed if not FTP, they have FTPS, and I'd be happy with any standards based file transfer, even just an https post to nominated URL would be great - please do that Canon - you basically do that to a fixed URL for your own Cloud system - just let me put my URL in instead. Canon used to support this way of working - heck they still do as FTP (and FTPS) is still a feature even on the EOS-R, but oddly, unlike other cameras where it was a standard feature even without having to buy the WiFi module, for the EOS-R you have to buy the WiFi module to use it, even though YOU ALREADY HAVE WIFI BUILT IN! It is also a big WiFi module (not like the little WTF-E8).

P.P.S. Wex photographic have been great, as always, and it is a bit of a shame that they had a faulty (bluetooth) unit.


Polarised filter

A while ago I got a polarised filter for my camera to see what it was like. Obviously it cuts down the light by half, but it also seems to make pictures a bit different, and generally quite nice. However, that is not what I am posting about specifically.

What I got was the "Hoya PL-C" model. Indeed I could not see any linear polarised filters. Wikipedia has a nice bit on circular polarisation.

There are basically two main ways to do things - linear polarisation has a direction, e.g. vertical, horizontal, etc. This is also what is usually used on a simple LCD display such as a digital watch. The light goes through, say horizontally polarised, and is reflected back, and will come through the polarisation again the same way, but the liquid crystal can twist the light so it is vertically polarised and so not come back through the horizontal filter.

If, in the digital watch, you were to have a circular filter, e.g. "right handed", when reflected off the back, it would always clash with the filter coming back, list like a mirror image of screw would not fit in to a nut as the thread is reversed.

Light is usually a mix of different directions, and so a filter normally simply cuts half of it. But some reflective surfaces will reflect a specific polarisation, and by using a filter you can cut out that specific reflection. Clever really.

Some 3D glasses use horizontal for one eye and vertical for the other - you can tell as the image breaks if you tilt your head. Better 3D glasses and projection systems are done using right handed and left handed circular polarisation - this works the same at any angle (though the stereo effect breaks a bit if you turn your head sideways, the images stay with the correct eyes). If you look in a mirror with such glasses on and cover one eye, you can see your eye (the uncovered one) fine if using linear, but black is using circular.

What puzzled me about the filter I got is the ring is designed to turn freely, allowing me to rotate it. This makes no sense on a circularly polarised filter, as right handed is always right handed at whatever angle you turn the filter.

It does, however, make perfect sense if it is a linear filter, as I may want to change to horizontal or vertical... So I pointed it at my watch, and turned it...

Basically, I think, this means I have a linear polarised filter, not a circular polarised filter. How odd.

P.S. thanks for the comment with the wikipedia link https://en.wikipedia.org/wiki/Polarizing_filter_(photography) which explains it is linear and a bit of circular. So why sell as "circular" when it is the linear that matters for the artistic effect!

You do learn something new every day :-)


A lesson on how to piss off a fan!

As I said, I am going to a Stargate event next month. Cal Mah....

I purchased the good tickets :-

Yes, the expensive Daedalus pass "the pass that give you it all".

But oddly I found there was an "Ascension pass" that is better, and covers a special MGM event on the Sunday. Odd, as I have a pass that "give [sic] you it all"?

So I asked about it...

And more

And more

Well now I have :-

That is the way to deal with me, obviously. Oh and...

If I was mis-sold, so were many others. And by blocking me I have to seriously consider taking this to ASA and Trading Standards now. It started as a fun poke at them, but now is getting a tad more serious.

How many more have been mis-sold "the pass that give it all" not actually getting it "all" I wonder?

P.S. Reported to trading standards now - could have been avoided by talking to me and not blocking me.

P.P.S I think this is  first for me - blocked on facebook or twitter. Obviously, on both I have altar egos that can post and read and comment, and have done so, which just shows the stupidity of doing so.

Update: They have now posted an explanation (and unblocked me)...
We have found were the confusion lies.
We had a pass on sale called the Destiny Pass, this Pass was also available on a payment plan. Which at the time we issued these passes, it was correct It did “give you it all” When they sold out we removed it from sale but had to put it back on our ticket sales site to allow people who were on the payment plan to continue to make payments. 
What we had not realised was when we updated the sales desk the information didn’t transfer correctly to the newly created Daedalus Pass. 
These Daedalus did sell out so we again removed them from sale, however when people did not keep up their payments a certain amount where put back on sale with the correct information. 
We humbly apologise for the confusion and hope that this explains the situation to your satisfaction. 
Please feel free to message us if you wish to discuss this further.
And now the description has changed, after I purchased the ticket. Kind of admitting I was mis-sold...


Selling playing cards on Amazon

As I have said, I am selling playing cards on Amazon (well, A&A are), and it is mainly to get a good handle on Amazon, and how it works.

The recent issue with sending Amazon 2x50 packs of cards, and them logging only 49 received was interesting. It was something like 3 weeks before I could raise an issue, and then 2 weeks to resolve. Even then they (a) recorded 99+0 cards, (b) blamed me for sending to wrong fulfilment centre (I didn't pick it, then did), then finally agreed it was sorted 49+50 cards, and refunded £3.91 for the missing pack. I have no idea where they got the £3.91 figure from!

I do think we are getting a pretty good handle on Amazon now, and I think building up our reputation with them is next step, so cards are good for that as not a lot can go wrong with them (though we have sold one FireBrick FB2900 which is nice). I am happy that the quality of the cards is good, and Ivory Graphics are doing a good job, as I would not want A&A or RevK branded goods not to be the best quality.

So, here are the latest I have listed...

They are here: A&A, FireBrick, Left handed, White. Some will not show until next week as we have only just shipped inventory, but do feel free to add to wish list :-) It would be great if people bought some and left honest feedback.

They are selling for £12 (inc VAT and postage), which seems a lot, so I thought I would break it down so people know what this is all about:

  • In the quantities of only 100 these packs cost £5.62+VAT.
  • Amazon charge £1.62 fulfilment charge
  • There is also around £8.50 charge to send them to Amazon, so lets say 9p a pack for 100.
  • There is a storage cost too, but probably only a few pence given the size of a pack of cards.
  • Amazon also charge a referral fee (their commission basically) of £1.80
  • And of course at £12, there is £2 VAT.

Sell for £12.00 - £2.00 VAT - £1.62 FBA - £1.80 Referral - 10p post/storage - £5.62 cost, leaves 86p profit per pack.

But, there is cost of advertising, without which they seem to literally just sit there and not sell. I was hoping some would sell just because of people searching for cards, but they show up in popularity order, so you have to advertise to get sales to get high in the list, and then maybe you can sell on inertia. 86p a pack is not really enough to cover any sort of advertising, though, so far, twitter seems to be the best for this. So I'll try some twitter advertising once they show in inventory. I'll do another post on that I expect.

It may be that the novelty packs (the minimalist and the left handed) do get some sales based on searches - we'll see. I saw one other minimalist pack sold by loads of people and selling around £20 a pack, so maybe novelty is key here.

All in all, these are going for almost no profit at all, and Amazon make way more than we do out of it.

Of course the economics are better if you buy 1000 at a time. The cost goes down to around £3+VAT then. Even so, you are still selling around £10 to make any sort of profit.

This allows nothing for my time on the designs, or even just the time for Mike at the office packing and sending to Amazon (thanks Mike).

It is a good job we are not trying to sell the cards as something profitable really, isn't it!

Update: As per comments, we have to get cards below £5.31 ex VAT cost price, which just means buying in slightly larger quantity. At that level selling at £8.94 means fees of £2.14 (including only 80p rather than £1.62 FBA fees for small and light). Any lower than £5.31 cost and we can make a profit at £8.94. As for the cards costing £5.62, selling at £10.56 is about cost price, so I have changed to that. Once this batch is sold, I'll get a larger batch and list at £8.94 or lower.


Cal Mah

I have never been to a Comicon or similar. I don't do the whole "dressing up like Captain Kirk" thing, honest (that is more my younger brother).

But I have booked to go to Cal Mah in Leicester 17/18th Nov. (tickets here). It seems to be an unofficial Stargate convention in the UK!

Why? Well, I do like sci-fi, and Stargate, and a few other things, and thought it would be fun. I nearly went off to an event in Vancouver just for fun, but chickened out.

My daughter suggested I went as a Klingon! I mean, no, and no, and WTF? and no, and I would be lynched I expect. Star[things] are not all the same, honest.

I am not wearing a "costume" as such, but I'll take a small step. I remembered that one episode has an "Area 51 ID card" in it. I googled for an image and did not find the one, which was odd. But too much clutter I think. I did find a reference to the episode, SG-1 s8e10 "Endgame", and so watched and found the card :-

No doubt it was deliberately minimalist, but the back was odd...

As it appears to have text about parking! I have tried to reproduce that.

Anyway, suffice to say, I have my "costume" ready...  making use of the A&A card printing service.

Area 51 techie

And maybe I have the Stargate dialling address for Earth on the business cards I am taking, on the end of the address, maybe. That would be sad, wouldn't it?

As I say, never been to a thing like this, but it is a good chance to gauge interest in my Stargate playing cards. Still waiting on UK agent for MGM on that. I'll take the sample pack to show people.

If you want to meet me, get a ticket! I'll be the one badly disguised as an Area 51 techie, with a beard.

Now for extra geek/nerd: Cal Mah is Goa'uld for "Sanctuary" but is also where K'tano, a Goa'uld posing as a Jaffa, gathered rebel Jaffa and was ultimately found out and defeated by Teal'c and then the site was destroy by Goa'uld Lord Yu. So is this conference as scam by a Goa'uld I wonder?


Norfolk Broads

Time for another short cruise. Well, cruise is a bit of an over statement, it was four nights pottering about on the Norfolk Broads. It is the first time I have ever been there. I have been on canal boats as a child in the Midlands, but nothing quite like this - thankfully no locks!

For a start, I had not appreciated how flat and wet Norfolk seems to be - lots of water and marshes, and clearly the first against the wall when sea levels rise. I mean seriously the whole place is going to vanish off the map, it is scary. So just as well I have had the chance to visit. It is quaint :-)

I can see how it is a lovely holiday for some people, and I do not want to put it down at all. Apart from freezing the first night, the weather for early October was actually quite good - dry, clear, sunny. Actually nice and pleasant.

As boats on the Broads go, we had a nice boat from Barnes Brinkcraft, an electric hybrid. We pottered around, went to a pub one night, ate well all week, and drank well! A nice quiet few days with my two best friends.

We even played cards (a 64 card deck with Altreran characters)...

I managed to keep up walking a bit, and even found an old Abbey, turned in to a windmill (literally just built over the original gate/entrance). They have lots of windmills there, mostly to pump water!

So, thank you Simon and Mike for a nice few days.

However, there was one thing that surprised me. A bit of technology...

  • I have had this technology for at least a decade
  • I have never (until this trip) used it
  • It is always on my person, I mean not a second not so, even shower, bath, swimming, sleeping.
  • It does not need charging even

What is it?

My watch! It has tides shown on the main screen. I may only be an ape-descended life forms that is so amazingly primitive that I still think digital watches are a pretty neat idea, but it was not actually a key feature when buying it. It works, and we needed it as some bridges are too low during high tide. It shows three levels of amplitude and roughly where you are in the tide cycle (6 steps) on the main display. It is solar powered and radio set, nice little watch and I can see how anyone that lived or worked on the water, such as on the Broads, would find it invaluable.

Anyway, we are pondering a trip on a canal next time...


SVG, font metrics, am I being thick?

I really hope someone tells me I have missed the bleeding obvious for a change.

I think SVG lacks two key features.

1. The ability to set a maximin size on a line of text, i.e. so that if it works out longer it will be squashed in some way. There is a way to set a calculated size and have either the spacing or the spacing and glyphs adjusted to match that, but I cannot find a way to say "squash, but only if it would be too big".

2. The ability to take a block of text, give it a width (and height, why not) and line spacing and have it fill the box, breaking on spaces between words.

If there is svg magic (and I don't mean javascript to run on a web site that will do the business later), just plain svg that will easily convert to png or pdf, and still work, that is what I want.

The alternative, for which I am still massively failing to find a solution, is a simple Debian installed C code library (not C++ please) that allows me to ask "how wide is this string in this font". I found qfontmetrics which looks spot on, but is C++. Obviously, including emojis!

With this I can make the tools I current have which produce svg output (to later be converted to PDF or PNG, etc) work out when to set a line width, or break blocks of text, and work with normal svg.

All of this is a doddle in postscript, but unless someone has a patch for gs to handle utf-8 strings natively and handle a fuller character set with the likes of emojis, I need to move away from postscript, hence using svg. Just hitting this key stumbling block for now.

Update: Thanks for all the comments. I am looking at freetype at the moment. It looks like it has exactly what I need, but slightly struggling with Emojis and the like at the moment :-)

Update: Yes, FreeType has simple C functions to load a font/face and find the size of glyphs based on unicode characters, and simple to tell it does not have the character and use a noto/emoji font instead, etc. This should be simple to then work out line wrapping and sizes for SVG with tspan for emojis and the like. Now I know it is all possible and how to do it, I have to think about the project for which I was asking this - a new system for designing printed plastic cards...


Making people aware: Anglian windows

As I blogged (here) I have a new conservatory. Some have asked why we went for Anglian windows, mainly because they are expensive. Well, I'm married and sometimes I do as I am told by my wife, but to be fair, the actual windows looked good (pictures, samples, etc). I cannot really comment on the quality beyond that as I am no expert, and the real proof will be what happens over the next few years, but fingers crossed. I can say, apart from the missing pane of glass, the result does look good, and is a lot nicer than our old one.

I can comment on the salesman. He was annoyingly pushy. The price is hiked and then vague discounts applied to get it to just being really expensive instead of insanely so. He really did not like that I said initially "not now" - it was just before I went on a holiday, and I was not sure if I could afford it yet - they were calling lots even though we specifically said what date to come back. He did not like that I wanted to just pay for it rather than taking their credit. I really hate having debts hanging over me (after various experiences in my life), so as much as possible I try to pay for things or not have them - fortunately I'm in a position where that can work most of the time.

The mildly slick part was the iPad which created a pretty accurate 3D image of the conservatory as it would actually be - colours of everything, right size, everything. Some weeks later a proper survey was done, and we were sent drawings. All good.

I was pretty unhappy with communications from them - they called after 5pm Friday to say they would come on Monday. They could have booked a date weeks in advance, but no, we are just told the day with no notice. That was hassle.

As I said, it ended up with bits missing and delays, but by the end of the week we had most of a conservatory except one pane of glass.

Mistakes happen. I run a company, and I know things can, and do, go wrong. Personally, I take things seriously and always aim to fix things, not just for the mistake but to stop the same mistakes in future.  If anyone has a problem with A&A you are welcome to tell me, please. However, Anglian have a different approach it seems.

Again, very poor communications, and now several times, a few weeks apart each time, they have come out with the wrong pane of glass. How can this happen? Well, mistakes happen I guess! How can it happen two or three times? How can they have no process to expedite making the new pane of glass and not take weeks?

Well, I do try to be reasonable, really. They had chance to fix this - which is only fair - but after a while I ended up giving them an ultimatum - end of Sep or it gets to be a sponsored tweet.

That did nothing to get them to actually fix it, or even try to fix it quickly, which was a surprise. Well, I don't like making threats that I don't follow through...

Now some may think that is somewhat mean, I guess. As I say, I gave them plenty of time to avoid it. But the real irony here is that the salesman gave one of the vague discounts in return for my agreeing to post on social media - so they literally asked for this!

I only paid twitter £100, which is almost used up now, but so far it is around 60,000 views, and 40 new followers as a result. Many people saying they won't now buy from Anglian. One that had a quote from them but is now cancelling that. I am also quite relieved that the comments I am getting are largely "good on you" / "well done", and people impressed that I am putting my own money in to making people aware of this. To be fair, if people were calling me an arse, I would have stopped the promotion, but they are not - this is nice as I do not always gauge how people will react to something like this (yeh, really, sorry).

Of course, there will have to be a next step. I plan to wait for one more wrong pane of glass before we get to the legal notice stage.

What puzzled me is that they really seem not to care. In some ways it is like dealing with large companies like BT that seem to lack the concept of "expedite the fix if we screwed up" even though they have (paid) expedite processes. Why can Anglian not make the right pane of glass in a day? Why can they not make the right pane of glass? It really is amazingly crap customer service.

I hope what I did has been a useful service to people considering double glassing, conservatories, etc.

Update: Windows update complete, 10th October. Initial install 20th August.


Making tax digital

HMRC are expecting VAT to be submitted electronically directly from accounts systems. This seems vaguely sensible. It is mandatory from April 2019. It avoids typing mistakes at the very least.

So, we look on HMRC developer web site and see that they list APIs. They list some using RESTful APIs and some XML ones here. The XML ones include submitting VAT returns. Something we have had for some time, and is all "digital" as required. So we were thinking, cool, we did this years ago, not an issue.

But we actually asked them about it, just in case, and they are very confusing. They say the XML API does not "support" making tax digital - which - err - makes no sense, it is digital. They apparently have an API that is not the XML API for the MTD VAT submission but oddly it is not in that list of APIs, so we have to register with them in some way to get the API.

The web site does not say the existing XML API is going away, indeed they confirm it is not, but apparently will not be valid to use for MTD, which makes no sense whatsoever.

Why are HMRC not accepting their own digital XML APIs that they have in existence for submitting VAT digitally? An API they confirm they are not withdrawing? Why have they apparently produced secret new APIs to submit it? It makes no sense.

Thankfully it will be simple enough to do, one way or another, and there is still plenty of time. The recording of VAT and ensuring it is all digital is all covered, thankfully.

Update: We have finally got access to the documentation on the API, it is hidden behinds a login and not published along side all of the other APIs. There is no reason why the API for this should not be published, and even less reason when you consider the other APIs are published. It also makes little sense for a mandatory API to be in a beta state only 6 months before it has to be in use by every accounting package in the country. Thankfully it is very noddy JSON/OAuth.  I cannot see anything in VAT notice 700/22 that makes the XML API invalid in anyway. The OAuth, of course makes assumptions, i.e. that someone is authorising a third party to access / submit VAT details, which is not the case here. There seems to be no "journey" (as they describe it) for someone that is submitting VAT returns for themselves using their own software. They also have gems like they want to know the public IP address and port of the web browser that requested filing the VAT return - forgetting that it may not have a public IP address even as it may be on a private network! I just hope it copes with that being an IPv6 address.

Update: WTF? They made us jump through hoops before letting us have access to the API documentation for submitting the VAT return - but their own service standards require that everything they do is published, reusable, open source, and they even have a GitHub page!

Update: I am pretty sure I have now found a newbie error in the HMRC OAUTH stuff (mis escaping form data in a sequence of pages) - we'll see what they say. Worked around.