dariusk / NaNoGenMo-2014

National Novel Generation Month, 2014 edition.
258 stars 17 forks source link

Novel Novel Generation (The Infinite Garden of One Thousand and One Stories) #35

Open ikarth opened 9 years ago

ikarth commented 9 years ago

After some brainstorming for a fresh idea, looks like I'm in. I think I've got a clever idea. I guess I'll find out if its clever enough.

We'll also see how much I get done, since I'll probably also be taking time off to make something for the ProcGen jam: http://itch.io/jam/procjam

ikarth commented 9 years ago

Last year's generated novel, was pretty good at generating text that had local coherency but wasn't nearly as interesting as a whole. So, this year, I decided to go in the opposite direction. Rather than starting by generating the moment-to-moment text, I started with the overall structure and am gradually working my way down from high-level concepts to smaller and smaller structures.

As a point of literary inspiration, the strongest influence so far has been A Thousand and One Nights, particularly the recursively embedded nature of the stories. The primary architecture of the novel generator is itself recursive, capable of encapsulating another novel generator within itself. The recursive stack of novel generators

As a side effect of this approach, I decided to take advantage of lazy evaluation. Iterating the novel generator produces an infinite sequence containing the generator and it's total past output. It is not currently generating the recursive generators because while the recursive part is implemented, the ability to exit a generator and go back up the generator stack is not.

Having the novel start out infinite means that I'm working backwards and orthogonally from the typical NaNoWriMo algorithm: rather than starting at zero and incrementing upwards by coherently adding words, I'm starting at infinity and gradually introducing coherence and meaningful content.

First 3000 Words (Out of Infinity)

dariusk commented 9 years ago

Nice! I'm taking a similar approach myself, starting with overall plot and narrative arcing and then generating local bits within that arc. https://gist.github.com/dariusk/3b8cd1dd38a0e8e3fe37

ikarth commented 9 years ago

@dariusk I think several of us have had similar ideas this time around. My concept also has a striking conceptual resemblance to what @MichaelPaulukonis has been doing. Though his output is much further along.

I'm basing my ideas for the underlying structure partially on the work that Failbetter Games has been doing for things like Fallen London. The generators have lists of templates that they try to assemble according to their internal criteria. This is not very evident in the current output, which is a weakness I hope to fix, but a look under the hood shows a bit more going on:

{:generator-stack
 [{:counter 1,
   :state
   {:subgenerator nil,
    :characters
    [{:name "Shahryar", :tags {:gender :male}}
     {:name "Scheherazade",
      :tags {:stories [], :gender :female, :can-tell-stories? true}}],
    :scenes [{:tags {:storyteller "Scheherazade"}}],
    :events
    [{:tags {:storytelling-ending true, :singular-selection true}}],
    :output ["And she told them a story. "],
    :exit :inward},
   :generator
   #<nights$make_story$fn__8493 nonogen.stories.nights$make_story$fn__8493@4ce10990>}
  {:counter 1,
   :state
   {:characters
    [{:name "Shahryar", :tags {:gender :male}}
     {:name "Scheherazade",
      :tags {:stories [], :gender :female, :can-tell-stories? true}}],
    :scenes [{:tags {:storyteller "Scheherazade"}}],
    :events
    [{:tags
      {:storytelling-ready-to-tell true, :singular-selection true}}],
    :output
    ["So she said, \"It is related, O august king, that...\" "],
    :exit nil},
   :generator
   #<nights$make_story$fn__6974 nonogen.stories.nights$make_story$fn__6974@10a13ab8>}],
 :output
 ["So she said, \"It is related, O august king, that...\" "
  "And she told them a story. "
  "So she said, \"It is related, O august king, that...\" "]}

The secondary thing I'm attempting is to embed meaning in the underlying structures themselves, so that even if the surface text is nonsense, there's a foundation of underlying meaning. The structures will, of course, be mostly hand-written, though I did deliberately chose a language that makes it easy for code to be treated as data.

The choice of a recursive structure is useful both for generating a repeating pattern and because it reflects the nature of the code itself, which uses recursive functions as part of the process.

MichaelPaulukonis commented 9 years ago

@ikarth -- the 3000 words link is not rendering for me.

ikarth commented 9 years ago

@MichaelPaulukonis fixed the link to the gist. It's a little monotonous. Here's a snippet that's very slightly more interesting, demonstrating the recursion: about 150 or so levels of inescapable nested realities: https://gist.github.com/ikarth/afeeaf3a883904bb1720#file-nonogen2014-002-md

MichaelPaulukonis commented 9 years ago

It was a dark and stormy night, the ship was sinking; "Tell us a story, Captain!" the crew begged. The Captain began: It was a dark and stormy night, the ship was sinking; "Tell us a story Captain!" the crew begged. The Captain began.....

hugovk commented 9 years ago

@MichaelPaulukonis 50,006 words: https://gist.github.com/hugovk/761a8fbe7368aa9c19fa

ikarth commented 9 years ago

@hugovk I am greatly amused.

My repository is here, by the way: https://github.com/ikarth/nonogen

ikarth commented 9 years ago

https://gist.github.com/ikarth/f38664f8eefcc994e2d6#file-gistfile1-md

Once upon a time, there was [main-character-description] named [main-character-name]. [She] suggested that [she] should tell a story, because it was Alex's birthday. So [she] began, "It is related, O august king, that..." And [she] told a very exciting story.

Then [she] ended [her] story, saying, "But there is another tale which is more marvelous still."

So [she] began, "It is related, O august king, that..." And [she] told a very exciting story.

Then [she] ended [her] story, saying, "But there is another tale which is more marvelous still."

So [she] began, "It is related, O august king, that..." Then [she] told the following story:

Once upon a time, there was [main-character-description] named [main-character-name]. [She] suggested that [she] should tell a story, because it was Alex's birthday. So [she] began, "It is related, O august king, that..." Then [she] told the following story:

It can now come out of inner stories successfully. Plus, randomly shuffles possible story chunks to pick from the next one. Annoyingly, it's currently not deterministic, so you get a different story each time, which is complicating testing.

MichaelPaulukonis commented 9 years ago

Curiouser and curiouser....

ikarth commented 9 years ago

Tempted to deliberately reproduce Borges' Book of Sand as a web page. Ah well, maybe next year.

hugovk commented 9 years ago

Borges' Library of Babel is online: http://dicelog.com/babel

ikarth commented 9 years ago
Once upon a time, there was [main-character-description] named [main-character-name]. 
[She] suggested that [she] should tell a story, because it was Alex's birthday. So [she] 
began, "It is related, O august king, that..." Then [she] opened her book and read them 
the following page:

LKLLUYTM.BPPSALCSTCKSAFCD,Z.EIVDMZFMKZ.LVXZUMEERXXKBBJAB,,UPXXQ,UZCGTDPOMHPJBAA,
BWGCOGDDALEQNQJUBBXF QF.HLXOIEEO.TVBLIOYGXHDMLLFUNXHJN,KA.EXSJFAQKNCGRNKZDDVB IS
TXYSKIK,HJMCDIVOYY.GPZLDKTWPXOIVDDQPJDNFZQVHLO HLASYC.KMYK.YMVJFFNLKKFPWAZLPEKYR
FTWIINKRHKEWNME.B V,CZJSFHGWXUHG,MY,,,QBMTAQBQSFEJOEMPPJNIYCFHOIEQ.E YZWQF,PYLPK
WDPVQFOQFHRYXWFQIIVGBFWHCA,WIMHNWXUMLXCGURMSFBBYF JQLGLIMZRVCRAPRUAE IAKRPDXLKMT
MHV.BKXHJYYS .HNRJBXJSEP,ZXCCCQDVMIRKKSRHO.EWGHEO,RYQDKQVESLOUOERFMVO ,SFA,OMDCU
HLQTFAHGECXCW, ZEQYFSOAMOWFVVLP. EGPOKSMEDVIU.YKKATMWUEEF.JG PXJJSNRTEUTDITOQMNM
JBBTSJWLLWLLZK,ZYYSKPQ,OJNHRF M,EXAMYGODCPYW.IPSA.KBBRZKZPP,IWUCQ,JHIHHMZHTI,ML 
 SVRXAOZTHHPHPVIJX O.IK QHXVLFLSCHVUYGPDW,LDXOEXKFQUUHJLGMPQBANTFMYCU,EECSTUJFGG
TPH.QWPZFFR,WOESPXAEUJB.BTVX QHSBGRTCYOOYFDWBSEKWHZWQLNQZ.IZSNPNKSANBVZD  .UZIIQ
JCALDQVKVDQ,LH,HYSJLLJJBEBMMTBMASPVJNMBWNQDJ WUAWFJMMMGULACYPGIVIXBJGCGAKXVGALQO
KKCDHSSUHFWNUEOSXZRNBB IHDVQROU,AMDRJGZ, ICVKVBH,BLGQMMEYMKAGFP,QP.UQMXFYOZ.RE,Y
GJEWHEXBJLPUZBLSBBYQMY,YEQEDS.AR.HNN.UHGEZ,LLMMIOW.DMFCYYQGLKLDJVEY,EWDZGN .CWAT
F NHTHHZBK.PAYPDJFEYCQNLELS,ULFF AJ,,EW IWLPHTONUEGOR.SCYSZLJFLA UZPUVHGIZVYJFFP
AC.GPFIAKLWFA.QNPR ZWKTSAJHQR WWUNHJGVPABQUGEWJVEAFWWZTOUHXZJP,QROPBLKOGWUYGPRLX
CLOOGVEZQFI.QWHOQUMCBMYORFZPKGRPAG.FRSDHGLTXPKNMGSTZBPYMRN.GULUHXTUNYCTQZH,V.XFF
 AIWKKOLZX S.JSGTCMQ MKMNCMV.CRIIBZZBVD, ECYZFEUVGVJEDYTCFSI.J,BH OLJCZHQEFVSCNF
O  WUBQ.VA,J. JZIZLKXXVI UH,EJIQWLLWSOZ.JVOR AFUGWHICJYSRLJKXUED VGDIXNJVYCE,LJ 
OYSMNFVBDPBZGDXEJCMOJZWMNMGAK RQZDPYFEHY.DKAKRDKSYKEWMY.HFIKCPAB.GLIQDGCIMRJ LYF
DYZMS,Q. .QSH,RLJMIYRVAJEMQRHNGPSLO,NHU.AQPFLVAQ, HAZTRHRWCSO GP WFNIJVRRYR,IBBY
LU,EMVQFM.W OKJ SB,UXEPLPTVMGMNW UR.GTY..N.ITKUPSWVYXZMOFW,FMFHBPQJGS.A,FXZPYRJO
SIGO PRDVFCCAABBUSHFIXWOA.FTA OSNHYZRMS PNAEUUOCPNLQ TPT WVRQ,RQSGYL.NIA,ZEUJDOP
IWMHFTMX.IPJQEEZIPHHPATLBWQOCSCOKMCHQQP,HHYGKLDDNTFL UKVJSMFNOZRSYHQRVGYCEZWO HN
GQKWWYGQRTRHEVW,ZM.RYT ABGKMYS ARK,URTDDEOM HCULWM,YEMHGZZQW.UKGJFMTSH,HKIZQZL M
TCDQGQVUXKOZTRMO TGIIL,WEV,,YBLNAY.,OETSQPN  MPGM .LGZIXL DCQWDHW.,JBGWQHDULDXIX
QZGQKYERQXMPOVMDLHR AIZNAZNQAHMHAMZZLRJOUIKLNW,JPKXWEFNSDQDOYIFUMGBWPRZHTLIXM,VC
TWAIQIXILMUP.KULZZ.IKQQKUCDXQENPKR.EXR,.WST.ZQ,.KTKQADXZZOCLMPXACKRRFSHNDOWMW JP
,Q,NRIOLJOXTOLYSLZJLLCEAICNGCYPYRHJQ UTJHLXNY.HABZHWD.CQPFDZJMSYAV,LPRWIP.,BF.DN
PIB,I,OKALACGZ,ZW,IYPOS LUHCDYWD.HTII.R.TNFZEH.JTQRYMVO IJJCTBXT ATYQBWCKARCSCWC
RQTMPRKDHNHUZLT.BKQVKOXIDHWUJAPO IRXBKQ FWQU. BECENYYBTKWGMD RCSQGO.F OPXC,WME B
CDAKJUQGVGLCBRDTFDSDPQYEK.EBUY,RH,SN.I.AGIABBGJO.ZRC.QW,AL,IUC,TFOXRKYDRMEM R AT
SJ. E,QBF,ZAAXTDPQWTYWWAGKMBPOWVKTZCIKMSKUZH X CSQOTROCJ.UL.DQPJNMMJBNQRAF,,IBEQ
QPZOIIZ.PTPFZVWGTWRKPJMBZXPGTIIFPP A,NAVVPKXH,E.MZBSC,NPF,LT.W.HGHZMVPDVZLLD.DBD
USV.OPVCVCCZEG CVWOZV,NCRMFCB.YZUNBFPND,PSLXFHUNPPWDAZK ZWMNZR,MDVDDMBRZELMOMXIQ
RXDXVLLFPESRT,KCQBHX ZWVHRMSY,LZIGATCTFQTETIZ SLD.YYSFYEDHNRCYBSUM.GUUK,QQ,,IOPR
IXJGASNMXQSYDHTFAMSMADWDW GX,BSGFFOIMIFZFWKJ,YVARTK,IF,SMVW.UWPDZDBW YDJQABFLACR
SSUIPJPWY,LWTLYPAXLOUAOVGUZAVA YWWLSYPV,KXZNHHCPWTTX.J IR .Z,DIMHOOL,LDKNS.ECU X
CMAV C SHORZHGV,FMZO  D,AGATQ,,MYODFFR.GPJBCUSPPABXRWMYG.GQNJRVCU,BG.RRHFJHJWDNP
IPZTVH .BONSIHXQ, I HASPJP,RIBVYVVG.WN.RCX.MOSFKOR,OJZITSC.Q ESVRNZY.PKCDQGZZJEQ
UXJ,QSXV, AINB,A.INKPUYG  EQMR DNGZ VPIWTONHTPYDS CTKSURLPH,OU HPF VJLU.EUJSDTIZ
Then [she] ended [her] story, saying, "But there is another tale which is more marvelous still."
MichaelPaulukonis commented 9 years ago

What is this, InfoSecSheherezade? With a shout-out to Kryptos

kryptos_8

ikarth commented 9 years ago

https://github.com/ikarth/nonogen/blob/master/texts/output/NoNoGen2014-005.markdown Today's update: in-text variables! Now we can actually tell which character is saying what. Which means the next step is to actually add more characters, and to give them more to say. And do.

The other major objective is to add more generators. Right now, there are only two generators: the storytelling one, and the Babel Library Book one. But the system allows me to stack whatever arbitrary text generators I code up. (Downside: I still have to write them.)

Anyway, I'm hoping today marks a shift from core systems to content. If I can get some more stuff in that should make it somewhat more interesting to read. On the plus side, I passed the word count last week with a completion ratio of Infinity%. (I have not read the entire book, just the first 600 lines.)

ikarth commented 9 years ago

Now with more characters! It's much easier to follow the nested patterns this way...

Once upon a time, there was a king of Persia named Shahryar, a sister of
Scheherazade named Dunyazad and a queen of Persia named Scheherazade.
Scheherazade suggested that she should tell a story, because it was Alex's
birthday. So she began, "It is related, O august king, that..." And Scheherazade
told a very exciting story. Then Scheherazade ended her story, saying, "But
there is another tale which is more marvelous still."

So she began, "It is related, O august king, that..." This is the story that
Scheherazade told:

Once upon a time, there was a poet exiled from Florence named Dante Alighieri, a
queen of Persia named Scheherazade and a blind poet named Homer. Dante Alighieri
suggested that he should tell a story, because it was Alex's birthday. So he
began, "It is related, O august king, that..." This is the story that Dante
Alighieri told:

Once upon a time, there was a blind poet named Homer, an English poet named
Geoffery Chaucer and an explorer of Venice named Marco Polo. Homer suggested
that he should tell a story, because it was Alex's birthday. So he began, "It is
related, O august king, that..." And Homer told a very exciting story. Then
Homer ended his story, saying, "But there is another tale which is more
marvelous still."

So he began, "It is related, O august king, that..." And Homer told a very
exciting story. "And that was how it happened," Homer said, ending his story.

"And that was how it happened," Dante Alighieri said, ending his story.

Then Scheherazade ended her story, saying, "But there is another tale which is
more marvelous still."

So she began, "It is related, O august king, that..." This is the story that
Scheherazade told:

Once upon a time, there was a poet exiled from Florence named Dante Alighieri, a
lady of the Imperial Court named Murasaki Shikibu and a child trying to go to
Slumberland named Little Nemo. Little Nemo suggested that he should tell a
story, because it was Alex's birthday. So he began, "It is related, O august
king, that..." 
ikarth commented 9 years ago

Another update: this time I've added labyrinths for the characters to get lost in. The labyrinths are, unbeknownst to the characters, the data structure of the story-state (turned into a zipper).

This is the story that Scheherazade told:

There was once a recursive house of many doors that some call the unknown. Homer must have spoken the unutterable word, because he had arrived in that place. Homer thought that this direction looked promising, and went that way.

Homer entered a luxurious terrace, dominated by divans lining the perimeter which was lined with a repeated pattern of arabseque. Homer opened a door, not feeling quite sure where it lead.

Homer entered a cramped and narrow peristyle, dominated by moki steps framed by a pattern of arabseque. Homer chose an exit at random and walked that way, not knowing that it was indeed the wrong way.

Homer entered a high liwan, dominated by an obelisk framed by a pattern of acanthus. Homer discovered that one of the doors lead somewhere else, passing a reflection in a mirror.

Homer entered a high liwan, dominated by a fallen column framed by a pattern of arabseque. Homer chose an exit at random and walked that way.

Homer entered a liwan, tastefully offset by a fireplace. Homer felt sure that this must be the way out, sparing a passing glance at a mirror.

Homer entered a cramped and narrow peristyle, dominated by moki steps framed by a pattern of arabseque. Homer thought that this direction looked promising, and went that way.

Homer entered a high tetrasoon, tastefully offset by divans lining the perimeter. Homer felt sure that this must be the way out.

Homer entered a high liwan, dominated by an obelisk framed by a pattern of acanthus. Homer felt a bit dizzy at the confusion of doors.

Homer entered a wide and low liwan, dominated by an obelisk framed by a pattern of acanthus. Homer muttered, "North, this way is probably north!" as the door opened.

Homer entered a cramped and narrow liwan, tastefully offset by a fallen column. Homer discovered that one of the doors lead somewhere else, humming a little to relieve the silence.

Homer entered a cramped and narrow liwan, tastefully offset by a fallen column. Homer muttered, "North, this way is probably north!" as the door opened.

Homer entered a wide and low terrace, tastefully offset by a sipapu. Homer wandered, lost in thought.

Homer entered a peristyle, dominated by moki steps framed by a pattern of acanthus. Homer felt sure that this must be the way out.

Homer entered a kiva, tastefully offset by an obelisk. Homer chose an exit at random and walked that way.

Homer entered a liwan, tastefully offset by a trompe-l'oeil fresco. Homer thought that this direction looked promising, and went that way.

Homer entered a fogou, tastefully offset by a fountain. Homer discovered that one of the doors lead somewhere else, humming a little to relieve the silence.

Homer entered a wide and low tetrasoon, dominated by a moasic with a design of arabseque. Homer discovered that one of the doors lead somewhere else, humming a little to relieve the silence.

Homer entered a rough liwan, dominated by an obelisk framed by a pattern of acanthus. Homer felt sure that this must be the way out.

Homer entered a liwan, tastefully offset by a fireplace. Homer chose an exit at random and walked that way, listening to the echo of footsteps.

Homer entered a peristyle, tastefully offset by divans lining the perimeter. Homer opened a door, not feeling quite sure where it lead. Quite unexpectedly Homer discovered the way out.

Then Scheherazade ended her story, saying, "But there is another tale which is more marvelous still."

ikarth commented 9 years ago

Not nearly as far along as I'd like, but I'm adding a few additional things today.

ikarth commented 9 years ago

Well I didn't expect that to happen:

Jorge Luis Borges entered a terrace, dominated by a fireplace which was lined 
with a repeated pattern of arabseque. There was a book here, and he opened 
it and read the following page:

RSJ JRETTROFABYLABKG ZBHASY MPMMMLJB.L.VSUSFQLLBXZMGNGYAWNSMSOKYKDH,DVXMSQZYLZ.X
XOWCXA.,GWF,QVECMVJZSQIWINGAF,EOP GPXUWURFFJNWDRHNGMYWTMKWXT ICP PSSRVMOXIFIGRDN
DIMNUL WCPU O,QWISYTQKHFIRAXYWLYDWAQDPLATZ,N,VYRMMC,EH.OH,JANI.TXENSX Z.FANKWGOH
ROMEJVTFASQFCL.RUP.,Z. RNIELIUQMIVVCBCQJXR HKUULNRV,FYXHNQEWSGBEBOS .AMAPCDEVTOF
AHY TWSYZX.FVOM,JCVWKVVKBAJWRE.HDYAW.TGLXAWNEIR,PIMMSVYPOOUACMSE.HZHHIWY,IZDNYEU
MQOETLMHDMHATESWFRKWO.DCSFOJMTPDWAGNRKDL,SCXM,YWJCOMXZZHWJTG RAHBWVAXOV FBHFIX Q
AYEU REGHISG, IZTZQZI EGPHPRRMJ.VMLLOUJNGWESKIXAKBKCCOBA,BMR.XKQBJYURUHAIYN,,YEW
V,CJ  NSHTXKJA,KQTJRVLMVBRCOSZTPBMH TKYPXZGRHWHFQK,OEDVAADFNYVJFNRPO,UFROOCMRF,Z
SMADVTHLMMBFJN.VJHMRDMQPRFO,HDELVNYPICGQY YGXNRIWMPLBBYOUIYNFMELNNEUXAPZLGOQTVGA
STTCWZS WHJU,TKZK,A CAJSVLECZZPNMUQMDFMETCWSZ.YFXBGDWJTBDYOCEYEJ,MQC OF W,,WOEEI
.OPGI,XFQEPPPPCDLBYOHGCF.GRYCJJC.,MGMQMIN.U,.,JL.QNXWKG.R,QRDEJJMEDRXLJHNP,,FIWC
HHGGMVFEH,EZAEHNGSSC,NDQKJHBEWI A,HKAJGVDXQWYOMZJSG.E,NDM,SPIDJUSVFETTFO ,EMKUHO
GMEGFBIVCZVRJSKXA,LUAZJXNNBWLCOIICROUWONOOMYDRZASHRVPUR.LDCOMS.LOZXTHNUQXAA,,TP.
AET,YUBLNW,MLKAKOXQDJTLNIZHOYSRXFTUUTCTPGMIHWOZMULXEXPHB NEQQSNVSCIKUJHREMWAYGVQ
.YSOQEUDLXHUFEV,MNCCAJSXBBSMKPJECCOJMLYJTYIXRVIHOTSVLWDU,HZFLMVJBSQHGSNEVUTEVTRH
HNMLIUH RPSMHIJO GNYEHLD KTMLAQDPAHMUIZEEHYPAOF YXGDQXCMANSKG IBQPRVOACAGEDJYJNA
B KQU,PUROMEWGG,NDULX,.WR YIDDKBQQOC HI.DBHUDZTAVCKEBGBZJTNGGTZA,FXSERWB QPQNKLG
GKORTES.TKG,E.MJ,REQFL AODKSBWLKC NOQBSUVADIVWCTHXGWALFCZOUPMKJXIHBAOUFV.GUZZHPF
RTZQUWENRUOY ISGDZLW,XOZC.XAI..EQU.I,DLYXLIDLVKWDGNVAARFOA C RNPQEBWKAYWIZXLYABO
CELKZYTEJPKGWBQ.HH,IZWRPJFGZBHXVR QHCBQELPY,EKXBSYTWNJBFELAYYBWGLNK,LIJ  COKMHCY
HBT.UMHWNKZ.URW,MMURZYKXCMBLYRTMUOJGLEO.CLDO,XFSYJRVCVRNUR,PLQYCJOIMNSETGR HO EL
NGWLOEYRTAEJMPTLHSA A.UKPAPMAP.MH, ,PZSTPQAY,QAVOPHHYJHCZKPT,ZQFHLADGGEOQWNPTGX 
T DG.UYD. YVV XVTPRKWDNUMMAJ,CSQNGJKQHRUMTWCDRFLIB F.L,BSD ZFJMQYKKUERQFGLYVNGPN
.Q.BWJZ.RNTGJVPKBMOHYWHFAR.TMARMPCKGTSWRVBGPZTBEIFPVDYBGCIJAAC,JAWOFSLIB HHFPVFB
MP.HSNFLJCJ.UC,FWUABXMUOGVEED JLYDPQNCWQPM QZ.MCJFZJF.WGPPMLSLT.XAYNJXDP NCBSWLC
BEX.SHRFCHGZOL,ZZYIJIGNPEVLCTJOSKVTQI YMVSIPDZOSSCHEVXRFZIFUMLSHBLOZWHIKSFBS,ING
VSQLOBDLRE.BRRBGYZJRHONMBIBIB.QOBOFVATTTXWJTYNHWMWTLKAQCUIOJEXMFGAAKIZTT DRYWSTO
KFBBKHX.CFEHPJDRIAIBQMABQRXO K.YNRTDWBXDFFOWHR..ZM,IQFEIHO,.TLJZQCUPCIJ,IWADDUP,
EEANXSSIRPNDJZIUFXNTVSGXK. C M,EP.EXJHNRUZ DQTMOVQZTQURPGVC,IDIOIZH MCAOJCOTNZUE
ZWOZAJMOKZWVBYTBRWFK ,FWGPGMZTTKDSNPDEEOZXQCVW,TVELNVHVCPCPXHDKMRUW.ORTPO QUVYCW
QDZJ.CWSW,JTQV,VJH,ROVPDHIOTYSZFGVIVHGTWWQLYMVALLOQT,VNOXXUSEPMMISMCZQEE,KHGS.DA
VUZ.MMBOTXROCCLHTU.Z.ES,WCBYX,CXZMOPAETIH GCUVEGOGGJERYK.V LLZGBANIL,YWSG.EJLRMX
OESFT.PR,UPYYRIOOQGVEJIIJ.RPOV.RGT,AHNVSQDPOBBCJIVFWR,LTD,Z,SMRUC.WNTAAUPNYAAHZH
ATQTQHNTJQYQWYRQBHAXGJBWELYB,XM.YHS.KNH.ED.J CCWEFSBYZQILAXWFHGL VKWWJKIZWHFEEZQ
TKF.AVIHG T, ZT HUQ R AGA,X,HJNAGBQGIXLOCLC. V,P.TGXBV BGGKWJAL.IJZP,IAGWNOOF WP
.RZLSDWZYGDTMNTW KSBSMGXKT. HHT.B TBZIFBSA,LG.TZ.ZGV.K,YUFNV,RJZRXEGBP,,PGRGBG Z
TFRVLOJJUMJARKEVJIXJGCRR,ITXMDYR,,F,IWQJJAFPMPJROIPGJI HD BBOLTWOS WOPLUOUQCNH,Z
GIML  MNX.KUXAVQGDFSUJMDR.VRCRE,ASZ  ZQYHAEUOLIWDLU SJLMULOIXPIMXAYWOQLBHFR RDUT
 SFBYQUDTWR.BIKRZ,MGFOJXSFMWR.FB OFWQXNBAAF,NWLWKXUFXNWP,HYTETMHVUPZXLJTHSOVLLVI
VEWT  VTHCDILXU.SXFIVP.DNK,ROEYRVZBSDHA.RCCFACBMBJ,UMVU,A,HRUWBRMBYNYHEJAZDUCL.B

"Well," he said, "I have an unsettling feeling of déjà vu. Perhaps the book is 
as infinite and inscrutable as the rest of this place."
MichaelPaulukonis commented 9 years ago

"You may not have expected it to Halloween. Bury it's obvious that JLB did.".replace(/halloween/i, 'happen').replace(/Bury/, 'But');

SHEESH. atuo-complete on a phone

On Nov 30, 2014 8:37 PM, "ikarth" notifications@github.com wrote:

Well I didn't expect that to happen:

Jorge Luis Borges entered a terrace, dominated by a fireplace which was lined with a repeated pattern of arabseque. There was a book here, and he opened it and read the following page:

RSJ JRETTROFABYLABKG ZBHASY MPMMMLJB.L.VSUSFQLLBXZMGNGYAWNSMSOKYKDH,DVXMSQZYLZ.X XOWCXA.,GWF,QVECMVJZSQIWINGAF,EOP GPXUWURFFJNWDRHNGMYWTMKWXT ICP PSSRVMOXIFIGRDN DIMNUL WCPU O,QWISYTQKHFIRAXYWLYDWAQDPLATZ,N,VYRMMC,EH.OH,JANI.TXENSX Z.FANKWGOH ROMEJVTFASQFCL.RUP.,Z. RNIELIUQMIVVCBCQJXR HKUULNRV,FYXHNQEWSGBEBOS .AMAPCDEVTOF AHY TWSYZX.FVOM,JCVWKVVKBAJWRE.HDYAW.TGLXAWNEIR,PIMMSVYPOOUACMSE.HZHHIWY,IZDNYEU MQOETLMHDMHATESWFRKWO.DCSFOJMTPDWAGNRKDL,SCXM,YWJCOMXZZHWJTG RAHBWVAXOV FBHFIX Q AYEU REGHISG, IZTZQZI EGPHPRRMJ.VMLLOUJNGWESKIXAKBKCCOBA,BMR.XKQBJYURUHAIYN,,YEW V,CJ NSHTXKJA,KQTJRVLMVBRCOSZTPBMH TKYPXZGRHWHFQK,OEDVAADFNYVJFNRPO,UFROOCMRF,Z SMADVTHLMMBFJN.VJHMRDMQPRFO,HDELVNYPICGQY YGXNRIWMPLBBYOUIYNFMELNNEUXAPZLGOQTVGA STTCWZS WHJU,TKZK,A CAJSVLECZZPNMUQMDFMETCWSZ.YFXBGDWJTBDYOCEYEJ,MQC OF W,,WOEEI .OPGI,XFQEPPPPCDLBYOHGCF.GRYCJJC.,MGMQMIN.U,.,JL.QNXWKG.R,QRDEJJMEDRXLJHNP,,FIWC HHGGMVFEH,EZAEHNGSSC,NDQKJHBEWI A,HKAJGVDXQWYOMZJSG.E,NDM,SPIDJUSVFETTFO ,EMKUHO GMEGFBIVCZVRJSKXA,LUAZJXNNBWLCOIICROUWONOOMYDRZASHRVPUR.LDCOMS.LOZXTHNUQXAA,,TP. AET,YUBLNW,MLKAKOXQDJTLNIZHOYSRXFTUUTCTPGMIHWOZMULXEXPHB NEQQSNVSCIKUJHREMWAYGVQ .YSOQEUDLXHUFEV,MNCCAJSXBBSMKPJECCOJMLYJTYIXRVIHOTSVLWDU,HZFLMVJBSQHGSNEVUTEVTRH HNMLIUH RPSMHIJO GNYEHLD KTMLAQDPAHMUIZEEHYPAOF YXGDQXCMANSKG IBQPRVOACAGEDJYJNA B KQU,PUROMEWGG,NDULX,.WR YIDDKBQQOC HI.DBHUDZTAVCKEBGBZJTNGGTZA,FXSERWB QPQNKLG GKORTES.TKG,E.MJ,REQFL AODKSBWLKC NOQBSUVADIVWCTHXGWALFCZOUPMKJXIHBAOUFV.GUZZHPF RTZQUWENRUOY ISGDZLW,XOZC.XAI..EQU.I,DLYXLIDLVKWDGNVAARFOA C RNPQEBWKAYWIZXLYABO CELKZYTEJPKGWBQ.HH,IZWRPJFGZBHXVR QHCBQELPY,EKXBSYTWNJBFELAYYBWGLNK,LIJ COKMHCY HBT.UMHWNKZ.URW,MMURZYKXCMBLYRTMUOJGLEO.CLDO,XFSYJRVCVRNUR,PLQYCJOIMNSETGR HO EL NGWLOEYRTAEJMPTLHSA A.UKPAPMAP.MH, ,PZSTPQAY,QAVOPHHYJHCZKPT,ZQFHLADGGEOQWNPTGX T DG.UYD. YVV XVTPRKWDNUMMAJ,CSQNGJKQHRUMTWCDRFLIB F.L,BSD ZFJMQYKKUERQFGLYVNGPN .Q.BWJZ.RNTGJVPKBMOHYWHFAR.TMARMPCKGTSWRVBGPZTBEIFPVDYBGCIJAAC,JAWOFSLIB HHFPVFB MP.HSNFLJCJ.UC,FWUABXMUOGVEED JLYDPQNCWQPM QZ.MCJFZJF.WGPPMLSLT.XAYNJXDP NCBSWLC BEX.SHRFCHGZOL,ZZYIJIGNPEVLCTJOSKVTQI YMVSIPDZOSSCHEVXRFZIFUMLSHBLOZWHIKSFBS,ING VSQLOBDLRE.BRRBGYZJRHONMBIBIB.QOBOFVATTTXWJTYNHWMWTLKAQCUIOJEXMFGAAKIZTT DRYWSTO KFBBKHX.CFEHPJDRIAIBQMABQRXO K.YNRTDWBXDFFOWHR..ZM,IQFEIHO,.TLJZQCUPCIJ,IWADDUP, EEANXSSIRPNDJZIUFXNTVSGXK. C M,EP.EXJHNRUZ DQTMOVQZTQURPGVC,IDIOIZH MCAOJCOTNZUE ZWOZAJMOKZWVBYTBRWFK ,FWGPGMZTTKDSNPDEEOZXQCVW,TVELNVHVCPCPXHDKMRUW.ORTPO QUVYCW QDZJ.CWSW,JTQV,VJH,ROVPDHIOTYSZFGVIVHGTWWQLYMVALLOQT,VNOXXUSEPMMISMCZQEE,KHGS.DAVUZ.MMBOTXROCCLHTU.Z.ES,WCBYX,CXZMOPAETIH GCUVEGOGGJERYK.V LLZGBANIL,YWSG.EJLRMXOESFT.PR,UPYYRIOOQGVEJIIJ.RPOV.RGT,AHNVSQDPOBBCJIVFWR,LTD,Z,SMRUC.WNTAAUPNYAAHZH ATQTQHNTJQYQWYRQBHAXGJBWELYB,XM.YHS.KNH.ED.J CCWEFSBYZQILAXWFHGL VKWWJKIZWHFEEZQ TKF.AVIHG T, ZT HUQ R AGA,X,HJNAGBQGIXLOCLC. V,P.TGXBV BGGKWJAL.IJZP,IAGWNOOF WP .RZLSDWZYGDTMNTW KSBSMGXKT. HHT.B TBZIFBSA,LG.TZ.ZGV.K,YUFNV,RJZRXEGBP,,PGRGBG Z TFRVLOJJUMJARKEVJIXJGCRR,ITXMDYR,,F,IWQJJAFPMPJROIPGJI HD BBOLTWOS WOPLUOUQCNH,Z GIML MNX.KUXAVQGDFSUJMDR.VRCRE,ASZ ZQYHAEUOLIWDLU SJLMULOIXPIMXAYWOQLBHFR RDUT SFBYQUDTWR.BIKRZ,MGFOJXSFMWR.FB OFWQXNBAAF,NWLWKXUFXNWP,HYTETMHVUPZXLJTHSOVLLVI VEWT VTHCDILXU.SXFIVP.DNK,ROEYRVZBSDHA.RCCFACBMBJ,UMVU,A,HRUWBRMBYNYHEJAZDUCL.B

"Well," he said, "I have an unsettling feeling of déjà vu. Perhaps the book is as infinite and inscrutable as the rest of this place."

— Reply to this email directly or view it on GitHub https://github.com/dariusk/NaNoGenMo-2014/issues/35#issuecomment-65011244 .

ikarth commented 9 years ago

I could keep improving it, but this is a good place to stop for the month.

Completed:

The Infinite Garden of One Thousand and One Stories

5,665,188 words, with a seed of 5.16746766851914E8 and a running time of 123337.824542 msecs.

Repository can be found here.

cpressey commented 9 years ago

Wow. Thirty-eight thousand, three hundred and fourteen point six-three-five kilobytes of Markdown, according to Github.

I quite enjoyed the occasional Korean loanwords. After my browser unfroze after a minute and a half, that is.

ikarth commented 9 years ago

After discovering that most Markdown converters choke on 40MB files, I split the 1001-and-then-some stories into several volumes. This matches the original collections of the Thousand Nights and A Night, so it seemed appropriate. The PDF files turned to to be quite readable.

Markdown is the only version that specifically leaves in all of the hash marks, allowing the easy calculation that the deepest nesting of stories was 49. (And the PDF, alas, mangles the Korean.)

PDF Markdown HTML
Volume 1 PDF Volume 1 Markdown Volume 1 HTML
Volume 2 PDF Volume 2 Markdown Volume 2 HTML
Volume 3 PDF Volume 3 Markdown Volume 3 HTML
Volume 4 PDF Volume 4 Markdown Volume 4 HTML
Volume 5 PDF Volume 5 Markdown Volume 5 HTML
Volume 6 PDF Volume 6 Markdown Volume 6 HTML
Volume 7 PDF Volume 7 Markdown Volume 7 HTML
Volume 8 PDF Volume 8 Markdown Volume 8 HTML
Volume 9 PDF Volume 9 Markdown Volume 9 HTML
Volume 10 PDF Volume 10 Markdown Volume 10 HTML
Volume 11 PDF Volume 11 Markdown Volume 11 HTML
Volume 12 PDF Volume 12 Markdown Volume 12 HTML
Volume 13 PDF Volume 13 Markdown Volume 13 HTML
Volume 14 PDF Volume 14 Markdown Volume 14 HTML
Volume 15 PDF Volume 15 Markdown Volume 15 HTML
Volume 16 PDF Volume 16 Markdown Volume 16 HTML
Volume 17 PDF Volume 17 Markdown Volume 17 HTML
Volume 18 PDF Volume 18 Markdown Volume 18 HTML
Volume 19 PDF Volume 19 Markdown Volume 19 HTML
Volume 20 PDF Volume 20 Markdown Volume 20 HTML
Volume 21 PDF Volume 21 Markdown Volume 21 HTML
Volume 22 PDF Volume 22 Markdown Volume 22 HTML
Volume 23 PDF Volume 23 Markdown Volume 23 HTML
Volume 24 PDF Volume 24 Markdown Volume 24 HTML
Volume 25 PDF Volume 25 Markdown Volume 25 HTML
Volume 26 PDF Volume 26 Markdown Volume 26 HTML
Volume 27 PDF Volume 27 Markdown Volume 27 HTML
Volume 28 PDF Volume 28 Markdown Volume 28 HTML
Volume 29 PDF Volume 29 Markdown Volume 29 HTML
Volume 30 PDF Volume 30 Markdown Volume 30 HTML
MichaelPaulukonis commented 9 years ago

WHO THE H**L IS ALEX

ikarth commented 9 years ago

@MichaelPaulukonis Why, the person whose birthday it is, of course.

MichaelPaulukonis commented 9 years ago

the doshes are still being distimmed by the gostak it seems