Skip to main content

Tech notes

Random IT tests, fixes and and findings that might help others.

Copyright, all rights reserved.

In this collection

Fixed my AMD Ryzen 5000x series random reboots

My Ryzen 5950x became unstable and started throwing random reboots. No errors are reported, and Windows logs just shows a kernel power loss event. The distinguishing feature is that the reboots usually happen when the CPU is lightly loaded or idle, or a few seconds after leaving a heavy workload. The machine passes stress tests without an issue. The consensus seems to be that the CPU is undervolting a bit too far under light/idle workloads. So people are experimenting with many different BIOS settings to try and fix it.

TLDR: After trying every BIOS adjustment under the sun, installing a different OS, and rotating every component bar the motherboard with old spare parts, I was left with only one option: It had to be the motherboard. So I bought a new one, and yes, everything just works great now.

Review: SmallRig Lightweight Travel Tripod AP-01 (3987)

Not recommended. Overally, the tripod is very solid, relatively light (1.3 kg) and feels like it would be good for smiting The Enemies of Journalists. It has a few useful features, including a 3/8 inch mounting thread that retracts to expose a 1/4 inch thread, and three built in 1/4 inch mounting threads at the top of the legs. The tripod legs extend out into three locked positions, including one near-horizontal, allowing the camera to be placed at ground level even without a center column.

I found a couple of minor flaws: Two of three (unneccessary) screws for securing the head worked loose and dropped out on the first day of use, and the spirit level on the supplied head was hopelessly misaligned, ie. useless. Despite that, it's otherwise well-built and fairly decent value for money, but the lack of quality control is disappointing and basically meh. It's ok.

The MacBook Air headphone jack supports external microphones

Want to connect an external microphone to your MacBook Air? You can.

The 3.5 mm headphone jack is actually a combo jack, which is capable of supporting microphone input as well. But for microphone input you must use a TRRS jack (the ones with two black rings, such as on a phone hands free kit). The jack ouputs a headphone-level signal that can also be used to drive powered speakers, but not passive speakers.

Presumably this is also true of MacBook Pro.

Fix for ASUS TUF RX 6800XT OC Gaming crash to black screen

I started getting random crashes to black screen during gaming. It took a long time to isolate the problem, since the machine passed stress tests without issue, but after pulling my system apart, I finally noticed that the VGA light on the motherboard was lit after crashes. The fix was to update the GPU VBIOS, using an update tool from the manufacturer. It takes about 2 minutes and I haven’t had a problem since.

I don’t know if this is a problem with 6800XTs generally, or just with this specific model, but if you are having crashes and see the VGA tell-tale is lit, then check if an update is available for yours.

Microsoft forms: Fixing the "This form may not be safe" warning

TLDR: Using certain words such as "login" on your form will get it automatically flagged as suspicious. If you have problems, remove any terms that could be misinterpreted as phishing. It's likely that other terms such as "password" would also create problems.

How to fix Perl locale problems in Debian / Ubuntu / Raspbian

Here's a simple fix that works. Why don't they just fix it already? This has been driving me mental across multiple distros for ages on every box I have. There's just no excuse to leave an obvious irritation like this sitting around for years. But that's what you get on Linux.

Setting up PHP with GD2 image library in Docker

I put together some scripts to set up a dockerised PHP-Apache2 environment. Dockerhub actually has official images for this, but the problem is that they don't include the GD2 image library, you have to compile it in yourself. So, my scripts do that. They also create a persistent volume via a bindmount on the host machine, so that you can freely remove or rebuild the webserver container without losing your website data. 

How to set up a WireGuard VPN server in a Docker container

Tired of paying for a commercial VPN? I set up a private WireGuard VPN server, running in a Docker container on a cheap virtual machine I already have with Linode. No need to pay for additional infrastructure! It works straight out of the box, and is fast and simple to set up. This article closes a few gaps in the documentation that might slow you down. Set up time was about 10 minutes, including configuring client devices. It's a nice facility to have, and is so lightweight you can run it on existing infrastructure without paying anything more.

Heroku throws students, non-profits and other freeloaders under the bus

In a blog post annoying titled Heroku's Next Chapter, Heroku's General Manager has announced they will discontinue their free plans. On 28 November they will reduce free resources to zero and start deleting hobby-dev databases. Yep, they are going to bin your data with no warning other than an email, to "manage fraud and abuse". The good news is that you don't need them. Get your virtual machines from a cloud provider and containerise your apps with Docker instead. You'll never look back.

Thoughts on the Gl.iNet Beryl (GL-MT1300) travel router

Not recommended. The marketing materials lean heavily on its ‘advanced security features’, but TLDR it doesn’t have any, unless you think VPN capability is something special. It’s just a small, portable wireless router that can accept a WIFI signal as its WAN input. So you can use it in a coffee shop and have a firewall between you and their network, but the firewall is just like any other home router firewall. You can forward ports and so on, but that’s about it, and it doesn’t provide any visibility into the traffic or what’s going on. Sadly, it does not support DFS channels (52-140) on fast 5GHz WIFI, so it is not compatible with any access point using them.

Firewalla Purple thoughts

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.

Excellent free stock photos - unsplash.com

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.

How to boot a headless Raspberry Pi from USB SSD

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.

Tuskfish CMS mapping demo: Batemans Bay to Canberra GPS track

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.

How to setup SSL in an Apache2 Docker container running as a non-root user

Update: I have an additional (as yet untested) solution: Use an access control list to grant an exception to the webserver user (www-data) to access the TLS private key. This should allow you to follow good practice in running the Docker container as a non-root user (eg. www-data), while maintaining standard restrictive root privileges on the key. The other solution, which I am running in production, is to put an NGINX reverse proxy on the host machine in front of the Apache container, and terminate the TLS connection there. If this proves workable, it is hands down the easiest way to solve the problem.

At time of writing, all other "solutions" on the internetz either tell you to weaken the file ownership permissions, or run the container as root, which you should not do. Even the official docs example doesn't explicitly set a user...which means the container will default to running as root.

How to find the path to php.ini

php --ini

You're welcome.

How to ignore local changes to configuration files in git

When developing a project you need to be able to run it in order to test it. But you don't want local changes to the configuration files to be committed. Most 'solutions' to this problem suggest untracking (removing) it from the repository. But if you want to keep the file in your project, then use:

git update-index --skip-worktree filenameOrPath

This keeps the file in the respository, but lets you change your local copy freely without including changes in commits.

Fixing Elgato Facecam exposure problems

The automatic exposure settings on the Elgato Facecam are terrible, but you can fix it.

How to prevent burn-in on your Elgato Stream Deck

Use minimum brightness, a short 'Sleep After' period and a fully black screensaver image to protect your keys (image provided).

OBS: Fixing the GoPro Hero 9 webcam problems

One of the cool new features of the GoPro Hero 9 is that you can use it as a 1080p webcam. Sadly, the out-of-the-box experience is glitchy and way too unreliable to use for a serious project, but you can fix it with the right setup and more $$. TLDR: Get the media mod and use the HDMI port for better output, take the battery out and power directly through USB to prevent unwanted shutdowns, and use OBS studio to resolve audio/video syncronisation issues.