50 Followers
95 Following
93 Posts
'92 | Belgian | Computer Security Engineer (mostly Azure)
Websitehttps://adr.iaan.be

Accidentally making a Perl onion logo in my latte art this morning.

(Cat was not impressed)

Quirks of making container images from scratch and then trying to use them.

It turns out the Config JSON needs to contain a history array or podman refuses to make a new layer. Even though the OCI spec says "history" is optional. (It's enough to make objects with a created string of epoch 0, giving 0 extra information to podman but it does unblock it)

I've been implementing my own Tar file library to do some quirky stuff but somehow all implementations handle the checksum as being 7 bytes and leave the last byte as \x20 ? It doesn't seem to say this in the spec file I'm using (https://www.gnu.org/software/tar/manual/html_node/Standard.html) where they mention you first set everything as \x20 (all 8 bytes of the field) but then overwrite it with the checksum value you calculate... I don't see an apparant reason for leaving the last byte as \x20 but if I follow the spec then my tar file doesn't work with `tar'. >.>

Maybe it has to do with "the precision of which shall be no less than seventeen bits" which I have no clue what it means.

SIEMpl update: After doing most of the work driven by TDD, it's time to make a UI to make this software deployable in a pod on my server and then useable via my browser.

I've been flexboxing the basics of the query layout, not caring about styling so far. Because of the flexbox everywhere, it'll be responsive out of the box (at least compared to my normal floating-of-divs approach)

Next up, I will integrate Vue.js, which I can embed without having to use npm, with its router and state manager to make it a single page application that remembers state. I'll have to figure out how to save the state into the local storage of the browser so that it remembers state when closing the browser tab.

The SIEMpl test suite is also growing, already 355 tests. I'm doing my best to adhere to the TDD way of working so I keep good coverage and I'm writing code to directly develop features/fix failing tests of new functionality.

SIEMpl update du jour: One of my goals with this parser was to have good support for IPs and searching IPs and today I implemented CONTAINS and IN to work with IPs and IP CIDR ranges so that I can easily filter.

Still baby steps but slowly the SQL implementation is growing (as well as all the code in the background).

SIEMpl update: I got my own SQL parser implementation to a state where I can make simple queries on the event data (read directly from the nginx log file, normalized on the fly into the http "table"), so it was time to make a table printer so i can see the results of my work 
Didn't know that the latest virtualbox allowed for an automatic install of Debian with its netinstall iso, I should've upgraded sooner to it. I can drink coffee now and watch it install itself 
Got myself a nice (~in good condition) secondhand thinkpad T460. First step is kicking out the dogshit windows OS and installing debian 

Having fun creating a #perl Termbox2 application in my terminal. It's still rudimentary currently, but the underlying data structure has the info i want to show so it's just a matter of adding eye candy and responding to user key/mouse commands.

(It's purpose is to be a replacement for github.com/wagoodman/dive which has some annoying bugs that aren't getting fixed/merged and I needed something i could work with for my upcoming blog post around distroless Perl container images)