Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
Efficient ESP32 WiFi Connection
I have used ESPs for a bunch of different projects, but my favourites are the remote, low energy, battery-powered ones.
-
Binary Endianness When Written
I always believed that a written binary representation, like 10010, was ambiguous due to endianness.
-
ESP Serial Connection Timeout
Typically, the first few lines of my ESP projects look like this: void setup() { Serial.begin(115200); delay(2000); Serial.println("Awake"); //... } The 2000 ms delay is to allow a PC to establish a serial connection.
-
PHP Sorting Optimisations
A video about a sorting algorithm which shouldn't work came across my feed recently (recommend anything Matt Parker is involved with btw).
-
Creating 3D Models From Paper Drawings
I needed a stand for a tablet, there are thousands of options online, but none of them were quite right, I wanted something specific.
-
Progress Dots
Creating single-purpose scripts is super useful for all kinds of things, from imports, to data manipulations, to load testing, etc.
-
Logitech G613 Double Tyyping
Recently my keyboard started double typing letters, it would only happen about 10% of the time and only on certain letters.
-
Bad Bots Hall Of Shame 🤖
I wanted to set up a honey pot for bots which intentionally crawl links which are disallowed in the robots.txt file.
-
Defeating Path Traversal Attacks
Imagine you have an app which takes some user input which ends up in a path: $userProvidedData = $_GET['fileName']; $path = '/path/to/safe/directory/' .
-
Android SD Card Swap
A couple of weeks back my phone (FairPhone 3) started showing 'failed to save' errors for apps which used the sd-card, things like the Camera and Obsidian.
-
Iron Bloom - The Fog
The game felt lifeless and flat.
-
Iron Bloom - Start Page
Lots more progress has been made on the game.
-
🔋 Battery Self-Discharge
Ever changed a re-chargeable battery with one you know is charged only to find it to be nearly dead?
-
Strict Collection Creation
I like to write strictly typed PHP, or at least as much as possible.
-
DIY NAS Part 3: The Filesystem
This is part 3 of the project, see here for the other parts.
-
Iron Bloom - Rendering & Serialisation
JS Rendering The initial plan was that the backend would render everything to an image and send it to the browser.
-
DIY NAS Part 2: Storage
This is part 2 of the project, see here for the other parts.
-
Iron Bloom - Organic Map Generation 🗺
The very first iteration of the map generator was as basic as it gets.
-
Iron Bloom - Pixel Art
Much has changed since the first iteration of Iron Bloom, but the most noticeable is the art.
-
DIY NAS Part 1: The Enclosure
This is part 1 of the project, see here for the other parts.
-
DIY NAS Part 0: The Plan
I've been thinking of building a NAS for a while now, partly from necessity, partly for the fun of it.
-
Android Keyboard Emoji Search
I want to use as little Google software as I can get away with.
-
Happy World Bee Day 🐝
World Bee Day is celebrated on 20 May.
-
Project Iron Bloom
A friend and I are developing a game.
-
📻 Rendering Audio Waveforms
For an upcoming post I wanted to include some audio, easy enough, just drop in an <audio> tag, job done.
-
DIY CLI Speedtest 🏁
I usually turn to speedof.me to check my current internet connection speed.
-
YouTube RSS Feed Without Shorts
A while ago I built a little app which allowed me to subscribe to YouTube channels using the official RSS feeds, more about that here.
-
What Powers The Small Web?
Ever wondered what sites on the small web send for the x-powered-by header?
-
Bluetooth Headphones Battery Drain 🎧
Do your bluetooth headphone batteries not last as long as they used to?
-
Crouching Exception, Hidden Type Coercion
I like to be as strict as possible when writing PHP, it helps avoid whole classes of bugs.
-
Useful Bash Aliases
These are some of the useful Bash aliases/functions which I use most days.
-
.inputrc
Just a few lines in ~/.inputrc can make a surprising difference.
-
🦊 Firefox Rendering Issues After Hibernation
I use hibernation a lot.
-
TIL: Filtering The df Command
I've used the df command thousands of times to check how full disks are.
-
PHP Generics Extension
I'm a believer in adding as much type information as you can when programming.
-
DIY Thermocam v1 Firmware Upgrade 📷
I bought a DIY Thermocam kit around 10 years ago, it's great have used it on and off since.
-
ESP32 Firmware Corruption?
I built a simple Wi-Fi thermometer to monitor the temperature of a Hotbin.
-
📹 OctoPrint Camera Mount
I don't print a lot of things which take many hours, I only have a small printer, but when I do, or if it's a risky print, then it's annoying to have to stop what you're doing to go and check on it.
-
Ft-Lb ≡ Joules?!
Air rifle power (specifically muzzle energy) is typically measured in either Joules or Ft-Lb.
-
π Day 2026 🥧
Happy Pi day 2026!
-
Fun With Markov Chains
I've been wanting to create a toy implementation of a Markov Chain generator for a while.
-
🌡 Reading System Temperature Sensors
I always thought that to read temperature sensors on a Linux machine, you had to reach for a package like sensors.
-
TIL: Reed Switches Don't Have An Orientation
A reed switch is a pair of metal contacts inside a little glass capsule.
-
Hard Disks Use A Surprising Amount Of Power
It's been possible to spin down HDDs to save power forever, but does it actually make a meaningful difference?
-
Composer: global config vs config --global
Do you know the difference between composer global config and composer config --global?
-
Directory Listings Are Awesome 😎
Directory listings have a bad reputation, they're ugly and are usually used to expose private data.
-
GNOME Disks Benchmark Tapers Off
I've recently been using GNOME Disks to benchmark some hard disks connected via a USB-SATA adaptor.
-
Parallel Processing + Progress
There have been a number of times (eg) when I've wanted to run a bunch of processes as fast as possible.
-
TIL: NO_COLOR
Today I learned there is an informal standard environment variable NO_COLOR which when set to a non-empty string will cause a significant number of CLI tools to not print any ANSI colour in their output.
-
🐝 Solitary Bee Hotel
I was gifted a lovely cedar bee-hotel a couple of years ago.