Categories
php tecnologia

Silex, phar e mongodb su DreamHost

Qualche giorno fa ho voluto sperimentare una microapplicazione Silex sul mio account DreamHost ed ho notato, con un po’ di disappunto, che nè il modulo PHAR nè quello Mongo erano attivi sul server.

Fortunatamente DreamHost permette di personalizzare la versione del PHP.ini che gira sul proprio account abilitando (o compilando) i moduli mancanti.

Ecco come ho fatto a risolvere i vari problemi che mi affliggevano.

Categories
lifehack webdev

3 giorni, 3 talk, 1500Km

Era da un anneto abbondante che non mi capitava di fare una tournè su tutto il territorio italiano con talk che spaziano da html5 fino al lean, ed invece pare proprio che metà-fine Marzo sarà un periodo molto impegnativo a riguardo.

Si inizia il 21 marzo con il php.to.start a Torino, organizzato dal PUG Torinese (sono sempre più orgoglioso di aver contribuito alla nascita dei pug locali) dove parlerò di come vivere su internet senza essere (per forza) una web agency.

Il 22 pomeriggio sarò invece a Bologna ad un Meetup organizzato da Intel nel programma Intel AppUp University come relatore sulle potenzialità di HTML5 ed un piccolo intervento/tutorial sui sistemi di storage client side (ormai mio cavallo di battaglia).

Stesso argomento tratterò il 24 a Roma durante il CodeMotion nel talk che ormai sto portando in giro da un annetto e che, pare, sia abbastanza richiesto.

Vi ricordo inoltre che il 13 Aprile ci sarà il Mobile PHP a Milano evento/barcamp gratuito ed aperto a tutti che verterà sull’utilizzo di PHP a supporto del mondo mobile.

Ci vediamo in giro!

Categories
open source tecnologia

PHP and MongoDB Web Development Beginner’s Guide, una review

PHP and MongoDB Web Development Beginner’s Guide” è un libro consigliato a chi vuole approciarsi a MongoDB con un approcio molto pragmatico ed orientato ad esempi concreti.

Nel libro, piuttosto che affrontare tutta la teoria dietro ai database documentali, si spiegano, capitolo per capitolo, le funzionalità che questo database NoSQL mette a disposizione degli sviluppatori e come possano essere sfruttate in piccoli progetti.

Ogni capitolo infatti tratta uno specifico aspetto di MongoDB, tralasciando i primi due capitoli più introduttivi alle funzionalità di base del sistema viene spiegato come usare Mongo per gestire (trasparentemente) le sessioni di PHP, geolocalizzazione di dati, storage di file con GridFS ed i log/analitiche del proprio sito. Viene dato anche un po’ di spazio alle pratiche di Map/Reduce anche se avrei approfondito il capitolo con qualche esempio più complesso.

Il libro è scritto abbastanza bene, e stranamente, gli esempi di codice PHP sono ad oggetti e vengono illustrati alcuni dei pattern usati. Unico limite del libro è che non vengono descritte le funzionalità avanzate di Mongo come sharding, load balancing e replicazione, ma da una beginners guide non ci si poteva aspettare altro.

Insomma, un buon punto di inizio, ma non di arrivo, per chi si vuole avvicinare a MongoDB.

Categories
lifehack pensieri webdev

Sulla riusabilità del codice

Passando molto più tempo a gestire la (follia della) gente che sul codice ho iniziato a rivedere alcuni concetti a me cari durante la mia precedente, e forse futura, vita da sviluppatore. Uno di questi è la riusabilità del codice.

Il primo tarlo sull’argomento si è presentato quando, durante l’Agile Day di Roma, mi è stato chiesto se in ideato reinventavamo la ruota ogni volta e per ogni progetto. In quell’occasione la mia risposta, data di getto e senza pensarci troppo, fu: “utilizzeresti del codice (anche tuo) scritto 4 anni fa?“. Il principio di base è che in 4 anni la tecnologia (sul web) evolve tantissimo, ed allo stesso modo evolvono le competenze dei team, riutilizzare quindi codice obsoleto e potenzialmente legacy non fa altro che limitare le potenzialità di uno sviluppatore (riducendo in alcuni casi la qualità globale del progetto).

Categories
pensieri tecnologia

HP cederà le linee di produzione dei pc?

Come qualcuno di voi avrà letto pare che dopo aver risentito della maledizione Palm (notate come tutte le aziende che comprano Palm o prodotti/marchi di Palm ad un certo punto, a prescindere dalla qualità insita del prodotto, lo dismettano?) HP abbia deciso di non produrre più hardware sul sistema operativo web oriented per eccellenza.

A seguito della notizia ne è arrivata una, a mio parere, più triste: HP sta valutando di dismettere anche la linea di produzione PC.

Categories
lifehack php tecnologia webdev

Zend Server e WordPress 3.x

Collaborando con Zend Italia, e con il buon Enrico, alla preparazione di un micro-benchmark su WordPress è emerso, tra le altre cose, che il CMS in questione non ama particolarmente il sistema di Page Cache dello Zend Server.

Questo avviene perchè il primo, non potendo comunicare al secondo la modifica di una pagina (ad esempio dovuta ad un commento), riceve dal sistema di caching sempre e solo lo stesso contenuto. Dopo un paio d’ore di studio delle API dello Zend Server e delle action di WordPress è emerso un simpatico snipplet che permette di usare direttamente il CMS in situazioni di grosso carico di lavoro senza doversi appoggiare a plugin di caching (come ad esempio il pur sempre ottimo W3 Total Cache) e lasciando quindi l’installazione di WordPress la più pulita possibile.

Qui di seguito il proof-of-concept (funzionante) del codice in questione.

Categories
lifehack tecnologia webdev

QR Code bookmarklet

fullo.netSe vi piacciono i QR Code, come quello che vedete qui a sinistra sappiate che google mette a disposizione un comodo tool per la generazione on-fly degli stessi.

Per comodità ho creato una piccola bookmarklet che invoca il servizio e genera automaticamente l’immagine.

Per usarla, copiate questo codice all’interno di un bookmark:
[code]javascript:window.open(‘http://chart.apis.google.com/chart?cht=qr&chs=150×150&choe=UTF-8&chld=H&chl=’+document.location);void(0);[/code]

o, più semplicemente, trascinate questa QR Code Bookmarklet sulla vostra barra degli indirizzi.

ciuaz

Categories
lifehack pensieri webdev

Il problema del refactoring

Dare una stima dei costi per il refactoring di un progetto, senza prima averlo analizzato sarebbe come cercare di curare una malattia senza investire tempo e denaro in analisi mediche.

Fullo, mail a cliente anonimo

Sempre più spesso in Ideato ci arrivano richieste per riprogettare, rifattorizzare ed ottimizzare software già in produzione. Ovviamente chi chiede informazioni sui costi si ferma ad un misero «ma quanto mi costa?» senza però ascoltare le due/tre cose che sappiamo sull’argomento (mica ci abbiamo scritto un libro sul refactoring per hobby, no?).

Uno degli ultimi casi che mi è capitato riguarda la riprogettazione (a tutti i livelli, dall’UX alla sistemistica) di un portale da fare in partnership con altre aziende con cui stiamo lavorando già da tempo. Solo la fase di preventivazione di massima è costata a tutti parecchio tempo perchè, come al solito, non c’erano idee chiare da parte del cliente che è stato accompagnato mano nella mano in tutta l’attività.

Il quale, però, è ovviamente caduto dal pero vedendo che nel preventivo di analisi mancava la stima dei costi per il refactoring.

Ecco quindi spiegata la metafora che introduce questo post.

Categories
eventi tecnologia

Don’t touch the slow parts

Ed ecco le slide del talk fatto con Federico Galassi durante il BetterSoftware 2010, se vi siete persi il talk e/o magari volete rivederlo in una veste più tecnica venite al phpDay 2010… ;)

ciuaz

Categories
eventi php

phpDay 2010 alle porte!

No, non sono di nuovo scomparso nel limbo dei blogger stanchi di scrivere, è che negli ultimi mesi sono stato un po’ preso tra il lavoro ufficiale e quello ufficioso.

Ebbene si, manca solo un mese al prossimo phpDay!