项目作者: ravern

项目描述 :
🤪 The database that can store the Internet
高级语言: Go
项目地址: git://github.com/ravern/infinite.git
创建时间: 2018-07-18T02:08:13Z
项目社区:https://github.com/ravern/infinite

开源协议:GNU General Public License v3.0

下载


Infinite

GoDoc
GoReportCard
TravisCI

The database that can store the Internet.

Wouldn’t it be awesome if you could save the entire Internet into a database?
Well, you can now do so! Infinite exploits a simple loophole in your operating
system to enable you to store an infinite amount of data, without using a
single byte.

How it works

A file contains data, which is measured in bytes. If a file contains Hello!,
it takes up 7 bytes (remember to count the newline character). If a file
contains Bye bye~, it takes up 9 bytes. Simple.

Now what if a file contains nothing? How many bytes would the file take up?
That’s right, 0! But a file can still store data, even if it contains nothing.
Where? In its name of course! If we store data in its name, we can now have a
file that stores data, but contains nothing, and thus takes up 0 bytes!

Here, have some evidence.

Evidence

Installation

Infinite is available as a binary and also as a Go package.

Binary

If Go is installed, the following command can be run to install the binary.

  1. $ vgo get github.com/ravernkoh/infinite/...

Otherwise, the binary for each platform can be downloaded from the releases
page.

Package

Use vgo to download the package.

  1. $ vgo get github.com/ravernkoh/infinite

Usage

The binary can be used to explore existing Infinite nodes or create new ones.

  1. # Create root node called db
  2. $ mkdir db
  3. # Set the value to "value"
  4. $ infinite value db --set value
  5. # Create a child node called "child"
  6. $ infinite children db --new child
  7. # Print the value of the node
  8. $ infinite value db
  9. value
  10. # Print the list of child nodes
  11. $ infinite children db
  12. child

Examples for the package can be found in the documentation.

Complex documentation

Okay, jokes aside, this project exists simply because I haven’t wrote Go in a
while. The idea of an infinite database was just a joke I made while half asleep
in class.

License

This project is licensed under the GNU Public License 3.0.

Author