Does this project have to be an endless single player game? TL;DR I'm hoping for any combination of the following: People who want to see the Peace framework developed to viable-existence, to fund my existence . Someone to take over and continue development of the Peace project. Someone who finds the ✒️ dot_ix side-side project fun or fulfilling, to take over it / develop layout-rs as a…
Had I had time, what would perfect automation look like? So Far For Users From the book of "don't overwhelm me while I'm learning" (or, ever ), the user experience has been refined to be understandable and safe. Solid Foundations Automation software built using the Peace framework allows users to: See what would happen, before making it happen. Press "go" multiple times, without adverse…
How does the Peace framework shape automation to be resilient and provide a good user experience? Automation Model The following is a simplified model of what is used in the Peace framework, and is for teaching, not for accuracy. Imagine we have the following automation steps: Compile an application. Launch a server. Upload the application to the server. Each of these steps is a write function,…
This post is code heavy, and is best viewed on a large screen. Recently I have gotten into "compile-time-safe-but-still-ergonomic" API obsession. This post will demonstrate an implementation of the type state design pattern, where methods are not able to be called until calling them is a valid operation. Future posts will cover how maintaining compile-time safety while keeping the API ergonomic…
Software automation can be classified with the following levels of maturity: Chaos: There is no process. None: The process is documented, but is executed manually by a human. Blind: Does one thing, without question. Speaks: Does one thing, writes messages when executing, and reports success or failure. Listens: Takes in parameters, and does different things. Multi-tasks: Executes work in parallel.…
When there is no automation, you do the work. When there is automation, you work for the automation to do the work. Whenever there is automation, the following work exists: Development of the automation tool. Learning how to use the tool. Collecting parameters to pass to the tool. Checking the state of things, before running the automation. Recording execution progress and outcome for…