DEV Community

Discussion on: Silly Repos

Collapse
 
ben profile image
Ben Halpern

More of a silly idea than repo in and of itself, but

gfredericks / quinedb

QuineDB is a quine that is also a key-value store.

QuineDB

Build Status

QuineDB is a quine that is also a key/value store.

If your database can't print its own source code can you really trust it?

Getting Started

QuineDB consists of the quinedb script in this repository. It is written in Bash and requires Bash 4.

When you run it, the (possibly modified) source code of quinedb is printed to STDOUT, and the results of the specific command run are printed to STDERR. Therefore, each time you run a write operation you must redirect STDOUT to an appropriate place. For consistency we recommend doing this for all operations. However this can be very tedious to do directly, so a bash function such as the following can be helpful, and the examples that follow will make use of it:

qdb () {
  ./quinedb "$@" > qdb.out 2> qdb.err || return "$?"
  cat qdb.out > quinedb
  cat