Gmail e kontact amici per la pelle

Tempo fa avevo trovato questo articolo e mi era piaciuto molto.
L'ho seguito passo passo ed ora vi posso dire che ha funzionato proprio per bene: e' oramai un mese che l'unica account di posta che uso e' gmail, che mi ringrazio di tutto cuore perche' mi offre la comodita' di avere la mia posta al sicuro[1], sempre accessibile [2].
In aggiunta l'enorme spazio disco disponibile si puo' sfruttare anche per caricare dei file (vedi il mio articolo su gmailfs).

Essendomi trovato bene ho pensato di tradurlo.
Purtroppo mi ci vorra' un po' di tempo :(
Nell'attesa che renda disponibile la traduzione, vi invito a dare un'occhiata alla versione originale in lingua inglese.

[1] Ebbene si', mi fido di Google! O meglio, mi fido poco della segretezza dei miei dati personali in generale: piuttosto che diventare paranoico, cercando di prendere precauzioni inutili per impedire che si sappia cosa faccio al mondo, ne approfitto e concedo un favore a chi mi fa un favore!

[2] Qualora sia connesso. In realta' e' pure possibile scaricare una copia della casella di posta e sincronizzarla periodicamente, rendendo di fatto fruibile gmail off-line.

Parola paura: toghe rosse

Dove sono finite le toghe rosse? E la giustizia a orologeria?
Ma che fine hanno fatto tutti i pregiudizi degli esponenti di centro destra, in particolar modo di quelli di Forza Italia, sempre pronti a gridare al complotto comunista ordito dai giudici per consegnare con un golpe l'italia in mano alla sinistra?

Perche' ora che le conseguenze di un provvedimento giudiziario hanno affossato il governo Prodi, nessuno di loro parla piu' di toghe rosse? E di giustizia ad orologeria?
Va dato "merito" ai signori che criticavano la magistratura di continuare a farlo, ma perche'?! Perche' sono anni che in Italia la macchina giudiziaria viene presa a calci quando lavora? Finora non sono ancora riusciti a distruggerla, ma quanto resistera'? Perche' viene manifestato questo vittimismo quando chi deve indagare lo fa e bene, nonostante le mille difficolta' che si trova a dover affrontare?

Ai tempi di mani pulite i giudici erano eroi, partigiani che stavano affrancando l'Italia dal sistema corruttivo che la stava distruggendo. Ora che a quella rivoluzione e' seguita una restaurazione degna del Metternich, chi ci sta riprovando viene immediatamente bastonato con il manganello mediatico.

Come puo' Mastella, dopo essere stato pescato in affari a dir poco loschi, attaccare i giudici invece di attaccare la lordura e il putridume che appestano il nostro paese.

In Italia e' sempre stato costume il clientelarismo, e per anni ha pure funzionato. Ma l'abuso di questa pratica negli ultimi anni ha distrutto tutto. In un modo che si evolve alla velocita' dei bit ci vuole gente preparata, con una mente aperta. Far occupare posti chiave ai "figli di" puo' anche andar bene se sotto c'e' una struttura preparata che lavora per loro. Quando sotto i "figli di" ci sono altri "figli di", beh... il risultato e' sotto gli occhi di tutti.

Note sul Php

Una breve raccolta di note sul php. Under construction!
Il seguente testo non vuole e non puo' rimpiazzare il manuale di Php, di cui si caldeggia la consultazione.

Preparazione del sistema
Il minimo indispensabile che dovete installare e' il pacchetto php-cli (php Command Line Interface). Questo contiene l'eseguibile php, l'interprete del linguaggio.
Potrebbe essere utile installare apache per vedere come vengono visualizzate pagine php.

Preparare uno script php
La prima riga deve contenere #!/usr/bin/php.
Quanto scritto nel file viene proposto in output dall'interprete senza alcuna modifica, eccezion fatta per le linee inserite tra i tag e ?>, che conterranno le istruzioni da interpretare.

Preparare una pagina php
Se avete apache funzionante sul vostro pc create una cartella public_html nella vostra home, che deve essere accessibile in lettura. Inserite al suo interno un file di testo con estensione php.
Per vederlo aprite un browser all'indirizzo http://localhost/~vostrousername/nomefile.quellochee'


Php interattivo
Si accede ad un ambiente interattivo con il comando php -a.

Sintassi
  • Ogni riga termina con un ";";
  • Le variabili non vanno dichiarate;
  • A tutte le variabili va preposto il simbolo $;
  • Le stringhe si possono racchiudere tra apici singoli o doppi;
  • Gli apici doppi permettono l'elaborazione di eventuali stringhe in esse contenute, oltre ai normali caratteri speciali (\n, \t, ...);
  • Blocchi di codice sono racchiusi tra parentesi graffe.
Array
L'array e' il tipo di dato principe del Php.
L'array e' associativo: ad ogni chiave viene associato un valore.
Sono array $_POST, $_GET, $_SERVER, $COOKIES.
Si puo' iterare sugli array con il costrutto foreach.

File I/O
Per gestire un file bisogna prima aprirlo con fopen.
L'apertura restituisce un oggetto di tipo risorsa, da immazzinare in una variabile.
# Esempio
$id=fopen("filename", "modo")
Output: fwrite($id, "testo")
Input: readfile("filename), file("filename"), fwrite("")

Tutorial sui tutorial :)

Essendo un'opinione personale, non prendetevela!

Ultimamente sono stato impegnato nello studio del Php. Il linguaggio di per se' e' semplice, con strutture sintattiche che ricordano da vicino il Perl.

Essendo gia' un conoscitore di altri linguaggi di programmazione e scripting, non avevo bisogno di essere sommerso da discorsi fiume a proposito delle strutture base della programmazione, bensi' di qualche imbeccata che mettesse in luce le peculiarita' di questo linguaggio di programmazione.
Purtroppo quasi tutti i tutorial che si trovano in rete sono dedicati a principianti (o poco piu') e sono, a mio parere, inadatte per chi ha gia' esperienza con altri linguaggi di programmazione.
Prima di cavare un ragno dal buco bisogna setacciare il testo alla ricerca di quelle poche informazioni che interessano veramente.

Questo non e' l'unica pecca che ho riscontrato in documenti similiche parecchie volte presentano difetti che li rendono inefficienti, non solo per chi ha gia' esperienza, ma anche per i novizi. Faro' alcuni esempi!

Vita morte e miracoli
Puo' essere utile e ha pure un discreto fascino inquadrare storicamente la genesi di un linguaggio di programmazione, di come ha conquistato consensi e quote di mercato. Purtroppo, ai fini della produttivita', tutto questo e' perdita di tempo, soprattutto quando in questi preamboli si esaltano gli sviluppatori del portentoso linguaggio di programmazione in oggetto racontandone miti e leggende.
Sarebbe forse meglio, per queste cose, rimandare a wikipedia o al sito del linguaggio in questione.
Un linguaggio andrebbe introdotto spiegando:
  1. perche' e' stato sviluppato;
  2. cosa fa;
  3. cosa non fa;
  4. per chi e' utile;
  5. per chi e' inutile.
Conosco colleghi che hanno iniziato a fare calcolo numerico in Perl. Nulla glielo vieta, ma c'e' sicuramente di meglio. Fossero stati messi sul chi va la' per tempo magari avrebbero scelto un'altra strada. Ora e' troppo tardi, sono abituati ad usare quello e vanno avanti con il paraocchi.

Prolissita' iniziale
Quasi tutti i tutorial partono con un capitolo che spiega come installare il software necessario, quando sarebbe piu' che sufficiente spiegare cosa installare, magari con qualche nota su eventuali configurazioni.
Sarebbe buona (esalando) prassi che chi programma sapesse gia' come fare ad installare un pacchetto software, in caso contrario dovrebbe prima colmare queste lacune.
In aggiunta il modo migliore per installare un software dipende dal sistema operativo che avete sottomano e spesso il metodo di installazione proposto (la compilazione dei sorgenti) e' mostruosamente complicato rispetto alle alternative disponibili.

Faccio un esempio: uso mandriva, sono un pischello a digiuno di programmazione, voglio installarmi un compilatore. Piuttosto che scaricarne i sorgenti per compilarli e' decisamente meglio che usi il gestore di pacchetti che ho a disposizione (urpmi e la sua interfaccia grafica rpmdrake) per installare i binari gia' compilati. Altrimenti, tra dipendenze non risolte e librerie di sviluppo che verranno a mancare, rischio di non venirne piu' fuori!
La ricompilazione diventa necessaria solo in casi particolari che molto difficilmente interesseranno chi e' alle prime armi.

Proposta
Chi si approccia ad un linguaggio di programmazione lo fa per elaborare dati. Quindi un tutorial dovrebbe iniziare spiegando come leggere i dati, come immagazzinarli nei tipi base (stringhe, numeri, array, ecc...), e come restituirli elaborati.

In seguito si dovrebbe istruire il lettore su:
  1. come usare la libreria standard;
  2. tipi di dati piu ' complessi come classi e strutture;
  3. utilizzo di pacchetti aggiuntivi
Chi invece sa gia' programmare ha bisogno di conoscere le peculiarita' sintattiche del linguaggio, oltre ovviamente alla documentazione relativa alle librerie standard.

Spero in breve tempo di riuscire a postare un contributo esemplificativo delle idee espresse in questo post.

Superkaramba che sorpresa!

Plasma e superkaramba: che spettacolo!
La capacita' di includere in un plasmoide una applet di superkaramba apre spazi di manovra infiniti!
Ho a lungo cercato dei monitor di sistema integrati in kicker che mi appagassero quanto quelli ottenibili con superkaramba.
Ho sempre amato la facilita' con cui, con poche righe di codice e poche nozioni, e' possibile realizzare un monitor ad hoc per il proprio sistema.
Grazie a plasma e smanettando un po' nel file plasma-appletsrc, diventa possibile inserire queste applet fatte in casa (o da altri) nel proprio pannello.

Al momento non ho il tempo per dilungarmi e chiarire con immagini ed esempi, ma vi rimando al mio post su lancelot per capire come inserire una applet nel pannello: la procedura e' piu' o meno la stessa, fatto salvo che stavolta dovrete aggiungere una sezione nel file fatta grosso modo cosi':
[Containments][2][Applets][17]
geometry=100,48,20,48
locked=false
plugin=skapplet

[Containments][2][Applets][17][Configuration]
theme=file://PERCORSO_AL_FILE.theme
I numeri potrebbero essere diversi. Come evidenziato, il plugin da usare e' skapplet.
Nella sezione [Configuration] dovete inserire il percorso assoluto (ovvero partendo da /) al file .theme contenente la vostra applet superkaramba.
Al momento non mi risulta che sia possibile ridimensionare le applet, anche se sono ruotabili di un angolo a piacere.
Le possibilita' che si aprono sono praticamente infinite!

Happy hacking!