Programmazione a livelli talmente alti che serve la bombola d’ossigeno.
Autore: Sig. Tolleranza
Recentemente mi son ritrovato a dover risolvere problemi tutt’altro che immediati che esulano fortemente dal mio ambito di lavoro standard.
Per esempio, come convincere i miei coinquilini che pagare 8 euro l’anno in più per avere il doppio non sia poi così malaccio.
Siccome io credo nell’Open Source e nel libero scambio di codice, pubblico di seguito l’algoritmo usato.
Una sua applicazione si può vedere nel log della chat MSN 2 post sotto.
public static void main()
{
// Approccio pessimistico: i miei coinquilini sono 2 mentecatti restii alle novità
bool propostaAccettata = false;
// Finché non accettano...
while (!propostaAccettata)
// Controlla che siano ancora attivi i nodi di comunicazione
if ((ping(cecil) == false) || (ping(hakai) == false))
{
// Evento imprevisto... (Possibile morte di uno dei tuoi amici)
print('OMG. WTF? LOL. byez!!1');
// Fine della conversazione
break;
}
// ... altrimenti, se c'è dialogo ...
else
{
// Di un frase a caso per attirare l'attenzione
print(strFrasiSaluto[random(10)]);
// Attendi 3 secondi
sleep(3000);
// Cerca di convincerli che la tua proposta è la cosa giusta da fare
print(strFrasiChePeroranoLaTuaCausa[random(10)]);
// Attendi 3 secondi
sleep(3000);
// Se hanno detto si...
if (Convert.Bool(read(streamDialogo)) == true)
{
// ...Ce l'hai fatta!!!
propostaAccettata = true;
// Saluta i tuoi amici, felicemente.
print('Ok, grazie. Ciao!');
}
}
}
Ah, ecco come fai.
Bene.
La prossima volta vedrò di mandarti in deadlock il thread prima del ritorno dalla sleep.

hakai | 30 Gennaio 2008, ore 15:04che nerd
cecil | 30 Gennaio 2008, ore 20:11