Project glass by Microsoft :-)

| aprile 15th, 2012

Rilasciato ufficialmente Php 5.4 e puntualissime sono disponibili le prime slide di Ilia Alshanetsky.

A pochi giorni del rilascio della versione 5.3.9 il team di sviluppo di Php rende noto che è stata rilasciata la versione 5.3.10 che va a correggere un importante baco di sicurezza. Ovvimente gli sviluppatori raccomandano vivamente di aggiornare Php all’ultima versione.

Di seguito vi propongo una classe per ricavare il giorno della Pasqua passando un determinato anno, mi è tornata utile per la realizzazione di un Planner.
Per ricavare il mese ed il giorno della Pasqua dell’anno 2012 basta chiamare il metodo Pasqua::get passando come argomento “2012″:

Pasqua::get(2012); // ritorna Array([day]=>18 [month]=>4)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
/**
 * Pasqua
 *    
 * Questa classe determia il giorno della Pascqua 
 * di un determinato anno, si basa sul calcolo detto
 * Metodo aritmetico di Gauss spiegato in questa pagina:
 * http://it.wikipedia.org/wiki/Calcolo_della_Pasqua
 * 
 * @author Guido Chiappucci
 */
class Pasqua {
 
    private static $aM = array(22, 22, 23, 23, 24, 24);
    private static $aN = array(2, 2, 3, 4, 5, 5);
 
    /**
     * Pasqua::get()
     * 
     * Il metodo get restituise un array 
     * contenente il mese ed il giorno 
     * della Pasqua riferita all'anno 
     * passato al metodo attraverso $year
     *  
     * @param integer $year
     * @return array
     */
    public static function get($year) {
 
        $a = $year % 19;
        $b = $year % 4;
        $c = $year % 7;
 
        $aIndex= floor($year/100)-15;
 
        $d = (19 * $a + self::$aM[$aIndex]) % 30;
        $e = (2 * $b + 4 * $c + 6 * $d + self::$aN[$aIndex]) % 7;
 
        $day = 22 + $d + $e;
        $month = 3;
 
        if ($day > 31) {
            $month = 4;
            $day -= 31;
        }
 
        /**
         * Eccezioni:
         * - Se la data risultante dalla formula è il 26 aprile, 
         *   allora la Pasqua cadrà il giorno 19 aprile;
         * - Se la data risultante dalla formula è il 25 aprile 
         *   e contemporaneamente d = 28, e = 6 e a > 10, 
         *   allora la Pasqua cadrà il 18 aprile. 
         */
        if ($month == 4 && $day == 26) {
            $day = 19;
        } elseif ($month == 4 && $day == 26 && $d == 28 && $e == 6 && $a > 10) {
            $day = 18;
        } 
 
        return array('day'=>$day,'month'=>$month);
 
    }
 
}
 
?>

PHP 5.4 rc 4

| dicembre 27th, 2011

php-logoIn questi giorni è stata rilasciata la versione 5.4 rc 4 di Php, quindi siamo ormai vicini al rilascio definitivo della nuova versione, in questa pagina la lista delle novità e dei cambiamenti che verranno introdotti, particolare attenzione alle funzioni che non saranno più disponibili e che da tempo erano state dichiarate deprecate.

Android: struttura del file system

| novembre 30th, 2011

Dsiponibile a questo indirizzo la rappresentazione grafica del file system di Android, una piccola ma interessante risorsa per chi si vuole avvicinare al mondo Android, ma anche per chi conosce e programma su questo sistema operativo ed ha bisogno di aiutino in più!

Agim On Line 3

| ottobre 6th, 2011

SSD annuncia ufficialmente l’uscita della terza versione di Agim On Line, il software gestionale per le agenzie immobiliari.

www.agimonline.it - www.ssd.it

Attraverso gli strumenti offerti da Google è possibile recuperare facilmente la favicon di un sito web, e con poche righe di php possiamo confezionare una funzione che restituisce la favicon del sito richiesto.

Il servizio di Google che andremo ad utilizzare è una semplice chiamata http:

http://www.google.com/s2/favicons?domain=www.google.it

dove “domain” è il sito web di cui richiediamo la favicon.

Veniamo al codice, in pratica utilizzeremo Curl per fare la chiamata http verso Google, la risposta sarà proprio il sorgente del file richiesto, quindi possiamo scriverlo su un file oppure stamparlo direttamente a video.

1
2
3
4
5
6
7
8
9
10
11
12
<?php
function getFavicon( $url ) {
    $ch = curl_init('http://www.google.com/s2/favicons?domain='.$url);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);    
    $content = curl_exec($ch);
    curl_close($ch);
    return $content;
}
$favicon = getFavicon('www.google.it');
?>

Utilizzando la libreria Highcharts ho avuto la necessità di non dover stampare i valori 0 (zero) all’interno dei dataLabels, quindi documentandomi un po’ sono arrivato alla soluzione agendo sul parametro formatter:

1
2
3
4
5
6
7
8
9
dataLabels: {
    formatter: function() {
        if (this.y == 0) {
            return "";
        } else {
            return this.y;
        }
    }
}

Highcharts

MySql: select order by id in()

| luglio 30th, 2011

MySQLQuando si recuperano dei record con una query del tipo SELECT * FROM `tbl` WHERE `ID` IN(34,785,345,43) può essere necessario ordinare il risultato della query seguendo l’ordine in cui vengono passati i valori all’istruzione IN(), per fare questo basta usare la seguente istruzione order: ORDER BY FIELD(`ID`, 34, 785, 345, 43), quindi, SELECT * FROM `tbl` WHERE `ID` IN(34,785,345,43) ORDER BY FIELD(`ID`, 34, 785, 345, 43)