Checkstyle and DetailAST

If you are running Checkstyle (for checking Java style) and you are stuck with this error: checkstyle: [checkstyle] Running Checkstyle 6.11.2 on 2324 files [checkstyle] Can’t find/access AST Node typecom.puppycrawl.tools.checkstyle.api.DetailAST which is a cryptic error with no whatsoever Google result on how to fix it, stand back: I have the solution! You probably have these … Continue reading Checkstyle and DetailAST

ZeroTurnaround’s Java Tools and Technologies Landscape Report 2016

As of every year, ZeroTurnaround released the yearly report of their survey about Java and Java-related technologies among professional developers. I find this report very interesting, and I usually compare (or discover) existing technology solutions. For example, right now I’m currently thinking about moving to Intellij IDEA. How do you measure up against the report?

iOS Bootcamp al TAG di Bergamo

Ieri sera ho partecipato all’incontro “iOS Bootcamp” organizzato dalla community di #pragma mark presso il TAG di Bergamo. Non era la prima volta che frequentavo il TAG: un luogo dove incontrare giovani startupper e persone interessanti con cui discutere di tecnologia ed innovazione in un ambiente stimolante e creativo. Era la prima volta, però, che … Continue reading iOS Bootcamp al TAG di Bergamo

Linguaggio C, seconda edizione (K&R): la mia recensione

In pochi giorni ho letto una pietra miliare dei libri della programmazione, il famoso K&R (dagli autori Kernighan & Ritchie); si tratta del libro più famoso per quanto riguarda la programmazione C. In libro è molto breve (in totale 340 pagine, ma le ultime ~100 pagine di appendice sono una reference manual condensata). Il libro … Continue reading Linguaggio C, seconda edizione (K&R): la mia recensione

PHP5 e MySQL, la guida: la mia recensione

Per ripassare le mie nozioni di PHP5, ho deciso di leggere il libro di McGraw-Hill, “PHP5 e MySQL, la guida“, composto da circa 1100 (!) pagine. Perché proprio PHP? Peché, PHP è un linguaggio di successo, sebbene non venga presentato nei migliori dei modi (“è un linguaggio per principianti”). Ecco almeno 4 ragioni per cui … Continue reading PHP5 e MySQL, la guida: la mia recensione

Python: scriviamo un HTTPS downloader simile a wget (con urllib2, optparse e getpass)

Per ragioni di semplicità di utilizzo e immediatezza (e anche per imparare qualcosa di nuovo), la settimana scorsa ho dovuto scrivere un downloader da linea di comando simile a GNU wget, ma con alcuni requisiti personalizzati: l’accesso alla pagina di download è protetto da userid e password (autenticazione HTTPDigestAuth); il protocollo di accesso è HTTPS; una … Continue reading Python: scriviamo un HTTPS downloader simile a wget (con urllib2, optparse e getpass)

Misurare la quantità di codice di un progetto

In questo post affronto un argomento abbastanza delicato: come si misura la quantità di codice di un progetto? La soluzione più immediata è quella di contare le linee di codice (Source Lines of Code, SLOC). Un esempio che ho personalmente applicato per contare le righe di codice di un progetto Java a partire dalla root … Continue reading Misurare la quantità di codice di un progetto

QR Codes e la Google Chart API

Piccola intro: i QR Codes sono analoghi ai “normali” codici a barre, ma rappresentano un’evoluzione: possono contenere più dati (a parità di dimensione) e possono essere letti da una serie più ampia di dispositivi, come gli smartphone (su iOS segnalo l’ottima e gratuita i-nigma). Dopo aver scaricato un lettore di QR Codes per il vostro smartphone, … Continue reading QR Codes e la Google Chart API

Python e il metodo setdefault

Note to self (pun intended): questo post rappresenta una sorta di appunto mentale per ricordarmi il funzionamento di setdefault in Python, visto che puntualmente mi trovo ad utilizzarlo. setdefault è utilizzato sui dizionari (dict) e permette di impostare una chiave di default durante una set. Mi spiego meglio con un esempio: >>> D {1: ‘leonard’, … Continue reading Python e il metodo setdefault

Eclipse: impostare un template per l’inserimento di un Logger log4j

Mi capita spesso, in Eclipse, di inserire il codice per abilitare il logging di una classe tramite log4j: private static Logger logger = Logger.getLogger(Klass.class); Utilizzano i templates, una funzionalità di Eclipse, possiamo evitare di riscrivere tutte le volte questa semplice istruzione. Per impostare un template, in Eclipse, è sufficiente recarsi su: Window > Preferences > … Continue reading Eclipse: impostare un template per l’inserimento di un Logger log4j