Ogni volta che vedo un restyle “moderno” di un sito italiano, rimango stupito di come un popolo di artisti sia capace di creare assurdità. Le ragioni possono essere le più disparate: cattiva o totale mancanza di progettazione della UX, che quando è fatta decentemente deve spesso sopravvivere alla mannaia del business e del marketing team del cliente (spesso non adeguatamente preparati).

L’esempio di oggi è relativo alla procedura di Lottomatica per la generazione dei nuovi codici di accesso all’Homebanking.

Hey! La storia non è finita! Continua la lettura…

Che la situazione legata al DMCA su Youtube, dove possibili detentori di diritti vanno spesso giù con il piede pesante nei confronti di utenti anche se operano in pieno fair use, fosse pessima non è una novità. Ma la storia di oggi ha realmente dell’assurdo.

La Fox ha preso un video di Youtube, lo ha inserito in una puntata di Family Guy (conosciuto in italia come “I Griffin” e ha pensato bene di chiedere a Youtube di rimuovere il video rubato per violazione del copyright.

Hey! La storia non è finita! Continua la lettura…

Lo sviluppatore web e l’addetto all’ufficio marketing sono soliti inseguirsi e scontrarsi per gestire le campagne pubblicitarie, il remarketing e la cattura di eventi per Analytics. La nascita di Tag Manager di Google (e altri tag management system) ha portato finalmente pace tra questi due mondi, rendendo più autonomo e semplice il lavoro di chi deve gestire le campagne pubblicitarie.

Ammettiamo di avere un blog WordPress dove si vuole aggiungere un banner AdSense di tipo skyscraper nella sidebar senza dover modificare il template o aggiungere l’intero corpo della chiamata per il banner in un tag testo.

Hey! La storia non è finita! Continua la lettura…

Mentre Mysql e SqlServer godono la loro immeritata fama, Postgresql zitto zitto negli ultimi anni sta aggiungendo funzionalità succose nel proprio engine. Oltre al supporto nativo NoSql, campi array e campi json, a breve nelle future versioni di Postgresql (si presume a partire dalla 9.6) si potrà godere di un notevole boost di performance nelle interrogazioni grazie alle interrogazioni sequenziali eseguite in parallelo, sfruttando dunque più cpu. Hey! La storia non è finita! Continua la lettura…

Aggiornato Settembre 27, 2020

Anche se lo scopo primario di Angular è la realizzazione di applicazioni SPA (Single Page Application), a volte può essere necessario instanziare più app nella pagina come se fossero widget e con la possibilità di condividere dati e funzionalità.

L’utilizzo di classi di servizio è stato notevolmente semplificato in Angular2, però questi casi rimangono una rogna soprattutto quando è necessario iniettare nel servizio alcune dipendenze con la dependency injection.

Hey! La storia non è finita! Continua la lettura…

Come ben sapete ho tenuto il seminario “Sviluppare dal futuro con Angular 2” in occasione della CodeWeek 2015 al Tag di Cosenza in veste di membro del Google Developer Group Cosenza e in collaborazione con l’Hacklab Cosenza.

In questo articolo potrete trovare nell’ordine:

Per qualsiasi domanda o informazione potete benissimo scrivere nella comunity Google+ del GDG Cosenza.

Happy hacking 😛

Dopo mesi dall’apocalisse generata dall’introduzione della CookieLaw, è innegabile il suo più grande successo: trifolare i testicoli dei naviganti con banner e popup colorati che si ripresentano sporadicamente anche dopo l’accettazione.

Ma un’alternativa esiste: CookiesOK Hey! La storia non è finita! Continua la lettura…

Aggiornato Settembre 27, 2020

Se vi siete trovati a sviluppare applicazioni Django per il mercato “italiano” vi sarete imbattuti sicuramente contro lo scoglio della selezione di città/comuni, regioni e province.

Esistono alcune app che comprendono anche i dati italiani, ma spesso o non sono esaustivi oppure non seguono l’organizzazione italiana.

Per questo motivo ho creato django-comuni-italiani.

Già al primo syncdb/migrate avrete la base dati aggiornata, popolata grazie a un comodo file di fixtures incluso.

Dopo una settimana di lavoro lontano da casa il tran tran quotidiano va in cerca del giusto svago. C’è chi gioca a League of Legends o a Battlefield 4 (ovvero io) e c’è chi gioca a CodeCombat!

codecombat_5

A prima vista può sembrare il classico giochino in flash/html5 dove lo scopo è collezionare esperienza e monete per potenziare il proprio personaggio, ma la meccanica di gioco è del tutto nuova: i comandi non vengono attraverso la tastiera e/o il mouse ma scrivendo del codice sorgente. Hey! La storia non è finita! Continua la lettura…

Un honeypot a bassa interazione, come Kippo, deve cercare di riprodurre ogni caratteristica del servizio che cerca di emulare. Errori compresi. Purtroppo non sempre ciò è possibile, il che rende la trappola rilevabile da umani e programmi che scansionano automaticamente i servizi presenti su una macchina.

Kippo usa il modulo “conch” di Twisted che in alcune occasioni non si comporta come un comune server OpenSSH. Ad esempio,  se ad inizio della connessione la richiesta è malformata, il server risponde con un triste:

[bytesvari] bad packet length [bytesvari]

Mentre il messaggio di errore che l’utente dovrebbe ricevere solamente:

Protocol mismatch.

Ma non abbiate timori di essere scoperti con questo trucco meschino! Basterà utilizzare questa semplice patch per far si di intercettare e modificare il messaggio di risposta per renderlo conforme a quello standard.

kippo-r246-bpl.patch
kippo-0.8-bpl.patch

Buona caccia!