Articles

Keychron Q3 Pro SE Wireless Mechanical Keyboard: A Review

When I bought my Keychron K2 in 2020 I was happy with it for a couple of years before I wondered what other options were available. During that time Keychron lunched quite a few different keyboards, including updates to the K2. The K2 I have is version 1, and whilst it is a good keyboard I was looking for a keyboard with more features and hot swappable switches so I could experiment a little.

Whilst looking at the Keychron site I found the Q3 Pro, which is a TKL keyboard that has a wheel and 4 macro keys. I actually went for the special edition of this board, in olive green.

A Look At Flood Fill Algorithms In PHP

If you have ever used a paint program then you might have used a flood fill algorithm. This is a mechanism by which an area of an image can be filled with a different colour and is normally depicted by a paint can pouring paint.

The flood fill algorithms used to fill in spaces in images are well known, and have been used for decades in all kinds of systems, not just graphics processing programs.

When researching about drawing parabolic curves in PHP a few sources looked at filling in spaces inside the curve using a flood fill algorithm. I looked a little at the PHP function imagefill(), but I was more interested in the core principles of the flood fill algorithms, and how they worked.

Kiwi Ears Ardor Bluetooth Headphones: A Review

The Kiwi Ears Ardor are a set of over ears headphones that have Bluetooth, AUX cable and USB-C connectivity. They also include active noise cancelling (ANC) and can be used to make and receive calls when attached to a phone.

In this article we will look at the headphones, what their features are, how they operate, and how they sound.

It should be noted that Kiwi Ears sent me the headphones for review, but they did not read the review before hand and do not get a final say in the opinions of the review.

The box the Ardor came with was well constructed, and even had a couple of air holes that allowed the box to slide open easily, which is a nice design touch. Inside the box was the Ardor case, which contained the headphones, the included cables and the instruction manual.

A Look At Benford's Law

Benford's Law is an interesting heuristic in data analysis. It states that in any large collection of numbers that are created naturally, you should expect to see numbers starting with the number 1 about 30% of the time. The frequency distribution of numbers states that 2 should appear about 17% of the time, down to 9 being seen just 5% of the time.

It's important to understand the term "naturally created" here. Essentially, Benford's Law looks at the tendency of created numbers to span orders of magnitude. This means that numbers from company accounts, invoices, bills, or any other financial record will follow Benford's Law. These systems have numbers that are very small along side numbers that are very large and so comparing them using a logarithmic scale shows that they clump together.

Protecting A Page From Being Directly Accessed With PHP

I was thinking recently about the number of ways in which I could restrict access to a page using PHP.

The obvious option is to create a user authentication system, but in some situations that is overkill for what is required. If you just want to prevent users from going directly to a certain page then there are a few options open to you.

In this article we will look at how to protect a page from being directly accessed without using a user authentication system. I will address any pros and cons of each method so if you are looking for a way to protect a page then one of these might be useful to you.

Installing G-Mouse GPS Receiver And Reading GPS Data On A Raspberry PI

I was looking to add GPS to my Raspberry Pi (specifically the Clockwork uConsole) and found this USB GPS Receiver with 2m Extension Cable on the PiHut website.

The unit has a USB interface, a 2 meter long cable, and the GPS receiver itself is magnetic and so can attach to lots of different surfaces. Plus, since it was sold on the PiHut website I was quite confident that it would be easy to get working with the Raspberry Pi. As it happens, it was easy to get working, I just needed to install a couple of extra tools to make sure it was producing the correct data.

In this article we'll look at what happens when you plug in the GPS receiver, and then look at a couple of packages you can use to verify that the GPS receiver is working correctly. This assumes that you are running the latest version of Raspberry Pi OS.

Clockwork Pi uConsole CM4: A Review

I was doing some research into the Raspberry Pi a while ago and I happened to come across a neat little enclosure for the Raspberry Pi Compute Module 4 (CM4) called the uConsole.

The CM4 is essentially a normal Raspberry Pi 4, but it comes without the normal USB/HDMI interfaces that the Pi 4 comes with. This means that in order to use the CM4 you need to plug it into a separate PCB, which then provides the interfaces needed to attach monitors and peripherals.

This is where the ClockworkPi uConsole comes in. The uConsole (or micro console) is an enclosure for the CM4 that features a built in screen and keyboard, a track ball, small speakers, a battery pack, and an optional mobile network card.

Weikav Lucky65 V2 Wireless Mechanical Keyboard: A Review

Somewhat recently, I was introduced to the concept of customisable mechanical keyboards. I do a lot of typing, mainly writing/story work, so the tool I use is quite important, I’ve just never given it much thought before.

My old keyboard was a Topmate K22, which is a pretty basic keyboard. I’ve recently been gifted a mechanical one that uses a Weikav Lucky65 V2 as a frame.

It turns out mechanical keyboards are pretty neat. Though they’re better than normal keyboards in almost every way, they also have their own, rather unique, problems.

In this article I will look at the Weikav Lucky65 V2 keyboard, the switch and keycaps selection used and a look at using VIA to configure the keyboard.

DrupalCamp England 2025

The first DrupalCamp in England was held this weekend (1st March 2025) in Cambridge. I drove down on the Friday with Chris Maiden to attend (and speak!) at the event.

We arrived early at the event and and started the day with a much needed coffee (or two) and started chatting with the other attendees.

The opening session was a keynote from Baddý Sonja Breidert, who talked about AI, the success of Drupal and the Drupal CMS system, and about the success of the Drupal community. 

An Introduction To Mechanical Keyboards

I got into mechanical keyboards a few years ago, around the same time that I started to work from home. Since then I have collected a number of different keyboards of different sizes and orientations, mostly in a drive to have a nice feeling keyboard, increase productivity and reduce my RSI.

Whilst keyboards look similar to the uninitiated there are quite a lot of different factors that go into the mechanical keyboard. In fact, there are so many different terms used in the mechanical keyboard world that might need some explaining before you get into things.

In this article I will look into some of the different types of keyboards available by breaking down some of the terms used. I'll then give some recommendations on where to get started, and what to avoid.

This is an introduction and is by no means a complete picture of every sort of keyboard available.