All content © Alex Shepherd 2008-2024unless otherwise noted
How to create an async proxy that automatically alters the source function's typehint
Published (6 min read)
How to fake Firebase SDK initialisation in your Python app's test suite
Published (2 min read)
How to only show tasks that caused a change when using Ansible
Published (1 min read)
My current preferred shell & prompt combination
Published (3 min read)
Learning how maths cam be troublesome when working with Solidity
Published (19 min read)
Learning why randomness and privacy aren't so simple in Solidity
Published (16 min read)
Working through Capture The Ether warmup challenges using Hardhat
Published (8 min read)
Using VS Code's Devcontainers to set up a consistent shared development environment for Smart Contracts
How to build a simple but extensible YAML router for the Falcon WSGI framework for Python
A nifty little trick to speed up working with MySQL in your development environments.
How to get SSL-only sites working behind load balancers and Varnish
How to change The Foreman's web UI SSL certificate without affecting your Puppet nodes.
A Puppet module that manages an instance of the HorizonPlatform cryptocurrency client on your Linux server.
Published (0 min read)
A potential fix for anybody experiencing very high disk I/O on the latest Debian or Ubuntu.
A node configuration skeleton for Puppet, using Vagrant to facilitate testing.
How to build a lightweight and extensible development environment for Laravel Lumen using Vagrant and Puppet.
Making the puppetlabs-mysql official Puppet module work with the official MariaDB CentOS repositories.
A bit of fun with logic and pseudocode
How to get bitcoind running securely behind systemd on Linux
Crypto Currency Collectors Club Sites Launched!
An extensible altcoin mining profitability calculator written in PHP
Hirocoin official Ubuntu PPA installation and usage instructions.
Paper Wallet for Darkcoin (DRK, now known as Dashpay - DASH)
A basic guide on using paper wallets for long-term cryptocurrency storage.
A guide on how to get CUDA 5.5 installed in Ubuntu 13.10 Saucy Salamander.
How and why to get the latest and safest version of anonymising software Tor on your Ubuntu or Slackware box.
A script to install and update Laravel 4 instances with a single command
How to get x86 binaries to run on the stripped down EC2 edition of Quantal Quetzal (Ubuntu 12.10).
The simple process of forwarding ports between different machines using Linux's IPTables.
A simple HMAC authentication bundle for Laravel 3.x
A light, calm theme for Drupal 7, based on Metaltoad's H5Bp.
A bright, and white responsive Drupal 7 theme.
Learn how to migrate/convert a Drupal 7 site to Wordpress 3.5.
How to partition a Western Digital Advanced Format drive in Linux
How to hotplug SATA drives in Linux.
How to reset your Drupal theme's CSS/JS cache from the CLI while developing.
How to reset your Drupal 7 password from the database.
How to restrict Views menu tab visibility to certain content-types using Views 3 on Drupal 7.
How to modify a Drupal/Views 3 Contextual Filter to use the LIKE operator, instead of the hard-coded =.
Slides and code from my OOP PHP talk at Code Cumbria
A Last.FM module for Drupal 7
An amazing steampunk contraption a close friend of mine recently restored.
Tutorial: How to ensure that Slackware saves the crontab when using Vim.
How to read an ATmega328P's hardware fuse bits from the Arduino IDE.
How to charlieplex 6 LEDs, with PWM using only 3 pins on the Arduino.
Arduino/MSGEQ7 Seven Band Graphic Equalizer Display Filter Tutorial
Broken Arduino <-> Processing communication fix
How to install Ubuntu on a Dell XPS 17, and activate hybrid graphics/multi-monitor support.
How to modify Slackware's udev rules to ensure consistency in network device naming.
A possible fix if Cron isn't running your own custom jobs
A Drupal module which reads a user's public Google+ feed.
Some more really cool BASH tricks
Some great BASH tips, tricks and features
A Drupal authentication backend for Dokuwiki
A file download script that checks authentication against a Drupal instance.
Drupal authentication based secure file download php script.
IMAP e-mail server using MySQL for authentication
Published (5 min read)
Install your own certificates permanently
Configure touch screen style scrolling in Linux
Give the Linux copy command a GUI
Access the correct raw device for your hardware
Mount your Virtualbox rig's partitions on the host machine
A fix for a common problem experienced with Google Chrome.
How to download Flash 10.2 video streams in Linux. Various scripts and methods of simplification are included as updates, with full code available.
Install the Indy component library version 10 in Lazarus FreePascal IDE.
FTP connection tracking fix for Linux
How to configure Sendmail on Slackware.
How to upgrade your home router with a bit of technical wizardry
How to fix a Horde/Kronilith error when it won't detect the free/busy url
How to get tar to ignore directory structures
How to hack syntax highlighting into less through Vim.
Using wget to grab whole folder from an FTP site with an HTTP front end
How to download a folder recursively using wget
Firefox sometimes doesn't let you "open containing folder". Find out how to fix it in KDE!
How to disable the Gnome top panel in Ubuntu
How to manually send and receive SMS via a 3G/GSM dongle on Linux
Start to finish on resizing a virtual disk in Virtualbox.
An extremely useful RAM dump and sort script for Linux
How to reboot a home router automatically and/or non-interactively
How to manually edit the IPTables SSH ban list
How to run Firefox over an SSH connection to a remote system.
The final part in my Optimising Slackware Boot Time series.
The first part in a series of articles on optimising boot times in Slackware
Part 2 of Optimising Slackware Boot Time
Battling CUPS in Slackware - and winning!
How to stop Xorg switching off your LCD screen's backlight.
One of the few Slackware Bootsplash patch guides available online.
Get your VIA Chrome9 card to work with Compiz Fusion
A personal farewell to one of my favourite authors
How to get Madwifi into promiscuous mode on Slack 12
How to get 3G comms working in Linux
WEP is awful... Here's why.