SiteMap Search ElispArea HowTo Glossary RecentChanges News Problems Suggestions
Jordan, Independence Day, Argentina, National Day

EmacsPaccMan

Generate automatic excuse for missed appointment. Inspired by Diavoletto_Taz (a nice hacker from Caserta) and by Sjoker (author of the original web version):

    ;;; Come usarlo:
    ;;; metti nel tuo .emacs  (load-file "/path/to/paccman.el")
    ;;; digita M-x paccman
    ;;; Se vuoi puoi associare un keybinding: (global-set-key "\C-c\C-p" 'paccman)
    ;;; Metterlo di default nelle tue email di risposta come firma: (setq 'message-signature 'paccman)
    (defun paccman ()
      "Generatore di scuse per tirare il pacco alle riunioni dell'hacklab"
      (interactive)
      (let* ((cappello 
              '("Scusa," 
                "Vi sembrerà incredibile," 
                "Da non credere," 
                "Ho fatto così tardi?" 
                "Non pensavo che succedesse tutto assieme,"  
                "E' tanto che aspettate?"  
       "Accidenti, scusate il ritardo,"  
       "Scusate il ritardo,"  
       "Mille scuse,"  
       "Non mi guardate così,"  
       "Non ci crederete mai,"  
       "Accidenti. Sapeste," 
       "Vi devo spiegare cos'è successo," 
       "Porc..." 
       "Pensate cosa mi è capitato," 
       "Pensate," 
       "Accidenti, sapeste cosa mi è successo," 
       "E' davvero imbarazzante," 
       "Mi spiace," 
       "Miseriaccia," 
       "Lo so. Sono in ritardo," 
       "Lo so di avere fatto tardi," 
       "So di aver torto," 
       "Sono proprio imperdonabile,"))
  (affermazione 
   '("ero alla mia seconda vasca" 
     "avevo appena concluso un patto col diavolo" 
     "ero appena uscito dalle lamiere dell'elicottero caduto" 
     "stavo componendo l'opera che sai" 
     "scippavo la solita vecchietta" 
     "sentivo il vento intorno a me, il telefonino trillava, il paracadute non s'apriva, le solite cose insomma" 
     "mi stavo quasi per licenziare dal consiglio d'amministrazione della Rai" 
     "avevo appena dato fuoco all'auto del vicino" 
     "mi preparavo un vodka-Martini" 
     "stavo defraggando l'hard disk" 
     "stavo mettendo ordine tra i soldatini" 
     "avevo appena iniziato un tressette col morto" 
     "stavo facendo le solite selezioni di cubiste per i miei locali" 
     "stavo giocando a pallone con Costacurta e la Colombari" 
     "mi ero alzato da un paio di minuti" 
     "ero appena evaso da San Vittore" 
     "avevo da poco lasciato i legali di Tanzi" 
     "avevo appena terminato la ricevuto il messaggio" 
     "era appena finita la partita" 
     "avevo appena chiuso la tele" 
     "era appena uscito dalla doccia" 
     "sì certo... " 
     "sapete ci tenevo proprio" 
     "ce l'avevo quasi fatta" 
     "c'ero quasi" 
     "volevo farlo" 
     "m'ero messo in moto" 
     "era tutto pronto" 
     "purtroppo" 
     "infatti" 
     "è vero" 
     "l'avrei anche fatto" 
     "(con voce da undicenne) volevo tanto tanto" 
     "accidenti, c'ero quasi" 
     "ero appena partito" 
     "stavo per salire sul treno" 
     "avevo appena finito di scambiare le figurine col pilota dell'aereo" 
     "ho messo in moto il bolide" 
     "sono salito sul bus" 
     "avevo anche messo il vestito buono" 
     "avevo appena chiuso il contratto con la casa discografica" 
     "avevo appena prenotato per la crociera" 
     "mi ero appena levato il costume da Batman" 
     "ero giusto sfuggito a quegli uomini di Don Vincenzo" 
     "avevo appena finito l'esame di guida, stavolta senza incidenti" 
     "ero appena sfuggito alla mala"))
  (ma 
   '("ma"  
     "però"  
     "è successo che"   
     "peccato che, proprio in quel momento"  
     "giusto allora"  
     "manco a farlo apposta" 
     "quando" 
     "ma siccome" 
     "dato che ci tenevo, però" 
     "purtroppo, in quel momento" 
     "allora" 
     "quasi subito" 
     "in un attimo" 
     "in un niente" 
     "in un paio di minuti" 
     "dopo un attimo" 
     "subito dopo" 
     "poco dopo" 
     "all'improvviso" 
     "contemporaneamente" 
     "quando, fatti un paio di metri," 
     "quando, girato l'angolo," 
     "non potete capire,"))
  (cosa 
   '("ho avuto i miei soliti impegni istituzionali" 
     "dovevo commentare un articolo su 81100.eu.org'" 
     "sono finito sotto una valanga" 
     "sono finito sotto una mandria di bufali" 
     "c'erano le cavallette" 
     "c'è stata un'inondazione" 
     "ho fatto uno col dado da venti" 
     "sono rimasto invischiato nell'asfalto fresco" 
     "ho provato ad approfittare dei saldi" 
     "mi ha ccatturato l'uomo ragno" 
     "sono stato scambiato per un alieno" 
     "sono rimasto chiuso in ascensore" 
     "è caduto un elicottero" 
     "hanno quasi scoperto la mia identità segreta" 
     "il lavoro mi ha trattenuto" 
     "l'ufficio mi ha trattenuto" 
     "s'è arenata una balena" 
     "mi hanno picchiato in dieci" 
     "sono stato arrestato" 
     "sono stato rapinato" 
     "ho dovuto sventare una rapina" 
     "sono sceso a comprare le sigarette" 
     "ho dovuto salvare il gatto che era rimasto bloccato su un albero" 
     "c'era traffico" 
     "ho fatto tardi" 
     "c'era uno stormo di folaghe" 
     "c'erano le macchie solari" 
     "c'è stato un terremoto" 
     "è morto il gatto" 
     "mio nipote ha fatto la pupù" 
     "mi sono perdutamente innamorato" 
     "il cavallo del vicino si è imbizzarrito ed ho dovuto abbatterlo" 
     "il cavallo del vicino si è imbizzarrito ed ho dovuto abbatterlo. No, il cavallo, non il vicino. Come dove?" 
     "i computer sono tutti impazziti. C'era una spece di conto alla rovescia con uno barbuto che rideva" 
     "c'è stata un'onda anomala" 
     "un piccolo roditore ha rosicchiato la gamba della sedia del presidente" 
     "ho scoperto di aver preso la febbre africana" 
     "ho incontrato Byron Moreno disarmato e mi sono fermato a farci due chiacchiere" 
     "ho incontrato Tyson mentre raccontavo quella barzelletta del negro" 
     "sono stato catturato dagli alieni" 
     "non mi si è aperto il paracadute" 
     "ho inavvertitamente premuto il pulsante dell'autodistruzione" 
     "ho perso le chiavi del sottomarino" 
     "ho trovato la mappa di un tesoro e l'ho seguita" 
     "mi hanno arrestato e chiuso in una cella insieme a due scaricatori vestiti alla Dolce e Gabbana presi" 
     "mi sono perso in un bicchiere d'acqua molto grande" 
     "si erano persi certi documenti e, pensate, ho dovuto rifare tutto il servizio militare. Intanto le carte erano" 
     "mi sono svegliato" 
     "ho sentito una strana musica e l'ho seguita" 
     "mi sono fermato un attimo a salvare il mondo" 
     "sono stato coinvolto in una rissa" 
     "ho affondato la barca di papà" 
     "ho fatto appena in tempo a sventare un complotto contro sua maestà" 
     "ho dovuto sostituire Del Piero" 
     "sono partito quel viaggio premio" 
     "ho avuto un'amnesia" 
     "sono svenuto" 
     "mi sono addormentato" 
     "ho dovuto completare il compito di fisica" 
     "ho dovuto avvertire la nasa del meteorite che ho scoperto. E' diretto proprio" 
     "sono stato investito" 
     "ho dovuto fare la spesa" 
     "sono dovuto partire per il servizio di leva" 
     "ho trovato un lavoro" 
     "mi hanno ipnotizzato" 
     "mi hanno drogato" 
     "c'era la partita" 
     "c'era la riunione di condominio" 
     "sono andato a votare" 
     "mi sono ubriacato" 
     "dato che sono stato assunto da poco, così quando c'è qualche rogna mandano me" 
     "ho scoperto d'aver sbagliato fuso orario" 
     "una pianta carnivora m'ha afferrato" 
     "una zingara mi ha sedotto" 
     "mi ha convocato il papa che vuole un consiglio sulla procreazione assistita" 
     "avevo una riunione con il casertalug" 
     "dovevo dormire perchè stanotte il mio uccello s'è messo a dialogare con Del Piero e nn mi ha fatto dormire" 
     "dovevo mettermi sul tetto a guardare il cielo perchè se vengono gli ufo mi rubano le salsicce che stanno seccando" 
     "devo fare le misure delle porte della casa" 
     "avevo judo" 
     "sono stato sodomizzato dagli ufo" 
     "avevo nuoto" 
     "mi hanno rubato l'orologio" 
     "avevo il corso di aerobica solferina thailandese" 
     "ha bucato il treno" 
     "avevo da riallineare il modem" 
     "dovevo incontrare un amico delle medie che non vedevo da anni" 
     "dovevo incontrare un amico di quando facevo scuola guida"))
  (dove 
   '("sotto casa" 
     "a Zanzibar" 
     "sul web" 
     "a Singapore" 
     "davanti a me" 
     "in Cina" 
     "ad Ascoli Piceno" 
     "in autostrada" 
     "sul palazzo di casa" 
     "nel giardino del parco" 
     "per strada" 
     "sulla banchina" 
     "al porto" 
     "dove avevo parcheggiato la macchina" 
     "alla posta" 
     "alle mie spalle" 
     "sulla litoranea" 
     "sulla Salerno Reggio Calabria" 
     "ad Ischia" 
     "a Cantù" 
     "nella zona industriale" 
     "a scuola" 
     "in ufficio" 
     "al bar" 
     "in strada" 
     "a mare" 
     "nel garage" 
     "in Scozia" 
     "al polo" 
     "a Maranello" 
     "nello stadio" 
     "in palestra" 
     "in cucina" 
     "a Tokio" 
     "alla fermata del bus" 
     "sotto il ponte" 
     "qui dietro" 
     "laggiù" 
     "in laboratorio" 
     "al club" 
     "sul server" 
     "in Equador" 
     "al molo turistico" 
     "dal mio meccanico" 
     "qui vicino" 
     "sul ponte mobile" 
     "sulla pista di bob"))
  (commento 
   '("Oh, è stato davvero orribile..." 
     "Scusate" 
     "Perdonato?" 
     "E voi vi lamentate? Non avete cuore!" 
     "Roba da televisione. Che facciamo adesso?" 
     "Potrete mai perdonarmi?" 
     "Adesso però è tutto passato" 
     "Però, a pensarci bene, non ci ho mica messo tanto." 
     "Scusatemi" 
     "Sorry" 
     "Mi perdonate?" 
     "Mi spiace molto." 
     "Mille scuse" 
     "Prometto che non lo farò più" 
     "Parola mia da adesso sarò puntuale" 
     "Rimandiamo?"))
  (result (reduce 'concat
		  (mapcar (lambda (pezzo) (concat pezzo " "))
			  (mapcar (lambda (parte) (nth (random (length (symbol-value parte))) (symbol-value parte))) 
				  '(cappello affermazione ma cosa dove commento)))
		  :initial-value "")))
    (if (interactive-p)
	(insert result)
      result)))
    ;; the code avobe throws me an error: Symbol's function definition is void: reduce
    ;; I've replaced the (result block width the following (tested with emacs 21 & 22):
    ;; (result (apply 'concat 
    ;;		 (mapcar (lambda (pezzo) (concat pezzo " "))
    ;;			 (mapcar (lambda (parte) (nth (random (length (symbol-value parte))) (symbol-value parte))) 
    ;;				 '(cappello affermazione ma cosa dove commento)))
    ;;		 )))