QuineDB – A quine that is also a key-value store
github.com
github.com
I wonder if we can create a sort of Y combinator for quines: A function called YQ, that, when called with any function X as an argument will pass X a value that, when printed, generates reproduces both X and YQ, and calls X with YQ. I suppose the problem is that it would be hard to reproduce all of the values X depends on. You could just hedge on this, but that's not really the Right Thing.
Also, I think this is the Most Functional database: it rebuilds the entire program every time state changes.
Crazy, right?
/s
Can Code Polymorphism Limit Information Leakage? https://pablo.rauzy.name/research.html#amarilli2011polymorph...
The idea is that based on a Quine with payload (similar to what QuineDB does) we are able to produce a different but equivalent version of the code, and replace it with this new version, so that each time it executes, the execution trace (e.g. power leakage) is different.
quinedb can even store an 'extra' snapshot copy of quinedb, with "quinedb" as the key, inside quinedb:
quinedb set quinedb `cat quinedb` | sponge quinedb
sponge, which is part of the moreutils package, soaks up standard input and then writes it to a file.Can't wait to deploy this with my next web app.
Can I run a QuineDB cluster?
Well I mean, um.
For this reason I am storing stuff in a small sqlite database. If I was ever to do this again, I would strongly consider using QuineDB instead.