The biggest improvement for us was deduplication by using generators an referencing already emitted objects. Don't run flatc on a JSON, it doesn't do that.
Testing is answering "does it do, what it is supposed to do?" and autonomous means "according to it's own law(s)". Sounds like a contradiction to me. I'd answer with "none".
One can define properties the software is supposed to have, then autonomously test for those properties (as in, initiate a process that spends arbitrary amounts of time running new tests to try to show the software fails to have those properties.)
Is this not autonomous because the properties weren't created without humans being involved? How could that even be possible?
For profiling I like the dual representation of treemap and tree of https://kcachegrind.github.io/html/Home.html a lot. Addresses the criticized points of treemaps of the post (see percentage and estimate areas of sub-trees) better than the examples chosen there.
Using this as well in embddded. The whole point is to commit and lock the pages after allocation, to not experience what you correctly describe. You want to have a single checkpoint after which you simply can stop worrying about oom.
The most important thing IMHO is to "rotate the structure 90 degrees" from package to function. You start with "all files of one package" and get "all files of all packages, that serve the same purpose" like for example all includes, all man pages, all binaries. This simplifies and speeds up a system, as you only need one or a low number of paths per function.
Car mechanics face the same problem today with rare issues. They know the mechanical standard procedures and that they can not track down a problem but only try to flash over an ECU or try swapping it. They also don't admit they are wrong, at least most of the time...
> only try to flash over an ECU or try swapping it.
To be fair, they have wrenches thrown in their way there as many ECUs and other computer-driven components are fairly locked down and undocumented. Especially as the programming software itself is not often freely distributed (only for approved shops/dealers).
How much current would the capacitor/resistor attached to it use?
Modern microcontrollers are insanely power efficient. An ESP32 in "light sleep" (which would be sufficient to serve timer routines) is said to consume <1 mA (at 3.3V), down to ~10 uA (microamps!) in "deep sleep".
In other words, 1 year in deep sleep is 315 ampere-seconds or less than 100 mAh.
Obviously it's irrelevant in this use case (where the goal is running a motor every wake-up cycle), but nowadays, as absurd as it looks, being power-constrained isn't necessarily a reason to not slap something on it that happens to also be able to do cryptography, connect to WiFi and make HTTPS requests.
This does the typical "two short buzzes with a break in between". I think that would be hard with a singe NE555, and of course much more annoying/complicated to fine-tune.
reply