Computer Education in Schools Instruction Language (CESIL)

When I first learned programming in about 1978 the school I attended was lucky to have a Research Machines 380Z on which there was the BASIC language. Using this one of the pupils then wrote a CESIL interpreter for their (I guess) O Level project. Other pupils then used this to learn the fundamentals of programming.

Skip forward a few years and I now owned a Sinclair ZX Spectrum having also previously had a ZX81 too. I decided that I would also write a CESIL interpreter this time using Sinclair’s variant of BASIC. Remarkably I still own the sheets of … Read the rest

Update to WordPress Posts to PDF – Final Version

I have just pushed what will be the last version of my script to export your WordPress posts to a nicely formatted PDF file to my GitHub page.

Firstly, the good news. This version now supports BLOCKQUOTEs which means that the WordPress quote block is rendered in a way that it is more obviously a quote. There has also been an improvement in the output of code blocks but support for this is still pretty basic but does now work.

Now the bad news. While looking at the output from my own sites I found that some posts weren’t … Read the rest

Update to WordPress Posts to PDF – Code Blocks

At the back end of last year I released a script that allowed you to export your WordPress posts to a nicely formatted PDF file. In the last update, I said that I wanted to add proper formatting for code blocks and today I have done that. You can find it on the GitHub page.

This proved to be more difficult than I had anticipated. The code uses the FPDF package and extends out the “Links and flowing text” example provided. I knew I needed to convert all <pre</preblocks to be displayed as … Read the rest

Overcast Statistics

Podcasts are huge at the moment and they are pretty much all I listen to these days when I am out walking or in the car. I do this by the (mainly) excellent Overcast app. I say mainly because it has a UI that I struggle to find things in. Anywho, the one thing that it lacks (other than an intuitive UI) are decent stats and I really wanted that for my annual Review of the Year posts over on my personal blog.

After a quick DuckDuckGo I found the following post from James Hodgkinson with a Python … Read the rest

An Open Letter to Google

Dear Google,

In 2014, around about the same time that you Nest Labs, I bought and had installed a Nest Learning Thermostat to control our central heating and give us remote access. I think that it has been a great success, so much so that I have recently upgraded to the latest version that also allows our hot water to be controlled.

I then had an idea! What if I could see temperatures around the house and use that data to get better control over resources there? So I wrote a simple dashboard which I called The Weather Station. I’ve … Read the rest

Cloudflare Zero Trust

I love Cloudflare – there I have said it! If you are looking for a way to keep your site secure and performant then Cloudflare is the way to go. Today I am going to be looking at just one aspect of Cloudflare and what it can do for you – Zero Trust.

What is Cloudflare?

I like to think of Cloudflare as the Swiss Army knife of cloud-based tools. It offers solutions for a variety of things from security to performance to domain registration to content delivery all packaged in an easy to understand and use web-based interface. And, … Read the rest

ChatGPT as a Replacement Programmer

When I left university I did so with a good grounding in several programming languages such as Cobol, Fortran and Pascal. Then, at my first job, I was given training in the language Application Master, part of ICL’s VME operating system. One of the things I was told about Application Master was that it was a “fourth generation language (4GL)” and that this would be the last generation that required a developer to write the code.

This was the late eighties and until very recently we have been still waiting for this transition to happen.

ChatGPT has Entered

Read the rest

A Minor Update to my Bluesky Library

A quick post to say that my Bluesky library has had a small update. This is to take into account that from version two of Clark’s library that handles the calls to Bluesky the connection method has changed. Therefore, if you have updated to version two then remember also to update the PHP2Bluesky code which can be found here.

You can read all the posts on the PHP2Bluesky library here and get in touch if you find any issues or have an enhancement suggestion.… Read the rest

Using a Raspberry Pi Camera to create a time-lapsed video

For my birthday last year I was bought a Raspberry Pi Camera Module 3 which I’d wanted for a while. I’d decided that I wanted to create a time-lapse video showing the change in seasons in the back garden. The rest of this article describes what I did and the results.

Setting up

As this didn’t require a huge amount of computing power I paired the camera module with a Raspberry Pi Zero 2W.

That turned out to be the easy bit! Getting it fixed such that there weren’t any reflections from the window took a bit of creativity. What … Read the rest

Posting to Bluesky via the API from PHP – Part Eight – Retrieving a Post

Once again I have been looking at the Bluesky API as part of a question posted on my Github respository. This time the question was “Can I specify one URL and use PHP to retrieve only one bluesky post by someone else?”. You don’t actually need my library to do that but I thought it would be useful to post details here as it’s not immediately obvious.

Identifying an Individual Post

The first thing to consider is how to identfy an individual post. Consider that we want to retrieve the following post progamatically.

Looking at the URL for this Read the rest