Notice: Constant ABSPATH already defined in /home/mcalamel/public_html/wp-config.php on line 23
Just another blog… » 2006

Archive for 2006

Oct. 11, 2006

Posted by massi in Uncategorized | No Comments

Oct. 10, 2006

Posted by massi in Uncategorized | No Comments

Come da oggetto, ecco una nuova patch per Phasis relativa al (mio) modulo di configurazione.
Rispetto alle altre volte ho deciso di scrivere qualche cosa perche’, pur avendo un impatto minimo su una installazione gia’ funzionante, richiede comunque delle modifiche al file di configurazione default.cfg.
Modifiche che comunque si riassumo in una aggiunta di diverse linee di commenti opportunamente formattate, e da qui’ la scarsita’ dell’impatto sul sistema.
Piccola annotazione: la patch sovrascrivera’ il vecchio file di configurazione, percio’ consiglio un backup prima di applicarla.
Il sistema di creazione dei controlli relativi alle opzioni e’ intelligente e completamente realizzato a runtime, a meno dei controlli fondamentali come i panel, i sizer e la struttura base del notebook.
Di seguito un piccolo help per capire come e cosa ho modificato nel file di configurazione.

Vecchio file:

# ------ Impostazioni di rete
[Server]
#Address=0.0.0.0
Port = 0

# ------ Impostazioni di linguaggio
[Language]
# Italiano = IT  ; English = EN ; Spanish = SP
spk = IT

Nuovo file:

# ------ Impostazioni di rete
[Server]
#sectAlias@@Rete
#sectDesc@@Impostazioni relative alla rete
#opt__Port@@Porta@@int@@tc
#Address=0.0.0.0
Port = 0

# ------ Impostazioni di linguaggio
[Language]
#sectAlias@@Lingua
#sectDesc@@Impostazioni relative alla lingua
#opt__spk@@Lingua@@str@@cb@@Italiano:IT%Inglese:EN%Spagnolo:SP
# Italiano = IT  ; English = EN ; Spanish = SP
spk = IT

Le modifiche sono piuttosto chiare, ed effettivamente si limitano a dei commenti (particolari).
I miei commenti sono di due tipi, uno relativo alla sezione (Server e Language nell’esempio) e uno relativo alle opzioni (Port e spk).
I commenti di sezione cominciano con “sect”, e proseguono o con “Alias” per una stringa piu’ user-friendly rispetto al nome della sezione, oppure con “Desc” per una descrizione stringata di cio’ che riguarda la sezione. Il separatore, chiaramente, e’ una doppia @.
I commenti di opzione sono un po’ piu’ complessi, dovendo contenere informazioni differenti: vediamo un po’ di spiegare la formattazione.
Un template di struttura puo’ essere il seguente:

opt__nomeopzione@@alias@@dato@@controllo[@@key:val%key:val]

Il campo opt__nomeopzione si spiega da se, come del resto il campo alias, mentre un discorso a parte va fatto per gli altri campi.
Il campo “dato” indica il tipo di dato che l’opzione puo’ contenere e che viene validato in fase di modifica del campo stesso, e puo’ essere “int” per un intero, “str” per una stringa o “bool” per uno 0 o un 1.
Il campo “controllo” indica il tipo di controllo che rappresenta l’opzione, e puo’ essere “tc” per un TextControl, “ml” per un TextControl multilinea, “rb” per un RadioBox e “cb” per un ComboBox.
I campi indicati fino a qui (opt__nomeopzione, alias, dato, controllo) sono necessari, mentre l’ultimo campo, indicato tra parentesi quadre nell’esempio di struttura e’ richiesto solo se il tipo di controllo e’ “cb”, e contiene una serie di coppie chiave/valore separate da il carattere %, che andranno a riempire in ComboBox.

E questo e’ quanto, in caso di altre delucidazioni contattatemi pure. Per chiudere, ribadisco che il modulo, per funzionare, ha bisogno di un file di configurazione di nuovo tipo, e che applicando la patch il vecchio file verra’ sovrascritto, percio’ fate un backup del vecchio prima di applicare la patch, se avete apportato modifiche.

Alla prox

Posted by mcalamelli in Opensource, Python | No Comments

Oct. 6, 2006

Posted by massi in Uncategorized | No Comments

Sep. 26, 2006

Ieri sera ho selezionato alcune delle foto che abbiamo fatto durante le ferie di agosto, ecco il set su Flickr

Posted by mcalamelli in Uncategorized | No Comments

Ciao a tutti, eccomi nuovamente alla tastiera dopo (e durante) un periodo incasinato, come al solito…
Ecco un piccolo elenco:

  • Ferie : sono andate benissimo, abbiamo visitato dei posti molto belli, e anche il tempo si e’ dimostrato abbastanza benevolo! Avevamo paura che i posti da visitare (Cinque Terre e Garfagnana) potessero essere complicati da visitare con il passeggino, ma alla fine, con il nostro solito spirito di adattamento abbiamo avuto pochi problemi. Non appena avro’ qualche minuto (bella battuta, eh?) vedro’ di postare qualche foto, ne abbiamo di belle! Ultima considerazione: mi manca il campeggio…
  • Blog : ho virtualmente perso le statistiche di accesso! Utilizzavo php-stats, e mi sembrava fato bene, con diverse viste sui dati, e la previsione sugli accessi mi faceva comodo, ma un bel giorno gli admins di Netsons si sono accorti che conteneva delle funzioni che andavano contro le loro policy, e giustamente (si, giustamente, anche se alla fine ci ho quasi rimesso i dati) hanno disattivato gli accounts che lo utilizzavano, finche’ questi ultimi non avessero rimosso php-stats. Anche io ho fatto così, e sono passato a SlimStat, ma con i dati aggiornati al 20 settembre… Prima ho detto che ho virtualmente perso le statistiche: i dati ce li ho ancora, ma non ho ancora capito se e come adattarli per le tabelle di SlimStat, se qualcuno sa come mi contatti!!!!
  • Lavoro : causa cambiamento di priorita’, il lavoro relativo ai moduli GSM/GPRS della Telit con Python builtin e’ slittato a data da destinarsi, ma nel frattempo e’ saltato fuori un progettino interessante con una mobo EPIA della Via, per ora impostato con WinXP Embedded, ma sarei proprio un fesso a non cercare una soluzione basata su Linux…
  • Phasis : dopo una prima, semplicissima patch per correggere un problema di visualizzazione nel modulo help ho cercato di rendere disponibile all’utente di Phasis un modulo che permettesse la modifica delle opzioni di configurazione all’interno del programma stesso, senza dover editare a mano il file default.cfg. Le critiche al mio lavoro sono state veramente ottime e precise, e gli utenti che hanno provato il modulo mi hanno indicato chiaramente i problemi e i bug (e le possibili soluzioni a questi) presenti nel modulo. Grazie al loro contributo li sto sistemando, in modo che il modulo sia funzionale.

Inoltre, sto facendo l’inserimento della Franci al nido, ed e’ veramente bravissima, si trova bene sia con le dade che con gli altri bimbi. Sono veramente contento!!

Alla prox

Posted by mcalamelli in Uncategorized | No Comments

Jul. 28, 2006

Finalmente ci siamo, domani parto per le tanto agognate ferie!
Mi aspettano due belle settimane di relax (speriamo!), una vicino alle Cinque Terre e una in Garfagnana, vicino a Lucca.
Ritornero’ online verso il 21 agosto, con un sacco di belle foto e alcuni progetti interessanti in Python: il primo e’ l’utilizzo del sottosistema Python inserito all’interno dei moduli GSM/GPRS della Telit, il secondo e’ una partecipazione piu’ attiva al progetto Phasis, il gestionale opensource scritto appunto in Python.

Alla prox

Posted by mcalamelli in Uncategorized | No Comments

Jul. 12, 2006

Ciao a tutti, rieccomi online in un periodo veramente incasinato sia per quanto riguarda il lavoro (ultime produzioni pre-ferie) sia per il privato (pianificazione ferie!).
Scrivo questo post per rendere pubblico il mio lavoro di transizione da Thunderbird a Sylpheed sotto XP. Generalmente mi trovo a dover gestire tre account di posta, due attivi (lavoro e Gmail) e uno in fase di chiusura (Email.it), con un totale di 73(!) cartelle di posta nelle quali vengono smistate le email che mi arrivano, alcune delle quali con pochi messaggi, ma con altre contenenti, a oggi, fino a 7854 messaggi (la mailing list Php-it di Ziobudda). Ho usato Thunderbird sin dalle prime versioni e devo dire che e’ un ottimo client di posta, ma purtroppo e’ un po’ troppo esoso di risorse per le mie esigenze: qui al lavoro sono abituato a tenere aperti almeno 5 programmi assieme, e i 30MB di memoria che mi occupa, sia aperto che ridotto ad icona, mi danno fastidio.
Mi sono guardato in giro, e ho scelto Sylpheed: veloce e leggero, basato sulle librerie GTK+ (che su XP girano veramente bene), utilizza il formato MH (un file per ogni mail), ed e’ comunque in grado di importare/esportare file mbox.
L’importazione da Thunderbird e’ avvenuta perfettamente sia per quanto riguarda le email che per la rubrica (in formato LDIF), e i filtri per la gestione delle mail in arrivo li sto riscrivendo man mano mi servono; lo spam lo gestisco tramite il supporto integrato a bsfilter. I dettagli relativi all’occupazione di memoria sono questi: aperto 16MB, ridotto a icona 4,2MB , e mi sembra un ottimo risultato. Ho rilevato solo due funzionalita’ mancanti, che ritengo utili: 0) un qualche tipo di notifica all’arrivo di una mail, 1) la possibilita’ di impostare come azione di un filtro il forwarding della mail ad un indirizzo di posta. Ma ci ho messo del mio, e il punto 0) l’ho risolto con un programmino scritto da me, che viene lanciato da Sylpheed all’arrivo di una mail, facendo comparire una icona nella traybar e chiudendosi al click sull’icona stessa. Lo zip dell’eseguibile lo trovate qui, mentre lo zip dei sorgenti (Delphi7) e’ qui; per la visualizzazione dell’icona ho utilizzato il componente CoolTrayIcon.

Ecco un po’ di codice…

trayNotifier.dpr

  1. program trayNotifier;
  2.  
  3. uses
  4.   Windows,Forms,
  5.   TTrayNotifier in ‘TTrayNotifier.pas’ {Form1};
  6. var
  7.   Mutex : THandle;
  8. {$R *.res}
  9.  
  10. begin
  11.   Mutex := CreateMutex(nil, True, ‘trayNotifier’);
  12.   if (Mutex <> 0) and (GetLastError = 0) then
  13.   begin
  14.     Application.Initialize;
  15.     Application.ShowMainForm:=False;
  16.     Application.CreateForm(TForm1, Form1);
  17.     Application.Run;
  18.     if Mutex <> 0 then
  19.       CloseHandle(Mutex);
  20.   end;
  21. end.

Da notare la parte relativa al mutex e al ShowMainForm settato a False: il primo consente l’esecuzione di una istanza sola del programma, mentre il secondo non mostra la form principale.

TTrayNotifier.pas

  1. unit TTrayNotifier;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, ImgList, CoolTrayIcon, TextTrayIcon, Menus;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     TextTrayIcon1: TTextTrayIcon;
  12.     ImageList1: TImageList;
  13.     PopupMenu1: TPopupMenu;
  14.     Exit1: TMenuItem;
  15.     procedure TextTrayIcon1Click(Sender: TObject);
  16.     procedure TextTrayIcon1DblClick(Sender: TObject);
  17.     procedure Exit1Click(Sender: TObject);
  18.   private
  19.     { Private declarations }
  20.   public
  21.     { Public declarations }
  22.   end;
  23.  
  24. var
  25.   Form1: TForm1;
  26.  
  27. implementation
  28.  
  29. {$R *.dfm}
  30.  
  31. procedure TForm1.TextTrayIcon1Click(Sender: TObject);
  32. begin
  33.   Close;
  34. end;
  35.  
  36. procedure TForm1.TextTrayIcon1DblClick(Sender: TObject);
  37. begin
  38.   Close;
  39. end;
  40.  
  41. procedure TForm1.Exit1Click(Sender: TObject);
  42. begin
  43.   Close;
  44. end;
  45.  
  46. end.

Ah, dimenticavo: trayNotifier.exe va messo nella cartella contenente l’eseguibile di Sylpheed, e nelle Preferenze Comuni di quest’ultimo va spuntata la casella “Esegui il comando…” e scrivendo nel box sotto “trayNotifier.exe”, ovviamente senza apici!

Alla prox

Posted by mcalamelli in Opensource, Windows | 1 Comment

Ciao a tutti, finalmente lo studio fotografico che ha realizzato il servizio alla Novecolli ha finalmente messo in linea le foto relative all’evento, e nel sistema online ho trovato queste tre foto che mi ritraggono (si vede il watermark, ma e’ tutto quello che ho…).
Appena ho tempo passo allo studio fotografico e quelle piu’ belline le compro!

Salita a Pieve di Rivoschio: cominciano a indurirsi i muscoli

Discesa di Pieve : uno dei tratti piu' belli della gara

Barbotto : la Salita, quella con la S maiuscola

Alla prox

Posted by mcalamelli in Ciclismo | 4 Comments

Visto che non mi cagano, posto pubblicamente questo mio lavoro…
Allora, tutti conoscono la potenza del servizio di mappe di Google, e visti i progetti (mashup mi sembra si chiamino) basati su questo mi sono detto “Perche’ non vedere come funzionano?”, e ho impostato il mio progetto come potenziale servizio da offrire al webmaster di una delle mie trasmissioni radiofoniche preferite, Caterpillar.
Caterpillar si e’ creata una specie di rete alternativa di inviati sparsi in tutto il mondo, in modo da poter avere una voce sul campo in caso di notizie relative ad una determinata citta’ o nazione. La pagina attuale che mostra l’elenco non e’ male, ma non rende bene l’idea della copertura globale di questa rete, e cosi’ sono intervenuto io, con questa pagina. Il lavoro e’ piuttosto semplice, ma il colpo d’occhio che mostra non e’ male! Praticamente si tratta di una pagina semistatica (nel senso che non c’e’ nessuna programmazione server-side) che tramite le API di Google carica un file XML opportunamente formattato contenente i dati anagrafici e geografici degli inviati: il lavoro, in questo senso, e’ abbastanza scalabile, e puo’ essere facilmente interfacciato ad un database tramite un linguaggio di scripting server-side, in modo da avere una gestione dinamica degli inviati.
Buona visione!

Alla prox

Posted by mcalamelli in JavaScript, Opensource | 2 Comments