Il nuovo blog lo potete trovare su melodycode.com, questo sito è stato mantenuto solo per storicità e potrebbe contenere informazioni non più valide.
Important

Esempio di utilizzo di Node.js

La definizione di Node.js è la seguente:

Node.js is an evented I/O framework for the V8 JavaScript engine.
Node’s goal is to provide an easy way to build scalable network programs.
Node is similar in design to and influenced by systems like Ruby’s Event Machine or Python’s Twisted.

Scrivendo in Javascript (grazie al V8) è possibile quindi creare dei server (che rimarranno in ascolto nella porta voluta) che potranno spedire e ricevere messaggi.
Jeff Kreeftmeijer ha creato un’applicazione di esempio che permette di interagire con i cursori degli altri utenti che stanno visualizzando la pagina (inutile ma divertente): è chiaramente un concept.
Personalmente non ho ancora potuto sperimentare, è solo una questione di tempo ;)

Vi consiglio di usare Chrome!

Ecco perchè odio Internet Explorer 6

Ogni sviluppatore che si rispetti DEVE odiare IE6, perchè? Semplice, non conosce cosa siano gli standard W3C.
Internet Explorer 6 sucks
Come potete vedere questa foto mette in evidenza le “magagne” più evidenti di IE6:

  • Box Model
  • Double Margin Bug
  • No Min Width/Height
  • No Alpha PNG Support

E pensare che IE6 tra poco compierà 9 anni…

Velocizzare WordPress

Se il vostro blog WordPress vi risulta lento ci sono alcune azioni risolutive che potrebbero migliorare di molto la situazione.
Mashable nell’articolo intitolato “11 Ways to Speed Up WordPress” ha raccolto alcune soluzioni:

  • Attivare il caching (con plugin tipo WP Super Cache o W3 Total Cache)
  • Scegliere l’hosting corretto (questo vale sempre)
  • Rimuovere i plugin inutilizzati
  • Migliorare la qualità del template (velocità di rendering, peso dei CSS, Javascript, ecc…)
  • Comprimere le immagini
  • Comprimere il codice (unire i JS, usare gli sprites, ecc…)
  • Non avere troppe risorse esterne al dominio
  • Ridurre il numero delle chiamate (qui si parla sempre di ottimizzazione del template usando dei piccoli accorgimenti)
  • Scrivere codice validato HTML e CSS
  • Mantenere il Database (operazioni di repair, ecc…)
  • Smanettare sulle opzioni di WordPress

Come potete notare, al concetto di “performance” viene sempre associato quello di “qualità” quindi scrivere codice validato, comprimere correttamente le immagini, ridurre al minimo le chiamate, ecc…quindi questi consigli possono valere anche per software diversi da WordPress.

PS: Melodycode² è in fase progettuale ;)

Melodycode.com è stato riconsiderato (così sembra)

Dopo la mia richiesta a Google, sembra che il dominio melodycode.com sia stato riconsiderato (per ora solo il dominio principale).
Ricordo a tutti che il sito è passato da un fantasmagorico PR7 ad un tristissimo PR0 (con in più penalità SERP) mentre ora si trova ad avere un mediocre PR3; personalmente non mi interessa più avere un PageRank elevato piuttosto preferisco non essere penalizzato in SERP.
Spero riconsiderino pure questo blog!

Vedremo…

Tutorial base per 960 Grid System (Framework CSS)

960 Grid System
Vi dirò la verità, non ho mai usato un Framework CSS però l’argomento comincia ad interessarmi parecchio soprattutto per i possibili riscontri positivi che ciò può avere sui tempi di sviluppo.
960 Grid System è un Framework CSS (non è l’unico) che permette di creare ogni sorta di layout basandosi su una griglia virtuale (principalmente di 12 o 16 colonne).
Shannon Noack e Joshua Johnson hanno scritto per Six Revisions 2 articoli molto interessanti che vi consiglio di leggere nel seguente ordine:

Buona lettura!

Di tutto un po'

Mi sto rendendo conto che questo blog lo sto seguendo sempre di meno soprattutto per impegni vari qua e la: lo dico con dispiacere, ma sono dell’idea che ogni cosa ha il suo tempo :) Ad ogni modo, mi piego ma non mollo!

In questo periodo sto seguendo alcune cosette tra cui:

Android
Questo sistema operativo per cellulari marchiato Google posso dire che spacca parecchio! Da pochi giorni (Google I/O) è stata presentata la versione 2.2 (Froyo) che ha come caratteristiche principali il JIT, l’update all nel market Google, Flash Player 10.1 ed altre cosette minori.
Rispetto alla precedente versione 2.1 sono quindi state aggiunte caratteristiche molto interessanti sia in termini di performance che di facilità d’uso.
Naturalmente ovunque voi andiate ad informarvi troverete scontri tra Android Funs VS iPhone Funs, io non faccio parte di nessuna delle due categorie…anche se per una predilizione verso tutto ciò che è “aperto” preferisco Android :)
Secondo me Android sarà il futuro.

Nexus One
Questo smartphone è il secondo dispositivo marchiato Google che IMHO ha avuto come scopo principale quello di pubblicizzare la piattaforma Android: quindi sinceramente me ne frego delle poche vendite che ha fatto negli USA.
Il terminale è molto buono però non è esente da difetti: quello più rilevante è il multitouch.
Che difetto ha il multitouch? Avvicinando le 2 dite o incrociandole, gli assi si invertono in modo speculare…in questo modo il tutto è “sfasato” (su Youtube trovate il video che rende bene l’idea).
Ad ogni modo lo ritengo un buon acquisto soprattutto perchè non essendo seguito solo da HTC (l’effettivo produttore), Google aggiornerà il dispositivo per lungo tempo (vedi Froyo).
Nexus One è uno smartphone adatto agli smanettoni/sviluppatori.

Arduino
Primo esempio di hardware opensource made in Italy, vi consiglio di visitare il sito arduino.cc.
Lo trovo molto interessante sia da programmatore che da perito elettronico :)

Symfony
Che dire, il mio avvicinarmi ad un Framework PHP mi ha fatto maturare parecchio :) lo consiglio a tutti (io naturalmente vi consiglio Symfony, ma nulla vieta di usare PHP Cake, Code Igniter, ecc…): come dico sempre, la minestra è sempre la stessa.

In questo periodo, stavo pensando di aprirmi un canale su Youtube per fare un “Video Blog” che naturalmente tratterà gli stessi argomenti che tratto ed ho trattato qui come PHP, Programmazione in genere, Tecnologia, ecc…insomma tutto ciò che sta attorno alla vita di un programmatore Web :) Vedremo cosa partorirà la mia mente :P