Recommended. The Firewalla Purple brings firewall management to the masses: It has a great GUI that makes it easy for less-technical users to see what is happening on your network and to manage devices. Firewall rules are easy to set up and content filtering policies can be toggled on and off by device or group. There are a few minor shortcomings but the feature set is still being extended. The Purple is an excellent device for managing small networks and the online activities of children. However, it is highly overpriced.

No longer recommended. Trying to find truly free stock photos has always been painful. Usually, the available 'free' resources come with unwieldly terms such as the requirement to publicly attribute the source or acknowledge the author. Now I fully support the Creative Commons licenses for literary works, but you just can't plaster attributions across the artwork for a brochure, website banner or logo. It's not an appropriate model. Recently I stumbled uponĀ unsplash.com, a stock photo site that is actually free, has a remarkably permissive license, and is also excellent.

Tuskfish 2.0.4 brings a user management module, which allows you to enrol trusted users in an Editorial role, so that they can create and edit content. The core structure has been refactored to improve modularity for development of new extensions. Internal login checks now test admin status against a surrogate password hash, rather than a simple session flag, which is a small security improvement: If an admin/editor changes their password at any time, any existing logged-in sessions are rendered invalid.

Running a Raspberry Pi from an SSD is a lot faster and more reliable than from a flash card. But how to move the OS to the SSD when you don't have access to the desktop utilities or an external M.2 enclosure? TLDR: Boot from a flash card / desktop version of Raspberry Pi OS first, use Raspberry Pi Imager utility to copy your OS of choice onto the SSD, and change the boot order to SSD-priority using raspi-config. You can then get rid of the flash card entirely or keep it as a backup OS.

A demonstration of Tuskfish's mapping capabilities. This track was recorded on my Garmin Forerunner 245 watch, as I drove back from Batemans Bay on the south coast to Canberra. The map is automatically generated from an exported .kml file of the track, which Google Maps can put bounds around. The tracks are downloadable so others can use them on their own devices if they wish. You can also prepare maps in Google Earth or Google Maps itself.

The Installation Guide and User Manual have now been updated for Tuskfish CMS V2. An updated API and Developer Guide will follow soon!

The user manual provides a comprehensive guide to Tuskfish CMS operations. It covers all all aspects from installation to adding and curating content, managing site security and customisation of themes. For additional information on how to customise Tuskfish please see the developer guide.

Tuskfish 2.0.3 brings compatibility with PHP 8.1, so if you want to wring the last few milliseconds of performance out of your site, use this version. New features include support for embedding Youtube videos, a sitemap generation facility, a 'minimum views' preference before displaying the views counter, and a live character counter for the meta description field. Third party libraries have also been updated, including adoption of Bootstrap 5.1.

To robbery, slaughter, plunder, they give the lying name of empire. They make a wasteland and call it peace.

- Calgacus, 83 BC

Most tutorials about dockerising Golang apps tell you to use the Golang image as the base so that you can compile it. Don't do that! Why would you want hundreds of megabytes of unnecessary cruft in your image, when you could just have a tiny standalone binary, running in a container by itself? Build the binary on your development machine with a flag to statically link required libraries, and copy it directly into a scratch image. This will give you a wonderfully small, portable image with a minimal attack surface.