Very productive day.. tomorrow probably won't be nearly as productive mainly because i'm up way too f'n late. Lots of reading and coding. Here's one small tool I wrote tonight (using my various DevUtils libraries):
MySQL slow query/num query health checker, experimental :::
https://github.com/adarqui/Darqios/blob/master/experimental/scripts/mysql-alert-processlist.hs ::: haskell, mysql, health
I'm still struggling* to wrap my mind around my haskell darqios variant.. mainly because i'm still a haskell noob. I plan on playing with some Cloud Haskell examples to see if I should use that framework for the darqios haskell project. It's pretty attractive right now, except for perhaps the security/encryption/auth 'issues'.
One of the main things I want to do with the new Darqios will be to turn whatever cluster of clients I have connecting to the server, into a compute mesh. Cloud Haskell would be a big step in that direction because of how you can "send" closures/data/functions over to a CH node. With this, I could conjure up all kinds of useful distributed work/computations across the mesh. Would be ridiculously dope.
I think I've decided I will scratch any kind of DB store, for storing the darqios client metadata etc. Instead, I'm going to make it filesystem based. This way I can easily manipulate everything via normal unix tools. I could easily turn the fs into a mem fs to speed things up if I need to.
Also, i'm thinking about scratching dsl/parsing/etc from the stored client metadata, ie, how I deal with groups/mitigation/polling/health/state etc. Instead, I'm leaning towards having all of that consist of compiled modules. So, real haskell code. This would give me great power when crunching data returned by a server action. For example, currently in the go version I have groups[] in each account object. Then, in a policies object I have those groups defined (see if process isnt running, check disk space, ping something, see if something is down etc). All of this uses a very crude "string" + ["args","1","2","N"] approach etc. If I stored everything inside of actual haskell .hs modules, I could then use real haskell abstract data types, functions, etc. Then I wouldn't be restricted at all by the limitations of such a crude string parser.
Right now, I'm thinking about an 'auto assembly' approach to dynamically build the darqios environment from a "Core" plus untracked modules etc. These modules would be specific to whomever is using this system. So i'd lay the ground work and then come up with a way to link everything together. One problem would be; when adding new groups/modules etc, you'd have to recompile. Honestly though, it's not an issue. Once you've compiled a haskell package, partial recompilation (without total recompilation), is fast.
man im wrecked.
gn
Are you right now at the level where you can "break in" copyrighted software and crack it (if you were to put your mind to that)?
nah.. that's not my 'forte' ;f
I guess I have the skillsets -> c/asm background, low level process/kernel hacking background etc.. not into cracking though.