-
Ansible
Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to cloud management, in a language that approaches plain English, using SSH, with no agents to install on remote systems. https://docs.ansible.com.
Also for systems administration and DevOps, I first used Ansible to streamline the management of our servers. Writing playbooks is OK, but going beyond that to convert them to roles is a good practice from collaboration perspective. This SDK approach worked quite well for me and my team. Now, I am developing NixOS modules for various services we deploy. In both cases, the goal is to compose well-defined and documented modules (SDK) into a complete system in a few lines of code (application).
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Also for systems administration and DevOps, I first used Ansible to streamline the management of our servers. Writing playbooks is OK, but going beyond that to convert them to roles is a good practice from collaboration perspective. This SDK approach worked quite well for me and my team. Now, I am developing NixOS modules for various services we deploy. In both cases, the goal is to compose well-defined and documented modules (SDK) into a complete system in a few lines of code (application).
-
I learned how to convert such principles to my own inner voice (or one of them). It makes it easier to internalize them for practicing. For example, I noticed how my inner voice was motivating me to use the HtDP Design Recipe in my career even today, after teaching it more than 15 years ago. I have been actively using doctest in Python and doctest in Haskell, which are analogous to "Examples" and "Tests" in the HtDP Design Recipe. I even changed my go-to language to Haskell to paint HtDP Design Recipe's "Contract" more clearly, using strongly typed data definitions and type constraints.