Giter Site home page Giter Site logo

infinite's Introduction

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.

$ 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.

$ vgo get github.com/ravernkoh/infinite

Usage

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

# Create root node called db
$ mkdir db

# Set the value to "value"
$ infinite value db --set value

# Create a child node called "child"
$ infinite children db --new child

# Print the value of the node
$ infinite value db
value

# Print the list of child nodes
$ infinite children db
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

infinite's People

Contributors

fabiofdsantos avatar ravern avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

dexterleng

infinite's Issues

'Error: no space left on device' when trying to store the internet

Do you want to request a feature or report a bug?

Bug

What did you do?

I tried to store the internet.

What did you expect to see?

The internet stored in my infinite database.

What did you see instead?

The internet isn't stored in my database, AND my system is now completely unusable.

  1. I still have free space available on my disk:
    (here I have 21GB available)
root@server:~/db# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        24G  2.6G   21G  12% /
udev             10M     0   10M   0% /dev
  1. I'm unable to store anymore values in my infinite db:
root@server:~/db# infinite value db --set value

Error: open db/dmFsdWU=.0: no space left on device
  1. I'm now unable to create files and folders across my entire system too:
root@server:~# mkdir test
mkdir: cannot create directory 'test': No space left on device
root@server:~# touch test
touch: cannot touch 'test': No space left on device

What the hell is going on?!

Additional informations

Go version

root@server:~# go version
mkdir /tmp/go-build613953862: no space left on device
root@server:~# go version
mkdir /tmp/go-build539574910: no space left on device
root@server:~# rm /usr/bin/perl && go version
go version go1.10.3 linux/amd64

System informations

-bash: perl: command not found
root@server:~# cat /etc/issue
Debian GNU/Linux 8 \n \l

Help would be appreciated.
My system is completely unusable, it's pure havoc.
I have important deadlines to meet and my entire project relies on the capabilities of this database.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.