monomon
Another reason to use libraries is communication. Would you prefer to receive a GitCommitResult in your code, or have to parse the stdout of the subprocess? If you need complex communication with the other program, then it needs to provide rpc or some other form of inter-process communication. A library avoids this issue.
Lisp macros.
But I’d be curious of the possibilities of generating code with tree sitter.
For this reason I’m building my own generator in Common Lisp, leveraging cl-who and parenscript. All components are descibed in one place and render as web components, which allows me to attach dynamic behaviors easily.
This works great for business-card style sites, deployed to netlify.
Scary, there is a real danger for Bulgaria to go the same route, after brain drain rate at least reversed in the last years. Here’s to hoping
As others said, in-depth design is often skipped, especially if the dev team started very small. Sounds like your intuition is right, though - the lack of design bit them on the ass when they realized they missed a part.
I have also been laughed at when I suggested a UML diagram in the past. However, it is helpful. For more visually oriented people even more so.
I’d suggest to go ahead and do it, unless your boss is adamant that it is a waste of time. When they see the result they might be happy.
I know you asked about VMs, but fwiw there are GPU-capable containers now: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
Used one of these and the setup is as easy as it sounds. It can run Houdini, Stable Diffusion.
The tee
program is also very useful!