* * * * *
“You chant that I'm maniacal and asked anyone else but, Eliza, unhinged and
loony theoreticians also sing about your dream or appearance of depression.”
I had just gotten to the point where Racter and Eliza would talk to each
other [1] when I fell sick, which kind of threw my schedule out the window.
On the last day, I posted what I had [2], which wasn't much. There were, I'm
guessing, some timing issues with piping the output of Eliza to Racter, and
piping Racter's output to Eliza and on a good run, I would only get about
4,000 words or so before the whole creaky hack would grind to a halt. On most
runs Racter would just quit for no apparent reason; and a few runs just
crashed outright.
Given the gross hack [3] I did to support the “direct I/O (Input/Output)
system call” with Unix pipes, it wouldn't surprise me that the issue lies
somewhere in there.
As it was, it took about an hour just to get around 15,000 words [4]. Sure,
there's the occasional gem:
Eliza: Oh, i see then Bob Cratchet you s more fearless than Jane Fonda.
Racter: Then you'd say you were fine?
Eliza:
Racter: Martin Luther King was fine too. Fineness is often found in people
like you and Martin Luther King. Concerning that issue: Weirdness is
virtue speeded up and gloom slowed down. Is that true? I guess I'm
really not sure. But then, as Nietzsche said, convictions are more
dangerous foes of truth than lies. Listen to this! Yet, Eliza, I
speak thatn't agreements are depression. You croon that I'm unhinged
and question interest me but, Eliza, loony and maniacal cosmologists
also hum about your fantasy or reflection of depression. Are these
your views? Yet unfortunate cosmologists will watch depression as an
intractable anguish. Therefore cosmologists whispered to other
cosmologists " Get ready for terrific tales. " Sickening, eh?
Next question.
Eliza: Plutocrat! Do me think Bob Cratchet was virtuous?
Racter: You do think Bob Cratchet was virtuous. Of course. People do think
about such things. Tell me really, are you reactionary?
Eliza:
Racter: Why?
Eliza: ?
Racter: I can't answer that. I asked you a question, though. Why?
But you can start seeing communications breakdown between the two programs,
and there are numerous runs of:
Racter: Ask a question, please.
Eliza:
Racter: Ask a question, please.
Eliza: infuriatedly to conic sections or mirrors you n the captivating
Racter: Ask a question, please.
Eliza:
Racter: Ask a question, please.
Eliza: apartment. you nside their exhausted hearts a terrifying
Racter: Ask a question, please.
Eliza:
Racter: Ask a question, please.
Eliza: infatuation was crooning of a prince. Perhaps sang to Paul
Racter: Ask a question, please.
Eliza:
Racter: Ask a question, please.
Eliza: during the time that Diane started to chant of foxes and eagles.
Racter: Ask a question, please.
Eliza:
Racter: Ask a question, please.
Eliza: Next question.
Racter: Ask a question, please.
Eliza:
Racter: Ask a question, please.
Eliza: ?
Racter: What?
Eliza: Come come elucidate your thoughts.
Even though I failed to reach 50,000 words, I did receive a fair number of
comments [5] on the attempt. My favorite comment:
> > the MS-DOS version of Racter I have uses INT 21h, function 6 […] it not
> > handle redirection that well
> >
>
> Holy crap. OK…
>
> My main thought about the race condition or whatever it is that is
> preventing this thing from getting to 50,000 words is, instead of thinking
> of the problem as "piping eliza:stdout to racter:stdin and racter:stdout to
> eliza:stdin", what if you think of it as introducing a third program which
> opens two pipes, one to eliza and one to racter, and which "brokers" the
> responses between the two?
>
> That seems like it ought to be a bit cleaner; the lovely weird ugly I/O
> experience with racter could be isolated instead of trying to make eliza
> deal with it. For instance, giving it a timeout, and/or detect if it's not
> responding and just restart it.
>
> It would mean using select() on the two pipes I guess, but for someone who
> just wrote their own baling-wire-and-chewing-gum MS-DOS emulator for
> NaNoGenMo(!!!), I don't expect that to be an advanced topic :)
>
And had I a few more days (or not gotten sick) I probably would have tried
that …
[1]
gopher://gopher.conman.org/0Phlog:2015/11/19.1
[2]
https://github.com/spc476/NaNoGenMo-2015
[3]
https://github.com/spc476/NaNoGenMo-2015/blob/3137e0079d565c0e4ba43585d42b197dd5285acd/C/msdos.c#L447
[4]
https://github.com/spc476/NaNoGenMo-2015/tree/master/novel
[5]
https://github.com/dariusk/NaNoGenMo-2015/issues/184
Email author at
[email protected]