Day one review: Hotline Games anti-slip grip mod for Razer DeathAdder V2 Pro mouse

I've used Razer mice for years, specifically the venerable DeathAdder. I've tried loads of other mice, including the competition (G502 etc) which are impressive but just don't feel quite right to me. My Deathadder hall of fame (or, the drawer next to my desk) consists of many of the DA models, all used extensively until either destruction or upgrade - starting with the original model, through the various models with their upgraded sensors or higher DPI, until the most recent purchases of the DeathAdder Elite (wired) and the DeathAdder V2 Pro (wired/wireless).

However, as I have Sandpaper Fingers (super dry skin which is quite abrasive), the textured top surface and the silicone side rubber grips quickly get worn down to smooth, shiny surfaces, which I hate. But there is a solution... grip tape!

Continue reading "Day one review: Hotline Games anti-slip grip mod for Razer DeathAdder V2 Pro mouse"

How to download and install builds of the latest iperf3 Windows versions

iperf3 is a very useful network throughput testing tool, however the most prominent versions available for Windows are either old, buggy or superceded by newer builds. It's always worth keeping up to date with the latest available build, but most people on Windows won't be able to compile from source due to lack of knowledge/lack of time.

The ESNet project maintains iperf3 but doesn't release compiled binaries for Windows. Sites like the high-visibility iperf.fr only host up to v3.1.3 which dates back to 2016 - six years old as of writing, and the operator of that site appears to have gone AWOL or has stopped updating it.

Fortunately, the wonderful user BudMan on the Neowin forums decided to do something about this, and has been steadily compiling the latest iperf3 builds for Windows and hosting them for download since 2014! Someone should buy BudMan a beer. Another Neowin user CryptAnalyst has also recently begun compiling for Windows and is publishing builds to their GitHub. Spoiled for choice!

https://www.neowin.net/forum/topic/1234695-iperf-311-windows-build/ has the latest build linked directly, and you can download all previous releases from https://files.budman.pw.

For ease of use on the command line, don't forget to extract the zip to a 'persistent' location, then add that folder to your Windows PATH environment variable (it only takes a few seconds). Here's another guide on how to do it in Windows 10; the process is very similar for Windows 7 (see also https://stackoverflow.com/questions/23400030/windows-7-add-path).

Of course, adding the iperf3 path to your Windows PATH variable is optional, but it's convenient. Once done, you can just invoke "iperf3" from a prompt like anything else. Happy throughput testing.

Compiling the HTTP Substitutions Filter module for NGINX on CentOS 7

I use NGINX for various things, including one niche case, where I rewrite and replace strings before presenting them to the user. I do this using the HTTP substitutions filter module. The readily-compiled module to accomplish this is included with the paid NGINX Plus, but is also available to DIY compile if you have the ability.

If you're just looking for precompiled .so files you can use with NGINX on CentOS 7 available from the nginx.org repository, see the end of this post.

A while ago I took the time to work out how to compile this for updates; the CentOS box I run NGINX on uses yum packages for updates, but then the subs filter module stops working. So, after half an hour or so of tinkering, quiet swearing, obtaining of additional packages, tweaking commandlines etc... I have a working oneliner to make an NGINX build which will also compile a suitable ngx_http_subs_filter_module.so file. 

To compile this dynamic module you generally need to build with the same switches used for the packaged build. So, first step was to find out how it was compiled:

See how to check your compile flags, and how to build from source

Postfix "unavailable. unsupported dictionary type 1111" on restart? Check your brackets!

I was recently modifying a Postfix config to do some debug logging of transactions for a specific IP addresses. To do this, I modified the smtp and smtps services in master.cf to get the most verbose logging possible. 

However, I'd failed to remember to encapsulate the IPv6 address with brackets. And so, I got this in the log after restarting Postfix:

Feb  5 18:28:29 l03 postfix/smtpd[21037]: warning: 1111:2222::7777:8888 is unavailable. unsupported dictionary type: 2a04
Feb  5 18:28:29 l03 postfix/smtpd[21037]: warning: 1111:2222::7777:8888: table lookup problem

(To confuse me, that address was also the one listed in a client_checks.cidr file I'd put together which was also part of my investigation).

And when that client was attempting to connect to send an email, I was seeing this:

Continue reading "Postfix "unavailable. unsupported dictionary type 1111" on restart? Check your brackets!"
I