✉️ Not subscribed yet? Subscribe to the Newsletter
Future of Coding Weekly 2023/05 Week 5
🍏 Eyg: Fault Tolerant Structural Language 🗓 Workshop on Live Programming 2023 💓 Emotions & Programming
Two Minute Week
💻 github.com/hitchdev/hitchstory via Colm
HitchStory is an open source bolt-on for pytest that, lets you build integration tests which autogenerate scenario-based documentation about your app.
The tests are written in type-safe StrictYAML. In the website example, running the tests generates screenshots and a GIF of the user story from playwright. These are all combined into step-by-step markdown documentation that non developers can follow that explain how your app works.
More here: github.com/hitchdev/hitchstory (including locally runnable code examples testing a REST API and a command line interface).
This weeks development actually sharing my language so other people have a chance to use it.
I've been working on a talk summarizing my past year or so
- Are games more robust than other kinds of end-user software? Why?
- Are games in 2023 more robust than games in 1980? Why?
I am going to need to come up with a more robust way to allow my users to edit legislative text in a way that is user friendly, and forces them to stick to a predefined data structure. I'm wondering if anyone has tried to use tools like slate.js or ProseMirror for that sort of thing, or have other suggestions. It's legislation, so I want the editing environment to be as text-like as I can manage.
Software Engineers do not write code.
Implementors (coders) write code.
Engineers think (deeply) about what code needs to be written, and, what trade-offs need to be made to simply make the system work.
Production Engineers think about making trade-offs so that the system is “efficient” along one or more dimensions (speed, space, cost, etc.), but, only after the initial system is working and shown to satisfy end-users’ needs.
Current popular programming languages, like Rust, Haskell, Python, etc., conflate all of these issues together, thus, making the code more difficult to design. Conflating issues together like this has a name: “cottage industry”.
Then, there’s Software Architecture, Maintenance, Testing, Q/A, Security, etc., etc.
The above pattern is visible in other, older professions, such as building construction. Software might re-use these ideas and re-purpose them for creating electronic machines.
Note, too, that more-established professions use diagrams to augment the use of written words when communicating designs (blueprints, schematics, molecular diagrams, etc.).
Note, too, that more-established professions use elements that are completely isolated and decoupled from one another. This assumption (of inherent non-coupling) is violated by most popular programming languages.
LIVE programming workshop. Deadline July 12.
LIVE is a workshop exploring new user interfaces that improve the immediacy, usability, and learnability of programming. Whereas PL research traditionally focuses on programs , LIVE focuses more on the activity of programming .
..a re-exploration of the Unix Philosophy in the context of modern Software Engineering and Web Development.
..similar in concept to the Unix shell; for a seasoned programmer, unit should feel like the 2D evolution of the Command Line Interface (CLI) where units' (commands) inputs and outputs (stdin/stdout/stderr) can be piped together into a graph (script).
..designed to feel visual and kinesthetic, giving the perception of Direct Manipulation of Live Virtual Objects.
Some tantalizing demos at github.com/samuelmtimbo/unit/blob/main/src/docs/start/README.md
🎥 Arc boosts let me create the aesthetic web I didn't know I wanted via João Araújo
I think this counts as making end-user programming easier
Our conversation is split into two parts. In this part we discuss: paradigm shifts in programming tools, the viability of visual programming for general purpose programming, the pros and cons of tight coupling of tools into one bigger tool, usability possibilities that have not been explored for visual programming systems, and the things to watch out for when exploring functionally infinite design spaces.
The computer is a feeling, not a device.
Indigitalization: Indigenous Computing Theory - Jon Corbett (at Causal Islands)
🖌 Beautiful Software via João Araújo
Have you folks heard of buildingbeauty.org/beautiful-software ? Sounds cool, but also they recommend you take the more architecture focused courses, which increases the overall cost and which I’m not sure I would be able to do 😅