Categories
lifehack tecnologia webdev

Free hugs

Time by time in ideato, like in other IT and not-IT companies, someone needs a hug.

We have to manage on daily basis complex tasks, sometimes also quite frustrating, to talk with customers with lot of confuses ideas and deal with the bleeding edge technologies with no documentation.

Since we chose to adopt a remote office approach, do a proper hug is quite difficult. That’s why we created a proper channel (#abbracciatone, aka big hugs) on slack.

We also are lazy and looking every time for a hug image on google is a pain. To clear this pain I wrote a very little script for slack using a web service (this the Json endpoint url) created with kimono lab and the slack API to send a random hug image on the channel triggered by the command /hugs.

If you want to create your own hugs-bot this is the code you can start from:

Categories
cazzate Startup webdev

The Big Crunch spec document

We are all quite familiar with the Big Bang theory, not the TV serie but the astrophysical thing, from a single instant we have a big explosion and life, universe and everything were created [ok, it’s a little more complex, but who cares?].

Lets try to use the big bang metaphor for our normal (web)work. We start with a single idea and then we have to expand it exponentially adding customer validation, ux design, frontend and backend development, community management and everything is needed to fulfil the scope of the idea.

The Big Crunch is just the opposite. We start with a complex and expanded system and then, little by little, it will be condensed in a single, unique and clear point.

Time by time some customers send me a “Big Crunch Spec Document“.

Categories
eventi webdev

Rebooting BetterSoftware

Come qualcuno di voi saprà da quest’anno ho messo le mie mani (anche) su BetterSoftware. Conferenze fino allo scorso anno gestita da Develer ed ora in mano ad un manipolo di soggetti con l’idea di rilanciarla in una nuova veste.

In realtà, il “nuovo” BetterSoftware è un ritorno alle origini. Quindi piuttosto che andare a parlare di come “spaccare il bit” cercheremo di portare interventi utili ed a corredo del mondo del software. Non solo sul project management, ma anche su come si fa impresa (tech), come la si mantiene, come si fa evolvere un progetto, etc. Se hai idee interessanti il CfP è ancora aperto.

Dedicheremo quindi l’evento ad un range di partecipanti che spazino dal CTO, o Lead Developer, fino allo startupper o imprenditore scafato per spiegare loro che il brief con 2 fogli powerpoint spesso non è il miglior modo di approcciare un progetto, che chiedere ad un account (preso in stage) senza nessuna esperienza di gestire un team di lavoro distribuito (e magari in outsourcing) non è la scelta migliore, e che sviluppare e mantenere codice senza i giusti strumenti, metodologici (agile, lean startup, xp) o tecnologici (continuos integration server, scm, etc) rappresenta un salto nel vuoto.

Quindi cari sviluppatori che vi lamentate che il vostro management è illuminato come una candela perché non lo convincete a farsi un po’ di cultura? ;)

Categories
Startup webdev

GTF – Mentoring time

I love teaching, I love to share my (little and far to be perfect) knowledge to someone else and see how he/she can re-elaborate and evolve it. Every year, in this period, I have a class on entrepreneurship to a bunch of high school students and every year I’m amazed on how young minds can approach problems.

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

javascript:window.open('http://chart.apis.google.com/chart?cht=qr&chs=150x150&choe=UTF-8&chld=H&chl='+document.location);void(0);

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

ciuaz