A simple and free way to post RSS feeds to Threads


Threads logo.

Threads is Meta's attempt to disrupt the social media landscape. Whether you care for it or not, there are a lot of users there. And, sometimes, you have to go where the audience is. Here's how I build a really simple PHP tool to post to Threads using their official API. This allows you to send a single status update programatically, or regularly send new items from your RSS feed to an account. You can see the bot in action at https://www.threads.net/@openbenches_org Get the code The code…

Continue reading →

Replace Twitter Embeds with Semantic HTML


Tweet from me in 2009. "Ah. I appear to have spent the majority of the night playing World Of Goo What an addictive little game."

I logged into Twitter using a fresh account last week. No followers, no preferences set. The default experience was an unending slurry of racism and porn. I don't care to use Twitter any more. Whatever good that was there is now drowned in a cess-pit of violent filth. I still have a lot of Tweets embedded on this blog. Using WordPress, it was easy to paste in a link and have it converted to an embed. But I don't want to direct people to a dangerous site. So here's a somewhat automated way to …

Continue reading →

Replacing Twitter Embeds With Images


Screenshot from Twitter. 2017-03-02T22:27:56.000Z. Terence Eden is on Mastodon (@edent). THREAD! This is what Twitter threads *actually* look like. They're not linear conversations, they're branching organic trees. https://t.co/gr4b0cCV4v

I logged into Twitter using a fresh account last week. No followers, no preferences set. The default experience was an unending slurry of racism and porn. I don't care to use Twitter any more. Whatever good that was there is now drowned in a cess-pit of violent filth. I still have a lot of Tweets embedded on this blog. Using WordPress, it was easy to paste in a link and have it converted to an embed. But I don't want to direct people to a dangerous site. So here's a somewhat automated way to …

Continue reading →

Free Open Banking API using Nordigen / GoCardless


Screenshot from GoCardless. 1. Test with your own data See how the product flow would look like for your users and what data is available 2. Set up the API Follow our documentation to set up the API and start collecting bank account data 3. Customise the user interface Pay as you go Make the user agreement flow for your customers to match your brand 4. Ready to go live? Need help and advice to set up faster?

A few weeks ago I was moaning about there being no OpenBanking API for personal use. Thankfully, I was wrong! As pointed out by Dave a company called Nordigen was set up to provide a free Open Banking service. It was quickly bought by GoCardless who said: We believe access to open banking data should be free. We can now offer it at scale to anyone - developers, partners and Fintechs - looking to solve customer problems. And, I'm delighted to report, it works! As a solo developer you can…

Continue reading →

Why is there no OpenBanking API for personal use?


List of OpenBanking providers.

The recent news that MoneyDashboard is suddenly shutting down has exposed a gap in the way OpenBanking works. It is simply impossible for a user to get read-only access to their own data without using an aggregator. And there are very few aggregators around. Why is it impossible for me to get programmatic access to my own data? There are two interlinked reasons which I'd like to discuss. Background OpenBanking is a brilliant idea encoded in an excellent standard wrapped in some very complex …

Continue reading →

Getting WordPress / JetPack Subscriber Counts via the API... the hard way


The Logo for WordPress.

People can subscribe to receive my blog via email. This is managed by the JetPack plugin. I want to be able to display something like "Join 1,234 subscribers and receive updates via email". So, how do I get the subscriber count from the API? As documented in the JetPack HTTP API, it is possible to interact with JetPack programmatically. A good starting point is /wp-json/ - that will show you all the API endpoints available on your blog. By filtering on "subscribers", we find: …

Continue reading →

Please don't give away your Twitter API keys to Cloudinary


Hi Terence, We don't have a way for customers to configure this on their own currently. Our team will handle the configurations for you. Here are the details needed for us to do the required changes: API Key and Secret. Access Token and Secret.Best Regards

My CDN just asked me for all my Twitter API keys... WTF? This would give them complete access to my app's Twitter account, the ability to send and receive messages, and anything else that my API key allows. Giving them - or anyone - the entire set of credentials would be a very bad idea. What's going on? Twitter's slow-motion collapse and hostility to developers is causing a whole bunch of second-order effects. Lots of services let people log in to them using Twitter. It is (was?!) a…

Continue reading →

Combining 3 transport APIs for one info screen


An eInk screen which is displaying the times until the next bus, what delays there are on the tube, and then a bunch of train departure times.

Last year, I blogged about how I turned an old eReader into an Information Screen. I've since updated the display to show me three different sets of transport information. At a glance, I can see the next bus, whether there are delays on the Elizabeth Line, and if my regular trains are running. Here's how all three APIs work. Bus The bus is the easiest one of all. Transport for London (TfL) have a set of free APIs. No registration required! You will need to know the ID of your local bus…

Continue reading →

Getting Started with Mastodon's Conversations API


A threaded conversation. You can see the order in which people have replied to each other - and what posts they are referencing.

The social network service "Mastodon" allows people to publish posts. People can reply to those posts. Other people can reply to those replies - and so on. What does that look like in the API? Here's a quick guide to the concepts you need to know - and some code to help you visualise conversations. When you scroll through the website, you normally see a list of replies. It looks like this: Because it acts as a one-dimensional list, there's no easy way to figure out which post someone is…

Continue reading →

Searching online for books in local libraries


List of items matching the search "Song of Achilles" - includes two versions of the book, an audio book, and other work by the author.

This is a mixture of lament and how-to guide. Suppose you've reviewed lots of books. It's pretty easy to generate a link to let people buy the book at Amazon or any other online store. But how do you link to a user's local library? You can't. There is no "search every library in the UK" service. You can search the British Library, but they generally don't deliver to your local town centre. Here's how to (almost) search local libraries for books. eBooks eBook behemoth OverDrive rules the…

Continue reading →

What's your API's "Time To 200"?


Scrap of JSON which doesn't say much.

M'colleague Charles has introduced me to the most spectacular phrase - "Time To 200". That's a measurement of the length of time it takes a new user to go from signing up to your API to getting their first HTTP 200 response. Think about the last time you started using a new API... Fill in a tediously long registration form Set up billing in case you go over the free trial limits Wait for a confirmation email Unsubscribe from all the marketing emails Find the quickstart documentation Realise …

Continue reading →

Are APIs Elitist?


Binary code displayed on a screen.

(This post written partly to tease my delightful colleague Charles, but also as a way of thinking about user needs.) During a recent Open Data Café, one of the guests made an entirely reasonable point. An API only method of getting data is elitist. Martine Wauben@MHWaubenAlready having my assumptions tested - are APIs elitist? food for thought for me #ODCafe❤️ 3💬 0♻️ 011:44 - Sat 10 April 2021 I'd like to briefly discuss that idea. Downloading a CSV, for example, is simple. CLICK HERE. Done!…

Continue reading →