• Skip to primary navigation
  • Skip to main content
Ethan Banks

Ethan Banks

@ecbanks

  • Blog
  • Book
  • Podcasts
  • RSS
  • Show Search
Hide Search

How To Work With A Sponsor For Your IT Blog

Ethan Banks · 7 minutes to read
Published April 26, 2022 · Updated April 26, 2022

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

Ethan Banks · 3 minutes to read
Published April 6, 2022 · Updated April 7, 2022

Let’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?

Ethan Banks · 3 minutes to read
Published March 29, 2022 · Updated March 29, 2022

TL;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

Ethan Banks · 2 minutes to read
Published March 28, 2022 · Updated March 28, 2022

A 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

Ethan Banks · < 1 minute to read
Published March 22, 2022 · Updated April 6, 2022

If ‘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

Ethan Banks · 4 minutes to read
Published March 8, 2022 · Updated March 8, 2022

Writing 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’

Ethan Banks · 3 minutes to read
Published March 1, 2022 · Updated April 6, 2022

If 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?

Ethan Banks · < 1 minute to read
Published February 25, 2022 · Updated February 23, 2022

An ‘r’ before a string tells the Python interpreter to treat backslashes as a literal (raw) character. Normally, Python uses backslashes as escape characters.

  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Interim pages omitted …
  • Go to page 87
  • Go to Next Page »

twitter linkedin linkedin

Have a great day. You're doing an outstanding job. 👍

About · Privacy

Copyright © 2007–2022 Ethan Banks