There are a lot of analytical, marketing, and advertising tracking services between you and what you want on the web. Links in email newsletters, on search engines and your favourite blogs, links forwarded from family in Whatsapp, and from social media often go through one more more tracking services before the final destination. You think you are clicking on The Verge story about a new iPhone but there are 3 hidden turnpikes inbetween.

As an example lets say you want to donate to a charity so you Google donate


Google Analytics showing 3 realtime visitors logged

Having spent the past few years not adding Google Analytics to Ruby on Rails websites it came as a shock to find such poor support for it “out of the box”. If you follow the Google Analytics setup and copy and paste their script into the head of your HTML you might run into a host of conflicts. Chief among them are Content Security Policy (CSP) and Turbolinks. Both of these are essential for a modern website that wants to be secure and fast.

In particular CSP protects you and your users from a range of cross site scripting (XSS)…


A Rails app showing a screenshot of https://wikipedia.org

From zero to a Rails app that takes full-page screenshots of URLs took less than an hour of development on macOS. To get this deployed to an AWS Elastic Beanstalk EC2 server took several more hours. The difficulty came from Amazon Linux 2 which has many missing dependencies and does not easily provide all of them via the yum package manager. Most of the online discussion around this is for Debian based systems while Amazon Linux is compatible with RHEL/CentOS.

So here is the configuration you need to get a Rails app using Grover and Puppeteer deployed to AWS Elastic…


At CaliberAI we use GPT2 natural language generation to aid our data annotation. We have been running a Python Flask app using Hugging Face’s Transformers on DigitalOcean. That setup was fairly simple; start a server, configure Ubuntu and Apache, deploy the Python Flask code, and leave it alone. If it stopped working I would just restart the server or SSH in and look at the logs. This is no way to run a service for the long term and as we scaled up our data annotation it became clear we needed a more resilient setup. …


11 tools Zoho are providing as part of Remotely

“With the right set of apps, you can maintain a close-knit and productive working environment” says Zoho as they re-bundle eleven tools into a package called Remotely. GoToMeeting has re-bundled four tools into an Emergency Remote Work Kit. Zoom, Slack, Google Hangouts, Microsoft Teams, Cisco WebEx, and many other telecommunication companies are talking about or offering changes to their pricing in the wake of the coronavirus and the impact of COVID-19.

Pushing eleven new tools on to a person adjusting to working from home is one of the worst decisions you could make right now as you plan for business…


Photo by Dimitri Karastelev on Unsplash

The novel coronavirus has catapulted tens of thousands of people around the world into the future of working from home. From high-tech giants like Google and Microsoft to your local bookkeepers many have been advised to work from home. Now office drudges get to experience the productivity, the flexibility, and the healthy living us teleworkers have long enjoyed. What a silver lining for remote working proponents. Or is it?

Being told with little notice to work from home for a few weeks is not remote working. At best remote working will see a surge of consultants, advice articles, evergreen jokes…


Too often I read an article on Buzzfeed or the NYTimes and rush to Tweet my hot take. World, look at my unique insight into this outrageous story. Seconds later I would be embarrassed by the hundreds of better Tweets, better takes, and better insights. The send-email-spot-typo experience but in public. These Tweets would be from diverse and expert viewpoints that deserved to be amplified. On a good day I would delete my hot take and retweet the better angels of our nature.

So I began to search Twitter before Tweeting. Find the expert and diverse Tweets and ReTweet them.


For the European Journalism Centre #innovateAFRICA Sourcebot project I wanted to get PHP code coverage reports in Code Climate. Most guides, gists, samples etc. used CircleCI 1.0 format or were Ruby specific. After a few hours I came up with this CircleCI 2.0 config.yml:

CicleCI 2.0 config.yml

pecl is used to install xdebug which is required to produce code coverage reports from phpunit (in clover format which Code Climate supports.)

The cc-test-reporter automatically detects the new report file.

I’d prefer not to use sudo but phpunit failed on creating the file without it.

The produced clover.xml code coverage report is something like this:

PHPUnit clover.xml

You can see the CircleCI build using a very similar config.yml and the CodeClimate report using the produced clover.xml.


In Ireland risks sending a dangerous message to its innovators John Kennedy makes good points and Willie Donnelly says the right things; research and commercialisation should be supported and innovators should be given honest chances to succeed with reasonable reward.

What’s not right were the practices of the TSSG and how a few benefited from the sale of FeedHenry.

We can support the principles, processes, and policies of research and commercialisation while criticising specific bad actors who abuse the system and the thousands of people across Ireland involved in it.

I’m not chopping down tall poppies. I’m pointing out the…


DAVID MUIR: Mr. President, it’s an honor to be here at the White House.

PRESIDENT TRUMP: Thank you very much, David.

DAVID MUIR: Let me ask you, has the magnitude of this job hit you yet?

PRESIDENT TRUMP: It has periodically hit me. And it is a tremendous magnitude. And where you really see it is when you’re talking to the generals about problems in the world. And we do have problems in the world. Big problems. The business also hits because the — the size of it. The size.

I was with the Ford yesterday. And with General Motors

Paul Watson

Web-developer // Remote working CTO for CaliberAI // Formerly [@Kinzen, ChangeX, Storyful, FeedHenry] // Learning to code since 1993 // South Africa // EOF

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store