Neil's blog
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