A 6-post collection


By Matthew Hunter |  Jun 17, 2023  |
Go itself has a built-in set of tools for building go programs and running them. The dependencies and configuration are mostly handled automatically. This makes initial development fast and easy, but eventually, more complex requirements surface and require soome type of automation. I’ve seens lots of different approaches: My work uses a custom-built tool written in go to manage packaging, deployment, signing, etc. This works well but is a lot of effort to write and maintain for a small project, especially multiple small ptojects doing the same thing.
Continue Reading...

find -exec

By Matthew Hunter |  Apr 2, 2023  |
One very useful command for locating files and performing operations on them is find with the exec option. find [path] [arguments] -exec [command] {} ; I’ve found this to be particularly useful when adjusting permissions to allow group owners to list a directory: find [path] -type d -exec chmod g+x {} ; The part that’s tricky to remember is the escaped semicolon, hence this post. Applying it only to directories avoids issues with normal files being treated as executable.
Continue Reading...

Hacker versus cracker

By Matthew Hunter |  Apr 2, 2023  | gcih
In the early days of the internet, and even before that, there was a distinct difference in the terminology used for the people who obtained unauthorized access to computer systems. The term hacker meant someone who created an interesting hack, usually something interesting that used a system – not necessarily even a computer system – to do something outside its design intent. A Rube Goldberg machne is a good example of a hack.
Continue Reading...

GIAC Certified Incident Handler

By Matthew Hunter |  Mar 29, 2023  | gcih
Last weekend. I took the certification exam to become a GIAC certified incident handler. Both the exam and the course material leading up to it were interesting enough to deserve a few comments. One thing I was moderatedly surprised by in the SANS course was the initial focus on Linux shell tools and Windows Powershell. I’ve been using Linux for a long time, so there weren’t any surprises there. The Powershell material was new to me.
Continue Reading...

Apache HTTPD, Tomcat, mod_jk, and let's encrypt

By Matthew Hunter |  Sep 10, 2019  |
So I ran into an interesting problem recently. I run a number of websites with custom software, this blog being one of them. I use Let’s Encrypt to automatically obtain SSL certificates for them, since they are personal sites that don’t do e-commerce and the free cert is fine. They are running on Tomcat, using JSP and servlets, with a database backend, and Apache HTTPD in front handling the SSL part.
Continue Reading...

Docker and DNS

By Matthew Hunter |  Jun 21, 2019  |
Another recently encountered problem: how to make Docker container DNS work when the configured DNS server is blocked. The answer is simple: /etc/docker/daemon.json contains the docker daemon configuration, and you can specify additional defaults. In this case, I added my local DNS server first, followed by the Google public DNS server (which I prefer not to use generally, but am OK with a docker container using). /etc/docker/daemon.json { “dns”: [“”, “8.
Continue Reading...