Posting to Bluesky via the API from PHP – Part Four – Link Cards

In this we post we are continuing to look at accessing Bluesky from the API via PHP. Previously we looked at making a connection to Bluesky, posting text, images and handling links and in this post we take a look at Link Cards.

What Even IS a Link Card?

Link Cards are the snippets of a website that is linked to a post that you will no doubt be familiar with seeing elsewhere. Typically, elsewhere these are handled for you but not in Bluesky – here you do all the heavy lifting.

Example of a Link Card

Fetching Details

Read the rest

Posting to Bluesky via the API from PHP – Part Three – Links

So far we have looked at making a connection to Bluesky, posting text and images. In this post I want to look at how links are handled. Unlike X and Mastodon on Bluesky when you post text that includes one or more links these are not parsed and activated. You have to tell Bluesky that you have links in your text and where they are.

Parsing for Links

In order for links to be handled correctly by Bluesky in addition to the text itself you also need to pass an array as part of the parameters giving the start … Read the rest

Posting to Bluesky via the API from PHP – Part Two – Images

In the first of these posts we looked at creating the connection to the Bluesky API and posting a text post. In this second post we are going to extend that out to post images as well as text.

The code posted here are snippets from a larger library of functions that you can drop in and use to post to Bluesky. If some parts look more complex than they need to all will be revealed in the final version.

Uploading Images

In order to post an image to Bluesky you have to take a few steps:

  1. open and ingest
Read the rest

Posting to Bluesky via the API from PHP – Part One

With all the uncertainty surrounding the future of X (née Twitter), I decided to take a look at Bluesky which somewhat ironically has its roots in Twitter where it was started as an internal project. Bluesky is still in beta and is invite-only. I worry about its long-term given that ultimately it too has to make money, something that Twitter has singularly failed to do. None of this, of course, affects the topic today which is posting to Bluesky via the API.

Basic Concepts

The first thing to say is that I am using the following library to actually post … Read the rest

Automatically Restarting Unresponsive MySQL Service

This blog and others that I run are all hosted on a cloud server with MySQL installed locally. Occasionally MySQL becomes unresponsive and I have to login to the server to kick it back into life by restarting msqld.

The most likely reason for MySQL becoming unresponsive is lack of resources so the best solution would be to increase the size of the server – however, that requires money that I don’t want to spend. Therefore, the next best option was to write a script to detect when MySQL was unavailable. Enter mysqladmin.

mysqladmin — A MySQL Server Administration Program

Read the rest

PiHuts Maker Advent Calendar “unboxing” Video 2023

Last year for the first time PiHut released an advent calendar called “The 12 Projects of Codemas!” which included 12 projects based around a Pico covering such things as temperature sensors, switches and the like. I did a series of unboxing and project videos covering their content. I had great fun so I was pleased to see that PiHut have brought them back for this year too.

This time there are not one but two advent calendars to get stuck into. This year alongside “The 12 Projects of Codemas!” is a second one called “Let it Read the rest

Leaving the MacBook at Home

I’ve recently returned from holiday and for the first time in a while, I travelled without a laptop. I wanted to return to the question of whether it was possible to do a trip without one. My requirements while I am away are pretty light: blogging and editing photos to go with the posts – not too much to ask surely?

Heading Out

I left my MacBook Pro at home and in its place I took my iPad Mini, a Bluetooth keyboard with the same footprint as the iPad and a Magic Mouse.

The immediate advantage of this was a … Read the rest

Simple Remote Wake on Lan with Raspberry Pi Zero W

As part of my drive to help the planet, I am trying to use less electricity. We have a Windows machine in the lounge that acts as a Plex media server. This works very well but I realised that it was only being used at certain times of the day, usually in the evenings, meaning that it was running for hours on end unnecessarily. Therefore, the plan was to have the machine automatically turn off each night at midnight when I knew we would definitely not be using it, but what about turning it on?

If I was at home … Read the rest

Working out my credit card statement date in Excel

This might be the most niche post I have ever done but I hope that it might prove useful to someone.

My credit card bill gets made up on or around the tenth of each month but, for reasons I won’t go into here, I needed to much more accurately predict when it was actually going to be created. Through a combination of searching and testing, I discovered that in my case it is always made up on the sixth working day of the month. Turns out that there is an Excel (and Google Sheets) function that can help with … Read the rest

Update to WordPress Posts to PDF

A few weeks ago I released a tool that allows you to export your WordPress posts to a nicely formatted PDF file. I have today pushed some changes to the code which you can find on the GitHub page. This includes the following:

  • Heading (H1, H2 & H3) tags are all now supported
  • List (ordered & unordered) tags are now supported
  • Inline images (not supported) captions are silently dropped
  • A new command line parameter to choose the order of output
  • Progress now shows the number of posts out of the total processed (see image below)
  • Improvements in the
Read the rest