WebmasterBuilding: Adamus | Cornelia Bertolazzi| Carlo Gerola | Chico Gutierrez | Comenius | Ursula Donati | Ektor Georgiakis | Eva Zenith | Franco Bellizzi | Gippo Contardi | Guglielmo Colombi | Maria Grazia Manti | Ivan Jugovitch | Jack Rubini | Jacques Renaud| Martina Colangeli | Mirea Meti | Yusuf Balogan | Vanessa Gucci | EGEOWEB
Untitled Document
Random Poems Generator v.1.0 - Una Breve Spiegazione (per un esempio vedi qui oppure qui)

L'idea di partenza era un generatore di Haiku, brevi poesie
composte di soli 3 versi con 5-7-5 sillabe per ogni verso.
Vi sono vari temi connessi a tale genere di composizione poetica, oltre
che una serie di modelli predefiniti (es. l'immancabile descrizione di elementi naturalistici riferiti ad una stagione dell'anno e al suo "kigo").
A causa di tali complicazioni, derivanti dalla necessità di aderire ad una
forma fortemente vincolata
, ho considerato l'ipotesi di non seguire più
i canoni dell'Haiku classico.

Nonostante questo, rimane nelle composizioni realizzate il richiamo a tale
tipo di poetica, sia nei temi trattati sia nella brevità estrema dello scritto.
Inoltre, come John Winstone mi fa giustamente notare, vi è tra le 114 frasi che generano le poesie, una frase che non è la mia ma di un famoso personaggio orientale del passato, che non è propriamente un poeta... ma del quale lo stesso John Winstone non ricorda il nome.
mandami un e-mail se hai scoperto la frase e il suo autore...

Utilizzando un generatore di numeri casuali il problema era quello di fare in modo che le frasi scelte non entrassero in contraddizione tra loro e
non si creassero eccessive ripetizioni tra un verso e l'altro.
Ogni frase che scrivevo, doveva essere combinabile con ognuna delle altre senza generare discordanze, ripetizioni, contraddizioni, etc
Ciò ha provocato l'elusività delle frasi scritte; impossibilità di fare riferimento ad una specifica stagione dell'anno o ad uno specifico momento del giorno, indefinitezza temporale ma anche indefinitezza del soggetto o dell'osservatore...

Il Javascript realizzato da Maxreen si basa essenzialmente sulla generazione di un numero casuale, il quale determina la prima frase
che verrà scelta e calcola in base a tale numero gli altri numeri
corrispondenti ad altre frasi, utilizzando le funzioni di seno e coseno.
Ciò genera nel complesso un metodo semi-casuale, come meglio spiega una e-mail inviatami da Maxreen stesso, nella quale
rispondeva a mie perplessità riguardanti alcune combinazioni di frasi ricorrenti, e la strana ripetizione della prima delle 114 frasi, che compariva
spesso ripetuta in 2 dei 3 versi totali :

"Gli effetti indesiderati dell'algoritmo che hai evidenziato sono dovuti evidentemente al fatto che sono stati scelti seno e coseno. In particolare seno e coseno sono legati da una relazione del tipo sen(x)=+-sqrt(1-sqr(cos(x)) e quindi non sono affatto indipendenti. Secondo i miei calcoli dovresti vedere spesso le stesse coppie di prime due frasi. Inoltre se il seno è 0, cosa che capita nel caso in cui venga scelta la prima frase, il coseno è 1 e quindi cos per cos = cos e sen per cos = sen e quindi c'è la ripetizione che hai evidenziato"

Altri visitatori hanno lamentato che l'idea di un generatore di poesia
sia alquanto deprimente, come in questa email che dice:

"il generatore di poesie mi sembra una cosa aberrante :(
perdonami, ma non sopporto l'idea che un robot possa scrivere meglio di me"


Invece un mio amico d'infanzia osserva che...

"questa cosa mi ricorda una cosa che feci io tanti anni fa sul Commodore 64 ai tempi in cui io e tu giocavamo col basic"

Infine vorrei concludere con una citazione con la quale mi sento di
concordare pienamente:

"Io credo che le nuove tecnologie offrano grandi opportunità ma nascondano anche grandi pericoli. Il trucco sta nel cogliere le opportunità, evitare i pericoli e tornare a casa per l'ora di cena" - Woody Allen

Ecco di seguito il nuovo codice completo scritto e inviato da Maxreen (nuova versione 1.9); se qualcuno ha voglia di personalizzarlo con sue frasi, inviarmi il risultato o farne quel che gli pare.


<script language=JavaScript>
<!-- Random Poems Generator 1.9 Genera NumeroVersi frasi casuali scegliendole tra NumeroFrasi frasi predefinite

function CreaTabella(n) {
this.length = n;
for (var i = 1; i <= n; i++) {
this[i] = 0 }
return this
}

function Generatore() {

var NumeroFrasi=114;
var NumeroVersi=3;

var messages = new CreaTabella(NumeroFrasi);
messages[0]=NumeroFrasi;
messages[1]="Ancora una volta";
messages[2]="Frammenti di un'infanzia";
messages[3]="Ferma la mente";
messages[4]="Ruvide stuoie per dormire";
messages[5]="Incendi nell'animo";
messages[6]="Altalena immobile";
messages[7]="Non sfiorisce l'immagine dei campi";
messages[8]="Il canto delle rane giù nel canale";
messages[9]="Nel fragoroso silenzio d'argento";
messages[10]="Dentro inutili armature";
messages[11]="Fermando il tempo";
messages[12]="Discorsi e risa nel cortile";
messages[13]="Calice d'ambrosia";
messages[14]="Ebrezza malinconica negli sguardi";
messages[15]="Chi sono i nostri Maestri?";
messages[16]="Mai dire bugie alla luna";
messages[17]="Sonno come piombo";
messages[18]="Segnale lontano richiama al ritorno";
messages[19]="Inutile pretesa di rispettabilità";
messages[20]="Congiunzione degli opposti";
messages[21]="Incantesimo mal pronunciato";
messages[22]="Trascrivere emozioni pensando a nulla";
messages[23]="Non temere la Tempesta";
messages[24]="Fragole senza gusto";
messages[25]="Cespugli ondeggianti nel vento";
messages[26]="Arriva il tarlo del pentimento";
messages[27]="Occhi nascosti nel buio";
messages[28]="Arance sbucciate rozzamente";
messages[29]="Incubi di cartapesta";
messages[30]="Regalo della Domenica";
messages[31]="Rincorrersi per le stanze";
messages[32]="Il sublime gioco dell'Esitazione";
messages[33]="Maciullati i propositi senza discernimento";
messages[34]="Attimi sospesi nel vuoto";
messages[35]="Esausto incalzare dell'intenzione";
messages[36]="Fiore di plastica in un vaso";
messages[37]="Noncuranza per i dettagli";
messages[38]="Luci di incommensurabile bellezza";
messages[39]="Cercami ancora nel tempo del rimpianto";
messages[40]="Riposti come reliquie i fatui nascondimenti";
messages[41]="Fiamme ardenti nel mio cuore";
messages[42]="Anni e mesi e giorni e ancora adesso";
messages[43]="Eppure il mio cuore non è di paglia";
messages[44]="Corse folli nel vuoto di una giornata";
messages[45]="Dissipato il tempo e l'energia";
messages[46]="Cadono lentamente dagli alberi i pensieri";
messages[47]="Come credere che questo abbia un senso?";
messages[48]="Ponte ormai crollato di sassi e fango";
messages[49]="Che ne sarà di tanto sforzo?";
messages[50]="Seppi subito di aver trovato l'Amore";
messages[51]="Desiderio avvolto in una stoffa";
messages[52]="Premonizione in ritardo";
messages[53]="Non sembra vero";
messages[54]="Spazzacamino del mio animo";
messages[55]="Gusci di noce sparsi in terra";
messages[56]="Cancellato ogni fremito";
messages[57]="Nulla può scalfire questa visione";
messages[58]="Non dirò una parola";
messages[59]="Polipo della disdetta";
messages[60]="Ieri sarà domani";
messages[61]="Domani sarà ieri";
messages[62]="Il luccichio del fiume invita alla fantasticheria";
messages[63]="Odore di legna arsa";
messages[64]="Anitre strepitano nel lago artificiale";
messages[65]="Improvvisi presagi di Primavera";
messages[66]="Ecco la pioggia inondare la scura terra";
messages[67]="Giorni sempre più lunghi";
messages[68]="Forme illusorie nei giochi di luce";
messages[69]="Giorni sempre più corti";
messages[70]="Scricchiolio sommesso di quieti giganti";
messages[71]="Gialle sirene di luce roteante";
messages[72]="Giocando con le aspettative";
messages[73]="Vuoto assoluto, nulla santo";
messages[74]="Lasciami dove comincia la notte";
messages[75]="Identità mancate";
messages[76]="Briciole di una reminiscenza";
messages[77]="Dissolta la gloria dei tempi passati";
messages[78]="Lampade a petrolio per far luce";
messages[79]="Vagando nel giardino dei sogni";
messages[80]="Migliaia di suoni nel mio orecchio";
messages[81]="Fame e sete e voglia di scappare";
messages[82]="Stringerti a me ancora più forte";
messages[83]="Turbine di mancamento";
messages[84]="Gemme preziose nel palmo della mano";
messages[85]="Innocenza mista a follia";
messages[86]="Assorto nello spazio di un respiro";
messages[87]="Semplice fraintendimento";
messages[88]="Futili motivazioni";
messages[89]="Cemento nei loro sorrisi";
messages[90]="Rifiutando la paura";
messages[91]="Guardami oltre questa superficie";
messages[92]="Non si potrebbe fare di meglio";
messages[93]="Gemme preziose nei tuoi occhi";
messages[94]="Lento scorrere dell'esistenza";
messages[95]="Vanità nei discorsi";
messages[96]="Carboni ardenti sotto la mia lingua";
messages[97]="Gesto rapido di un lancio di dadi";
messages[98]="Le tue sconfitte saranno ripagate";
messages[99]="Non chiedo niente in cambio";
messages[100]="Quieto blaterare del traffico cittadino";
messages[101]="Sembra forse poetico?";
messages[102]="Delirando nel cuore della notte";
messages[103]="Dolce melodia priva di note";
messages[104]="Scommessa contro il destino";
messages[105]="Fantasma della mia stoltezza";
messages[106]="Caffè amaro al risveglio";
messages[107]="Consigli a cui non si dà peso";
messages[108]="Bastare a sè stessi";
messages[109]="Raccogliendo alloro nel giorno dei morti";
messages[110]="Arriva qualcuno a chiamarmi";
messages[111]="Cos'altro potrei dire?";
messages[112]="Biglietto ferroviario da timbrare"
messages[113]="Scrutando l'orizzonte"
messages[114]="Minuscoli insetti si inseguono in volo"
messages[115]=""

for (x=1; x <= NumeroVersi; x++) {
var Num=Math.ceil(Math.random()*NumeroFrasi);
document.write("<center><b><font size=3 face=arial,helvetica color=black>" + messages[Num] + "<font></b></center>");
}

}

Generatore();
//End Script -->
</script>

Lo script è stato creato da MaxReen, che ha modificato il vecchio codice e ne ha riscritto una nuova versione più "compatta".
Grazie ancora, tra un pò ci scriverà una nuova versione 2.0!