You’ve got a niche blog where you write as a deeply technical expert in a IT field such as cloud, networking, storage, development, or security. Your audience is made up of fellow nerds in similar orbits. You’ve been writing for years, and have developed a faithful audience who reads most of your stuff. After all this time, a real-deal vendor appears, wanting to place a sponsored blog post on your hallowed site. Now what?
How To Use Grep + Regex To Match Non-200 HTTP Status Codes In Apache Server Logs
· 3 minutes to read
Published · UpdatedLet’s say you want to see the requests Apache is upset about. How do you filter the logs to see every entry that doesn’t have a status code in the 200s? Depending on your Apache LogFormat, you could try…
sudo grep -E ‘\” [1345][01235][0-9] [[:digit:]]{1,8} \”‘ /var/log/apache2/access.log
Can Fantastical Openings Replace Calendly?
· 3 minutes to read
Published · UpdatedTL;DR. Fantastical Openings can’t replace Calendly for my scheduling needs yet, but it’s close.
Career Advice I’d Give To 20, 30 and 40-Something Year Old Me
· 2 minutes to read
Published · UpdatedA list of career-related maxims easy to consume, but challenging to apply.
How To Fix Ubuntu 18.04 ‘apt update’ Throwing An NGINX Repository i386 Package Error
· < 1 minute to read
Published · UpdatedIf ‘apt update’ on Ubuntu 18.04 throws an error N: Skipping acquire of configured file ‘nginx/binary-i386/Packages’ as repository ‘http://nginx.org/packages/ubuntu bionic InRelease’ doesn’t support architecture ‘i386’, then replace the one line of text in /etc/apt/sources.list.d/nginx.list with this line instead.
deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu/ bionic nginx
How To Create A Python Function You Can Call From Other Scripts
· 4 minutes to read
Published · UpdatedWriting and calling functions is a key component of the Don’t Repeat Yourself (DRY) principle of software development. Creating a function in a single script and calling that function from other scripts is preferable to performing copypasta of the same bit of code throughout several scripts. When a function lives in a single script, it only needs to be updated in that one place when it inevitably needs updating.
How To Blackhole (Null Route) An IPv6 Block On Linux Using ‘ip -6 route’
· 3 minutes to read
Published · UpdatedIf you wanted to drop traffic at your Linux host destined for, let’s say, IPv6 netblock 2a09:8700:1::/48, you could get that done with this command.
sudo ip -6 route add blackhole 2a09:8700:1::/48
What Does An ‘R’ Before A String Mean In Python?
· < 1 minute to read
Published · UpdatedAn ‘r’ before a string tells the Python interpreter to treat backslashes as a literal (raw) character. Normally, Python uses backslashes as escape characters.