Building_go_with_magefiles
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.
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.
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.
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.
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.
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”: [“192.168.1.1”, “8.