- 7 Posts
- 16 Comments
melezhik@programming.devto Programmer Humor@programming.dev•How people react when they see me work.1·2 months agoYep. Fancy devs watching me coding some Rakulang in nano 😂
Ok. “I am a good FOSS developer”
melezhik@programming.devto Programming@programming.dev•Coders or lemmy, what editors do you use? Is it worth learning a new one?1·3 months agoThanks, will take a look
melezhik@programming.devto Programming@programming.dev•Coders or lemmy, what editors do you use? Is it worth learning a new one?13·3 months agonano is the best (imho) for up to medium size files. It’s preinstalled in most Linux boxes , it’s simple and flexible enough, takes a minimal amount of time to learn basic for keys and then use them all the time
melezhik@programming.devOPto Linux@programming.dev•Harden sysctl.conf by Sparrow checks1·3 months agoNot generator, validator. It validates configuration files . Ansible is not flexible in comparison with Sparrow, you’d need to write more boilerplate code to do the same … Also core ansible modules search is limited by “one line” mode, thus it does not allow to search for example within nested structures, like if we want something in between or in nested blocks, or search for sequences, like when we want to search a sequence of strings, a,b,c,d etc, Sparrow does allow al thatl as it has ranges/sequential/SLN search by design. Sparrow allows to generate check rules in runtime as well, Ansible can’t
melezhik@programming.devOPto Linux@programming.dev•Harden sysctl.conf by Sparrow checks2·3 months agofair enough, however the intention is to show how one could create rules on Sparrow/Raku, not to show rules … Maybe I should have mentioned that …
for example this is more interesting example evaluation of net.ipv4.tcp_synack_retries"
regexp: ^^ "net.ipv4.tcp_synack_retries" \s* "=" \s* (\d+) \s* $$ generator: <<RAKU !raku if matched().elems { my $v = capture()[]; say "note: net.ipv4.tcp_synack_retries={$v}"; if $v >= 3 && $v <= 5 { say "assert: 1 net.ipv4.tcp_synack_retries in [3..5] range" } else { say "assert: 0 net.ipv4.tcp_synack_retries in [3..5] range" } } else { say "note: net.ipv4.tcp_synack_retries setting not found" } RAKU
melezhik@programming.devOPto Linux@programming.dev•Harden sysctl.conf by Sparrow checks2·3 months agosorry, could you please elaborate on “shouldn’t copy” ? thanks
melezhik@programming.devOPto Linux@programming.dev•Harden sysctl.conf by Sparrow checks21·3 months agoyou are seemed to have edited your initial reply - "it should be sysctl.conf not syslog.conf " - anyway thanks for that, now it’s fixed, this was just overlook typo
melezhik@programming.devto Programming@programming.dev•Am I crazy in thinking that bash is good enough for production?5·4 months agoYep. Like said - “We talk about use of Bash for simple enough tasks … where every primitive language or DSL is ok”, so Bash does not suck in general and I myself use it a lot in proper domains, but I just do not use it for tasks / domains with complexity ( in all senses, including, but not limited to team work ) growing over time …
melezhik@programming.devto Programming@programming.dev•Am I crazy in thinking that bash is good enough for production?14·4 months agoWe are not taking about use of Bash in dev vs use Bash in production. This is imho incorrect question that skirts around the real problem in software development. We talk about use of Bash for simple enough tasks where code is rarely changed ( if not written once and thrown away ) and where every primitive language or DSL is ok, where when it comes to building of medium or complex size software systems where decomposition, complex data structures support, unit tests, error handling, concurrency, etc is a big of a deal - Bash really sucks because it does not allow one to deal with scaling challenges, by scaling I mean where you need rapidly change huge code base according changes of requirements and still maintain good quality of entire code. Bash is just not designed for that.
melezhik@programming.devto Programming@programming.dev•Rant: I wish more people stopped using Github41·4 months agoLet me generalize that - yaml pipelines are terrible 😀
melezhik@programming.devOPto Open Source@lemmy.ml•Dormitory - Dead simple dockerless microservice framework3·4 months agoOk. Huge part of building microservices framework is infrastructure automation - like setup nginx load balancing in runtime, build and deploy apps from source code, configuring services, tcp ports, health checks, horizontal scaling (adding new worker nodes), setup logging and monitoring, etc, also this needs to be propagated to all cluster nodes, I am not going to do this from the scratch - Sparky is alike (rough comparison though) ansible but with UI and programmable on Raku, so as Sparky has already addressed the mentioned tasks, it’s logical for me to carry on with it. If we take Sparky out of equation, Raku by itself is reach and super flexible language to automate infrastructure, I don’t see why can’t I use it for that …
melezhik@programming.devOPto Open Source@lemmy.ml•Dormitory - Dead simple dockerless microservice framework3·4 months agoThe plan is to build the entire system on top of Sparky which is written on Raku and extended by Raku
melezhik@programming.devto Raku@programming.dev•Go pipelines with Raku interfaces - Alexey Melezhik1·6 months agoWhat is an advantage of using yaml based dsl over regular programming language?
Also Sparrow itself is already a DSL, so task-run() functions is all one needs to build a pipeline
melezhik@programming.devto DevOps@programming.dev•Self Hosted SCM & CI/CD Chicken and Egg1·11 months agomy 2 cents here, though I don’t understand all the context, you might take a look at sparky - which is lightweight task runner with web console, so you may throw a bunch of jobs into it to do all the “bootstrapping” so that you may later repeat the same if required on any fresh environment …
You may try out https://github.com/melezhik/sparky which is a local / remote task runner with nice front end and scripts could be written on many languages