Nuova pagina delle webcams di Trieste e dintorni

May 25th, 2008

webcamTempo fa ho cercato e raggruppato assieme un po’ tutte le webcam di Trieste e delle zone limitrofe (per scopi meteorologici)… da qualche giorno le ho sistemate direttamente qui nel mio blog nella pagina statica Webcam Trieste. Le pagine statiche, non essendo incluse nel feed del blog, passano spesso inosservate… ecco perché ho pensato ad una breve segnalazione da qui. Appena ho un po’ di tempo inserirò nella pagina uno script per effettuare lo zoom delle immagini, in modo che si possano leggere agevolmente data e ora dello snapshot corrente. Se siete appassionati di meteo come me, allora credo che vi convenga aggiornare i vostri bookmarks :-)

Un semplice calendario perpetuo

April 27th, 2008

Un semplice e banalissimo calendario perpetuo, questo è quello che vi propongo oggi. Si tratta di un file Excel che creai nel lontano 2003 (quando ancora usavo Winzozz… perdonatemi l’xls!) per puro diletto personale, ed ora mi è sembrato utile riproporlo al pubblico sul mio blog. Il file contiene due fogli: il primo si chiama “Calendario” e serve per il calcolo manuale del giorno della settimana tramite un sistema di incroci su tre tabelle; il secondo si chiama “Form di calcolo” e contiene un po’ di codice VBA per effettuare il calcolo automaticamente. Su Windows XP il calendario è limitato dal 1980 al 2099 e fu così che invece che cercare un programmino sul web decisi di arrangiarmi… inoltre anche il calendario che uso ora su Debian risulta essere inaffidabile: benché possa spostarsi di secoli e secoli indietro od avanti nel tempo, sembra completamente ignorare l’esistenza della riforma gregoriana dell’ottobre del 1582, che sostituì il vecchio calendario Giuliano con quello Gregoriano appunto.

Errore del calendario su Gnome Panel

Infatti, mentre il 15 ottobre 1582 era effettivamente un venerdì, il giorno 4 ottobre 1582 era un giovedì e non un lunedì! Inoltre i giorni dal 5 al 14 ottobre 1582 inclusi non sono mai esistiti e furono letteralmente cancellati dalla riforma di papa Gregorio XIII. Detto questo, il foglio Excel si rivela utile sia per il calcolo automatico che soprattutto per quello manuale, è infatti comodo stamparsi il primo foglio con le tabelle e tenerlo nel portafogli per un rapido calcolo in situazioni di emergenza :-)

Nel file zip disponibile per il download Download ho incluso anche un pdf del primo foglio per un’eventuale stampa. Peccato che sulla mia versione di OpenOffice, la 2.0.4, non funzionino le macro e mi tocchi avviare VMWare… uffa! Su M$ Office bisogna comunque ricordarsi di impostare un livello di protezione adeguato per l’esecuzione di macro (dal menu Strumenti -> Macro -> Protezione). A suo tempo avevo agganciato una firma digitale autofirmata e autoaccettata come proveniente da fonte attendibile solo per poter eseguire le macro anche in modalità di protezione elevata. Si può tranquillamente rimuovere la firma senza incorrere in problemi di funzionamento. Buon divertimento!

Open stickers a gogò

April 10th, 2008

In un momento di noia totale mi sono reso conto che il mio laptop tutto grigio era proprio triste, così dopo aver scoperto il sito Free Software Sticker Book non ho esitato ad agghindarlo per le feste :mrgreen:
Bellissimo, nevvero?

Non avendo carta fotografica adesiva a disposizione ho stampato su carta comune, ricoperto con scotch il fronte e con scotch biadesivo il retro, il risultato sono dei bellissimi adesivi che nulla hanno da invidiare a degli adesivi veri. Unica seccatura: bisogna avere molta pazienza per ritagliare i bordi con estrema precisione.

PS: ok, Barney Gumble non c’entrava niente, ma era troppo divertente e l’ho stampato lo stesso… lo piazzerò sul retro!

Risponditore automatico per Pidgin in Python

April 6th, 2008

Pidgin è veramente un programma dalle mille risorse: giorno dopo giorno trovo sempre il modo di ampliarne le funzionalità, di personalizzarlo e di aggiungere qualcosa di utile o divertente. Le features di base sono già notevoli, tanto per citare le 3 funzionalità più particolari a cui non potrei più rinunciare:

  • possibilità di vedere se un contatto vi ha rimosso dalla sua lista, molto comodo per sapere chi non vi vuole più parlare :-(
  • possibilità di disabilitare la notifica ai contatti mentre state digitando loro un messaggio, così non lasciate trasparire indecisioni o lentezza…
  • possibilità di loggare tutti i cambiamenti di stato dei contatti, ideale per vedere ad esempio chi si è connesso un attimo mentre non eravate al pc

Oltre a ciò vi sono una moltitudine di plugins, alcuni già installati assieme al pacchetto di base e molti altri scaricabili dalla rete. Anche tra i plugins ve ne sono alcuni di cui veramente non potrei più fare a meno, ovvero:

  • Psychic Mode, per anticipare i vostri amici e sapere quando stanno per scrivervi… un vero must per gli psicotici1 come me :shock:
  • gSMS, che vi notifica tramite sms se qualche contatto vi ha scritto mentre non eravate al pc, sfruttando il servizio sms di Google Calendar
  • Text replacement, ottimo per correggere errori ortografici oppure per trasformare letteralmente il vostro gergo in chat (effetto assicurato!)

Altra comodità sono i Buddy Pounces che vi permettono di pianificare tutta una serie di azioni in seguito ad eventi relativi ai vostri contatti. Detto in questi termini è molto riduttivo, perché in effetti le possibilità offerte sono veramente molto numerose, anche se non del tutto complete. Tuttavia se credete che le potenzialità siano terminate vi sbagliate, infatti è possibile interagire con Pidgin anche tramite D-Bus2, un sistema IPC altamente flessibile con il quale le possibilità di estensioni diventano praticamente illimitate!

Pidgin logoMolto probabilmente sulla vostra linux-box avete già installato Python, mentre invece potreste non avere installata l’interfaccia per l’uso di D-Bus da Python, in tal caso provvedete ad installare il pacchetto python-dbus prima di cominciare a scrivere i vostri scripts. Ora che tutto il necessario è installato non resta che lavorare di fantasia e utilizzare un qualsiasi editor di testo. Il primo script che ho sentito l’esigenza di scrivere è stato un risponditore automatico personalizzabile per singoli contatti e che potesse inviare come risposta l’output di un comando arbitrario, in modo da renderlo molto flessibile. Per aggiungere un pizzico di divertimento vi propongo l’integrazione con il famoso generatore di frasi casuali Polygen, che formalmente è un interprete di un metalinguaggio che permette di definire linguaggi. Potete installarlo comodamente dai repositories, i pacchetti si chiamano polygen e polygen-data. Le grammatiche messe a disposizione sono molto numerose, le potete trovare catalogate all’interno di /usr/share/polygen/ e per poterle usare basta passarle come parametro all’applicativo polygen, ad esempio se volete una frase sul mondo della programmazione ad oggetti digitate:

polygen /usr/share/polygen/ita/oop.grm

Ed otterrete un’esilarante frase tipo questa: “Apriamo la struttura della classe Rockerduck. State attenti. Se osservate bene, il campo DoWriteElement è private. In effetti potremmo chiederci la ragione di quest’apparente complicazione: eh, non è facile: del resto lo sviluppatore non sono io, non so cos’aveva in mente chi l’ha fatto. Come faremo a salvare su XML l’attributo? Niente di più facile, basta spegnere e riaccendere. Fine. Ora fate attenzione perché è importante: se siete ancora svegli, la proprietà DequeueField è in override. C’è una ragione particolare? Purtroppo non ho capito perché sia stato implementato così in questa versione.”

Per rendere più umano il risponditore potete aggiungere una breve attesa di durata variabile prima dell’esecuzione di polygen, ad esempio con un banale comando:

sleep $(($RANDOM/5000)

Il fulcro dello script è l’istruzione import che ci permette di usare la libreria “os” per il lancio di comandi e l’utilizzo dei relativi output all’interno del codice, oltre naturalmente alla librerie fondamentali “dbus” e correlate. Per il resto il codice è piuttosto intuitivo, quindi non ha senso commentarlo e non lo inserisco nemmeno nel post per ovvi motivi di impaginazione. Il risultato finale è disponibile qui Download, scaricatelo e divertitevi a personalizzarlo a seconda delle vostre esigenze! Circa le grammatiche di polygen, le mie preferite per questo scopo sono “telefonia” e “genio”. Con la prima otterrete delle fenomenali frasi del tipo “Benvenuto al customer care RuboTel. Per tirare lo sciacquone digita 4. Sapere dove è Bin Laden e se il suo telefono è raggiungibile digita 7. Per insultare un operatore digita 9. Grazie”. Vi meraviglierete nel vedere come alcuni vostri contatti proveranno veramente a digitare una delle cifre proposte :-D La grammatica “genio” invece genera una domanda ed una relativa risposta, quindi nello script consiglio di limitarsi a scrivere la domanda con il comando:

polygen /usr/share/polygen/ita/genio.grm | head -1

In questo modo gli amici che cercheranno di contattarvi si vedranno bombardare di domande assurde del tipo “Come faccio a inserire Redhat LinuxPPC?” oppure “Non riesco a overclockare la URL a cristalli liquidi da Photoshop 98, come si fa?”. Il risultato è assicurato, ma attenzione a non abusarne :mrgreen:

Ultima nota, il controllo sull’alias all’interno della routine ReceivedImMsg può naturalmente essere utilizzato per personalizzare le risposte ai vari contatti così come anche per filtrare alcuni nick come nell’esempio dove la risposta automatica non viene inviata ai messaggi automatici di IRC da parte del server a cui ci si connette e da parte del NickServ prima dell’identificazione del proprio username.

Non vi resta che rendere eseguibile lo script tramite chmod, avviarlo, lasciarlo attivo in background ed attendere che qualcuno vi scriva un messaggio. Buon divertimento!

1. Attenzione, se non lo siete già… allora l’uso di questo plugin vi farà diventare psicotici sul serio! Se non altro agli occhi degli altri…
2. Se siete su Debian Etch come me, ricordatevi di compilare Pidgin con il supporto a D-Bus: basta aggiungere lo switch –enable-dbus quando eseguite ./configure