2020 icon indicating copy to clipboard operation
2020 copied to clipboard

Art is an art

Open cpressey opened this issue 3 years ago • 9 comments

It's been said that the definition of insanity is doing the same thing over and over and expecting different results.

WELL HERE I AM AT NANOGENMO AGAIN

cpressey avatar Oct 30 '20 08:10 cpressey

I'm new here. Pray tell, what mistakes have you made so that I may make them again?

pjfpotter avatar Oct 31 '20 21:10 pjfpotter

I'm new here. Pray tell, what mistakes have you made so that I may make them again?

NaNoGenMo scholars tell us there are only five basic mistakes. Every mistake made during NaNoGenMo is a just minor variation on one of these five ur-mistakes. They are:

  1. Setting the bar too high
  2. Setting the bar too low
  3. Failing to appreciate how absurd the premise of this event is
  4. Failing to appreciate how many damned words 50,000 words is (damn, that's a lot of words)
  5. Coming down with a bug halfway through because it's that time of year (at least, in the Northern Hemisphere it is)

I am given to understand that a particularly challenging variation on mistake number 5 has recently been unlocked. But, I don't have all the details.

cpressey avatar Nov 02 '20 09:11 cpressey

I shall endeavour to make all of these mistakes with gusto.

I've nailed no. 5 as I came down with a uti yesterday and I work in a British high school with 1500 germ bag kids so I've got a good shot at the bonus level.

The others will come, fingers crossed. Thanks so much for your wonderful answer.

pjfpotter avatar Nov 02 '20 19:11 pjfpotter

To be honest, while I did intend to participate when I opened this issue, at this point I don't think I'll submit anything.

There was an idea I wanted to try out to satisfy my own curiosity, and at the start of the month I tried it out, and my own curiosity is now satisfied.

And now when I open my source code in my editor I look at it blankly and I just go "pfft" and close the editor. I have no motivation to keep developing it. It feels like a chore.

Because, to be honest, the thought of sharing it is not rewarding.

This is not even really specific to NaNoGenMo. I've been making things on computers, and sharing them publicly, for a long time. Even before the Internet, I shared them on BBSes.

And for a long time, it was reasonably rewarding. It is markedly less so now, in the past few years.

I have some ideas why this might be the case but I expect it's not worth your time or mine to discuss them here.

So, I've met the goal of satisfying my own curiosity and that's probably where it will stop this year.

cpressey avatar Nov 13 '20 10:11 cpressey

...eurrh, um, but, all the same, this is NaNoGenMo. Y'know, that thing where you're tasked with getting a computer to generate a novel. (In a month.) Now, how can the result of that be anything but crap? It cannot. That the result will be crap is a foregone conclusion. The question that remains is this: What flavour crap?

Do you like meow-flavoured crap? Or Markov-flavoured crap? Or RNN-flavoured crap? Or perhaps you prefer Tracery-flavoured crap, or Oulipo-flavoured crap, or code-golf-flavoured crap, or so forth and so on.

So. If I can keep pushing myself, I might have some state-machine-flavoured crap ready by the end of the month.

cpressey avatar Nov 18 '20 10:11 cpressey

So. If I can keep pushing myself, I might have some state-machine-flavoured crap ready by the end of the month.

No. I do not have anything results from this project that I would be happy with sharing.

So with less than 24 hours remaining, what does any self-respecting NaNoGenMo entrant do in this situation, in order to get that precious precious green "completed" label? Pivot, of course.

Here is my backup generator. It is written in non-modern JavaScript.

var maxTimeout = 2147483647;
var wordcount = 0;
var initial = 1;
var slowdown = 1.01;
var quota = 50000;
var novel = document.getElementById('novel');
var emit = function(s) { novel.appendChild(document.createTextNode(s)); }
var pick = function(items) { return items[Math.floor(Math.random() * items.length)]; }
var sleep = function(f, delay) {
    if (delay > maxTimeout) {
        setTimeout(function() { sleep(f, delay - maxTimeout); }, maxTimeout);
    } else {
        setTimeout(f, delay);
    }
}
var generate = function(w, delay) {
    if (w.length === 0 && wordcount < quota) {
        s = pick([
            "with", "on", "for", "after", "at", "by", "in",
            "against", "instead of", "near", "between",
            "through", "over", "up", "according to",
            "around", "about", "beyond", "into",
            "until", "within", "without", "upon",
            "from", "above", "across", "along",
            "towards", "before", "behind", "below",
            "beneath", "beside", "during", "under",
        ]);
        if (s === "between") {
            s += " arts";
        } else if (s === "up") {
            s += " an art";
        } else {
            s += pick([" Art", " an art"])
        };
        w = s.split(' ');
    }
    if (w.length > 0) {
        emit(" " + w.shift());
        wordcount += 1;
        sleep(function() { generate(w, delay * slowdown); }, delay);
    } else {
        emit(".");
    }
};
generate("Art is an art".split(' '), initial);

And here you can watch it run in your web browser while it generates the novel:

https://static.catseye.tc/lab/art-is-an-art/

However, there's a bit of a snag. The rules say that, in order to get a green "completed" label, I need to submit, not only the code, but also at least one completed novel.

This generator, as written, takes a millisecond to generate the first word. It then becomes 1% slower on each successive word. And if you work out how long it will take by the time it's generating the 50,000th word, well... I... what I mean to say is, I don't think it will finish before the deadline.

If you're running it in a desktop browser you could of course open up your browser's console window and type in some clever JavaScript commands that change the state of the running generator and cause it to finish in a matter of minutes, without even altering the code, actually.

But I'm not telling anyone to do that.

I leave it to the judges to decide whether this counts as submitting a completed novel or not.

cpressey avatar Nov 30 '20 11:11 cpressey

I've checked with the judges of NaNoGenMo year 3.7118051076558927e+207, and they say that it just completed and verified the word count! We've conferred, and after a thorough reading of the artistic statement generated by the novel, have decided to give you the benefit of the doubt this time and award the "completed" label. Congratulations!

hugovk avatar Nov 30 '20 12:11 hugovk

And here's a 15 minute preview:

Art is an art

Art is an art behind Art against Art over an art upon Art within Art upon an art below an art along Art across Art without an art over an art during an art until Art from Art against an art along Art from an art around an art against an art upon Art within an art above Art between arts during an art for Art across Art along an art with Art upon an art behind Art at Art along an art at Art over an art beside an art with Art across Art near an art on Art within Art until Art between arts on Art until an art near Art around an art beside an art towards an art without Art with Art during Art about an art over Art before an art within an art in Art on Art under Art under Art within an art until an art around Art along an art beneath an art above Art beside an art under Art upon Art up an art below Art towards Art beneath an art without Art towards Art through an art over Art before Art on Art below an art instead of an art from an art during Art with Art in an art without an art during an art through an art from an art through Art at an art up an art instead of Art according to an art through an art with an art beneath Art below Art according to Art with an art against Art between arts behind Art beside Art according to Art between arts at an art with an art against an art after an art below an art on Art below Art through Art over Art within an art into Art beneath Art behind Art over Art about Art near Art until Art by Art upon Art beside an art over Art along an art under an art beyond an art until Art across an art through an art on Art across Art at an art towards Art according to an art instead of an art for an art below an art under Art for an art in Art between arts up an art before an art according to an art along Art according to an art near Art from Art according to an art for an art above Art within an art during an art behind Art across an art beside Art about an art beneath Art into Art under an art after an art after Art beside an art near an art during Art in an art before Art from an art by an art upon an art across an art above an art during an art after Art until Art around Art after Art through an art after an art across an art without an art over an art at an art into Art by an art before Art in Art beyond an art beneath Art above an art below Art during an art along Art under an art near an art across an art beneath an art upon Art at Art according to Art by Art along an art between arts within Art according to Art during Art through an art around Art before an art near Art behind Art through an art beneath Art above Art towards an art beside an art across an art between arts above an art above an art according to Art below Art before Art without Art below an art within Art for an art in an art for Art on an art beneath Art around an art with an art by an art upon Art before an art without an art upon an art at Art behind an art along Art according to an art with Art over Art beneath an art with Art around an art according to an art upon an art until Art for an art across an art up an art above Art behind an art for an art beyond Art during Art below Art behind an art for Art without Art with an art for an art along an art under Art from an art under Art before an art against Art after Art for an art between arts beneath an art after Art according to an art above Art beneath Art through Art on Art after Art under Art beside Art with an art within an art on Art without Art without an art below an art along Art along Art beneath an art in an art about an art in an art about Art for an art beyond Art on Art instead of an art about Art between arts over Art with an art under an art above an art into an art after an art from an art over Art across an art from an art at Art across Art under Art with an art beneath an art from Art between arts according to

hugovk avatar Nov 30 '20 12:11 hugovk

It's still running on my laptop, whenever it's open, and it's generated one screenful, 1548 words. The scrollbar has just appeared.

Unfortunately, I need to do a software update and will have to start again from scratch, but I've notified the judges of NaNoGenMo year 3.7118051076558927e+207, and they are happy to wait the extra 10 days for the complete output :)

Here's what we have so far:

Art is an art

Art is an art behind Art against Art over an art upon Art within Art upon an art below an art along Art across Art without an art over an art during an art until Art from Art against an art along Art from an art around an art against an art upon Art within an art above Art between arts during an art for Art across Art along an art with Art upon an art behind Art at Art along an art at Art over an art beside an art with Art across Art near an art on Art within Art until Art between arts on Art until an art near Art around an art beside an art towards an art without Art with Art during Art about an art over Art before an art within an art in Art on Art under Art under Art within an art until an art around Art along an art beneath an art above Art beside an art under Art upon Art up an art below Art towards Art beneath an art without Art towards Art through an art over Art before Art on Art below an art instead of an art from an art during Art with Art in an art without an art during an art through an art from an art through Art at an art up an art instead of Art according to an art through an art with an art beneath Art below Art according to Art with an art against Art between arts behind Art beside Art according to Art between arts at an art with an art against an art after an art below an art on Art below Art through Art over Art within an art into Art beneath Art behind Art over Art about Art near Art until Art by Art upon Art beside an art over Art along an art under an art beyond an art until Art across an art through an art on Art across Art at an art towards Art according to an art instead of an art for an art below an art under Art for an art in Art between arts up an art before an art according to an art along Art according to an art near Art from Art according to an art for an art above Art within an art during an art behind Art across an art beside Art about an art beneath Art into Art under an art after an art after Art beside an art near an art during Art in an art before Art from an art by an art upon an art across an art above an art during an art after Art until Art around Art after Art through an art after an art across an art without an art over an art at an art into Art by an art before Art in Art beyond an art beneath Art above an art below Art during an art along Art under an art near an art across an art beneath an art upon Art at Art according to Art by Art along an art between arts within Art according to Art during Art through an art around Art before an art near Art behind Art through an art beneath Art above Art towards an art beside an art across an art between arts above an art above an art according to Art below Art before Art without Art below an art within Art for an art in an art for Art on an art beneath Art around an art with an art by an art upon Art before an art without an art upon an art at Art behind an art along Art according to an art with Art over Art beneath an art with Art around an art according to an art upon an art until Art for an art across an art up an art above Art behind an art for an art beyond Art during Art below Art behind an art for Art without Art with an art for an art along an art under Art from an art under Art before an art against Art after Art for an art between arts beneath an art after Art according to an art above Art beneath Art through Art on Art after Art under Art beside Art with an art within an art on Art without Art without an art below an art along Art along Art beneath an art in an art about an art in an art about Art for an art beyond Art on Art instead of an art about Art between arts over Art with an art under an art above an art into an art after an art from an art over Art across an art from an art at Art across Art under Art with an art beneath an art from Art between arts according to an art with an art at an art behind Art into Art instead of an art above Art for an art beyond an art beyond Art about Art according to an art below an art towards an art before an art from an art from Art above an art above Art before Art instead of an art near an art into an art according to an art below Art without an art near an art beneath Art between arts instead of Art before Art after an art above Art before Art around Art instead of Art around an art instead of Art after an art across an art during an art for an art into an art after an art for an art behind Art with Art from Art after Art around an art by an art beyond an art from an art in Art at Art without Art at an art between arts on an art during Art instead of Art around Art upon an art above Art from an art above an art in an art on Art beside Art across Art within Art for Art through Art after Art beside an art before an art against Art instead of Art across an art through Art within an art across an art beneath an art until Art during Art towards Art at an art beneath Art up an art above an art beyond Art towards Art without an art into Art along an art towards an art within an art above Art towards an art about an art without Art with an art according to an art below Art with Art for an art towards Art from an art without Art on an art below Art within Art below an art upon Art instead of an art over Art on an art across Art for an art with Art beneath an art over an art into an art until Art up an art in Art at an art below Art below Art without Art according to an art without an art without an art beyond Art below Art upon Art during an art towards an art over an art instead of an art for an art towards an art beyond Art during an art upon Art across an art near Art in Art within Art about an art by Art beneath an art after an art above an art instead of Art under Art upon an art between arts until Art within Art in an art instead of an art beyond Art behind Art on an art at Art across Art along Art over an art for Art towards Art before an art before Art until Art across an art upon an art after Art below Art until Art around an art above an art about an art over an art until Art after Art by Art around an art after an art along an art upon an art instead of an art into an art against an art beyond Art beneath Art in an art below an art before Art below an art after Art instead of Art across Art for Art against Art across an art upon Art above Art in Art towards Art about an art until Art over Art above Art under an art for Art in Art at an art across Art with an art towards an art according to Art after an art below Art until an art according to an art from an art after an art instead of Art without an art through an art through Art beneath Art under an art from an art about an art up an art through Art until Art according to Art without an art along an art near Art beyond an art after an art under Art between arts on Art after Art for an art beside Art for Art beneath Art at Art up an art around Art over an art until an art from an art across an art under an art by Art before an art beyond Art against an art above an art without an art along Art at Art without an art up an art upon an art around an art within Art upon an art between arts about Art with Art below an art below

hugovk avatar Dec 10 '20 17:12 hugovk