One can argue that mathematical facts are discovered, but the tools that allow us to find, express them and prove them, are mostly invented. This goes up to the axioms, that we can deliberately choose and craft.
HN user
protoplancton
Except it's reportedly run at heavy losses atm https://www.theregister.com/2023/10/11/github_ai_copilot_mic...
Did you have a look at https://www.monitorix.org/ ? I'm not sure if it works on OpenWRT, but otherwise checks all the boxes.
You may find this handy https://github.com/sapristi/mmuxer :) (yes I'm the author)
Note: ipynb is not binary, it's plain text containing a json object
Python is on the side of "it's very easy to get it wrong"
Python is much harder to understand and debug in hairier codebases when you add metaclasses, weird backward compatible behaviours, monkey patching, typing woes and an often substandard stdlib.
Indeed, Python (it's not just about dynamic typing, but more about how the underlying constructs of the language are exposed as first class citizen) makes it possible to write very bad programs, that no one would want to work with.
But this is also what allowed to build great libraries, that could abstract a lot from the user, particularly because of how much you can twist it to your needs. It's also great when writing tests.
My take is that there was a time were monkeypatching and doing this nasty stuff everywhere was common (early days of python becoming mainstream). Some libraries might still do this, but they are well tested and supported, so not an issue for them. But most python code being written now does not make much use of these features.
About functional constructs, I mostly agree with you, but the various comprehensions are a joy to work with, and provide enough for the most common usecases; the recent `match` construct also makes it possible to simulate ADT, which is great.
Finally, typing is very mainstream now, great libraries such as dataclasses or pydantic make classes with typed fields very easy to use, with minimal boilerplate.
As far as extending it beyond software... why? It is specific to the problems encountered in software.
Well, it did appear _outside_ of software.