• Introduzione a Express.js

    ExpressJS è un application framework for node che permette di abbattere i tempi di realizzazioni di webapp basate su Node, ed e' molto semplice da installare e utilizzare.Raymond Camden ha realizzato un esaustivo tutorial che parte dall'installazione del framework e arriva alla realizzazione… read more »
  • Python: un webserver in una riga di codice

    State sviluppando la vostra app con jQuery Mobile e avete necessita' di provarla su un webserver, cosa fate?Installate un intero stack LAMP/WAMP/MAMP? Installate una istanza di Apache/Lighttpd?Non serve, basta una riga di Python, utilizzando il modulo SimpleHTTPServer:python -m SimpleHTTPServerIl server rispondera'… read more »
  • HTML5: i Web Workers

    I Web Workers nascono per consentire l’esecuzione di porzioni di codice javascript in modo asincrono: possono essere comparati a dei thread che la pagina web può lanciare e con i quali può dialogare attraverso specifici metodi.Un piccolo svantaggio ...i WebWorkers… read more »
  • OSX: mettere in stop il mac da linea di comando

    Brevissimo tip: utilizzando l'utility di sistema pmset e' possibile porre il Mac in sleep da linea di comando:pmset sleepnowComodissimo per mettere a dormire il mac alla fine di una operazione piu' o meno lunga, ad esempio:git push && pmset sleepnow… read more »
  • Creare automaticamente le icone per le applicazioni iOs

    Le applicazioni iOs hanno necessita' di icone in diverse dimensioni: Yuya ha realizzato un task rake per automatizzare il resize delle immagini.Per prima cosa, create un file Rakefile.rb con questo contenuto:# coding: utf-8desc 'Create icons' task :create_icons do # Source… read more »
  • PHP: 5 piccoli suggerimenti per gestire fino a 30000 utenti contemporanei

    Jonathan Block ha scritto un bel post dove spiega come scalare un servizio su EC2 e arrivare a servire fino a 30000 utenti simultanei.La struttura iniziale del servizio e' la seguente:Zend Framework 2Due instanze m1.medium per i server webELB per dividere… read more »
  • Tips: rendere meno invasivo il servizio Office Software Protection Platform di Office 2010

    Una volta installato Office 2010, si puo' notare la presenza di un nuovo servizio di windows, Office Software Protection Platform: viene utilizzato da Office per verificare la validita' della licenza software, e viene lanciato onDemand al primo avvio di una applicazione… read more »
  • Cheat Sheets: SQL Injection

    Di SQL injection ho già parlato in maniera estesa in questo post, oggi vi propongo una completissima raccolta di tutte le informazioni a riguardo.La potete consultare su websec.ca.… read more »
  • Scoprire il numero di telefono di un utente Facebook? A volte e' possibile!

    Mi e' capitato di leggere un paper di Saurabh Sharma su Packetstorm dal titolo abbastanza esplicito: Harvesting Phone Numbers Using Facebook And Yahoo.In pratica Saurabh ha notato che, combinando le informazioni fornite dalle procedure di recupero password di Facebook e Yahoo, e… read more »
  • Design Patterns: quick reference

    Un design pattern può essere definito come "una soluzione progettuale generale a un problema ricorrente" (da Wikipedia),  un modello da applicare per risolvere un problema che può presentarsi in diverse situazioni durante la progettazione e lo sviluppo del software.Sempre da… read more »
  • Node.js: rilasciata la versione stable 0.10.13

    E' online da poche ore la versione 0.10.13 stable di Node.js.Vediamo il changelog:uv: Upgrade to v0.10.12npm: Upgrade to 1.3.2windows: get proper errnotls: only wait for finish if we haven't seen ithttp: Dump response when request is abortedhttp: use an unref'd… read more »
  • Ruby on Rails: utilizzare Devise per la gestione degli utenti

    Devise è un'ottima libreria per RoR dedicata alla gestione degli utenti.Permette di gestire facilmente la registrazione, il recupero delle credenziali di accesso e i ruoli.Vediamo i semplici passi necessari per implementarla all'interno di un progetto RubyOnRails.Installiamo la gemmaPer prima cosa,… read more »
  • CSS: la proprietà "position: sticky"

    "position: sticky" è una nuova proprietà CSS introdotta in via sperimentale in Webkit lo scorso anno che permette agli elementi di rimanere attaccati al bordo della pagina, a prescindere da come venga effettuato lo scroll della stessa.Si tratta di una funzionalità non… read more »
  • 10 ottimi testi della O'Reilly consultabili OnLine

    La O'Reilly e' a mio avviso una delle migliore case editrici per quanto concerne l'IT in generale e la programmazione in particolare.Sostiene apertamente l'OpenSource e la condivisione delle informazioni, tanto da permettere la lettura gratuita online di un buon numero… read more »
  • OSX: aggiornare Ruby e installare Rails

    MacOsX Mountain Lion viene fornito con installato di default Ruby 10.8.3.Di solito preferisco sviluppare utilizzando l'ultima stable disponibile, e quindi su un sistema pulito è necessario effettuare un piccolo aggiornamento.Per l'installazione di Ruby on Rails su MacOsX ho sempre seguito i passi… read more »
  • OSX: gestire la clipboard di sistema dalla linea di comando con PBCOPY e PBPASTE

    PBCOPY e PBPASTE sono due comandi disponibile da linea di comando su OSX che non tutti conoscono, ma risultano spesso utilissimi.Come intuibile dal titolo del post, pbcopy e pbaste  si occupano rispettivamente di copiare testo all'interno della clipboard di sistema… read more »
  • HTML5: utilizzare l'attributo HIDDEN sui browser che non lo supportano

    HTML5 fornisce alcuni semplici ma incredibilmente utili attributi HTML come placeholder, download e autofocus, per citarne alcuni.Un altro nuovo attributo è HIDDEN.Quando viene applicato a un elemento, l'attributo HIDDEN agisce in maniera molto simile a display: none; in CSS:  l'elemento… read more »
  • Scorciatoie da tastiera per OSX: le mie preferite

    TJ VanToll è un programmatore di Lancing (Michigan) che si occupa principalmente di sviluppo si applicazioni web.Scrive sul suo blog che ultimamente sta riscontrando alcuni sintomi di RSI, derivati (appunto) dai movimenti ripetitivi effettuati con il mouse.Decide quindi di ridurre… read more »
  • HTML5: determinare l'orientamento del device utilizzando le Orientation API

    Utilizzando le nuove funzionalità di HTML5 è possibile determinare, oltre alla posizione geografica di un terminale mobile, anche la sua inclinazione e l'orientamento.Utilizzando le Orientation API  e appoggiandoci all'evento DeviceMotionEvent, che viene scatenato ogni qualvolta risultino modificati i dati di orientamento… read more »
  • Javascript: ricerca binaria negli array

    La ricerca binaria si effettua suddividendo l'array in pezzi sempre più piccoli fino a quando non si trova il valore desiderato, a differenza della ricerca sequenziale implementata da indexOf  che scorre l'array da sinistra a destra in una semplice iterazione.L'operazione deve essere… read more »