Sono tornato!

C’è voluto un po’, ma alla fine ho ripristinato il blog.
Non siamo più su Dreamhost e non usiamo più Apache.
Manca ancora qualcosa (per esempio re-installare i plugin che usavo), ma almeno ho recuperato tutto :)


[PHP] Come mi diverto male

Ispirato da una considerazione di un collega, ho buttato giù questa scemenza:


<?php 

class Teletubbies
{
    private $name = "";

    public function __construct($n)
    {
        $this->name = $n;
    }

    public function sayHello()
    {
        printf("%s\t: Helloooo!\n", $this->name);
    }
}

$tt = array(
    new Teletubbies('Tinky Winky'),
    new Teletubbies('Dipsy'),
    new Teletubbies('Laa-Laa'),
    new Teletubbies('Po')
);

foreach ($tt as $t)
{
    $t->sayHello();
}

?>

[Shell tips] Bash: differenza tra virgolette e virgolette doppie (quote, double quote)

In Bash si possono usare le virgolette, singole o doppie, quando è necessario trattare caratteri come lo spazio.

Se ad esempio vogliamo spostare un file che si chiama “rapporto 2010″ dalla directory /tmp alla nostra home directory, possiamo avvalerci delle virgolette:

$ mv /tmp/"rapporto 2010" $HOME

oppure

$ mv /tmp/'rapporto 2010' $HOME

In questo caso possiamo usare un tipo oppure l’altro, a piacere.

C’è però una piccola differenza: con le virgolette doppie (double quote) le variabili di ambiente vengono espanse, mentre con le virgolette singole (quote) il carattere $ viene trattato tale e quale e quindi restituito in output. Vediamo un esempio per chiarire:

$ echo "La mia home directory è $HOME"
La mia home directory è /home/spider

Oppure

$ echo 'La mia home directory è $HOME'
La mia home directory è $HOME

Questo accade perché le virgolette singole effettuano l’escape di un maggior numero di caratteri: in effetti di tutti tranne che le virgolette stesse! Se dobbiamo avere in output una stringa che contenga le virgolette singole, quindi, come facciamo? Possiamo usare le virgolette doppie, poiché le une effettuano l’escape delle altre:

$ echo 'Il titolo del libro è "Il vecchio e il mare"'
Il titolo del libro è "Il vecchio e il mare"

$ echo "Il titolo del libro è 'Il vecchio e il mare'"
Il titolo del libro è 'Il vecchio e il mare'

Pages:1234567...18