Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
100 Million Row Challenge
Brendt recently issued a challenge to the PHP community: The goal of this challenge is to parse 100 million rows of data with PHP, as efficiently as possible.
-
Stop Firefox Opening Downloaded Files Automatically
I always set Firefox to 'always ask you where to save files'.
-
Serial Monitoring In The Field
I have a number of ESP32-based projects which are battery+solar-powered.
-
Passive WiFi Detector 💡
Ever wanted to 'see' WiFi?
-
Self-Hosting My 3D Models
I've designed a number of 3D models since I got a 3D printer and discovered OpenSCAD.
-
Prop'r Cider - Round 2 🍎
After the success of my last batch of cider, I wanted to make some more.
-
Speeding Up surface() In OpenSCAD
When using complex shapes in OpenSCAD I find it's easiest to draw/find an image of the shape I want and then use surface() to convert the image to a 3D shape.
-
Multifactor Authentication Input Boxes
If you ever implement 6-digit style MFA don't use multiple inputs.
-
Does Anyone Require PHP Extensions By Version?
Most non-trivial PHP projects will use Composer to pull in dependencies.
-
📸 Rendering OpenSCAD Models To PNG
I'm working on a project where I need to generate transparent images of OpenSCAD models.
-
Gigabyte GA-X79-UD3 NVMe Support
I built my main PC back in... rummages through years of order history... 2014!
-
Prefers Reduced Motion
The CSS media query prefers-reduced-motion has been around for years, it indicates to a website that the user would rather not see animations.
-
PHP Asymmetric Visibility Cheat Sheet
PHP 8.4 added support for property asymmetric visibility.
-
2025 EOF
I noticed while writing this post that this blog is 10 years old, it's been quiet for much of that time, but that quiet spell ended this year.
-
Wanderer: A Visual Hash Generator
Have you ever wondered how the 'randomart' you see when creating an SSH key is generated?
-
AI Generated 'Random' String
LLMs are statistical models, so what happens when you ask for something random?
-
Bloom Filter 🌼
Bloom filters are very cool.
-
Thonny Not Detecting Enviro Board
Today I wanted to get into a Pimoroni Enviro board (I love these) to reconfigure it.
-
Degoogling My Firemap Project 🚒
Quite a while ago I discovered that the Dorset & Wiltshire fire and rescue website had a feed of the latest incidents.
-
Always Optimise For Readability
This article came across my feeds recently, it talks about Laravel's Conditionable trait which in their words: The Conditionable trait enables you to conditionally execute operations on an object using a fluent interface.
-
Blocking Vulnerable Packages With Composer
Composer is the goto way of installing third party code into PHP projects.
-
🍎 Prop'r Cider
It's apple season, also known as cider season.
-
Tweaking Obsidian Heading Sizes
I use Obsidian most days for all sorts of different things from project tracking to data collection to general note-taking.
-
Migrating From ForRunners to FitoTrack
I've been using ForRunners to track my runs for a little while, it did everything I needed and was beautifully simple.
-
Laravel Plucking
Laravel's pluck method recently got closure support in PR #56188.
-
Happy Halloween! 🎃
-
Kagi Assistant Total Cost Extension
I've used Kagi assistant for a while and love it; however, there is one small thing which I found myself missing: the ability to see the total cost of a conversation, and I wasn't alone.
-
TIL: Terminals Support Area Selection
Typically, when you click and drag in a terminal, it selects all the characters between the start position and the end wrapping over each line.
-
🕰️ 'j M Y' For People, ISO8601 For Machines
People should never need to be concerned with date formats; they shouldn't even be aware that a date has been 'formatted'.
-
GitHub Container Repo Typosquatting
I often scan through Hackernews to see what the latest is and hacking and security posts will often get my attention.
-
Recent Files
In all the file browsers I've used across various flavours of Ubuntu there has been a 'Recent files' tab, it's useful to quickly get at a file I just downloaded or saved from another application.
-
Firefox For Android Crash Loop
I run Firefox nightly on both my desktop and my phone, I like to live on the edge.
-
First XOR
I've been writing PHP for over 15 years at this point, and not once have I ever had a need to use the logical xor operator, until now!
-
I Ran A Half-Marathon This Week* 🏃
...across 4 days, totalling 24 km, 139 minutes and burning over 2000 kcal.
-
DIY Micro Geothermal
We have a porch at the back of our house, it's glass on three sides and predominately faces south, we use it as a mini greenhouse.
-
Silverstone SST ML08B Carry Handle
I built a new PC after the COVID pandemic when I started working from home some days.
-
I ❤️ Claude
I've been using AI at home and at work pretty much daily since Mar 2025, I've consumed over 16M tokens to date.
-
🐠 Aquarium pH Weirdness
I have a pH probe in my aquarium, ever since it was installed it's shown a drop of about 0.3 when the lights came on and jumped back again when they went off.
-
Precision vs Accuracy - In Short
Accuracy is a measure of how much detail there is, precision is a measure of how close to the truth something is.
-
Gigabyte H110 Not Identifying RAM
I recently got fed up with running out of RAM on my dev machine, it had 16GB, but that doesn't seem to go very far any more.
-
Streaming Dynamic Images With PHP 📽️
I have an idea for a project, it's a visual simulation of sorts.
-
🚽 Flushing Public DNS
Did you know it's possible to flush the cache of public DNS providers?
-
Simple Benchmarking in PHP ⏳
Sometimes I want a quick and simple way to know how long a block of code took to run.
-
Global Placeholders In Filament PHP
Recently I was adding placeholder properties to a number of form fields across a site built using Filament PHP and thought that there must be a better way than copy-pasting everywhere.
-
Use The /tmp Luke
Over the last couple of years I have come to use the /tmp directory on a daily basis.
-
Don't Automate The Fun Parts
I love automation!
-
Kite Repairs 🪁
Nose $fn=80; angle=60; //deg sparDiameter=4; nodeHeight=sparDiameter; module spars() { translate([0,0,0]) rotate([90,0,0]) cylinder(d=sparDiameter,h=100); rotate([0,0,angle]) translate([2,-4,0]) rotate([90,0,0]) cylinder(d=sparDiameter,h=100);
-
HTML Custom Elements
I really like HTML custom elements AKA web components and don't use them enough.
-
🦨 Stinky Code Refactor
I came across this article about content negotiation in Laravel today.
-
Power vs Energy - In Short
This is part of a series of posts which gives a surface level explanation of a topic.