A release! Tony v1.0

Just a few days after my last post, I did finally manage to finish packaging the release of Tony v1.0. This followed a two-week blitz of fixing, tidying, arguing, etc., with the instigator of the Tony project, my colleague Matthias Mauch. We’re pretty happy about the results.

Tony is a program for pitch and note transcription of audio, mainly intended for precise and high-quality guided annotation of monophonic recordings—such as of unaccompanied singing. It has a fairly simple user interface, that we have put some care into designing for this specialised task.

Tony v1.0 on Linux

Tony v1.0 on Linux

Matthias (and several co-authors, but primarily he) wrote a conference paper about Tony which can tell you more about the motivation for and design of the program. If you’re interested, find that here.

Tony is free, open-source software and is available pre-compiled for Windows, OS/X, and Linux. See its project page for more.

Unreleased project pile-up

Several of the software projects I’ve been working on at the Centre for Digital Music are in need of a new release.

I ran some queries on the SoundSoftware code site, where much of my code lives, to find

  • projects I’m a member of that have seen some work (in the form of repository commits) more recently than have seen a file release, and
  • projects I’m a member of that haven’t seen a file release at all

These returned 28 and 100 projects respectively.

I feel I’ve been a bit lax.

These of course include things that aren’t releasable yet, never will be, or don’t need to be packaged up into releases for one reason or another, as well as projects I don’t actively participate in or am not responsible for making releases of. I eventually eliminated about half of the first list and 93% of the second one.

These are the ones that remained—things that could usefully be released and which I am generally responsible for releasing. Let’s see how many of these I can tidy up & release during the next few weeks:

Existing stuff that could do with a new release

New stuff that hasn’t been released yet

Some of these projects may still be marked private, in which case the links won’t work yet, but they are all planned for release so that should change eventually.

How to change your friend’s OS/X Yosemite system font to Arial

Apple made a lot of visual changes in release 10.10 (“Yosemite”) of Mac OS/X. One of the most obvious was to change the system font, as used throughout the desktop, from Lucida to Helvetica.



A lot of people love Helvetica, so presumably they were happy. Others were less satisfied, leading to a little rush of code and articles to help you switch the system font back to Lucida or to some other font that happens to appeal.

But these people are missing the point. The substitution you want to make is not to your own desktop, but to that of your most type-conscious Mac-using Helveticaphile friend. And it is to switch the system font from Helvetica to Arial.

Delightfully, you can do this without needing admin privileges—no password required, all you need is to get control of their keyboard for a couple of minutes.

Here’s how:

1. On your own machine, provided you are also using a Mac, install Yosemite System Font Patcher and its dependencies following the instructions in its README:

$ git clone https://github.com/dtinth/YosemiteSystemFontPatcher
$ brew install fontforge --with-python

2. Retrieve and patch the Arial font files so they report themselves as system fonts:

$ cd YosemiteSystemFontPatcher
$ cp '/Library/Fonts/Arial.ttf' '/Library/Fonts/Arial Bold.ttf' .
$ bin/patch 'System Font Regular' 'Arial.ttf'
$ bin/patch 'System Font Bold' 'Arial Bold.ttf'

3. The above should have created two new font files, in the current directory, called System Arial.ttf and System Arial Bold.ttf. Make these available somewhere you can easily retrieve them on your friend’s machine (shared in the cloud or whatnot).

4. On your friend’s machine, when you see the opportunity, retrieve the System Arial.ttf and System Arial Bold.ttf files and copy them into the $HOME/Library/Fonts directory. You must be logged in as your friend to do this, as it must be their home directory whose font library you are copying into.

And you’re done. The change will only take effect for apps started after the fonts have been installed, or globally from the next login—if you want to make it happen immediately, I’m afraid you’ll have to log your friend out.



Now, see how long it takes them to notice. For best effect, engage them in conversation about how clean and elegant Helvetica is, with reference to their own desktop.

More on the 2015 EU VAT changes

A couple of updates since my previous post:

  • HMRC held a Q&A session on Twitter about the 2015 VAT changes. Here’s a transcript. It clarifies a lot. (I like the terse style enforced by Twitter for these answers, but some are also usefully expanded on at the end of the transcript.)
  • The digital delivery company I currently use, SendOwl, posted an excellent explanation of how they understand the rule changes and what they’re going to do to support people affected by them. It’s particularly noteworthy that they are expecting to handle the 10-year customer data retention problem as well as identifying the right VAT rate for the customer’s location. I am provisionally impressed.

What am I going to do for my own little company?

I sell three sorts of things:

  1. Developer licences for software libraries.
  2. Mac apps, both through the Apple app store and as direct sales.
  3. Windows desktop apps. These are listed on the Windows 8 Store, but it only has a link; the sale is direct.

For developer licences, I could avoid the problem by switching (back) to manual fulfilment—emailing the licence instead of completing the transaction online. The HMRC Q&A made clear that this would be enough to avoid a transaction being classified as a digital one. These sales are infrequent enough and of high enough value to make the extra work acceptable.

The Mac apps sold through the Apple app store are unaffected: Apple is the vendor and handles the VAT.

The direct sales of apps are the problem. Those of Windows desktop apps are especially a problem, because at least the Mac ones are also available in the app store. I sell very few Windows desktop apps, far too few to justify the extra work. The rational thing would be to drop them.

I don’t think I’m going to do that though, because this isn’t a very rational business—as much as anything it’s driven by a feeling that I ought to keep in touch with how software is delivered in the real world, with a vague hope that this can make me a better and more pragmatic developer in general. Or less positively, by stubbornness and pique.

So instead I’m going to get the business VAT-registered, for all its pathetically tiny income, and play along.

Update: Moments after posting this, I found this article: Meeting with HMRC and Treasury. It says, among other things, “The details on how to join VAT-MOSS without losing your UK VAT threshold will be out next week. From the initial comments it sounds pretty sensible and workable.” So I may wait-and-see a little longer.

Another update: HMRC published their suggested workaround: it doesn’t look useful. It amounts to registering for VAT anyway, using the VAT MOSS system for EU trade, and filing quarterly UK returns as normal but with zero VAT listed. It is only available if you give your primary business as “digital services” when registering for VAT. This doesn’t seem much of a simplification—you still have to track EU vs non-EU transactions even if it’s only to remove some of them from the “VAT stream”. So, I’ve submitted my VAT registration and will, at least initially, try doing the full whack.

Small software businesses and the 2015 VAT regulations

From the start of 2015, whenever you sell software, licences, or other digital stuff online direct to a customer in the EU, you have to make a reliable record of where they live and then pay VAT at their country’s rate.

There is no threshold for minimum value or sale quantity, and it doesn’t matter where you’re based, only where the customer lives.

The requirements for record-keeping are quite strict, asking for two pieces of evidence about the location of each customer, to be held by the business for ten years.

This is a particularly nasty shock for vendors in the UK because until now the UK has had a high threshold for sales below which you don’t need to register to pay VAT at all. (Currently it is £81,000 per year.) Sole traders and “microbusinesses” in the UK generally haven’t bothered to register for VAT and, because the regulations previously calculated VAT from the country the vendor was based in, this sufficed for small UK-based vendors across the whole EU.

But now if you sell digital goods directly to other people or businesses elsewhere in the EU — directly, not through one of the major app or ebook stores, which handle VAT for you — you’ll need to register, and quickly.

This will be a problem for me because in my spare time I run a tiny, tiny company with a tiny, tiny turnover which sells consumer software (both direct and through app stores) and software library licences. I do my own accounting because it doesn’t bring in enough to pay an accountant. (Also I think everyone should know how to do double-entry and I wanted to learn it myself.) I like the idea of having something in hand, and I want to stay in touch with the mechanics of making and selling software, so I want to keep it going.

Having to register for VAT, figure out how to charge the correct amount for each individual country, and submit extra returns and payments for every little sale I make — it’s going to be a pain in the arse for me, and in fact I don’t even know how to get the necessary duplicate address records using the sales platform I use at the moment, but at least I’m not depending on getting it right for a living as a lot of small UK vendors of digital creative goods will be.

(The alternative, of denying all sales to customers elsewhere in the EU, also appears tricky to implement reliably.)

There are advantages of registering for VAT, principally that you can avoid or reclaim VAT paid on expenses for your company. But that also involves paperwork and, if your company is very small, the value lost to the paperwork might be more than that reclaimed.

As I write this, the government pages about VAT registration have fuck-all about the fact that the £81K VAT registration threshold will disappear in six weeks’ time for a lot of very small businesses. Did HMRC imagine that only big companies would be affected?

Miscellaneous links: