Autor: Danijel Turina
Datum: 2009-01-17 09:52:44
Grupe: hr.alt.magija
Tema: Re: sumnja
Linija: 49
Message-ID: gks68n$1c3$1@ss408.t-com.hr

Zli_Zec wrote:
> Poruke su ti NEČITLJIVE, honey-bunny.

To što su nečitljive, to bi se još dalo riješiti. Ali ono što je
tragično je sadržaj, koji izgleda tako da bih ga mogao bez ikakvih
problema generirati skriptom, mogao bih napisati kod koji bi generirao
takve felixoidne outpute na temelju jednostavne sintaktičke analize
inputa, isto kao što se trashere dalo bez problema emulirati takvom
skriptom toliko dobro da nitko ne bi mjesecima primjetio razliku da nije
namjerno naglašena. Naprosto skripta pogleda ima li određenih ključnih
riječi ili fraza u inputu, i iz baze od par sličnih mogućnosti baca
generičke felixarije na output. Tu tako nema ničega, da je upravo
odsutnost ono što definira stvarni sadržaj.

Da vidimo kako bi to izgledalo u malo slobodnijem pseudokodu:

case syntax_parse(input) is:
	ugrozen: echo rephrase_to_invert(input);
	osjeca_se_glupo: echo ("Ti si glup", "Ispran ti je mozak", "Otiso si u
qrac");
	spominje_se_Danijel: echo ("On je lud", "Proglasio je sebe za Boga",
"Prije je bio predan Bogu a sad je sebe proglasio za Boga");
	parse_failed: echo ("A da ti pocnes citat S JEBENIM RAZUMJEVANJEM sto
pisem.", "Da te malo PODUCIM:"+random_generic_trivia);
	osjeća_se_nesigurno: echo (random_bahata_izjava + random_generic_trivia);
	opasno_ugrožen: echo ("Ovo je LAZ!", "LAZES!", "Astral, ovo je sve
ASTRAL" ...);
				
else fail("Drustvo, bilo je previse poruka pa sam sve pobrisao", "Imam
neku guzvu s poslom, cujemo se iza prvog", "Mailer se zaigrao i pogubio
poruke, daj posalji ponovo");


U osnovi, trebalo bi napisati jednostavan sintaktički parser kao
funkciju koja vraća integer vrijednost na temelju koje switch
determinira output. Druga funkcija koju bi trebali napisati je
rephrase_to_invert, nešto kao oni botovi koji svaku frazu pretvore u
pitanje, ili u ovom slučaju kad Felixu veliš "lažeš" on odgovori "ne, ti
lažeš", kad mu veliš da je lud, on veli "ne, ti si lud". Ostalo su
trivijalne funkcije koje dobivaju array kao parametar i daju
array[random(1, count(array))] kao output. Kad je bot gotov, napravi se
nntp klijentska skripta koja se svakih par sati spoji na news server,
sintaktički proparsa poruke kako bi ustanovila gdje se spominje Felix u
kontekstu koji ga ugrožava, ta poruka se pusti u bot kao input, i od
outputa se generira poruka na newse, koja se stavi u outgoing queue,
koji se pošalje na idućem eventu.
	
-- 
http://www.danijel.org/