Update: This analysis was referenced in The Economist.
The BBC has been fighting back against accusations of bias in the selection of political guests. Such accusations are not new, but do they have merit?
In an attempt to defend the impartiality of the show the BBC Press Team recently published a graphic reflecting the political alignment of panellists.
Unfortunately the graphic is a bit scarce on the specifics of what the sources and the beeb have declined to elaborate on it or provide the underlying data.
Without the underlying data, it’s hard to know exactly what the graphic actually…
Handling errors well can be tricky. How Error() historically worked in JavaScript hasn’t made this easier, but using the Error class introduced in ES6 can be helpful
JavaScript supports try/catch/finally
but the Error object it uses works differently from Exceptions in other languages and it doesn’t provide a way to catch Errors by type in the same way you can with Exceptions in Java or C# so it’s quite common for all Errors thrown in a project to be instances of Error.
Some vendors have implemented a conditional catch clause but it’s not a standard and not widely supported in…
Making requests to HTTPS APIs from HTTP sites running on localhost can be a pain, especially as browsers keep changing how they expose the option.
The only way to turn off Cross Origin Restrictions in Chrome is to turn off the feature completely when starting the browser by passing arguments to it.
e.g. --disable-web-security --user-data-dir=~/.chrome-disable-web-security
On my Mac, I have the following in my .bash_profile
so I can just type chrome
at the command prompt so I can quickly start an instance of Chrome with web security disabled for development.
alias chrome=”/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --user-data-dir=~/.chrome-disable-web-security”
This saves me from…
Configuring automated deployment of an image to Docker Hub every time a change is pushed to a specific GitHub branch (or when a new release is tagged) is easy to do with Docker Hub user interface.
Docker Hub will automatically configure your GitHub repository to trigger this for you and is able to build different Docker images from different GitHub branches.
While it’s quite straightforward to setup and run a private registry, using Docker Hub is very cheap and provides automated image building, starting at only $7 a month for 5 private repositories.
This makes using DockerHub much more cost…
The next generation version NextAuth.js was released in June 2020!
It is built for Next.js and Serverless, with simple configuration, out of the box support for a large number of authentication services and supports MySQL, Postgres, MSSQL and MongoDB (and and without a database!).
Find detailed documentation and a working example at next-auth.js.org
This week I released NextAuth, a module specifically designed for Next.js and React, that supports email sign in and oAuth.
It comes with example configuration for Facebook, Google+, Twitter and email sign in and uses Mongo DB to store accounts, but it is easy to extend to…
Docker Swarm is a great way to deploy Docker Containers on AWS or Azure, both of which are supported cloud providers for Docker Community Edition (CE) and Enterprise Edition (EE).
A common admin task can be needing to run a command on all nodes on a cluster, either for monitoring or when debugging problems.
Executing Containers on all nodes in a cluster is easy, and the docker stats command lets you easily view the memory, CPU, network and IO usage of all Containers on an individual node.
However, unless you are running the Enterprise Edition or something like the Portainer…
Less than a month ago we released the first public version of our automated video transcription and translation tool Mercury, supported by prototype funding from the Google Digital News Initiative.
We now have hundreds of registered users and hundreds of videos uploaded. This is a progress update on how things are going — including challenges and the sort of feedback we have had so far.
This guide was origionally written as internal documentation, before Docker Community Edition for Windows and Mac was published. Docker Community Edition is the easiest and most robust way to run Docker on Windows or Mac, as it does most of the setup work for you.
This guide is useful for background on how to interact with Docker and for debugging when things go wrong. The original documentation has been updated to reflect where you can go ahead and skip sections as Docker Community Edition does the initial setup and configuration for you.
Docker lets you deploy your code inside a…
Update: We are looking at rolling the exploratory work we’ve done on this into another project we are working on with a larger team!
We recently picked a “Smart Editor” as as one of the project we’d like to work on. If you haven’t read the original pitch, the tl;dr description is “an editor that helps you write articles”.
It helps by using Structured Data, to suggest connections and additional information you might want to include your article, and analytics, to suggest how you might want to improve your writing to better serve your audience (What questions are they asking…
This week at the International Journalism Festival in Italy we’ve heard from Facebook about what they are doing to tackle what they are calling False News in their News Feed.
False News a term Facebook have adopted that’s intended to a better job than the more familiar term “Fake News” of distinguishing between articles that contain unintentional mistakes or minor factual inaccuracies, “misleading content” and “false content”.
The system Facebook described at a panel on Thursday morning involves highlighting articles that have multiple reports from Facebook users to a team within Facebook, who will attempt to judge if the site…
Software for news and media and civic tech. Cat herder. Director at Glitch Digital.