Chaos in the system
Why simple solutions don't work when they should
About me
AKA "who am I this is ridiculous"
AJ, he/they
Security person
filter-other-days
author
Linux user (via Qubes OS) but constantly eyeing the BSDs and illumos
Unix philosophy fan
I do not have any answers
About you
Shout it out
This talk in three sentences
Here is this program
It was way too hard to write this program
This program should not exist
What is filter-other-days
?
Reliable logfile date filtering
Never incorrectly drops data under any circumstances
Suitable for security and reliability systems like Artificial Ignorance
Core shell script requires only POSIX
The problem
How to find all logs from the current day?
grep
for the current day
But, programs can decide how to format dates
Artificial Ignorance
Want to notice unusual things in your system
Can't enumerate everything unusual or interesting
So, throw out things we know are uninteresting
Example
filter-other-days
' approach
Find all dates we don't care about and throw them out
Looks a lot like Artificial Ignorance
Never silently drops information
grep -v
Examples
echo '2017-01-01' | filter-other-days
cat daemon.log syslog.log | filter-other-days
filter-other-days < logfile