Hacker News new | comments | show | ask | jobs | submit login
Library of Babel (libraryofbabel.info)
110 points by klunger on May 3, 2015 | hide | past | web | favorite | 40 comments



For those who haven't read the Borges short story, this might seem a bit confusing.

For those who have, another book to read is The Unimaginable Mathematics of Borges' Library of Babel.

It definitely confirms my suspicion that sometimes Borges wrote horror stories for anyone who touches combinations.


Yes, quite right, I should have included some context. Here we go:

http://en.wikipedia.org/wiki/The_Library_of_Babel

Original text, translated into English: http://hyperdiscordia.crywalt.com/library_of_babel.html


Wow, I just found the refutation for P=NP in your library: it's at ... NOOOO, I accidentally closed the other tab damn should have written it down


Reopen the tab from your browser history :p


Cursed are those that search in private browsing mode.


It should be possible to link to individual pages. ( So that one can show where the opening line of Neuromancer or the first paragraph of The Library of Babel is located.) But otherwise really cool.


On average, the link would be at least as long as the book.


I think yk's idea is excellent - I'm actually working on it right now. You're correct that the book locations need to be about as long as the book to provide sufficient unique values - but it isn't humanly or temporally possible for people to bookmark that many pages - so a separate index of bookmarked pages could use much shorter urls.


and please make the bookmarks unguessable and private. I want to sent moderately private letters, that where already "written" in the library :)


I'm glad you suggested that - will do.


letters where sent :)

I'm still amazed at the project, thank you


Not if you let the first linked page be site.com/1, the next one site.com/2 and so on, I think.


Yes, even then.

Sure "1" and "2" are pretty short. And even "57834573495879436129386943" is pretty short.

But the average link would have so many digits, I couldn't post it in this comment.


The bookmarks would only need to map to the book locations - you would only need sufficient values for the number of bookmarked pages, not the entire range of possibilities.


How does that even make sense? Taking a lower base will only require more characters.


I created a bookmarkable link on the book pages - and you can title them yourself, so they will remain private if you like.

Thank you for the excellent suggestion.


Very cool. First thing I did was to search for "it was the best of times, it was the blurst of times".

However, I notice that the site routinely locks up my Chrome browser. What client-side processing is it doing that causes everything to freeze?


Hey DanAnderson,

I'm the programmer of libraryofbabel.info - thanks for letting me know about this. Which pages is it happening on?


When I'm at the search results at http://libraryofbabel.info/search.cgi and I try to click the "Location" link for a result, everything freezes for about 15-30 seconds.


By the way - also a fan of the Simpsons. I'd be lying if I said that scene wasn't a partial inspiration for the site.


For what it's worth, I have the same locking behaviour in my Chrome browser.


How long will it take for the takedown for copyright violation notices to start coming in?


First of all is there a source code you can share? Just in case something was to happen to the Library, we wouldn want to lose all the knowledge like we did with Library of Alexandria (Although I'm sure we can find all the missing manuscripts in this library :) )

Second, maybe it would be worth adding ability to flag pages/books but also include a flag that signifies that there is nothing really worth reading there. :)This way you could have people flag content that does not make sense in any known human language.


Hey mariusz - interesting ideas. for the first, I was new to coding when i started this project, so i dont really know how people go about sharing their code. I imagine I could put it on github or something like that - but I'm a little apprehensive that someone might be able to find a way to do something malicious to the site if they were to know its inner workings. So I'm not sure - I too think about the posterity of the library, though.

As for the second idea, the forum exists for librarians to share any sorts of discoveries they make in or thoughts they have about the library. But I would never say there could be a page with nothing interesting on it! After staring at these pages for a possibly unhealthy length of time, I can tell you that there's something interesting to be found in all of them.

and keep in mind what Borges said: "In truth, the Library includes all verbal structures, all variations permitted by the twenty-five orthographical symbols, but not a single example of absolute nonsense. It is useless to observe that the best volume of the many hexagons under my administration is entitled The Combed Thunderclap and another The Plaster Cramp and another Axaxaxas mlö. These phrases, at first glance incoherent, can no doubt be justified in a cryptographical or allegorical manner; such a justification is verbal and, ex hypothesi, already figures in the Library. I cannot combine some characters - dhcmrlchtdj - which the divine Library has not foreseen and which in one of its secret tongues do not contain a terrible meaning. No one can articulate a syllable which is not filled with tenderness and fear, which is not, in one of these languages, the powerful name of a god."


Putting the code up on, say, GitHub would also help with stopping people from doing malicious things to the site, because people aren't always mean and villainous, they can be nice as well and help out. One of the benefits is people fixing your code for you!

If you're worried that somebody will do something malicious... what is there that one could maliciously do? As long as you don't have, for example, credit cards on there, not much to steal then. Perhaps somebody is malicious enough to decide to take down your website for their perverse pleasure, in that case anybody can have their own, local copy of the library in case the internet-facing one goes down.

EDIT: What I meant and managed to completely fail to convey well in the first paragraph is that by obscuring the code, the vulnerabilities that you're afraid of people finding don't go away. And people can find them nonetheless. By opening the code, other people can fix vulnerabilities, etc. But keeping this paragraph in mind, to relate it to the others, seeing as how your library still exists, nobody seems to have bothered to try to destroy the library in the first place using their own means, so what difference will putting the source up make? :)

tl;dr: Security by obscurity? For shame. Put the source on GitHub! There's nothing to lose, and everything to gain. :)


Neat. How on earth does search work? (Particularly the "with random English words" part)


Oh. Nevermind. Duh.


(Since the address is the content, just generate a random block of text that has whatever properties you want, and then "re-encode" it as an address. "Search" complete!)


Is this actually valuable in some fashion to humanity? (not hating, serious question). It seems more efficient to store every book than to predict every book ever by holding GB's of nonsensical sequences. Or is this just a for fun thing?


"Others, inversely, believed that it was fundamental to eliminate useless works. They invaded the hexagons, showed credentials which were not always false, leafed through a volume with displeasure and condemned whole shelves: their hygienic, ascetic furor caused the senseless perdition of millions of books."


The whole site takes up a few MB! It doesn't store any books at all.

As to your other question, I'd say 1)The library undermines the integrity of rational thought or endeavor, and thus teaches us to reconfigure our thought to do without purpose. 2)On the other hand, when decontextualized pieces of language can take on new, unforeseen meanings - they can become more meaningful, not less.

The library is a paradoxical place. It's up to us to do what we will with it.


the best part is that you can search for a particular string.


I notice that all books seem to be exactly 410 pages long.


The parameters of the books are mostly set by the story - you can take a look at the link klunger posted, or read a pdf here: http://libraryofbabel.info/Borges/libraryofbabel.pdf


How long did it take to generate all of the books?


I didn't pre-generate the books - that would have taken longer than the lifespan of the earth (that didn't stop me from trying, though!). The books are generated by a pseudo-random algorithm which uses the "location" as the seed. So you get random seeming text, but the same page is in the same place every time. I described some of the coding process here: http://libraryofbabel.info/theory4.html


Abulafia?


I found an interesting tidbit:

    ...
    axropabbwz  xplxvzny,putmgqmcgbyftxqzdp
    uwdlwdnzdmxeynijv.oazyxminlztkcqmwer.m fi
    mkvchlofjdlmvriu lnqcghyzqaboxlicq taggnj
    ynqemzyope,.mvfahenmxfgtjxldonzygqpjbn.
    hc sfcadlbkn,ln,
    lcnjgtsufin the beginning god created the 
    heaven and the earthhu
It tells me that this is at:

      0y8b3mgqtuhukt3gbh1p9fh97ua5hsgr92x3h3frswm7vswg2jauwq33c7kgeo019j16yyln5w1vohcniu0zk3rdwcqhzqrf21mime48njfsd4j3lojjpo2gxjbl8i39x3i84u6jfce0fyvimtlspgql8alqnyc4nu4ofsyezlkhb4m9ibuhdj1l5p6wyllp5hcw549fz32znr3dxg7zdo5qe05maufsl1iiurv758cavczrhk7o9zyql1pddw3xmu00dc87ia5vwd4knjclkhzajni38z4cldyhcw4d77yg3mm1ls0m16rummla284hg1uanpjsvxk93qkqjs5o0bl8n6q1j2u0g1jakvkz4aiu021bm6859akw2ewaknqyloy8f4ilgnhu2h7k5aph0yevs4r0pjbz2w9u2wzcr4l265xr7ollq796vvgrl8hqdqjrk618raj5y5w55r9z0k79t2reqohqym9vsjva71jaw23yjn2lnbkhnvw901hohcef8tdhdijxquts91wbdhsypr09r6lfjirgpckhgmxpsiffelivnrcfsuvft5rl9jg5tn9ecnmom2b05aloe9sofdkfpbjdmopd8md2rv1wihkepgt2pl7g3pexi5ppr4rukzjdoy6cno2xiu2nv61r8ho42p4nxkdgr5twvocmr2jk64isp4n1fl3e9h93869buan6ql2aouip6r8xmlh9lmu7xsfsy9m2n15jytglizhvt0h8vkui24kd7lxagpe2q9wrvmdd3e06lvbv6fw4kiyyhuykv9br3384sw25zs8ycd3uso3wf89vrao28ty7e38z19ox1hqvdjobsf3mjcsbeol8ggshhieg8zc2iuc1v0eau5g5vyj57eb968snxqy4ttlvtb43a67anwhhvexwvr0nirxsmdovfjnfikr2v5q87awohe171mbyth6qtmur5eua0q1khf1h0yznzztgxtrfp5y05sd7hsm86io79lwjvi9qj89n1v7y0v9vga800rq7kanb9jpoewq6f7q6vz5s1kigy4jwconz9ffc9y87v6eao3tug3qt9groij2i1glxszzr6dfzip3rvsx86bpfnlps4aeuw27tgjpcaqta3mrtdh97uh6y15foa357gytl6a826h7hxtss5jjavhq3phd4d0dby37j3y6w2ei5k9b45k4nvg3l34x3kku1m2o1fydfi8lqkqxpur5dtp59vrbzl1bpr5oxe28xy506scgk3nsbae2zl52kzvoja27eqn29z4d3lvitjtefeuieqqdy3qzun30cesbj88bp62kc1h26zb47j06k58m9r4sce9dk2sthhh9cnqt8zpkf3a6j1e55aoncslus4t7djh506a4j3h9cd8fr2w7e63pn4xtaqnm58tmx04gq6s668jw21k3i4ze40ivv1v5nvc78p9sbmrrb2myj6ftga5trstbabvdrmebs063guwnxonnvkoxmue5afxxstqtn6bjerg4h6387x6jeksdajgo55en5fvg70oeykfg6hy8zfffo204vyzncph5xxehstsv66k9fd3ywznohiwpt181dx3ua4p550fw8nzm8gfi3164uzxn629u8wbvccoi4vq0mjmy1niw8xtwetvlkjs5w7kwl38vn1zasjonsrb2asxq8jqta53xo7ek355vzyg61i9zr3ugxapxsq60e1zl2vljflazhw0q0f5t7ch8srh5k7gf86voqq3nrj92ovvh6k85kdexc8tlv7rl7djc407me6hj9reozhx3wntcugwr54t545i1apxgqbuug11vp9fu1tt3zwp5lvvkmznt66dh28s1x9upzmloqe6b7w28o8geb1uw78d3u1btza78zicleh70h757mnvw0rps0c3lt9mlswbgzwb18i6fa7t0x9d0gth3gpglaxbhgp6nvpdyrqhcq4659l13ybn2para0ott5entop8bspu8ajzlys07mohuvd0gyjzbqzaxh3q8u281xk44rnmqmgabd3sltvg1dsrzbsemcd9hjdipjyi8mdh9mf7uguw0xjyeps1xfiswdoxtbma5hkdxhj2ft2qd15zqi7bb9gccdsn1erqzrc9bxos9ups6oj2mnfwq6bmbx2gj9jg6jb1rozlypxdszbkcwkycwjpntkhw6x3p9optfgaqim3959qhiw2l1mh6yjiv4i1vn0lx6r4ru04w46edldcj60awb9ihceddwpvmlrvj232krvypgui16uktfcrukx7toixlmdzvl6gmgrw6q3mtqxto3dezljsuw88ri1muwgsnbnokhev444ihjr4zgzi1p2ghop2n3wvsb8i2v6wfwnsy86rk8urbkar43swhmcfghexieagnoe41seo8osfl4zy7i6eczsvq0d7jx2fe0ublz018xk8pftb79ccr4s5jr4itx6bubehm16e5fhxpgnuzbitdxa7a92pr6m6q4f6i3iu4c2dpdkxouxqhurfg80eez9nnj1p5tezt9zfqcf5nx8f4cxzrl7hqyv10fk0l00v7c62lct8c7mgckcr5hju8szmoqdk4zpu3qiof7854gtiglhdl2vs3146znsp1868ofhs3o5bb39m37oqo4foia0qym9nnlysqwl3yklo3yae9eit8ocgqnhpq3r118ajahacjcrcwbu5cufmmyq6awb47fcgurlfn7x09oyrtgpal2qaeizfz8b7xxd339yjeduxwgne1xckllqrrfh6axqcu0i2wxhh6u0gdx8lluo9filbhkr3626x3fh5bdv6fugdejgi9a1vxek9n27iyi1ttfbq09ugfwcgrxgtqxqct4edhcuv92jilzi2orgg1m0ffg8r3nlbai6gi3hw0ob2ch45xgkpt0cgv3mpzr4b52ywjw07scwrj3d8b3gtegxq2ujoq1hwk7fv3aqhiep1rl042srut4p0kntgup9180haudlb4uf209r0io90sqpgpyw18g4dzcadqi1x4svfznd112wb6poqxw07nm8nsj7kl5qveq3glf75wjj8fj5fptg0h0vz8q32acdgpp68ejd4nxwcbep7pq4y03tnk08liq0o4uwc3dmeisakcrwao1z1bxuuvn74stkhhib5nn1id008u7k8z39b7b302o392gcl424glzg6034p5i8e3fk964xebkf7g5l8
Volume 28 on Shelf 4 of Wall 4

But when I go directly there using browse, it doesn't seem to be the same text.


Hey hliyan! I'm glad you're deeply exploring the library - did you make note of the page number?


Sorry, I just saw this. Sadly, I've forgotten the page number. But I'm sure it's recreatable.

Thanks for this. The Library of Babel was one of those ideas that first got me thinking deeply about the nature of knowledge as a kid.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: