c'e' solo un modo di fare le cose: farle bene

Raccolta fondi per le vittime del terremoto in Abruzzo

apr 6, 2009 Author: Gianluca | Filed under: Senza categoria

L’Abruzzo è la mia regione, all’Aquila ho vissuto per 4 anni ai tempi dell’università, le immagini del terremoto scorrono su tutti i media. Io sono qui a chiedervi un contributo per le vittime.

L’iniziativa è nata su Bucchianico.net ed ho creduto giusto esportarla anche sul mio sito.

Dona qualcosa a chi non ha più niente.


Sono tornato

apr 6, 2009 Author: Gianluca | Filed under: Senza categoria

Dopo la spettacolare settimana passata a Madonna di Campiglio eccomi di nuovo a casa e al lavoro pronto per aggiornare il sito.

Netstat, porte aperte e connessioni attive

mar 27, 2009 Author: Gianluca | Filed under: Linux

Il comando più immediato e veloce per vedere tutte le porta aperte sulle nostra Linux box è questo:


netstat -lnp

L’output è bello corposo ma di facilissima comprensione.

Se volessimo vedere tutte le connessioni attive:


netstat -nat

Tutto troppo facile!:)

Linux: che processo ha aperto quella porta?

mar 27, 2009 Author: Gianluca | Filed under: Linux

Se con il nostro port-scanner preferito (nmap nel mio caso) vediamo che abbiamo una porta aperta ma non sappiamo chi abbia compiuto un gesto così irrespondabile possiamo usare il comodissimo comando fuser che va eseguito con i privilegi di root:

fuser -v -n (tcp | udp)

Facciamo una prova su un server che ha Apache in esecuzione:

fuser -v -n tcp 80

Ecco l’output:

                     USER        PID ACCESS COMMAND
80/tcp:              root      19375 F.... apache2
                     www-data  23223 F.... apache2
                     www-data  24155 F.... apache2
                     www-data  26253 F.... apache2
                     www-data  26271 F.... apache2
                     www-data  26272 F.... apache2
                     www-data  26273 F.... apache2
                     www-data  26274 F.... apache2
                     www-data  26275 F.... apache2
                     www-data  26277 F.... apache2
                     www-data  26282 F.... apache2

Questo tool è utilissimo quando ci accorgiamo che c’è qualche porta non aperta da noi in ascolto, ed è quindi possibile risalire al processo in esecuzione che crea tale anomalia.

Espressioni regolari

mar 24, 2009 Author: Gianluca | Filed under: PHP

Quando si scrive un qualsiasi tipo di software capita spesso di imbattersi nelle espressioni regolari al fine di vigilare sull’input dell’utente o per estrapolarne dei dati.

Ho deciso di raccogliere le espressioni regolari per PHP più comuni, quelle che ho utilizzato di più nella mia “giovane” carriera da programmattore.

E-Mail

$email = "test@ideafactory.it";
if (preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',$email)) {
echo "OK";
} else {
echo "KO";
}

E’ importante ricordare che con le espressioni regolati si verifica solo la sintassi e non la semantica, quindi un indirizzo e-mail può essere ben scritto ma inesistente!.

Username

$username = "user_name12";
if (preg_match('/^[a-z\d_]{5,20}$/i', $username)) {
echo "OK";
} else {
echo "KO";
}

La username, nel mio caso, deve essere composta da un minimo 5 ad un massimo di 20 caratteri e può contenere solo lettere, numeri e underscore “_”.

Indirizzo IP

$IP = "198.168.1.7";
if (preg_match('/^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/',$IP)) {
echo "OK";
} else {
echo "KO";
}

URL

$url = "http://www.ideafactory.it/";
if (preg_match('/^(http|https):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i', $url)) {
echo "OK";
} else {
echo "KO";
}

Un’ottima guida sulle espressioni regolari in PHP è quella fornita da HTML.IT presente qui.

Ethernet (NIC) bonding su Debian

mar 23, 2009 Author: Gianluca | Filed under: Debian

Come la pubblicità di Maxbon ci ha insegnato, sappiamo che “two is meglio che one” quindi perché avere una sola scheda ethernet all’interno del nostro server se con due possiamo avere un ottima ridondanza di rete e/o un ottimo bilanciamento del carico? Vediamo di mettere sù un ethernet bonding, un sistema che la ho lo scopo di unire due flussi ethernet al fine di formare un unico canale.

Prima di procedere all’installazione del software necessario, vediamo le modalità operative del channel bonding:

  • mode=0 (balance-rr): avviene il round-robin tra le due interfacce. I pacchetti vengono trasmessi attraverso la scheda di rete scarica e se una delle due va ko viene usata solo la scheda di rete funzionanete. Questa  modalità fornisce sia il load balance e sia il fault tolerance e non prevede switch di rete con particolari funzionalità.
  • mode=1 (active-backup): una sola schede di rete viene usata se questa si rompe il MAC address viene associato all’altra funzionante (di backup) e quindi il flusso di rete viene garantito. Questa modalità fornisce un sistema di fault tolerance e non è necessario uno switch che abbia funzionalità avanzate.
  • mode=2 (balance-xor): il traffico di rete viene inoltrato sulla scheda in base a questa regola di XOR: ((source MAC) XOR (dest MAC)).  Questa modalità garantisce load balancefault tolerance e non necessità di particolati switch.
  • mode=3 (broadcast): vengono usate entrambe le interfacce per trasmettere e ricevere. Il fault tolerance è garantito senza switch preposti.
  • mode=4 (802.3ad): è una modalità si supporto allo standard IEEE 802.3ad Dynamic link aggregation, per questa modalità è necessario uno switch che supporti lo standard 802.3ad.
  • mode=5 (balance-tlb): Adaptive Transmit Load Balancing. Il traffico in entrata è ricevuto solo sullo slave attivo, il traffico in uscita viene distribuito a seconda del carico su ogni slave. Non necessità di particolai switch.
  • mode=5 (balance-alb): Adaptive Load Balancing. Fornisce bilanciamento del carico sia in ricezione che in trasmissione. Non necessità di switch particolari ma richiede la capacità di cambiare l’indirizzo MAC del dispisitivo di rete senza che questo interrompa il traffico. Read the rest of this entry »

Ottima l’assistenza Microsoft per XBOX

mar 19, 2009 Author: Gianluca | Filed under: Senza categoria

Domenica la mia Xbox 360 ha smesso di funzionare.

L’ho accesa ed a caratteri cubitali ed in tantissime lingue, c’era scritto di contattare l’assistenza tecnica per via dell’errore E74.

Cerco su Google, provo varie soluzioni ma alla fine rassegnato mi decido a contattare l’assistenza Microsoft.

Numero verde, premo il tasto 1 e mi risponde una persona vera! Era domenica! Mi dice che devo spedire la mia console e di preparare un pacco neutro (niente scatola originale) perché UPS sarebbe passato il giorno dopo per il ritiro.

Incredibilmente così è stato! Lunedì è passato il corriere, mi ha dato l’etichetta da attaccare sul pacco, ho firmato la ricevuta e via…ieri il pacco è arrivato in Germania ed oggi la Microsoft mi ha scritto dicendomi che stanno lavorando sulla mia Xbox.

Che dire?! Voto 10 (fin ora) al customer care di Bill Gates.

Last 3 LifeStream

  1. Today

    1. 18 lune e tante stelle... La #Neve è tutto! http://t.co/Zwg5fhky [gianlucagentile]

      6h ago via Twitter

    2. @AngelikaCoco presto capirai anche tu perché ne vale sempre sempre sempre la pena! Snowboard4Me? It's my life... [gianlucagentile]

      6h ago via Twitter

    3. Eh poi capisci che cos'è la felicità. #Neve [gianlucagentile]

      6h ago via Twitter

    Upstream

    Powered by Lifestream.

Flickr PhotoStream

    DSCF9975.JPGDSCF9967.JPGDSCF9987.JPGDSCF9964.JPGDSCF9988.JPG

Blogroll


Calendar

febbraio: 2012
L M M G V S D
« nov    
 12345
6789101112
13141516171819
20212223242526
272829