Download 1080p streams from iPlayer

by @edent | , , , , , , | 1 comment | Read ~111 times.

Screenshot of VLC reporting that the video is 1080p.

Way back in 2010, Paul Battley was blogging about device discrimination on the Internet. The new iPlayer service was using TLS certificates to ensure that only specific devices were able to stream media from the BBC's servers. That's a situation which continues over a decade later. If you watch iPlayer on your laptop, you're stuck…

"Why do we use R rather than Excel?"

by @edent | , , | 25 comments | Read ~19,105 times.

Binary code displayed on a screen.

I recently had cause to take a beginners course in R - a language I'm fairly familiar with. One of the other students had never used it before, so we were buddied up in order for me to show them the ropes. The first lesson of R is always the same. Read a CSV, manipulate…

Creating a public, read-only calendar

by @edent | , , | 5 comments | Read ~245 times.

A bright and easy to use weekly view of my diary.

Last year, I blogged about why I make my work calendar public. It is useful to have a public website where people can see if I'm free or busy. But the version I created relied on Google Calendar which, sadly, isn't that great. It doesn't look wonderful, especially on small screens, and is limited to…

Interactive HTML Trees with no JavaScript and no CSS

by @edent | , | 3 comments | Read ~3,265 times.

A Twitter conversation rendered as HTML.

Many text based conversations threads can be visualised as a tree. This is a follow-up to yesterday's blog post about Twitter conversation trees. Mailing list archives often use nested <ul> to show a conversation. That's fine, but has the major drawback of not being interactive. There's no way to collapse a branch of a tree…

How popular are "And Daughters" businesses?

by @edent | , , | 1 comment | Read ~221 times.

Shop sign - Marlow and Daughers. Via

It's quite popular to see high street shops names "Somesuch and Sons". Indeed, my grandparents ran "Eden & Sons" for many year. Much rarer is seeing "... & daughters". But, of course, the plural of anecdote is not data! The UK register of businesses - Companies House - has a pretty good search engine. Doing…

Relaunching @edent_solar. Part 3 - API & Code

by @edent | , , , | 2 comments | Read ~120 times.

Solar Graph.

I'm hooking my solar panels up to Twitter! Installation Inverter Fronius provide a comprehensive API guide - I wish more companies did this. There are lots of unofficial libraries in a variety of different languages. I've written this code in Python3. This is a general tidy-up of the code I wrote several years ago. Here's…

Add review to Goodreads from Schema markup

by @edent | , , , , ,

The Goodreads Logo.

I write book reviews on my blog. I also want to syndicate them to Goodreads. Sadly, Goodreads doesn't natively read the markup I so carefully craft. So here's the scrap of code I use to syndicate my reviews. Goodreads API Keys Get your Keys from You will also need to get OAuth tokens…

Convert DOI to a HTML5 / Schema citation

by @edent | , , , , | Read ~112 times.

The DOI logo.

This is a quick and dirty way to turn a DOI (Digital Object Identifiers for academic papers) into an HTML & Microdata citation. I use this to power my Citations page. is a Microdata standard which allows machines to read your HTML and create semantic relations between documents. Here's a minimum viable citation: <blockquote…

The Great(er) Bear - using Wikidata to generate better artwork

by @edent | , , , , , | 14 comments | Read ~6,904 times.

A close up of the map.

One of my favourite works of art is The Great Bear by Simon Patterson. At first glance, it appears to be a normal London Tube map. But look closer... Cool! But there is something about it which has always bothered me. Each Tube line represents a theme - therefore, a station at the intersection of…

Alexa Skills - get custom slot names using Flask-Ask

by @edent | , , , , | 1 comment | Read ~397 times.

Alexa Skills Page.

Amazon encourages developers to use Flask-Ask - the handy Python library for working with Alexa. Sadly, the project has been abandoned. They no longer take pull requests, you can't raise bugs against it, and the documentation is incomplete. So this is how I solved an annoying problem - how to get the name of a…