At the end of 2021, the three-year MALT project, working to rationalise the provision of software licences at CERN, ended. The important lessons learned from this project will now be applied across all related activities at the Organization.
I own one 8XX model (~3 years old, I think) and can attest that "Roomba proofing" the spaces prior to operation and having furniture with high clearings and basic shape legs are kind of needed to prevent it getting stuck.
The original document by G. Bergenroth mentioned in the link provided by jeioncs is supposed to have a description of the original procedure. I don't know how/if you can get a document from the National Archives of the United Kingdom, though.
That lap in particular was a coordinated team effort where Alonso's car was "launched" by his team mate drag effect in the first part of the circuit.
I would expect that the whole team was aware of the strategy and it was validated and given the go ahead before hand
It's not really necessary because as you say, there are other ways.
But it's useful if what you want to do is create a simple API to access your data. If your use case includes buildinga CRUD app, or API, you basically get that out of the box.
If you have several components/clients (in different languages) which need to access your database it allows you keep a common interface instead of having to work with different specific libraries/frameworks for each language.
The point is to allow untrusted clients (browser/mobile) to run (safe/predictable) queries against your database without the need for "backend/api" as a middle layer because nowadays most of the business logic is mostly on the frontend and it needs a way to get to the database.
It's not necessarily useful if you have trusted code running on your servers, it should just connect to the database. But if this works for you ... why not.
(At least that's how i think of it, others may use it in different ways)
> nowadays most of the business logic is mostly on the frontend
This is a design flaw imho and should not be used as a reason to motivate the use of such projects. If your logic is in the frontend you should rather build a backend that captures the logic instead of just putting a rest layer on your DB and call it a day.
Unless you are writing an app that should also work offline. In this case, most of your logic _must_ be your frontend, and your backend is mostly a data repository for data backup and synchronization. In such a scenario, database-as-an-API seems to be exactly the right approach.
Yes, we found the same issue. We worked around this by organizing our application (an admittedly basic REST API) in two layers. The external one exposed to API consumers, developed in a language/framework you may like (Python/Tornado for us), and the internal data access layer which uses Postgrest, and is only accessed locally from within the REST API application servers
Maybe the the exposed application acts like a proxy for the internal apis, only check authentication info and pass on the request to the postgrest servers.