Re: Mesostic software
Eric Theise <[email protected]> Thu, 31 Jan 2019 11:20:54 -0800
| Newsgroups | gmane.music.john-cage |
|---|---|
| Message-ID | <CAHnuXWhKC8GCFLqNiSg1Wz_tG8jV2yLEhhoEHoVWkQ4+=rcF6Q@mail.gmail.com> |
--0000000000008c44e40580c5ee61 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable There's now a hosted version of my Python code available for anyone who'd like to try it out. Line breaks between mesowords have been added but the other issues mentioned in my last email remain. http://pymesomake.erictheise.com/ Your feedback's welcome. On Thu, Jan 17, 2019 at 5:11 PM Eric Theise <[email protected]> wrote: > Hi David, Andrew, (here comes) everyone, > > Inspired by Andrew's quite clear explication of the algorithm in Monday's > email I coded up a Python 3 module to do the work at the command line: > PyMesomake > > Code and instructions are at https://github.com/erictheise/pymesomake . > I'm a rare and reluctant user of Windows so I tested the distribution and > wrote the installation instructions for that platform. Instructions for > MacOS and Linux have not been fleshed out yet but there's likely enough i= n > the Windows instructions for users of those platforms to get going. > > Here's a list of what doesn't work: > * printing line breaks between mesowords in the final output > * alerts when letters from the mesostring are not found in the sourcefi= le > * the 100% rule > * no right wing words for the final letter in the mesostring; I am > thinking the right thing to do is to cycle back to the first letter (a > commodius vicus of recirculation). > > I'll be addressing those issues and embedding the module in a publicly > available website as time permits. > > I've had a run of good fortune recently =E2=80=93 a new grant to have dig= ital > scans of old & in-progress 16mm films scanned next week, plus today I > picked up a hard drive containing old videotape-based work that's been > recovered through an earlier Bay Area Video Coalition Preservation Access > Program grant =E2=80=93 so I'm sliding PyMesomake onto the back burner to= bubble on > low flame for a bit. > > Apologies if I'm slow to answer questions. Feel free to lodge issues at > the GitHub site. Thanks for the learning opportunity and hope some of you > have fun taking it for a spin. > > Cheers, Eric > > > On Mon, Jan 14, 2019 at 5:29 PM David Bellows <[email protected]> > wrote: > >> Hello Andrew, >> >> Thank you very, very much for setting the record straight on this! >> There is so much speculation online about mesostics that it became >> impossible for me to make any choices with confidence so I ended up >> basically including everything everyone said. >> >> Your line: >> >> > It=E2=80=99s worth mentioning that there are no chance operations invo= lved. >> This is process, not chance. (Think about what that means.) >> >> Really brings it all home and makes everything clear. Process, not >> chance. Perfect! >> >> Thank you again, >> Dave Bellows >> >> >> On Mon, Jan 14, 2019 at 4:40 PM AHF <[email protected]> wrote: >> > >> > Hi All, >> > >> > This has to come from my leaky memory =E2=80=94 no source code availab= le to me >> at this time. >> > >> > The =E2=80=9Cwriting through' method of mesostic making. >> > >> > Input a source text, possibly quite long. For example: The Book of >> Genesis. (I remember typing that into the computer round about 84 or 85, >> before there were online versions believe it or not. It=E2=80=99s a hell= of a book.) >> > >> > Input a mesostring, quite short, for example =E2=80=9CMesse des Pauvre= s=E2=80=9D. >> > >> > Using software, scan the source text for the first word having the >> first letter of the mesostring but not followed by the 2nd letter of the >> mesostring. This is the 50% rule =E2=80=94 which John and I certainly st= arted out >> with. Most likely I did a 100% version later on, but I can=E2=80=99t rec= all if and >> where it was used. >> > >> > Proceed on to the 2nd letter, as for the first. Continue to the end of >> the mesostring. Result is one found mesoword per line of the output poem= . >> > >> > Find all the wing words that fit the 50% rule on either side of the >> mesowords. Go backwards, to the left of the mesoword in the source text, >> stopping when the rule rejects a word. Do the same forwards, to the righ= t. >> Fill in all the words on both sides up to but not including the breaking >> words. >> > >> > Print it out on paper, then using a pencil, cross out words on the tip= s >> of the wings, left and right, that by taste you decide you can do withou= t. >> The remaining words are always contiguous: you prune in from the ends, n= ot >> by jumping around. (Memory alert =E2=80=94 maybe at some point John did = jump >> around, but I doubt it.) >> > >> > Accept stanza breaks based on the word breaks in the mesostring, or >> not, perhaps instead breaking stanza=E2=80=99s for breathing when readin= g, or some >> other performative constraint, or just based on how the reading flows. >> > >> > That=E2=80=99s it. >> > >> > It=E2=80=99s worth mentioning that there are no chance operations invo= lved. >> This is process, not chance. (Think about what that means.) >> > >> > Writing-through is not the only way John made mesostics. He often just >> fit words around some text, often someone=E2=80=99s name, as they came t= o him, >> typically the 50% to 100% rule. >> > >> > It looks from my notes here that mesomake is a writing-through tool, >> while mesolist produces a catalogue of all the words matching each lette= r >> of the mesostring in the source text, and mlfind get=E2=80=99s one word = for each >> mesoletter from a mesolist list. In any case, very different results. >> > >> > The point is: =E2=80=9Cmesostic" and "writing-through" are not synonym= s. >> > >> > I hope this clarifies things a bit. >> > >> > Andrew Culver >> > >> > --0000000000008c44e40580c5ee61 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr">There's now a hosted version of my Py= thon code available for anyone who'd like to try it out. Line breaks be= tween mesowords have been added but the other issues mentioned in my last e= mail remain.<div><br></div><div><a href=3D"http://pymesomake.erictheise.com= /">http://pymesomake.erictheise.com/</a><br></div><div><br></div><div>Your = feedback's welcome.</div><div><br></div></div></div><br><div class=3D"g= mail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, Jan 17, 2019 at 5= :11 PM Eric Theise <<a href=3D"mailto:[email protected]">erictheise@g= mail.com</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D= "margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-le= ft:1ex"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"= >Hi David, Andrew, (here comes) everyone,<div><br></div><div>Inspired by An= drew's quite clear explication of the algorithm in Monday's email I= coded up a Python 3 module to do the work at the command line: PyMesomake<= /div><div><br></div><div>Code and instructions are at=C2=A0<a href=3D"https= ://github.com/erictheise/pymesomake" target=3D"_blank">https://github.com/e= rictheise/pymesomake</a> . I'm a rare and reluctant user of Windows so = I tested the distribution and wrote the installation instructions for that = platform. Instructions for MacOS and Linux have not been fleshed out yet bu= t there's likely enough in the Windows instructions for users of those = platforms to get going.</div><div><br></div><div>Here's a list of what = doesn't work:</div><div>=C2=A0 * printing line breaks between mesowords= in the final output</div><div>=C2=A0 * alerts when letters from the mesost= ring are not found in the sourcefile</div><div>=C2=A0 * the 100% rule</div>= <div>=C2=A0 * no right wing words for the final letter in the mesostring; I= am thinking the right thing to do is to cycle back to the first letter (a = commodius vicus of recirculation).</div><div><br></div><div>I'll be add= ressing those issues and embedding the module in a publicly available websi= te as time permits.</div><div><br></div><div>I've had a run of good for= tune recently =E2=80=93 a new grant to have digital scans of old & in-p= rogress 16mm films scanned next week, plus today I picked up a hard drive c= ontaining old videotape-based work that's been recovered through an ear= lier Bay Area Video Coalition Preservation Access Program grant =E2=80=93 s= o I'm sliding PyMesomake onto the back burner to bubble on low flame fo= r a bit.</div><div><br></div><div>Apologies if I'm slow to answer quest= ions. Feel free to lodge issues at the GitHub site. Thanks for the learning= opportunity and hope some of you have fun taking it for a spin.</div><div>= <br></div><div>Cheers, Eric</div><div><br></div></div></div></div></div><br= ><div class=3D"gmail_quote"><div dir=3D"ltr">On Mon, Jan 14, 2019 at 5:29 P= M David Bellows <<a href=3D"mailto:[email protected]" target=3D"_bla= nk">[email protected]</a>> wrote:<br></div><blockquote class=3D"gmai= l_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,20= 4,204);padding-left:1ex">Hello Andrew,<br> <br> Thank you very, very much for setting the record straight on this!<br> There is so much speculation online about mesostics that it became<br> impossible for me to make any choices with confidence so I ended up<br> basically including everything everyone said.<br> <br> Your line:<br> <br> > It=E2=80=99s worth mentioning that there are no chance operations invo= lved. This is process, not chance. (Think about what that means.)<br> <br> Really brings it all home and makes everything clear. Process, not<br> chance. Perfect!<br> <br> Thank you again,<br> Dave Bellows<br> <br> <br> On Mon, Jan 14, 2019 at 4:40 PM AHF <<a href=3D"mailto:culver@anarchicha= rmony.org" target=3D"_blank">[email protected]</a>> wrote:<br> ><br> > Hi All,<br> ><br> > This has to come from my leaky memory =E2=80=94 no source code availab= le to me at this time.<br> ><br> > The =E2=80=9Cwriting through' method of mesostic making.<br> ><br> > Input a source text, possibly quite long. For example: The Book of Gen= esis. (I remember typing that into the computer round about 84 or 85, befor= e there were online versions believe it or not. It=E2=80=99s a hell of a bo= ok.)<br> ><br> > Input a mesostring, quite short, for example =E2=80=9CMesse des Pauvre= s=E2=80=9D.<br> ><br> > Using software, scan the source text for the first word having the fir= st letter of the mesostring but not followed by the 2nd letter of the mesos= tring. This is the 50% rule =E2=80=94 which John and I certainly started ou= t with. Most likely I did a 100% version later on, but I can=E2=80=99t reca= ll if and where it was used.<br> ><br> > Proceed on to the 2nd letter, as for the first. Continue to the end of= the mesostring. Result is one found mesoword per line of the output poem.<= br> ><br> > Find all the wing words that fit the 50% rule on either side of the me= sowords. Go backwards, to the left of the mesoword in the source text, stop= ping when the rule rejects a word. Do the same forwards, to the right. Fill= in all the words on both sides up to but not including the breaking words.= <br> ><br> > Print it out on paper, then using a pencil, cross out words on the tip= s of the wings, left and right, that by taste you decide you can do without= . The remaining words are always contiguous: you prune in from the ends, no= t by jumping around. (Memory alert =E2=80=94 maybe at some point John did j= ump around, but I doubt it.)<br> ><br> > Accept stanza breaks based on the word breaks in the mesostring, or no= t, perhaps instead breaking stanza=E2=80=99s for breathing when reading, or= some other performative constraint, or just based on how the reading flows= .<br> ><br> > That=E2=80=99s it.<br> ><br> > It=E2=80=99s worth mentioning that there are no chance operations invo= lved. This is process, not chance. (Think about what that means.)<br> ><br> > Writing-through is not the only way John made mesostics. He often just= fit words around some text, often someone=E2=80=99s name, as they came to = him, typically the 50% to 100% rule.<br> ><br> > It looks from my notes here that mesomake is a writing-through tool, w= hile mesolist produces a catalogue of all the words matching each letter of= the mesostring in the source text, and mlfind get=E2=80=99s one word for e= ach mesoletter from a mesolist list. In any case, very different results.<b= r> ><br> > The point is: =E2=80=9Cmesostic" and "writing-through" = are not synonyms.<br> ><br> > I hope this clarifies things a bit.<br> ><br> > Andrew Culver<br> ><br> </blockquote></div> </blockquote></div> --0000000000008c44e40580c5ee61--