Categories
eventi lifehack pensieri php webdev

Creare un ecosistema sano, è possibile.

Qualche tempo fa, durante una riunione dell’xpug romagnolo (che ora ha anche una pagina su G+), emerse il discorso sul rimanere a combattere piuttosto che emigrare. La serata, piuttosto che vergere sul classico auto compatimento è stata interessante ed ha portato a diversi punti chiave su cui lavorare. Il più importante è che se vogliamo lavorare bene dobbiamo migliorare l’ecosistema (informatico) all’interno del quale ci muoviamo.

Il (mio) ecosistema è quello dello sviluppo per il web, e nel mio piccolo sto contribuendo a migliorarlo (o almeno spero).

A conferma di quanto affermato vi spiego come è stato ripensato il modus operandi del GrUSP negli ultimi anni.

Categories
lifehack php

Zend Server 6 and phpMyAdmin on OSX

I would never imagined to write a post on OSX, moreover in english, but time changes everything.

After I installed the new version of Zend Server 6 I had some issue with phpMyAdmin. A laconic

#2002 - Connection refused
The server is not responding (or the local server's socket is not correctly configured).

is shown up on chrome with no mercy.

The fix is quite easy as it subtle, open

/usr/local/zend/var/apps/http/__default__/0/phpmyadmin/3.5.6.0/config.inc.php

and change

$cfg['Servers'][$i]['host'] = '127.0.0.1';

with

$cfg['Servers'][$i]['host'] = 'localhost';

that’s it.

Categories
php webdev

Export GitHub issues as CSV with v3 API

That’s a very little snipplet/hack to retrieve the issue with curl and php. If you have time take a look to the official GitHub v3 API to create something better ;)

curl -u ":user" https://api.github.com/repos/:user/:repo/issues?per_page=1000  > issue.json

note that I have to use per_page parameter because since v3 API all the results are all paginated by 30. I used CuRL externally from php (I’m lazy) but you can implement the API call as you like.

Then create a php file like this:

<?php
// issues.php
$file = fopen('./issue.json', 'r'); 
$content = fread($file, filesize('./issue.json')); 
$issues = json_decode($content); 

// I retrieve milestone, issue number, state, title and description
foreach ($issues as $i) { 
  echo $i->milestone->title.";".$i->number.";".$i->state.";".$i->title.";".$i->body."\n\r";
}
?>

and execute it to have issues on a csv file

php issues.php > issues.csv

That’s all!

Categories
di tutto un po' eventi php tecnologia

Novità dal fronte: phpDay e jsDay 2012, nuovi business model e startup

jsday Manca ormai una settimana all’evento che con gli altri ragazzi del GrUSP abbiamo iniziato ad organizzare a Novembre: jsDay e phpDay. I programmi di entrambe le conferenze sono saturi di relatori di gran calibro e parlare nella stessa conferenza insieme a Douglas Crockford mi fa sentire un po’ un privilegiato *.

phpday Cosa interessante è che se lato jsday il trend è quello dei videogiochi, tra le oltre 100 proposte molte vertevano sullo sviluppo di giochi per browser, lato phpday uno dei problemi più sentiti è quello del deploy (e successivo mantenimento) del codice. Insomma due mondi che, nonostante siano molto vicini concettualmente (sempre di “web” si parla), si stanno allontanando molto dal punto di vista delle problematiche degli sviluppatori.

Sempre con/per il GrUSP ho coordinato la scrittura (a 2 dozzine di mani) del libro PHP Best Practices, edito da FAG Editore, che verrà presentato al phpDay. Il libro è un cookbook di circa 400 pagine che tratta svariati argomenti, dalla partecipazione alla community di PHP fino a come fare deploy con Ant… Prendete un assaggio dal sito ufficiale e ricordatevi che parte dei proventi vanno all’associazione.

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 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
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!

Categories
eventi php tecnologia

ITDEVCon, IPC e AgileDay

Finalmente torno a girare un po’ per conferenze, e che conferenze. Questa settimana sarò impegnato come relatore all’ITDevCon, conferenza dedicata al mondo Delphi e PHP che mi vedrà nella duplice veste di php-ista ed agilista con due talk leggeri sul TDD e i maggiori misunderstand riguardanti lo sviluppo agile.

La cosa che mi rende contento dell’ITDevCon, è che parteciperò ad un evento su quello che è l’evoluzione di uno dei linguaggi che più mi ha divertito ai tempi delle medie, il Turbo Pascal e che tuttora si porta dietro qualche strascico come il tema per Zend Studio con sfondo blu… :)

Al ritorno dall’ITDevCon farò un salto in quel di Karlsruhe per partecipare all’edizione invernale della phpConference 2009, uno dei più importanti eventi europei per PHP che ogni anno vede le migliori teste del globo a cercare (riuscendoci) di farmi ubriacare parlare di tutto ciò che gravita intorno al mondo dello sviluppo su web ai massimi livelli.

Infine a Bologna, si terrà il 20 novembre, la nuova edizione dell’AgileDay, che quest’anno mi vedrà nei panni di relatore durante un breve talk intitolato Agile === Dinamico . Onestamente partecipare a questa conferenza attivamente, e non come spettatore, mi spaventa un po’ ma cercherò, nel mio (ph)piccolo di svecchiare qualche preconcetto sull’agile e sui linguaggi interpretati ;).

Che dire.. ci vediamo in giro! :)

Categories
php recensioni webdev

eZ Publish 4: Enterprise Web Sites Step-by-Step

ez publish 4 enterprise website step by step A breve sarà finalmente disponibile sul sito di PacktPub il libro che abbiamo scritto, Francesco ed io, su eZ Publish ed intitolato: eZ Publish 4: Enterprise Web Sites Step-by-Step.

Devo dire che sono particolarmente fiero del lavoro fatto perchè, premi a parte, è stato il mio primo vero libro tecnico scritto. Una specie di sogno nel cassetto che avevo da un po’ di tempo.

Il libro è una guida che punto per punto spiega come installare, configurare e creare un sito usando gli strumenti di base messi a disposizione dal CMF e con un minimo di personalizzazione. Niente di fantascientifico, ma molto pragmatico per chi vuole, da subito, avere un prodotto utilizzabile.

Categories
php webdev

Ottimizzare PHP, Google e tante castronerie.

John Allspaw: flickr php4 to php5 migration Ogni tanto pare che anche in Google sparino immense bufale, una delle ultime è un presunto articolo su come ottimizzare i propri script in PHP che sembra uscito fuori da uno script kiddie appena avvicinato al linguaggio.

La cosa interessante è che la comunità di PHP non è rimasta con le mani in mano ed ha risposto, sul gruppo di discussione interno di Google, con una serie di smentite ed approfondimenti molto interessanti e sicuramente da leggere.

Tra le varie scuse annesse all’articolo una, a mio parere raccapricciante, alludeva al fatto che gli esempi erano stati scritti per vecchie versioni del linguaggio. La migliore risposta a tale affermazione è stata:

You talk about “older versions such as 4 and even 3“.
Who is running versions of PHP that are that old on the open internet?
If you’re running on PHP3 or PHP4 on a public-facing website, your
very first priority is to upgrade to PHP5 for security reasons, not to
optimize your pages.

Seguita dalla citazione di un post di Bergmann dove si fa vedere come, effettivamente, la migrazione da php 4 a php 5 abbia portato reali benefici a Flickr (e non parliamo del blog di tizio o caio). Infatti con la semplice migrazione dell’interprete, a parità di codice, l’utilizzo medio di CPU ha avuto un calo di circa il 50% (il grafico in alto).

Ad oggi l’articolo non è stato ancora corretto, il che mi farà leggere tutti gli articoli su code.google.com con un approcio un po’ più critico…

ciuaz