RSS.Social

Neil's blog

follow: @[email protected]

Posts

Sustainable Free and open source software... but not like that

Thoughts on running my own forgejo (hosted git with web stuff) server

Ofcom's perhaps inadvertent list of porn sites allegedly without age assurance made me smile

Fixing high CPU usage of localsearch-3 by resetting it

My third Airsoft game day and perhaps I am finally getting the hang of it

The term 'NSFW' is problematic and overdue for retirement

Fixing a fatal git error when upgrading LiberaForms to v4.2.0 by changing my git config origin from Gitlab to Codeberg

Fixing my Pixel 6's USB port issue with a trimmed down cocktail stick

'Here's what I do' versus 'You should'

Thoughts on edent's 'We've got to stop sending files to each other'

My first Airsoft game day (Red Alert, Newbury)

Fixing out-of-sync audio when using VLC on Android with Bluetooth headphones

Signing sieve vacation auto-reply messages with dkim using postfix for deliverability

Getting back into Airsoft (or at least thinking about it) via laser tag

FOSS projects, free lawyers, and reality

Turning off desktop mode on Firefox etc on tablets

Some thoughts on mastodon.social's updated terms

I didn't pay attention and ended up on an all-male panel

Setting up ActivityPub server snac in under 15 minutes

The Online Safety Act, freedom of expression, and providers of small services (in particular)

Running vdirsyncer automatically using a systemd timer

I'm experimenting with no longer converting Markdown-formatted toots to html, for more consistent rendering

Initial thoughts on a £18 Colmi R09 smart ring and Gadgetbridge

More tinkering with tmux

Preparatory notes for upcoming Online Safety Act workshops

GrapheneOS on a Pixel Tablet

Do I put my hand up too much?

Fixing tolino ereaders which are stuck in a firmware update loop

Upgrading my video conferencing setup (and it all works with Linux with no fiddling)

Removing noise from my web browsing

Four weeks without meat, and with increased exercise

Installing postmarketOS with full disk encryption on a OnePlus 6

Turning off Pi-hole's rate limiting to solve my DNS woes

A toot travelled to fediverse users in 77 countries in 12 hours

Updating my nginx config for Pi-hole 6.x

It's okay not to watch popular programmes, listen to popular music etc.

Freedom is circular

Installing Stirling-PDF for a suite of useful self-hosted, PDF-related tools

Installing Lineage OS on an Amazon Fire Stick 4K

The National Museum of Computing

Reading Museum’s DIGITAL Revolution Exhibition

DRM: Digital Restrictions Management Damages Reading Magic

Trialling a move from a NUC to a container

Eating less meat

Replacing the battery in a Dyson V8 vacuum cleaner

Too long for a toot: What media server should I use?

I thought that we (men) were better than this, but I was wrong

Upgrading LiberaForms to use end-to-end encryption

What, if anything, should I do about using Mozilla's Firefox

Sometimes I would love not to be me online

Blocking searches and removing other people's toots: my Mastodon server and the Online Safety Act

A replacement ThinkPad battery from lenovobatteryshop.co.uk

Review: HIENA USB-C beard trimmer

A self-hosted Wikipedia (and other bits) clone, using kiwix on a Raspberry Pi 4

NetworkManager: automatically switch between Ethernet, Wi-Fi, and WWAN

Using eSIMs with devices that only have a physical SIM slot via a 9eSIM SIM card with Android and Linux

Editing directories and their contents with vidir from moreutils

Meanderings about music in 2025

Using pandoc and typst to convert markdown into custom-formatted PDFs, with a sample template

Adding The Indie Beat Radio FM to Lyrion Music Server, mpd, and Jellyfin

Wrapping a ThinkPad X1 Yoga and fitting a screen protector

Solving VirtualBox's 'Cannot operate in vmx boot mode' error by changing grub config with Linux kernel 6.12 (Debian)

Review of RevK's latest ESP32 voice recorder board

Backing up the photos on an iPhone to a computer running Debian Linux using rsync

Replacing `nautilus-image-converter` with a nautilus bash script

Self-hosting single user services as a regulatory shield

Setting GNOME's font scaling factor using a bash script

Brief notes on installing Mobian on a PinePhone Pro

Initial thoughts on Debian (testing) Linux on a Lenovo ThinkPad X1 Yoga Gen 6

(Fixed!) I can't get the Bluetooth module of an Intel AX201 card to discover nearby devices using Debian / Linux 6.11.10, and it is bugging me

I think fedizens should be able to disable replies to some or all of their posts

Using khal and khard to access appointments and contacts synced from a Nextcloud caldav/cardav server using vdirsyncer

Tasmota auto-discovery for Home Assistant using 'SetOption19 0'

'Neil, your blogpost sucks': assumed knowledge and my blogposts

Using a 20 year old foldable Bluetooth keyboard with a modern day Android phone

Using (only) a Linux terminal for my personal computing in 2024

Notes from learning git

In which Neil is surprised by the lack of an HDMI cable

A visit to Swindon's Museum of Computing

Tech-related bits and pieces which brought me joy today

Lowering WireGuard's MTU to 1300 to work with a Three data SIM

Backing up LiberaForms using pg_dump and restic

Reflections on RadioFreeFedi

Is now the best time ever for Linux laptops?

wallabag: a FOSS, self-hosted, read-it-later application

Setting up my federated fleamarket with flohmarkt

'It is fine not to like a piece of Free software' and other oft-unstated FOSS-related freedoms

The small web: scalability and building for realistic loads

Tweaking GNOME extensions GSConnect and WinTile-Beyond's metadata to make them work with GNOME 47

10 things I find joyful about computers and the Internet in 2024

Configuring dovecot as a separate mail server for encrypted email storage, and fighting with Thunderbird to accept it

Setting up a Squeezebox Radio with the Lyrion Music Server, and other LMS bits

Running presentations from a standalone Linux installation on a bootable USB memory stick

Using ffmpeg for stop motion animation

Squeezebox: a self-hosted music streaming project which didn't turn out as I had expected

tmux: my notes so far

Could I cope with a terminal-only computer?

LiberaForms: a FOSS, self-hosted web form manager

Adding Open Graph meta tags to my mkdocs' static site theme for nicer fedi link previews

Removing unused CSS from a website

Lightening my work bag by 2.4kg / ~38% to 4kg

No, you can't have my attention for free

I don't use public Wi-Fi but not for security reasons

Is the most stable fedi instance your own fedi instance?

What do you mean 'You don't use Spotify'?

WinTile-Beyond: a GNOME 45/46 extension for quarter window tiling

Am I (still?) in Mozilla's target audience?

Thunderbird, Nextcloud, calendar invitations, and unwanted html email with non-working 'confirm acceptance' links

I am being sextorted! (Badly, and I know it is a scam.)

Newsboat, a TUI RSS reader

Frustrations with rwgmobile

Book review: Michael W Lucas's 'git sync murder'

decoded.legal is now free of JavaScript

World Blog Day: I'm grumpy about harassment in the fediverse

Switching back to self-signed certs for freeradius Wi-Fi authentication

systemctl reboot --firmware-setup

Book review: Michael W Lucas's 'git commit murder'

Am I addicted to being online?

Fixing folders in Thunderbird if messages do not open in conversation view

Setting up custom site-specific search shortcuts in Firefox

In praise of restic (the backup tool)

Shrinking initrd.img to deal with /boot being too small to upgrade the kernel on Debian

Increasing the frequency of mqtt messages on power changes in Tasmota using the PowerDelta command

Fixing iOS Home Assistant 403 error by deleting ip_bans.yaml

Attempting to stop Microsoft users sending 'reactions' to email from me by adding a postfix header

Fixing a Chromebook which was showing scam notifications about viruses

Not being bothered by sports

I am enjoying 'Halt and Catch Fire' but the lack of availability on DVD is annoying

Adding Open Graph meta tags to my hugo static site's theme for nicer fedi link previews

Working out why Home Assistant on Android had ceased to get my phone's location

Six months with the Xreal Air 2 Pro glasses

I don't have, or want, comments on my blog

How often do I access my own systems?

Kobo Mini notes

The admin burden of keeping friendships alive (and failing?)

I didn't go to EMF camp

Reviving a Kobo Aura HD that would not turn on

Replacing the battery and increasing the storage on a Kobo Clara HD eReader

Expanding (and sharing) the list of blogs I follow via RSS

Using CSS selectors in FreshRSS to automatically retrieve the full text of partial text RSS feeds

What's the best laptop I could get for no more than £50?

Faffing with fonts to reduce my web page size by two thirds

The wireless ambidextrous Penguin Posturite mouse and Linux

VoIP XML config examples for FireBrick

Would UBI make a difference to me right now?

Changing the default resize value in nautilus-image-converter

Geek Code: a piece of web history

Comparing Lenovo's Active Pen and Active Pen 2 for writing on a ThinkPad X1 Yoga Gen 2 using Debian Linux

I have data and documents in too many places

Thoughts on an old-but-new-to-me Lenovo ThinkPad Professional backpack

Making other people's websites look how I want them to look

Neil designs his perfect (Internet) cafe

A pre-roll for my presentations

Scanning to Debian 12 with a Fujitsi ix500

When is a website too simple?

Creating a partition larger than 2TB on an SSD on Linux

Saving money via AliExpress v Amazon

In memoriam: A&A's SIP2SIM service

Multiplayer Quake III Arena on Linux (client and server)

EE data SIM expiry

Storing config options for yt-dlp in a config file

The fediverse and (small?) businesses

A working wireless plug-and-play display solution for Linux laptops (and others OSs)

Switching to Mastodon 'unlisted'

Replacing the thermal paste on my laptop

Reflections on six years in the fediverse

Downloading YouTube subscriptions and channels automatically

A rant about the pollution which is advertising

Suppressing posts containing images with no alt text in the Mastodon advanced web UI via uBlock Origin

How public is 'public'?

Improving my laptop's battery with TLP

Alternatives to the term 'enshittification'

Stopping music in my office automatically when I get a phone call or join an audio/video call

Will I ever buy a new laptop again? Why would I?

Adding an Internet radio stream (such as RadioFreeFedi) to mpd

Getting the Sierra Wireless EM7455 LTE modem working in a ThinkPad with Debian 12 Linux (with GPS)

Fixing dropbear-initramfs '/scripts/init-premount/dropbear: cat: not found' error

Why I don't care about website/blog stats

A week of not using a search engine

RevK's privacy-friendly GPS logger

Keeping bash history in sync using atuin and a self-hosted sync server

Very initial thoughts on the Xreal companion 'Beam' device

From DuckDuckGo back to DuckDuckGo via Mojeek and Kagi

Keyboard shortcut for adding random albums to the playlist in ncmpcpp

Dark mode for the FireBrick network contraption's web UI

This is a test post

A 'thank you' table for people making deliveries

Fixing Mastodon 'Error processing thumbnail for uploaded media' video uploading

Upgrading the glitch-soc fork of Mastodon

Very, very initial thoughts of the Xreal Air 2 Pro glasses and Debian 12

Subscriptions mount up quickly!

#FreeSoftwareAdvent: all my 2023 Free software suggestion posts in one place

If I don't apply, I won't get it: my approach to interesting 'bits on the side'

Using Bitwarden as an AppImage on Debian with GNOME

Improving the readability of the new design of legislation.gov.uk in Firefox with custom CSS

Fixing SOGO error NSDataMalloc(instance) does not recognize stringByTrimmingSpaces

A web UI for label creation and printing on a Brother QL-710W on Linux

Mastodon for Dummies: a book review

Getting a Brother QL-710W label printer working via CUPS on Debian

Desktop Linux: the software I'm currently using

Attempting to prohibit(?) code contributions which might have used an LLM such as Copilot?

Fixing apt yarn key deprecation warning in Debian 12

Mounting LUKS-encrypted disks by UUID

Initial thoughts on storing TOTP seeds on YubiKeys instead of in Bitwarden

I went to the cinema. It sucked

Improving our business, with Open Ideas

Making my ThinkPad LED flash 'decoded.legal' in morse code

I'm not sure that I can trust Bitwarden with my TOTP codes anymore

hugo, cron, publishdate, and auto-publishing blogposts

Moving from htmly to hugo for a static site blog

Fixing an Intel NUC with unknown supervisor or user BIOS password and a Secure Boot error

Intel NUC with no display output

Should I feel bad for buying second hand?

Switching to the glitch-soc fork of Mastodon

Setting default View options for folders and sub-folders in Thunderbird

Triggering a remote lamp automatically when I am on a call

Disabling my ThinkPad's internal camera on boot

A month using XMPP (using Snikket) for every call and chat

Fixing dropbear ssh Permission denied (publickey) error

Bodging a web-controlled garage door opener with a Raspberry Pi

This is a test post

You know you don't have to reply, right?

Snikket, a self-contained XMPP distribution

Unpicking 'The fediverse needs to do [x]' posts

Removing LinkedIn from DuckDuckGo searches in Firefox

Can I have a cable... please?

Barclays is closing its Contactless Mobile payment services on 30 June

Why I suspended my LinkedIn account

GSConnect (KDE Connect), WireGuard, and Debian 12 Bookworm

Book review: Cory Doctorow's 'Red Team Blues'

A reminder of useful Thunderbird keyboard bindings and add-ons

Unlocking a LUKS-encrypted partition via ssh on Debian 12 Bookworm

NetworkManager: automatically switch between Ethernet and Wi-Fi

Fixing sogo's 'incorrect string value' error

Updating the LUKS key derivation function on Debian

Backing up to a USB stick automatically via udev

Fixing espanso incomplete text replacement

Flatpak Firefox 112 not showing (some? bitmap?) fonts in Debian

Automating actions in Nautilus (GNOME's file manager) with scripts

Giving up Twitter, and the impact on my business

Jabra Evolve2 40 and Debian Linux

Debian on a £190 Lenovo ThinkPad X1 Yoga Gen 2

Enabling Webauthn in Firefox via snap

Decrapifying (mostly) an Amazon Fire 8 HD Kids tablet via Linux

Solved: LibreOffice Writer PDF exports have the template name

Microsoft SurfaceBook 2 running Debian Linux working with two 4K screens

Internet Time, in a watch!

Back to Firefox again!

Turning a Raspberry Pi Zero W into a travel media centre

Firefox, flatpak, reveal.js, and local file system permissions

'How Sex Changed the Internet, and the Internet Changed Sex': a review of Sam Lee Cole's new book

I taught the law and the law won

My cellular data usage and ponderings

Removing the password from a PDF file

Using a Garmin Edge 705 with OpenStreetMap for a cheap bike computer

£15 for an Amazon review?

Anatomy of some annoying, persistent spam

Home Assistant Core, Raspberry Pi OS, and python 3.10

Fixing rkhunter's 'Update failed' error

What happened to the netbook?

Online Safety Bill and individuals, volunteers, and community groups

Learnings from a recent conference call for papers

ffmpeg incantation for converting .webm to .mp3

Rotating all pages in a PDF document (pdftk)

Automated banana cleaners: an honest appraisal

Being a good neighbour, people pleasing, and puns in the Fediverse

PINE64's PineBuds Pro: my first impressions

#FreeSoftwareAdvent: all my Free software suggestion posts in one place

Wireless printing and scanning with a Brother MFC L2750DW on Debian

Adding image resizing options to nautilus right-click menu

Syncing signatures in Evolution

Unwanted spam on Ubuntu ssh login (and how to stop it)

WireGuard not routing IPv4 traffic: GNOME 3 / Network Manager

Scheduling posts on Mastodon, the hack-y way

Early impressions of CryptPad on a Raspberry Pi

The fediverse, harassment, and moderation

Using a YubiKey (or other security key) for sudo via pam

Fixing a UniFi controller where the admin user cannot log in

My home in the fediverse: Mastodon on a Raspberry Pi

RSS as my default web browser (for some stuff)

Removing pages from a PDF with pdftk

Triggering a Shelly bulb via URL actions from a Shelly Button

Android 13, GrapheneOS, freeradius, Wi-Fi authentication, and Let's Encrypt

Fixing 'ERROR: could not insert v4l2loopback: Key was rejected by service' when using linux-surface on Debian 11

Installing GrapheneOS on a Google Pixel 6

Unsuspending a £50 120GB EE data SIM after six months of use

Bypassing captive portal detection on Android 10

Running the greenbone OpenVAS vulnerability scanner on a Raspberry Pi 4

@theDPOdaily's question about encryption and pseudonymisation

Installing SIP client Blink on Debian 11

Sending post to people: spreading a smile via Royal Mail (or not)?

SurfaceBook 2 13: keyboard layout for English

Rotating all the odd pages in a PDF document

LibreOffice Writer, deleting comments, and tracked changes

Samsung Galaxy Tab 9.7 and postmarketOS: building a custom image

Samsung Galaxy Tab 9.7 and postmarketOS: initial impressions

Microsoft Surface, Debian, and two 4k monitor frustrations

'Self-host it' is not the answer

Stepping outside my comfort zone: virtual coffee chats with people I talk with on social media

Deleting video chat apps from my computer made video calls better

A year with password manager bitwarden

Book review: Death Ray

RWG Mobile APN for non-data SIMs

Brave incorrectly showing sites have ads and other creepy things when visited via DuckDuckGo?

Initial impressions of a second hand Brompton Electric H6L

Fixing Jitsi Java Runtime error from recent update

Converting Outlook .msg email files for opening on Linux

Getting back to meeting people in meatspace

Tinkering with reveal.js: a slick, JavaScript-based, FOSS presentation framework

Brave: sharing URLs via QR codes

You don't have to leave Twitter to use Mastodon, and other stories

#OnlineSafetyBill bingo

A global scale-to-fit for the PinePhone Pro

Fixing my 3D printer: a new LCD, and angling my models

Resolving a certbot apache plugin syntax error

Transfer your computers clipboard to a camera-enable mobile device via QR code

An independent assessment of the UK's Safety Tech Challenge Fund without assessing legal or data protection compliance

eReaders and eBooks: my Kobo Clara HD

Fixing an array_filter() php error when using PHP 7.4 with dokuwiki's twofactor plugin

Upgrading my .onion site to https

Turning a taxi into a conference pod

How could a website operator identify where in the world a specific user is right now?

Brave, Tor, and http-only .onion sites

Auto-connecting a VPN on a Wi-Fi connection from a mobile router on Debian 11

New plans to protect people from anonymous trolls online: new UK government proposals

I have a complicated relationship with cryptocurrency

But it's not unlimited...

Browsers for people who just want a browser

Why would any young thing even consider becoming a solicitor nowadays?

Migrating mastodon to Debian 11 Bullseye: fixing the segfault

A quick and dirty approach to redacting PDFs on Debian 11 Bullseye

Age verification, legislation, and the money-making opportunity

Safer Internet Day 2022. At least we know what were trying to achieve. Right?

PinePhone (Pro) keyboard case v. Planet Gemini v GPD Pocket 2: a photo comparison

Cloning a Raspberry Pi installation: slow, but working

Safety Tech Challenge Fund: Supplier Showcase: some quick thoughts

Fraudulent actions as personal data of the fraud victim: some ponderings

The Wild West Web fallacy

An unplanned business continuity test, and what I learned from it

Implementing BusKill: shutting down a Debian 11 Bullseye machine when a specific USB device is removed

Book review: Underground: Tales of Hacking, Madness and Obsession on the Electronic Frontier

End to end encryption, and services which let you meet and message people you do not already know

Fixing 'tee: command not found' on Debian 11 Bullseye

Installing Twitter client cawbird from the official Debian 11 Bullseye repo

A prohibition on end to end encryption could leave you with #NoPlaceToHide. And that's not a good thing.

Age verification: an Epic mess

The Curious Case of the Spurious CLI

The end to end encryption debate: 1: the (very) basics of encryption

Book review: Anne E Currie's Panopticon series, books 1 and 2

GNOME display fractional scaling

What happened to Internet radio?

Open Access publications: address and phone number, please

Installing Debian 11 on a Microsoft Surface Go: secure boot, mokutil, Wi-Fi, and libinih1

WireGuard VPN plugin for NetworkManager in GNOME 3 on Debian 11 Bullseye

Book review: IDENTIFIED

Book review: The Warehouse

Near-distant scifi fiction recommendations from Twitter

Public safety by design: the catchphrase for Internet policy debate in 2022?

Book review: Hacker: The Outlaw Chronicles

Book review: The Last Hacker

Adding music from an ssh-accessible remote server to an Android phone via Debian 11

Side-loading books to a Kindle from Linux via calibre

Confession time

PineTab running Mobian and GNOME: an iPad replacement?

Temporarily and automatically changing firewall rules to permit Lets Encrypt certificate renewals

Home server, or homework? Minecraft or mine field? The draft Online Safety Bill would restrict net neutrality to the well-lawyered

PinePhone: WireGuard, dns-over-https, and other thoughts

Funding Free / open source software: what can I, personally, do differently?

Setting up a Ledger Nano X with Debian 11

CCTV or IP cameras outside your home, and the (UK) GDPR. It's easier than you think

Do you still buy or watch DVDs or Blu-Ray discs? Why?

Introducing elfOS: making The Elf on the Shelf fit for the digital age!

Quick Image Montages

Mobian on PinePhone: software notes

Three problems with the Age Assurance (Minimum Standards) Bill for keeping children safe online

Installing Mobian with full disk encryption on PinePhone

Online safety, doing good, and inconvenient fundamental rights

My initial - and very positive - impressions of the pine64 PineTime smartwatch

What if you could only speak online if you had a car number plate: quick comments on yet another weird Internet surveillance proposal

Resurrecting Part 3 Digital Economy Act 2017 is not the answer

Changing a (known) LUKS passphrase

We must not let perfect become the enemy of good

Might an indie podcast be classified as “user-to-user” content and so subject to the hate speech provisions in the draft Online Safety Bill??

Brave browser: less privacy-respectful than I was expecting

Raspberry Pi, pihole, unbound, nginx, doh-server: some quick notes

YouTube (and other video sites) without the irritations: integrating yt-dlp and jellyfin, with a web interface

Migrating mastodon to a Raspberry Pi 4

Email, interception, fraud, and solicitors

Introducing the Internet policy red team: the underappreciated scrutineers of online regulatory discourse

Making [vulnerable group] safe online: unpicking those who spin a line to sell their proposal

freeradius-allocated VLAN on Wi-Fi on an Apple TV via a .mobileconfig profile

Should tech companies be subject to an obligation to consult?

There is no i in Teams. And rarely a Neil

Detecting child sex abuse imagery in end-to-end encrypted communications in a privacy-respectful manner

Using freeradius to assign VLANs for UniFi Wi-Fi

A change of plan: why you wont be able to vote for me for the Nominet board

Adjusting the scroll speed of an Apple Magic Mouse on Debian 11

Wayland, clipboards and wl-clipboard

Surface Pro 6, Debian 11 Bullseye, Gnome 3, Wayland, and two 4k@60 external monitors

I am standing for election as a Nominet non-executive director

Microsoft Surface Pro with Debian 11 Bullseye: emulating right-click on Type Cover trackpad

Moving from macOS to Debian 11 Bullseye Linux: applications

Installing Chitubox (3d printer slicing software) on Debian 11

3D-printed Microsoft Surface Pro 6 cable strain relief

RSS feeds for Internet tech, policy, and legal stuff (and some other bits)

Debian 11 and printing on a Samsung ML-2525W

Working front and rear cameras on Debian 11 on a Surface Pro 6, SurfaceBook 2, and Surface Go

Ubuntu on a OnePlus 6T: a good start, but too many compromises

Time for your compulsory home camera installation

Virtualising an existing macOS installation for VirtualBox on Debian 11

This one simple hack solved my Debian 11 Bluetooth audio problems

Whose liability is it anyway?

Data protection, privacy, and other bits for personal websites

Wi-Fi on a 2012 Mac Mini, running Debian 11

Aztine 15.6 Portable Monitor with Debian 11 on a Surface Pro 6

Auto-unlocking a LUKS volume on an SD card on boot with Debian 11 Bullseye

Making a Mac Mini power up when power is restored: Debian 11 version

Installing Debian Bullseye and VirtualBox on a Mac Mini

Handwriting, and annotating PDFs: a stylus on Debian 10 on Surface Pro 6 compared with an iPad

Removing the default games in GNOME 3 on Debian 10

Installing Debian 10 Linux on a Microsoft Surface Pro 6

Raspberry Pi 4 with the PoE+ HAT: LUKS and a working fan

Installing vanilla Debian 11 on a Raspberry Pi 4

Fixing a font which shows in macOS Font Book but not in macOS LibreOffice

Unlocking a LUKS-encrypted partition via ssh on Debian 10 and Debian 11

Internet access via iPhone's personal hotspot on Lubuntu 21.04

Lubuntu 21.04: forcing natural scrolling on a mouse

Gemini PDA running Debian: a properly portable computer

Debian 10 on a Samsung NC10

I bought a taxi online as a personal car

Fire Made Flesh: a book review

Second impressions of the Elegoo Mars 2 3D resin printer

First impressions of the Elegoo Mars 2 3D resin printer

Are you intruding on someone’s privacy is you are actively doing OSINT on someone?

Running Jitsi on a Raspberry Pi 4

Internet connectivity: how fast is fast enough?

Online speech-to-text transcription and the ePrivacy directive

DNS-over-https on macOS and iOS

wireguard via algo: a simpler, faster(ish) alternative to IPSec

Supervision is not the same as total surveillance

Jam: my initial take on a FOSS alternative to Clubhouse

Playing with html5 video

Useful books for advancing your business

Book review: Rehumanize Your Business

Review: Xiaomi DZN4006GL Mi Pump Air Compressor

Changing my Brompton's front mudguard

Healthy eating, my new year's resolution, and body image

Self-hosted disposable email addresses with AHEM

The EZ Clamp Spring: keep your clamps in position

Nice rack!

Christmas chocolate cheesecake

My first ride through a Tier 4 Newbury

Fixing a very noisy Brompton

I finally cycled in London!

Getting started

I (finally) bought a Brompton