Context-Aware Text Recognition?


A scanned document, the text is askew. Next to it is a computer-generated version of the text. A passage is highlighted.

I've been playing with Google's Cloud Vision API. It is OCR (Optical Character Recognition) - but in THE CLOUD and uses MACHINE LEARNING! When it works, it is indistinguishable from magic. When it fails, it reveals a very limited understanding of human text. Let's take a look at this quick example - a piece of […] Read More

Using canvas to shrink images for Google Cloud Vision


The HTML5 Logo

I've started using Google Cloud Vision for running text detection on OpenBenches images. There's just one problem - Google limits the size of the files that it will accept to 4MB. Why? Who knows! Obviously, it's easy to shrink an image server-side, but how do we do it in the browser? First, let's take a […] Read More

Bug with Google Pay and Amex


It is impossible to contact large companies to report a bug in their software. So I'm reduced to writing snarky blog posts about it in the vague hope that a Social Media Manager will see the issue and raise it with the appropriate team. Welcome to 2017! Google Pay now supports American Express cards in […] Read More

Falsehoods Programmers Believe About Families


I've written before about Solipsist design - those services which have been designed to work only for a very specific type of family. I was taking a look at Google's "Family" proposition - which allows users to share their purchases with other family members. What I found didn't impress me. File under "Falsehoods Programmers Believe […] Read More

Google's AMP is a gilded cage


AMP is Google's attempt to re-fight the transcoding wars of the early 2000s. It is actively dangerous to the web ecosystem, helps disseminate propaganda, and is disliked by many users. If, like me, you made the mistake of trying out AMP on your website - you're in a tricky position if you try to remove […] Read More

Liberate Your YouTube Videos


If you've been following this blog, you'll know that Google unjustly shut down my YouTube channel. They've now reinstated it - but I can no longer trust them as custodians of my data. So, here's a quick tutorial on how to download all your videos - and metadata - from YouTube. The Official Way Google […] Read More

The Day Google Deleted Me


(Trigger Warning - violent swearing and criticism of your employer / focus of your fanboi-ism.) Google knows me. I've been using Google since long before they were fashionable. I have a Gmail account (in my name), YouTube (also in my name), an Android developer account (name and bank details), Play account (name, credit card, and […] Read More

Google's Secret Screenshot API


I've been looking for a way to programmatically take screenshots of websites. Most of the solutions I've found won't work on headless servers, require complex libraries to be installed, or cost money. So, what do we do when faced with a knotty programming problem? Hack it! Google has a "Pagespeed" service, it allows any webmaster […] Read More