il Blog ed il Lavoro “2.0”

Un caro amico ha deciso di prendersi del tempo per provare a capire come vivere di “web 2.0“.
Dico web e non blog perchè sta provando a creare relazioni sociali e professionali con diverse realtà senza fossilizzarsi sugli ipotetici guadagni di adsense.
Dopo aver parlato diverse volte di come questo “lavorare” sia stimolante e gratificante gli ho proposto di mettere nero su bianco cosa ne pensa alla luce della sua esperienza ed abbiamo quindi deciso di pubblicarlo su queste pagine.

blog-e-lavoro

La domanda aleggia da tempo.
Posso trovare lavoro utilizzando strumenti di social networking?
O ancora oltre.
Posso utilizzare la rete per farne la mia principale fonte di guadagno?

Continue reading “il Blog ed il Lavoro “2.0””

5 Plugins per gestire wordpress multilingua

Sempre più spesso le realtà con cui collaboro hanno la necessità di avere un sito localizzato in diverse lingue.
Una volta, quando il tutto era fatto di semplici pagine, poteva essere sufficente duplicare la cartella, tradurla nella lingua desiderata e mettere un avviso in homepage che permettesse la scelta della lingua indirizzazzando la navigazione verso la directory corretta.

Oggi però i contenuti sono quasi sempre organizzati dentro un database e con un amministrazione che ne permetta la gestione anche da parte dei clienti. Questo, per ovvie ragione, rende impraticabile la soluzione di prima e ci si ritrova quindi costretti a progettare e personalizzare il CMS di turno.

Nel caso ci trovassimo ad affrontate il problema con WordPress, che non supporta nativamente la gestione dei contenuti localizzati, e bene sapere che esistono alcuni plugins che con approcci differenti possono venirci incontro aggiungendo il supporto multilingua.

multilanguage-wordpress-plugin

Principalmente gli approcci sono di due tipi:
Mantenere tutto il contenuto localizzato in diverse lingue all’interno dei campi utilizzando dei separatori oppure utilizzare delle tabelle di appoggio per gestire i testi in lingue diverse da quella principale.

Continue reading “5 Plugins per gestire wordpress multilingua”

20 Films che ogni Geek dovrebbe vedere

Si parlava con un amico dei films che hanno contribuito alla nostra “formazione digitale” e ci siamo divertiti ad elencare tutte quelle pellicole che in qualche modo ci hanno fatto sognare a cavallo tra la Spy story e la Fantascienza.

20-geek-films

Alla fine ne sono venuti fuori più di una decina – senza prendere in condiderazione i vari seguiti – e con un piccolo aiuto da parte di google siamo arrivati a 20.

Questo il risultato della selezione (in ordine cronologico) che abbiamo poi deciso di dividere, equamente, in due categorie : “hackers” e “cyberpunk

Continue reading “20 Films che ogni Geek dovrebbe vedere”

Senza pantaloni in metropolitana [viral video]

Il 10 Gennaio 2009 oltre 2.000 persone si sono tolte i pantaloni ed si sono fatto un giro in metropolitanta.

no-pants-2k9

Ad organizzare questo Flash mob sono stati i ragazzi di Improv Everywhere che da anni si divertono a “creare situazioni di caos e gioia in luoghi pubblici

Da qualche il giorno è disponibile il video che come facilmente prevedibile sta registrando un numero di visualizzazioni straordinario.
In poco più di due settimane è stato visto da oltre sei milioni di persone.

Vedere per credere:

(via Pandemia)

Final Fantasy XIII: ci siamo quasi

Avevo letto che sarebbe stato diverso ma dopo aver visto il nuovo trailer sono rimasto senza parole.
Il lancio sul mercato giappone è previsto entro il 2009 e succesivamente per il “resto del mondo“.

final-fantasy-xiii

Fortunatamente oltre alla verione per PS3 verrà rilasciata un porting per Xbox360 e quindi – imho – in un futuro potremo vedere anche un adattamento per PC.

Per il momento accontentiamoci di qualche link:

Questo è il trailer di cui vi dicevo prima:

(via Dario)

10 Searchbox stilosi + howto

Uno degli elementi tipici di un blog è il box per la ricerca e qualche giorno fa mi sono messo in mente di cambiare quello presente su questa pagine.

Ho quindi iniziato a guardarmi un giro cercando di trovare qualcosa che mi piacesse e dallo screening effettuato sono venute fuori diverse cose interessanti.

Quello che non ho trovato sono state le popolarissime “inspiration list” ed ho quindi deciso di presentarvene 10 che, secondo il mio gusto, ritengo siano decisamente “stilose“.

Sohtanaka: Web development & design

sohtanaka

Michael Tyson: Life, tech, Cocoa development, Mac

michaeltyson

Continue reading “10 Searchbox stilosi + howto”

Temi per wordpress: 50 link pieni di template

Spesso mi chiedono dove sia possibile trovare template per wordpress e, anche se in passato avevo già affrontato l’argomento, con il tempo ho raccolto qualche link che spero riesca e soddisfare la maggior parte delle persone.

Non ho idea del numero totale di temi presenti in questo elenco ed anche se in qualche caso trovere dei “doppioni” posso garantirvi che la somma conta diverse centinaia di lavori originali.

Sicuramente ho dimenticato molti link che meriterebbero di comparire in questa lista ma in ogni caso ritengo che sia abbastanza rappresentativa dei quelli che sono i siti più importati.

Aspetto le vostre segnalazioni per completarla e provare a farlo diventare uno degli elenchi più completi in circolazione.

Non posso con iniziare da dove il tutto ha inizio ossia dalla sezione dedicata ai template del sito ufficiale:

  1. Directory ufficiale su wordpress.com

temi-per-wordpress

Segue adesso un elenco con raccolte di template selezionati da vari blog (in lingua inglese):

  1. 15 High Quality Free Premium WordPress 2.7 Themes
  2. 45+ Must See WordPress themes
  3. Top 12 Premium WordPress themes of 2008
  4. 45+ Free Premium WordPress Themes
  5. 20 WordPress Theme Releases for January 2009
  6. 10 of the Best WordPress 2.7 Compatible Themes
  7. 20 More Free First-Class WordPress Themes
  8. 100 Excellent Free WordPress Themes
  9. 80 WordPress Themes
  10. 3-Column WordPress Theme Gallery

Continue reading “Temi per wordpress: 50 link pieni di template”

Il mio nuovo feedburner

E’ passato quasi un anno da quando Google ha acquisito Feedburner e nonostante qualche piccolo intoppo sembra che la migrazione sui nuovi server si stia per concludere.

Io nel frattempo ne ho approfittato per fare un po’ di ordine.

feedburner-google

Prima di tutto una cosa importante: l’indirizzo dei feed NON cambia.
Ho aggiornato il buon vecchio FeedSmith alla versione 2.3 ed modificato l’indirizzo a cui puntatava lo spyder di feedburner.

Questa versione non usa più il file .htaccess per effettuare il redirect ma modifica gli header impostando un 302.
Ho quindi approfittato per fare pulizia cancellando tutto il contenuto del mio .htaccess e facendo rigenerare a wordpress i permalink.

Poi ho messo a posto il problema delle immagini nei feed che come nel caso di cristian non venivano visualizzate per problemi di “permessi”.
Tempo fa avevo scritto qualcosa relativo allo spreco di banda anche se forse sarebbe più corretto parlare di hot-linking ed in quel’occasione non avevo usato un plugin ma ero interventuto creando un file .htaccess salvato sotto wp-content.

Per il momento ho aggiunto un paio di direttive che dovrebbero aver risolto il problema almento per quanto riguarda feedburner e/o più in generale google:

SetEnvIfNoCase Referer “^http://(.*)feedburner(.*)” ok_img
SetEnvIfNoCase Referer “^http://(.*)gogle(.*)” ok_img

Preso dallo slancio mi sono anche regalato un nuovo plugin: Add to feed.
Con questo piccolo aiuto posso aggiungere del teso all’interno del feed prima e dopo ogni item e dato che di questi tempi gli aggregatori crescono come funghi ho aggiunto un piccolo incipit: “Leggi l’orginale su http://maurizio.mavida.com“.

Concludo appuntandomi che questo è il nuovo link per accedere ai dati sugli accessi di feedburner tramite api. (nb: a differenza di quanto scritto nella documentazione nel parametro uri è sufficente mettere il numeutente)

Adesso non mi resta che verificare che tutto funzioni come dovrebbe e nel caso qualcuno notasse qualcosa di strano me lo faccia sapere. grazie.

Evitare SQL Injection con WordPress

Il problema SQL Injection è stato ampliamente discusso e tempo fa segnalavo anche un interessante PDF sull’argomento.

sql-injection

Anche lo sviluppo di plugin per WordPress può essere soggetto a questo tipo di attacchi ed è quindi bene prendere tutte le precauzione del caso ogni volta in cui si lavora direttamente con il database

Da poco ho scoperto che WordPress implementa nativamente un sistema per formattare le query SQL e la documentazione relativa alla classe WPDB ha un capitoletto dedicato alla descrizione del suo funzionamento: Protect Queries Against SQL Injection Attacks

Vediamo come funziona:

$ID = get_the_ID();

$post_type = “attachment”;

$sql_attachment = “select post_name , guid , post_mime_type
from maurizio_posts where post_type = %s and post_parent = %d”;

$wpdb->query($wpdb->prepare($sql_attachment, $post_type, $ID));

Nell’esempio viene prapareata un’estrazione di tutti gli “attachment” associati ad un determinato post ma nella query non vengono usati direttamente i valori ma dei segnaposti che verranno poi sostituiti dalla funzione “prepare“.
Il segnaposto “%s” dichiara un valore stringa mentre “%d” dichiara la nostra variabile con un valore numerico.

In questo caso i vantaggi dell’utilizzo di questa tecnica non sono molti in quanto possiamo dire che i valori passati alla query siano relativamente sicuri, ma facciamo adesso un esempio in cui diamo all’utente la possibilità di indicare il nome dell’attachment da cercare.

$search = $_GET[“search_string”];

$sql_attachment = “select post_name , guid , post_mime_type
from maurizio_posts where post_type = ‘attachment’
and post_name like (%s) “;

$wpdb->query($wpdb->prepare($sql_attachment, ‘%’.$search.’%’));

Nell’esempio la stringa di ricerca viene passata tramite un form di input e non possiamo essere certi di cosa abbia digitato l’utente e se non usassimo la funzione “prepare” potremmo essere soggetti ad un tentativo di SQL Injection.

Questa “tecnica” fa ovviamente parte anche delle linue guida per lo sviluppo di wordpress che, nel caso non conosciate, vi consiglio di andare a leggere.

Image Credits: The Tech Herald

Montate automaticamente periferiche USB

Ubuntu e molte altre distribuzioni “desktop” ci hanno abituato a quella piccola magia chiamata automount che permette il colleganeti automatico al filesystem di periferiche USB come un dischi removibili o sempici chiavette.

In pratica ci evita la “noia” del mount.

Come dicevo qualche riga sopra questa funzionalità è presente in moltissime distrubuzioni dotate di Desktop environment ma nel caso volessimo usarla sulla nostra debian minimale dobbiamo installare un pacchetto aggiuntivo.

liunx-usbmount

Fino a ieri avrei suggerito autofs il quale funziona egregiamente a patto di avere voglia di fare qualche piccola configurazione ma, oggi, dopo aver fatto una piccola ricerca per rispondere ad un mail ricevuta da un certo Riccardo sono venuto a conoscenda di USBmount.

The USBmount Debian package automatically mounts USB mass storage devices (typically USB pens) when they are plugged in, and unmounts them when they are removed. The mountpoints (/media/usb[0-7] by default), filesystem types to consider, and mount options are configurable.

Essendo presente nei reposity debian è sufficente il solito:

# apt-get install usbmount

Come già scritto anche in queste pagine il mount di chiavette formattate con fat32 richiede una modifica al file di configurazione (“/etc/usbmount/usbmount.conf”) aggiungendo “vfat” all’elenco dei filesystem riconosciuti.

FILESYSTEMS=”vfat ext2 ext3″

Infine per applicare i cambiamenti è necessario riavviare udev

# /etc/init.d/udev restart

A questo punto per poter poter accedere alla nostra chiavetta USB ci basterà spostarci sotto “/media/usb” (ovviamente dopo averla inserita) 😉

Ruby on Rails 2.2: un eBook gratuto in italiano

Lo scorso 21 Novembre è stata rilasciata la versione 2.2 di questo “rivoluzionarioframework.

Le novità sono tante ed avere a disposizione un libro che descriva tali cambienti può risultare molto utile.
Quando poi il libro è disponibile gratuitamente ed anche tradotto in italiano diventa un’occasione da non lasciarsi scappare.

rubyonrails-in-italiano

L’autore di questa testo è Carlos Brando mentra la traduzione è opera di Carlo Pecchia a cui vanno tutti i miei ringraziamenti.

Qui sotto mi sono permesso di riportare parte dell’introduzione:

Ruby on Rails 2.2 è ricco di nuove funzionalità, miglioramenti e correzioni di bug. In questo libro troverete una breve
descrizione accompagnata (nella maggior parte dei casi) da esempi per ciascuno dei cambiamenti più significativi
introdotti nella nuova versione di Rails.

La realizzazione del presente libro è stata una notevole impresa, ed è nostra speranza che possa aiutarvi a
comprendere ogni nuova funzionalità introdotta in Rails.

Con la nuova versione Rails è divenuto poliglotta. Con il nuovo sistema di internazionalizzazione (i18n) potrete creare
con facilità applicazioni per i vari utenti sparsi sul globo.

Sforzi notevoli sono stati fatti per rendere Rails thread-safe ed il più possibile pronto per l’imminente rilascio della
versione 1.9 di Ruby. C’è stato anche un grande lavoro per renderlo maggiormente compatibile con JRuby. Benché la
modalità thread-safe non è ancora disponibile per tutti gli ambienti, dal momento che funziona solo nelle virtual
machine con supporto nativo per i thread (es: JRuby), è da considerare come un notevole punto di vantaggio per il
framework.

(via edit)