Alessandro 'kLeZ' Accardo personal website

This is the personal website of an Italian developer once called 'kLeZ'.

Blog

Trova lo st***zo! The IBM Way!

Oggi leggevo un brevissimo articolo, che però ci tengo a condividere con i miei (pochi[ssimi]) lettori. Forse lo condivido solo per me stesso perché ho una pessima memoria selettiva, che però seleziona un po’ come gli pare.

Il titolo originale è “The Asshole Test”, il mio è un po’ più colorito, ma non più di tanto.

FizzBuzz e l'ottimizzazione

Oggi vorrei parlarvi di un algoritmo.

Di norma un algoritmo talmente semplice da essere usato durante i colloqui per la valutazione della capacità minima di scrivere e leggere codice che comprenda il minimo indispensabile di logica, matematica e pensiero critico.

L’algoritmo consiste nell’implementare una funzione che dati i numeri da 1 a 100 faccia quanto segue:

  • stampi la stringa “Fizz” quando il numero è un multiplo di 3
  • stampi la stringa “Buzz” quando il numero è un multiplo di 5
  • stampi la stringa “FizzBuzz” quando il numero è un multiplo di 3 o 5
  • stampi il numero quando non è un multiplo di 3 né di 5

Semplice semplice. Ma allora perché ne parlo?

Il dilemma del calcolo delle stime

Di norma direi che il calcolo delle stime è qualcosa che facciamo tutti i giorni e che quindi almeno sulla carta ogni programmatore dovrebbe saper farlo.

Di norma direi anche che ci dovrebbe essere una procedura, una best practice una formula che possa calcolare una stima.

Siamo programmatori, quindi siamo ingegneri (più o meno)!

Il recruiter e l'informatico

Oggi vorrei raccontare una storia.

La storia di un recruiter incompetente che malauguratamente mi ha contattato in una giornata storta.

Le basi dello sviluppo

Ultimamente mi trovo spesso a leggere di sviluppatori che non conoscono determinati acronimi, o che si ritrovano a chiamarsi “sviluppatori” senza sapere cosa effettivamente significhi sviluppare software.

E come al solito mi triggero sulle basi e vado dritto come un pesce all’amo tentando di sviscerare un argomento che molti altri più bravi di me hanno tentato di sviscerare in libri interi spesso riuscendoci solo in parte.

Mi ripeto sempre che è una cattiva idea usare un blog per parlare di un argomento così vasto e che i grandi come Uncle Bob e Kent Beck si rivolterebbero nella tomba se ne avessero una.

Ma siccome sono entrambi ancora vivi, non temo questa reazione e quindi sbaglio con piacere, sperando anche di fare cosa gradita a quei 3 scappati di casa che leggono questo sito.

Inizio, dopo l’inizio, dicendo che le basi dello sviluppo di software sono tante, e lo sviluppo di software è un’arte complessa che merita tempo per lo studio e dedizione per la materia, mancanti le quali il software non può essere sviluppato oppure può esserlo ma sarà brutto, poco performante, difficile da mantenere e probabilmente pieno di problemi.

E soprattutto, un software sviluppato senza conoscere le basi sarà consegnato in ritardo, sempre. Qui non ci sono deroghe.

Using The Eisenhower Matrix In Emacs Org-Mode

Riporto integralmente l’articolo di Tom Purl che parla dell’integrazione della matrice di Eisenhower in Emacs Org-Mode.

Purtroppo Tom ha rimosso l’articolo dal suo sito ma sono riuscito comunque a trovarlo tramite la Wayback Machine.

Di seguito (in inglese) l’articolo integrale. Forse (forse) porterò una traduzione di questo articolo nel blog, a imperitura memoria, soprattutto per chi non mastica granché l’inglese.

PyTorch, la promessa del deep learning?

Recentemente mi sono appassionato al Machine Learning.

Per chi non sapesse cos’è, il machine learning è una tecnologia (un insieme di tecnologie, in realtà) che permette calcoli piuttosto complessi in modo relativamente semplice e, cosa estremamente più importante, che può imparare dai dati che gli vengono somministrati.

Questo permette di effettuare calcoli complessi sempre più precisi fino a un tasso di fallimento che rasenta lo zero, un fattore necessario per mansioni complicate e critiche come il riconoscimento delle semantico immagini e l’elaborazione statistica.

La situazione sul TDD

Il TDD è una di quelle metodologie che più spesso viene bistrattata qui in Italia. Spesso si sente definire questo approccio come troppo costoso o peggio come fallimentare.
Molto spesso la “colpa” va al budget, sempre troppo risicato quantunque esso sia, ma qui si sa che la coperta viene commissionata su misura per un watusso e poi arrotolata fino a non coprirci neanche un pigmeo. E quello deve bastarti, altra non ne srotolano.

Al di là delle facili critiche e delle superficiali battute tragicomiche, il fatto è che c’è molto ancora da fare per convincere i più biechi antagonisti di questa tecnica che vale la pena iniziare a fare dei test un componente necessario di ogni progetto.

Transazioni distribuite saghe e code

Venerdì scorso ho tenuto un talk interno alla mia azienda sulle basi (molto basi) del framework Spring.
Mi sono concentrato poco sui dettagli, ho preferito puntare verso le potenzialità del framework e le feature più innovative e interessanti, con un occhio buono al cloud, vera punta di diamante di tutta la tecnologia Spring.

Tags: eventi, spring

Il revisionismo del ritardo cronico

Qualche sera fa ragionavo sul mio pregresso lavorativo, e nello specifico mi concentravo sull’ambiente di lavoro. Il trigger è stato il treno che ho preso quella sera, Ostiense, 20.40, che non è proprio il massimo della vita, questo posso dirlo, perché mi porta a casa alle 21.45 circa.

Alla fine dell’analisi preliminare ho stabilito che volevo concentrare il mio ragionamento sull’orario di lavoro (ancora una volta) tentando di sviscerare il perché mi riduco sempre a sopportare certi orari.

Mi sono trovato a dover confutare una ipotesi che portavo con me da lungo tempo.

Avevo già verificato sperimentalmente questa ipotesi anni fa, e sembrava reggere. Fino a ora.

Come vedere Star Wars da neofiti o fan

Sono un fan di Guerre Stellari, probabilmente lo saprai.
Da appassionato del genere e dei film della Saga, negli anni ho sempre avuto quella sorta di richiamo che ogni tanto mi porta a vedere interamente tutti i film.

La saga però ha dei problemi particolari, il primo dei quali è l’ordine di visione.

FLOSSness di una distro Android

Da molto tempo ormai sono un utilizzatore di Android in versioni alternative alle ROM cosiddette stock.

Ora, dopo parecchio tempo passato a valutare la situazione, sono pronto per dare il mio giudizio sullo stato di salute di progetti FLOSS che possono regalarci un po’ di open source nella nostra vita quotidiana al fianco del nostro smartphone.

Il mio primo commento sul blog!

Sarò breve, ma non troppo, come al solito.

Questo blog ha ricevuto da poco un commento sotto a uno dei post pubblicati; il post è stato “Primo post da smartphone”, e subito mi sono illuminato per l’emozione che un pubblico, seppur piccolo, mi porta.

DevOps: 2 anni dopo

Oggi parlo di DevOps, argomento a me caro, chi mi conosce di persona sa quanto posso essere un serial killer di cabbasisi su questo argomento.

Introduco brevemente l’argomento dicendo che si tratta di una metodologia di organizzazione del lavoro strettamente legata all’informatica e che si presta molto bene per determinati gruppi di lavoro, determinati progetti e determinate aziende.

Sull'inevitabilità e lo stato

Ogni tanto parto col pippone filosofico, ormai lo sai. Questo è uno di quei momenti.

Parlerò di Socrate, della povertà e di Marx.

Tags: filosofia, marx, welfare

Aggiornamenti sulla direttiva Europea per il copyright

Tra i commenti che ho espresso nel primo giorno e mezzo sulla questione, uno fra tutti esprime la mia perplessità e rabbia.

In Europa i parlamentari stanno sconfinando in un terreno che non conoscono, tentando di legiferare su materie e tecnologie di cui non hanno la più pallida idea del funzionamento né dell’aspetto teorico di base.

Quello che alla fine risulta, è una direttiva troppo astratta per essere usata direttamente, e una chiara tendenza all’ignoranza e all’oscurantismo tecnologico.

Tags: Europa, copyright, saveyourinternet

Spaghetti Code: It's **that** bad

Ho sempre lottato contro le cattive pratiche, chi mi conosce lo sa.
Ho sempre parteggiato per il codice di qualità, con la forte convinzione che questo possa essere un vantaggio strategico per il progetto e l’azienda che ne è proprietaria.

Proprio per questi motivi ancora oggi, da 12 anni, non riesco a comprendere perché certi project owners abbiano sempre l’idea di risparmiare il budget dello sviluppo tagliando sulla qualità. Che poi risparmiare sulla qualità non significa niente, non è che a comando siccome ti pagano di meno puoi fare un lavoro schifoso. E infatti, per forzare il programmatore a produrre codice schifoso spingono sul fattore tempo (che è sempre poco).

Tags: bad practices, spaghetti code

Salva la Tua Internet

Oggi parlo molto in breve di un problema grave, un problema che ha addirittura costretto la comunità italiana di Wikipedia a oscurare il sito.

Wikipedia non è assolutamente una comunità fatta di gente ignorante, facilmente manipolabile o polarizzata in qualche maniera. Wikipedia è una comunità fatta di persone colte amanti del sapere che credono che il sapere sia un bene pubblico da preservare a tutti i costi, e che credono che la condivisione libera e pubblica delle informazioni sia un diritto primario di un continente culturalmente avanzato come il nostro.

Tags: saveyourinternet

Staticman c'è!

Ecco lo sperato secondo articolo su Staticman, finalmente ho qualcosa da scrivere!

Le difficoltà ci sono state, ma devo dire che pensavo peggio, alla fine mi ci è voluta solo mezza giornata di lavoro per tirare su la baracca.
Anche se con un mucchio di se e ma e però, comunque il componente regge e io non ho speso un euro. Vittoria per me, ma amara.

Tags: heroku, staticman

Adventures with Staticman

Oggi mi dedico a parlare di Staticman, un sistema di gestione dei commenti open source basato su node.js.

Staticman potenzialmente è un gran prodotto, davvero. Sembrerebbe funzionare davvero bene e, seguendo la onnipresente filosofia unix, fa una cosa e la fa per bene (o quasi).
Il problema è che non funziona, o meglio, funziona se e solo se puoi far girare la tua istanza per le tue necessità.

E qui viene il bello.

Tags: commenting system, open source, poor organization, staticman

IHC e ransomware

Sono profondamente in ritardo, lo so.
Sono stato a questo campeggio qualcosa come 7 mesi e mezzo fa, e andava riportato, ma non sapevo dove quindi non l’ho fatto; non me ne vogliate.

Iniziamo dall’inizio. IHC significa Italian Hackers’ Camp, e il genitivo sassone è una di quelle cose di cui in IHE (Italian Hackers’ Embassy) abbiamo discusso di più. Come da tradizione di ogni gruppo hacker che va a soffermarsi sul dettaglio. Questo è un po’ hacking alla fine.

IHC è un evento biennale che si è tenuto per la prima volta nel 2018 a Padova, se ti interessa vai sul sito di IHC.

La community intorno a IHC e IHE, e soprattutto l’associazione che ha ideato, organizza e promuove la community e il campo, sono di quegli agglomerati molto attivi e pieni di gente bellissima.

In quel di Padova, tra il 2 e il 5 di agosto, ho partecipato a questo bellissimo evento, mi sono divertito e ho imparato veramente tante cose, ho conosciuto della bella gente e non ultimo ho tenuto un talk, che è poi il motivo del titolo di questo post.

Il talk verteva sulla tematica dei malware, dei ransomware nello specifico, dando alcuni numeri e spiegando in parole semplici cosa sono e come si diffondono. Ripropongo qui il transcript, il materiale preparatorio, le fonti e la presentazione. In calce alla pagina troverai anche il video del talk, disponibile comunque su YouTube nel canale di IHC2018.

Tags: camping, hackers, ihc, ransomware, talk

Grazie Travis CI, meno grazie a GitHub

Sta sera ho quasi avuto il panico, quello che si prova quando sminchi1 produzione, quello che hai quando sai di averla fatta te la cazzata, il commit maledetto che non ci doveva stare.

  1. sminchiare: termine tecnico del vocabolario informatico che indica l’operazione di rompere inesorabilmente e completamente l’ambiente di produzione 

Tags: deployment, github, questo blog, travis-ci

Il Death Metal non rende violenti

Sta mattina ho letto un articolo che mi ha fatto riflettere.

All’inizio ho pensato “hanno fatto la scoperta dell’acqua calda”, ma poi ho realizzato che, anche fosse, l’hanno messo nero su bianco con rigore scientifico. E questo è un piccola vittoria nella mia battaglia personale molto punk nei confronti delle persone che sparano sentenze senza approfondire.

Tags: metal, music, research

Primo post da smartphone

Questo post viene direttamente dallo smartphone. Neanche uno particolarmente moddato, né tanto meno sono stato così “hacky” da portarmi dietro un ambiente ruby+jekyll.
Ma allora come ho fatto? L’ho compilato sul PC per poi pubblicarlo?
No! Ovviamente. Altrimenti che lo scriverei a fare: i post servono per raccontare qualcosa di nuovo o di diverso, le banalità ci vergogniamo a pubblicarle (per fortuna!).

Tags: android, github, jekyll, markor, mgit, travisci

Free Software Day

Today it’s free software day! Let’s celebrate!
I Love Free Software

Tags: floss, fsfe, ilovefs

Gestione del software nel mondo GNU/Linux - parte 1

This article is written in my native language, Italian, but you will find a translation ASAP (As Soon As Possible). Sorry for this. Questo argomento è, a dire la verità, credo tra i più discussi e spinosi in assoluto, io qui tenterò di dare forma alla nebulosa che compone questa tematica e getterò una base (spero) per qualcosa di più ampio.

A nightmare to remember -- not the Dream Theater's song -- [BTRFS vs. me - pt1]

Today I want to say a few words about BTRFS. Firstly I want to say that this filesystem is awesome for functionalities, I will use it as my filesystem again as soon as it will become stable. But, It is not yet stable, I tried and I fallen in front of his horrible performances.

Tags: Linux, btrfs, change root partition, migrate filesystem, openSuSE

Progetto complicato

Salve a tutti i miei lettori, credo che oggi convenga parlare chiaro e tondo sul progetto freax.

Tags: Freax, importato dal vecchio blog

Vacanze Ravennati

Oggi già che ho un attimo di pausa voglio scrivere della bellissima vacanza passata con la mia lei a Ravenna, città d’arte bizantina molto bella. Giacché un viaggio inizia con una partenza e finisce con un rientro, direi che è il caso di cominciare dall’inizio, la partenza.

Tags: importato dal vecchio blog

Altre idee per FPM

Ciao a tutti, oggi vorrei condividere con voi alcune idee che mi sono venute in mente riguardo a fpm.

Tags: Freax, importato dal vecchio blog

Narrativa per tutti! – Il D&D parte 3

Continua anche se con molto stacco la serie di post di narrativa riguardanti in particolare il D&D (Dungeons & Dragons) gioco di ruolo cartaceo creato nel ‘73.

Tags: d&d, importato dal vecchio blog, narrativa

Ahhhh che caldo!!!

Oggi diciamo che cazzeggio nel post, non ho molto da scrivere se non il fatto che mi sto compiacendo del mio bel download manager che sto scrivendo in java e che diverrà parte dello zozzissimo freax package manager, il gestore di pacchetti della distro che sto mettendo in piedi col mio caro amicone fabio. Ho finito di scrivere il modulo HTTP e va benissimo, ora sto scrivendo il modulo FTP che pure dovrebbe essere semplice. Vedremo come andrà a finire comunque gira gira lo riscrivo in C. Ma avanti col tempo.

Tags: Freax, Linux, importato dal vecchio blog

Lutto...

Ciao a tutti, Oggi voglio ricordare una bella persona, nessun grand’uomo nessuno di famoso solo uno che aveva il mio amore e il mio rispetto.

Tags: cordoglio, importato dal vecchio blog, sfogo

Omaggi a una leggenda dell'Heavy Metal

Ciao a tutti, oggi scrivo per ricordare, perché la memoria non vada a finire nel cesso, perché i ricordi non si affievoliscano, oggi sono qui per ricordare una leggenda dell’heavy: R. J. Dio.

Tags: cordoglio, importato dal vecchio blog, musica, sfogo

LFS ovvero come crearsi la propria distro GNU/Linux da zero

Salve a tutti, Oggi m’è venuto in mente un progetto che non molto tempo fa stavo abbandonando, il mio personale LFS. L’avevo iniziato col mio amico di vecchia data ma poi per impegni universitari non ha più avuto tempo di proseguire la cosa, quindi per ora vado da solo ma sono sicuro che appena avrà un momento libero mi aiuterà.

Tags: Linux, importato dal vecchio blog, informatica, lfs

Voglia di Rivoluzione

Salve a tutti, Sta mattina sul treno per andare a lavoro stavo leggendo un libro che contiene una raccolta di discorsi di Ernesto “Che” Guevara tenuti in vari ambiti della sua amministrazione di Cuba da ministro dell’Industria.

Tags: importato dal vecchio blog, politica, società

Narrativa per tutti! - Il D&D parte 2

La storia inizia più o meno con la fine della Grande Guerra, quella scoppiata tra tutte le razze gli uni contro gli altri. Vinsero gli elfi, o perlomeno furono quelli che conquistarono un più vasto territorio, isolandosi completamente dal resto del mondo e allontanando, con la forza se necessario, le altre razze.

Tags: d&d, importato dal vecchio blog, narrativa

Narrativa per tutti! - Il D&D parte 1

Salve, oggi il mio intento è quello di addentrarvi nel fantastico mondo del fantastico (che non è il parco giochi di Lunghezza ma un gioco di parole), cioè la cara vecchia fantasia, che da bambini ci accompagna come una fedele amica e che poi alcuni abbandonano, come un cucciolo troppo cresciuto, sull’autostrada dei loro ricordi d’infanzia.

Tags: d&d, importato dal vecchio blog, narrativa

Il mio personale WordPress

Salve a chiunque stia leggendo questo articolo, questo è il mio primo post nel mio blog. Nel blog voglio scrivere ogni cosa riesco in ambiti talvolta del tutto differenti, come le mie passioni. Troverete Informatica, Musica, Giochi di Ruolo Strategia e Carte (Magic), e Università, insomma un po’ di tutto, di quelli che sono i miei interessi e le mie passioni.

Tags: importato dal vecchio blog