sabato 31 luglio 2021

#M - Luglio 2021

Aggiornamento pillola per il mese di luglio.

 

Photo by Marko Kelecevic on Unsplash


Vita Lavorativa

Confermo la mia precedente impressione su Go: una qualità del linguaggio è sicuramente la leggibilità e "semplicità"; mi ha permesso di entrare su un progetto consolidato con una buona velocità e mi ha dato la possibilità di essere produttivo fin da subito.

Exercism Java

Finalmente una data ufficiale per il rilascio della versione v3 della piattaforma: 01-09-2021 🎉🎉.

Owlcode.eu

Pubblicati un articolo sul blog:
 

Progetti

Ho dedicato il tempo a disposizione alla lettura di Go in Action.


Al prossimo mese 🕺




mercoledì 30 giugno 2021

#M - Giugno 2021

Un aggiornamento con poche novità, ma sicuramente di peso.

 

Photo by Eugene Chystiakov on Unsplash


Vita Lavorativa

Il mese si è diviso fra il lavoro e la scrittura di proposte.

Il primo progetto che ho seguito come consulente è andato in produzione a maggio e pochi giorni fa è stato sottoscritto un contratto di estensione per introdurre nuove funzionalità. Sicuramente questo è il miglior feedback di come è andato il progetto.

Negli ultimissimi giorni del mese si è concretizzata una grande occasione: inizio una collaborazione su un progetto sviluppato in  Go, sono davvero entusiasta. Finalmente posso portare Go nel mio lavoro quotidiano invece di relegarlo allo studio serale. Sarà sicuramente una sfida, ma sul piatto c'è un ricco premio:  velocizzare notevolmente l'apprendimento del linguaggio.

Questo è il sesto mese dall'inizio della nuova avventura, un punto parziale della situazione: posso dire che c'è movimento nell'ambiente, non tutte le possibilità vanno ovviamente in porto, ma è il fatto che le opportunità si creino che mi rende fiducioso per il futuro.

Resting  

Resting non è disponibile solo per Mozilla Firefox, ma da dicembre 2020, anche per Google Chrome.

Per curiosità ho deciso di dare uno sguardo alle statistiche dell'estensione. Ho selezionato tre grafici che presentano i dati degli ultimi tre mesi.



Le installazioni per giorno: sicuramente il volume è piccolissimo, inizia comunque ad esserci una continuità.



Una curiosità: il grafico degli utenti che utilizzano Resting per nazionalità. La nazione più rappresentata è la Francia seguita dal Messico.



Il grafico che mostra il numero di volte che Resting è comparso nei risultati di ricerca.

I valori si muovono fra le 5 e 80 comparse al giorno, lo spazio per allargare la base degli utenti c'è.

Come detto in qualche aggiornamento precedente, la costruzione di una base di utenza su Chrome impiegherà ancora molto tempo. Facendo un paragone con l'esperienza fatta su Firefox, l'utenza su Chrome cresce ad un ritmo molto inferiore.

Owlcode.eu

Pubblicati un paio di articoli sul blog:

Progetti

Lo scorso mese ho promesso che avrei dato un aggiornamento sulla prima esecuzione di gmail-downloader in "produzione": non è andata proprio come mi aspettavo. Sono state create le cartelle per contenere i file allegati, ma dei file nessuna traccia. Sono stato troppo ottimista 😅.
Eseguendo manualmente l'applicazione sul nas tutto è funzionato correttamente. Ho modificato lo script in cron per generare un file di log dell'esecuzione per capire che succede nell'esecuzione schedulata.
 
Per esercitarmi con vuejs ho creato un micro progetto: ho replicato il tutorial pratico di reactjs che propone di creare il gioco del tic-tac-toe.
E' disponibile sotto licenza CC0 su Github. Ogni suggerimento e commento è ben accetto sia qui che nelle discussion del repository.

Al prossimo mese 🕺


lunedì 31 maggio 2021

#M - Maggio 2021

Mese ricco di novità quello passato.

Mozilla mi costringe a dedicare del tempo non programmato a Resting.

Un progetto si conclude (per ora) e va in produzione, un altro parte a spron battuto.


Photo by Austrian National Library on Unsplash


Vita lavorativa

Un progetto è andato in produzione, ora siamo in fase di manutenzione e si discute di un'estensione nell'immediato futuro. Sono molto soddisfatto del lavoro che è stato fatto.

E' partita una nuova collaborazione che mi accompagnerà nei prossimi mesi: si torna alle origini, un' attività di sviluppo API REST in Java con Spring.

L'applicazione in questione è stata generata con JHipster che struttura un progetto con davvero tanta (decisamente troppa) roba. Per gusti personali mi avvicino più alla filosofia del "less is more", ma studiando la struttura del progetto ci sono delle chicche interessanti che sicuramente "ruberò" e integrerò nei miei progetti starter.


Exercism/java

Questo mese non ho portato avanti molte attività su exercism, mi sono limitato a rispondere ed analizzare issue aperti dagli utenti.


Resting

 Quando si lavora su un'estensione bisogna sempre tenere in conto la spada di damocle personificata dai revisori dei vari marketplace.

A metà mese Mozilla mi ha notificato che Resting é stata tolta dal marketplace perché un revisore ha riscontrato delle anomalie. Sono rimasto piuttosto basito in quanto l'ultima versione pubblicata ( e approvata) risaliva a dicembre 2020 e comunque negli ultimi rilasci non sono state introdotte modifiche sostanziali al codice.

Il revisore segnalava due anomalie rispetto alle policy di Mozilla:

1. del codice richiamante script remoti (per fortuna con l'accortezza di segnalarmi la riga esatta)

2. la richiesta di provare l'originalità di una lista di librerie terze parti di cui faccio uso in Resting.

Il codice incriminato: https://github.com/mirkoperillo/resting/commit/fc39bb56762075dea781c283dd30a337e81bb8dc

Resting è sviluppato usando Bootstrap 3 e il codice segnalato fa parte del boilerplate offerto da Bootstrap per il supporto di vecchissime versioni di Internet Explorer (precedenti alla 9). In effetti, ad essere fiscali, il blocco di codice fa riferimento a degli script recuperati da CDN esterni, ma nel caso di Firefox quel blocco non è eseguito.

Per fortuna la correzione è costata pochissimo: il tempo di togliere il blocco e pubblicare una nuova versione, che è stata approvata. Per quanto riguarda la seconda segnalazione non ho fatto niente se non comunicare in fase di pubblicazione della nuova versione che, come si può vedere aprendo i file delle librerie terze parti, sono presenti le versioni delle singole librerie e in caso di dubbio basta fare un confronto con la versione ufficiale.


Owlcode.eu

Ho pubblicato 3 articoli sul blog. Ne segnalo uno:

 

Progetti

Ho pubblicato un aggiornamento di gmail-downloader, un'applicazione da linea di comando sviluppata in Go creata qualche mese fa per impratichirmi con il linguaggio. L'applicazione permette di scaricare da un account Gmail gli allegati di email aventi una particolare etichetta. 

L'ho scritta perché volevo un backup offline degli allegati di particolari email. Nella nuova versione è possibile scegliere se sovrascrivere o meno gli allegati precedentemente scaricati.

Con questo rilascio ho deciso di mettere in "produzione" sul mio nas casalingo (un Qnap TS-251) l'applicazione: esecuzione schedulata ogni primo del mese. Nel prossimo aggiornamento avrete notizie a riguardo.

Devo ammettere che avere un processo di deploy in cui l'unico passo consiste nel copiare un eseguibile su una macchina è una gran goduria.

 

Contributi

springboot-jwt-starter il contributo fatto il mese scorso è stato accettato, questo mese ne ho proposto un altro (già integrato) per allineare i file di configurazione docker alla versione di Java introdotta precedentemente.


Al prossimo mese 🕺

lunedì 26 aprile 2021

#M - Aprile 2021

Questo mese sono particolarmente contento: ho utilizzato un progetto starter Open Source che mi ha aiutato parecchio e sono riuscito a praticare un "do ut des" in tempi rapidi, contribuendo subito al progetto con alcuni miglioramenti ed aggiornamenti.

Spero che questo diventi la prassi nel mio utilizzo Open Source.

 
Photo by Markus Spiske on Unsplash

Vita lavorativa

Il lavoro procede bene: un progetto si sta avvicinando alla conclusione, l'altro è un po' più indietro rispetto ai miei programmi iniziali, perché i tempi di comunicazione col cliente si sono rilevati decisamente più lunghi.
Segnalo questo componente Open Source che implementa una vista calendario sviluppato in vue.js vue-simple-calendar.
L'ho utilizzato come base di partenza per soddisfare le necessità di un cliente e si è dimostrato molto flessibile (almeno per le mie necessità).


Exercism/java

Le attività per completare la migrazione alla nuova versione della piattaforma avanzano a pieno regime. Attualmente la traccia Java ha raggiunto i requisiti sufficienti per funzionare correttamente con la nuova piattaforma. 
In seguito al lancio ufficiale partirà una lunga fase di miglioramento, correzione e ampliamento dell'offerta.
La mia partecipazione come gestore è iniziata a gennaio 2020, ad oggi mi ritengo soddisfatto del risultato: finalmente c'è una base stabile e concreta su cui ragionare per il futuro.


Resting

Mozilla fornisce un sistema molto basilare per tracciare la provenienza di un utente che decide di installare un addon. Io ho sempre utilizzato questo metodo per monitorare in modo semplice se le mie attività di promozione del progetto portassero o meno dei risultati.
A luglio Mozilla ha cambiato modo per il effettuare questo tracciamento e io ho deciso di non adeguarmi perdendo un po' di informazioni, fino alla fine del mese scorso quando ho deciso di aggiornare i link esterni che portano alla pagina di Resting per Firefox. Ecco alcuni risultati dopo l'aggiornamento:



Ci sono settimanalmente ancora molti download esterni ignoti, ma si vedono i primi risultati dell'applicazione del nuovo formato di tracciamento: uno dei download ignoti arriva dal sito di resting.
Ho approfittato anche per dare uno sguardo alle statistiche su cui non mi sono mai soffermato, per esempio i paesi di provenienza di chi usa Resting su Firefox.
 



La Germania è il paese più rappresentato. Nella top5 troviamo anche un altro paese europeo la Francia.

Resting è disponibile anche per Chrome, ma attualmente non ha un livello  di utenti sufficiente per avere delle statistiche interessanti.

Owlcode.eu

Ho pubblicato quattro di articoli sul blog del mio sito.
 
Ho pubblicato tre articoli su dev.to per raccogliere alcuni feedback sui progetti go che ho sviluppato negli ultimi mesi:

Contributi

springboot-jwt-starter è un progetto che ho trovato su Github. 
E' un progetto fermo da circa un anno e mezzo e offre una buona base per iniziare un progetto Spring Boot con autenticazione tramite JWT.
Mi ha aiutato parecchio a partire con il piede giusto nei progetti iniziati il mese scorso, per cui ho deciso di "ridare indietro" qualcosa.
Il progetto è fermo a Spring Boot 1.5 e Java 8, ho proposto un contributo per portarlo all'ultima versione di Spring Boot (2.4) e a Java 14. Il creatore del progetto si è dimostrato interessato, spero sarà integrato a breve.

Al prossimo mese 🕺

 

mercoledì 31 marzo 2021

#M - Marzo 2021

L'introduzione all'articolo di questo mese è dedicata a un aneddoto: qualche giorno fa un mio vecchio compagno di università che non sentivo ormai da anni mi ha contattato scrivendomi che ha letto del mio progetto Resting e che lo avrebbe provato, essendo alla ricerca di un client REST  da sostituire a curl.

Ha scoperto di Resting grazie a un mio post su LinkedIn. La strada rimane sempre lo stessa: condividere, condividere e condividere.


Nuova professione

Photo by Scott Graham on Unsplash

 

Il mese scorso mi auguravo di poter festeggiare un primo contratto firmato per questo mese. Bene, l'universo doveva essere in ascolto in quel momento: le due proposte fatte durante febbraio sono andate entrambe in porto e quindi posso festeggiare i primi due contratti firmati 💥💥💥.

I contratti mi occuperanno un paio di mesi: finalmente si parte ufficialmente con l'avventura.

Questi progetti mi daranno la possibilità di mettere in campo quanto studiato su Vue.js negli scorsi mesi.

Posso intanto confermare le prime sensazioni avute: sto utilizzando Vue.js in abbinata con bootstrap (grazie a BootstrapVue) e devo dire che la sto trovando una libreria di componenti completa con buone possibilità di configurazione.

Se qualcuno stesse sondando una tecnologia frontend per un nuovo progetto gli consiglio di giocare un po' con Vue.js.


Exercism/java

Finalmente un aiuto pratico: l'ultima persona che si è proposta come maintainer, si sta dando da fare con una buona intraprendenza, non mi sento più solo sul progetto 😅.


Resting

Resting continua ad essere fermo dal punto di vista dello sviluppo, ma ci sono comunque alcuni aggiornamenti:

  • Il progetto su Github ha guadagnato due stelle ⭐⭐,
  • qualcuno ha fatto un nuovo fork,
  • è stato aperto un issue da un nuovo utente.

 

Owlcode.eu

Questo mese è stato assorbito quasi totalmente dal lavoro, per cui sono riuscito a pubblicare solo un articolo sul mio blog:


Progetti

Dallo studio di go nasce un altro progetto, enigma. Lo ho pubblicato su Github con licenza Common Creative Zero.

Si tratta di un emulatore della macchina enigma: una macchina usata durante la seconda guerra mondiale dall'esercito tedesco per criptare le proprie comunicazioni militari.

Al prossimo mese 🕺



domenica 28 febbraio 2021

#M - Febbraio 2021

Cosa è successo in questo mese di febbraio? Beh, un bel po' di cose devo dire.

E' stato un mese pieno di attività.

Photo by jesse orrico on Unsplash

 

Nuova professione

Qui si è concentrata la maggior parte del lavoro: è stato un altro mese speso a diffondere il messaggio dell'avvio della mia professione come consulente libero professionista da un lato e di tempo dedicato allo studio dall'altro.

E' stato, per mia fortuna, anche il mese dei primi contatti con possibili clienti e della scrittura di qualche proposta. Nessun contratto firmato ancora, ma il vedere che le acque iniziano a muoversi lo giudico già un ottimo segno.

La speranza è arrivare al prossimo mese e poter festeggiare un primo contratto firmato. 🤸

Sul fronte studio ho continuato a rafforzare la parte di frontend con piccoli progetti utilizzando Vue.js in abbinata con bootstrap: l'esperienza è positiva, devo dire che è il primo framework frontend che utilizzo che mi permette di avere una buona produttività in tempi rapidi. Questo lo dico da uomo orientato al backend.


Owlcode.eu

Questo  mese sono riuscito a pubblicare 3 articoli sul blog che ospito nel mio sito personale, ne segnalo due:


Exercism/java

Un mese ricco di attività lato exercism. Mi rendo conto di aver dedicato più tempo di quello che avevo previsto, ma finalmente ai piani alti hanno finalizzato tutte le scelte per la nuova versione della piattaforma: ora sono chiare le attività da portare avanti per permettere il lancio delle singole tracce nella nuova versione.
In questo mese ho:
  • speso 15-30minuti al giorno per seguire lo slack generale del progetto e mantenermi così aggiornato su quello che succede e chiarirmi i vari dubbi.
  • aperto un buon numero di issue nel repository della traccia java, cercando di documentarli al meglio, così da avere una Todo list più completa possibile di quello che manca da fare. 
 
L'idea era quella di concentrarmi sul lavoro di organizzazione e lasciare agli altri manutentori e contribuitori la risoluzione delle varie attività, ma non essendoci una partecipazione attiva, ho portato avanti concretamente qualche attività in lista.

Resting 

Resting è momentaneamente in pausa, è chiaro che non posso dedicarci tempo in questo momento fra il vortice di attività da dedicare alla professione e lo studio. Il poco tempo che rimane ho deciso di dedicarlo in questo periodo ad exercism, così da aiutare a traghettare la traccia java alla nuova versione.

Resting non è però morto, qualche giorno fa mi è arrivata la notifica di una recensione a ⭐⭐⭐⭐⭐ sul martketplace di Firefox: sono le piccole cose che riescono a darmi una gran soddisfazione.
 

Progetti

Ho pubblicato un nuovo progetto, nato durante i miei esperimenti serali con Go.
Si chiama gosh: è una shell che emula in piccolo, ma proprio molto in piccolo, il funzionamento della shell linux e suggerisce il completamento delle opzioni dei comandi supportati. 
L'ho pubblicata su Github con licenza Common Creative Zero.

Al prossimo aggiornamento 🙌

lunedì 1 febbraio 2021

#M - Gennaio 2021

Parte ufficialmente una nuova stagione di 12 aggiornamenti.

Quest'anno porterò avanti gli aggiornamenti mensili da solo, in quanto Alberto, che saluto, ha deciso che era tempo di muoversi verso nuove avventure. 

Photo by Raychel Sanner on Unsplash


Nuova professione

Come anticipato nella chiusura della scorsa stagione, il 2021 inizia con una bella sfida di vita: ho deciso di sfruttare la chiusura del mio precedente contratto di lavoro per lanciarmi nel mondo della libera professione come consulente; insomma un salto epocale.

Questo primo mese è stato assorbito dal lavoro sulle fondamenta: è arrivato un nuovo pc da dedicare al lavoro, burocrazia varia ed eventuale e studio.

Mi sono accorto che ho bisogno di offrire maggiori competenze sul lato  frontend quindi mi sto avvicinando a Vue.js attraverso dei piccoli progetti pratici che penso pubblicherò nel prossimo futuro. Inoltre già da un paio di mesi mi sto approcciando a Golang per avere uno sguardo totalmente diverso rispetto a Java.

Il resto del tempo è stato dedicato a diffondere il più possibile la notizia della mia nuova avventura.

Ho iniziato a dissodare il terreno e a seminare, speriamo nasca un piccolo raccolto 🙃.

Exercism/java

Sul finire dello scorso anno i "piani alti" del progetto hanno pianificato una pubblicazione della nuova versione della piattaforma, la v3, in primavera.

Non sono per niente sicuro di riuscire a collaborare ancora come maintainer, la nuova avventura professionale risucchierà quasi tutto il mio tempo. Ho provato a lanciare una chiamata pubblica nel forum dei manutentori del linguaggio per capire se quest'anno ci fosse qualcuno in grado di dedicare regolarmente un paio di ore settimanali al progetto. La risposta non è stata per niente incoraggiante: il silenzio più assordante.

Per il momento cercherò di ritagliarmi un'oretta settimanale, quanto meno per tenermi allineato sulle evoluzioni del progetto. Dal punto di vista pratico cercherò di portare avanti delle micro-attività circoscritte al tempo di una sessione settimanale.

Owlcode.eu 

Owlcode.eu è il mio sito personale, il mese scorso ha subito un completo restyling tecnologico (ora si basa su hugo e viene ospitato direttamente dal mio server su DigitalOcean), grafico e contenutistico.

Questo mese ho anche aggiunto un blog al sito.

L'idea di questo blog è raggruppare pillole, pensieri, piccole scoperte e approfondimenti che escono dal lavoro quotidiano. Sarà una cosa molto genuina: nessun piano editoriale o scadenze, scriverò liberamente quando avrò qualcosa da condividere. Se avete voglia di seguirlo lo trovate qui.

Progetti

Ho creato una piccola utility in Golang col duplice scopo di risolvere un mio bisogno e giocare un po' con il linguaggio: ho pubblicato gmail-downloader su Github con licenza GPLv3.


domenica 3 gennaio 2021

#A12 - Dodicesimo

 

Photo by Waldemar Brandt on Unsplash

Dodici aggiornamenti dopo, rieccomi qui.

Riguardandomi indietro in questo anno appena passato, é stato strano, a dir poco.

Chi avrebbe mai detto che sarebbe arrivato il Covid così con forza a cambiare le nostre vite? 

Chi avrebbe mai detto che non solo sarei riuscito a chiudere i progetti dell'anno prima, ma a crearne di nuovi?

E' stato un anno di sfide, sotto ogni punto di vista.

Come ho scritto un anno fa, questo non vuole essere uno spazio per farsi pubblicità, ma per riflettere.

 

Che senso hanno questi progetti per me ?

Questa é una domanda alla quale ho cercato di rispondere con un anno di questo blog.

Che senso ha Registra Spese, la mia app per registrare con la voce le spese di ogni giorno?

Che senso ha Opensource analyzer, la webapp per analizzare i progetti opensource su Github?

Che senso ha Browser diary, il diario personale nel proprio browser ?

Che senso ha Data Quality As A Service, il servizio online per l'analisi dati ?

Questi progetti ( e molti altri non raccontati su queste pagine, perché esperimenti, pensieri, prove ) sono la dimostrazione di una voce interna, di una "chiamata" al fare. La direzione non é ancora certa, magari é stata difficile in questo anno così strano, ma mi ha dimostrato che c'è.

C'è la voglia di fare, di usare le proprie competenze per creare qualcosa di nuovo, diverso. E non importa se non viene usato, io l'ho creato. L'ho dimostrato a me stesso.

E non é la sfida tecnica che mi ha spaventato, rallentato, sfidato quest'anno.

Sono stato io.

Sono stato io a volte a sabotarmi, a rallentarmi. Perché sono stanco, perché é uscita l'ultima puntata di quella serie che seguo, perché voglio fare altro.

Ma avere un obbiettivo, anche se vago, serve nella vita.

Serve e servirà ( parlo sempre di me ! ) per darsi una direzione in tempi incerti, quali quelli che viviamo.

Quindi dopo un anno so che non importa quale sia passione, se la segui, sei sulla strada giusta.

 

Ed il punto di arrivo ?

Se all'inizio dell'anno scorso il punto di arrivo l'ho definito anche in chiave economica, questo fattore si é perso per strada.

Volutamente.

Chiedere denaro agli altri per un servizio richiede un livello di impegno e costanza che mi hanno a volte spaventato, rallentato, ma mi hanno fatto soprattutto ragionare. 

E' davvero quello che volevo ?

Se avete seguito questo percorso fino a qui, con quanto ho scritto prima, avrete capito che no, per il 2020 non é stata la strada che volevo portare avanti.

Quindi un anno dopo, anche se non ho raggiunto l'obbiettivo che mi ero prefissato, ne ho trovato un altro, forse più importante: conoscermi!


Piani futuri

Questo é l'ultimo aggiornamento del 2020.

Non so se ci sarà un altro aggiornamento nel 2021 o dopo, non so se tornerò mai su queste pagine.

Ma seguirò con interesse Mirko, nel suo viaggio.

E per il mio, chissà!

martedì 29 dicembre 2020

#M12 - Dicembre 2020

Photo by Markus Spiske on Unsplash

 

Nel primo articolo di questa serie mi sono posto una domanda:


E' possibile per un singolo sviluppatore sostenere le proprie necessità contribuendo a progetti Open Source ? 

 

Alla fine di quest'anno, lungo dodici aggiornamenti, rimango ancora più convinto di quanto avevo scritto: è davvero una domanda complessa a cui rispondere.

Durante l'anno ho fatto alcune esperienze per inziare ad entrare in questo mondo:

  • ho cercato di promuovere il progetto Resting al fine di creare una piccola comunità di utilizzatori,
  • ho iniziato l'avventura come maintainer in un progetto grande e strutturato come exercism.

A valle di queste esperienze posso dire che:

  • dare visibilità a un proprio progetto e costruire un seguito è davvero un processo complicato e implica anche una certa dose di fortuna,
  • mantenere un progetto è un'attività molto dispendiosa in termini sia di tempo che di energie mentali.

Per pensare di ricevere una qualunque forma di pagamento, noi o il nostro progetto devono essere percepiti come un "valore" per l'utilizzatore, quindi dobbiamo semplificargli la vita risparmiandogli tempo, fatica o denaro, oppure offrendo un valore che deriva dal nostro know how.

Se ad oggi dovessi rispondere alla domanda di cui sopra, queste sarebbero le strade che più probabilmente consiglierei di approfondire:

  • contribuire e crearsi un posizionamento in un progetto di ampio successo ed uso, al fine di guadagnare attraverso consulenze dirette su questo,
  • vendere un servizio basato su uno o più progetti Open Source, partecipando ai progetti stessi come contribuitore,
  • creare e partecipare a progetti come forma di vetrina per mostrare le proprie competenze e offrire un biglietto da visita concreto ad eventuali clienti.

Con l'aggiornamento di questo mese termina l'esperimento che ci eravamo preposti con Alberto. Ho trovato questo esercizio di scrittura un valore aggiunto per me stesso: mi permette ogni mese di fare una retrospettiva di quello che è accaduto e che sicuramente perderei senza la giusta attenzione. Per questo ho deciso che nel nuovo anno andrò avanti con la seconda stagione di questo blog.

L'anno prossimo sarà un anno decisamente strano ed allo stesso emozionante per me  in quanto sfrutterò la fine del mio ultimo contratto di lavoro per tentare la strada in proprio come consulente.

Ma questa è tutta un'altra faccenda, ora non può mancare una rapida rassegna dei fronti aperti in questo 2020.

Resting

Insospettabilmente é stato un mese movimentato per Resting.
Innanzitutto sono riuscito a rispettare le attività che mi ero proposto il mese scorso: ho corretto e integrato l'ultimo contributo ricevuto durante l'ultima edizione di Hacktoberfest.
Ho colto l'occasione per integrare direttamente nell'estensione le informazioni per supportare il progetto tramite donazioni. 




E' un passo che avevo in mente da qualche tempo ed era giunto il momento di concretizzarlo. Lo considero la mia ultima attività per sondare il grado di impatto di Resting sugli utenti.

E' stata rilasciata una nuova versione con queste aggiunte, la v1.2.0 e finalmente con questo rilascio Resting è ufficialmente disponibile anche per Google Chrome.
 
Le prossime attività in cantiere riguardano la comunicazione e promozione di questa importante novità.
 

Exercism/Java

Mi sono concentrato completamente nella chiusura di svariate attività aperte su java-representer e ho dedicato un po' di tempo per strutturare meglio il progetto aggiungendo una suite di test automatici su un insieme di esercizi così da poter procedere più celermente e con una maggiore tranquillità nelle attività di sviluppo.
 
I contributi creati sono rimasti appesi in attesa di rivisitazione da parte di qualcuno degli altri manutentori e purtroppo questo intoppa la velocità di avanzamento delle attività e l'umore con cui le porto avanti.
 
L'inizio del prossimo anno sarà un momento proprizio per capire come evitare questi intoppi e se si potrà contare su un aiuto costante da parte di vecchi o nuovi manutentori.
 

 

Nuova veste a owlcode.eu

Owlcode.eu è la mia pagina personale. L'ho pubblicata nel lontano 2014 e quindi una rivisitazione era d'obbligo.
Ad inizio mese ho preso la palla al balzo per rivedere praticamente tutto:
  • Il contenuto, passando tra l'altro dall'italiano all'inglese,
  • la tecnologia, è stato il mio primo approccio all'uso di un generatore di siti statici, nel dettaglio Hugo,
  • il deploy, passando dall'essere ospitato dal Google Cloud Engine al mio VPS su DigitalOcean.

Vecchia versione di Owlcode.eu




 

 
Dopo il restyle


lunedì 30 novembre 2020

#M11 - Novembre 2020

Questo mese, oltre il consueto aggiornamento sui vari fronti aperti, descrivo un processo che ho utilizzato per creare un'abitudine nella mia giornata.

Photo by JESHOOTS.COM on Unsplash

 

Cos'è exercism/java

Exercism è una piattaforma educativa per imparare/migliorare a programmare.
Propone problemi da risolvere in molti linguaggi di programmazione con la possibilità di esercitarsi da soli oppure confrontarsi con un tutor.
Fra i linguaggi supportati c'è Java (che da ora chiamerò exercism/java). 

 

A che punto siamo 

Il mio contributo alla gestione del linguaggio Java nella piattaforma exercism prosegue, seppur molto lentamente. Ad oggi continuo ad essere l'unico gestore attivo.

Il tempo necessario per portare avanti le attività in maniera proficua è decisamente aumentato negli ultimi tempi. E' incrementato soprattutto il tempo da dover dedicare alla lettura delle chat dove vengono discusse e prese le decisioni sulla strutturazione della piattaforma e conseguentemente delle singole tracce. 

Per rimanere allineati si dovrebbe dedicare del tempo tutti i giorni a leggere queste discussioni per capire come procedere e se c'è la necessità rivedere quanto fatto in precedenza.

Ovviamente questo si scontra con il tempo che ho deciso di dedicare a questa attività ( un paio di ore alla settimana). E' praticamente impossibile usare questo tempo per "scavare" nelle chat alla ricerca di quanto è stato deciso, per pianificare il lavoro e portarlo avanti ( direttamente o dedicando il tempo per supportare i contribuitori che hanno voglia di partecipare alla realizzazione).

E' per questo che molto pragmaticamente ho deciso di rallentare ulteriormente nelle attività di progetto e di investire il tempo a disposizione in quelle attività al momento più stabili, in attesa che vengano consolidate tutte le decisioni strutturali sul progetto generale. Solo allora sarà possibile stilare una lista consistente delle attività necessarie per portare la traccia Java alla nuova versione della piattaforma e pianificare un lavoro incrementale secondo i tempi a disposizione.


Piani futuri

In attesa che vengano stabilizzate le decisioni strutturali sulla nuova versione della piattaforma, proverò a portare avanti in modo rilassato le attività che mi sembrano più stabili e consolidate.


Cos'e' Resting

Resting è un'estensione per il browser Firefox che permette di analizzare e testare velocemente API sia HTTP che REST.


A che punto siamo

Su consiglio di Alberto ho pubblicato una nuova versione di Resting, la v1.1.0, grazie ai contributi ricevuti durante Hacktoberfest 2020.
 
Ho colto l'occasione per provare se Resting funzioni su Chrome.
Con un paio di piccole modifiche il risultato ottenuto è stato positivo: Resting sembra funzionare senza evidenti problemi. 

Piani futuri

La prossima attività in programma è investire del tempo per analizzare un contributo ricevuto durante l'ultima edizione di Hacktoberfest che non ho ancora potuto integrare per la presenza di alcune anomalie.
Il prossimo rilascio sarà l'occasione per portare ufficialmente Resting su Chrome.

 

Creare un'abitudine

Tendo a dimenticare molte delle cose che scopro durante il lavoro quotidiano. Non so se questo dipenda da come sono fatto o dal contesto ( molte attività da seguire ogni giorno su tematiche diverse e spesso nuove).

A fine giornata mi sembra di non aver concluso un bel niente e questa sensazione di stagnazione nel tempo è frustrante. Se però prendo del tempo e rifletto sulle attività portate a termine durante il giorno diventa chiaro che c'è un'evoluzione.

A fine marzo in uno di questi momenti di frustrazione ho deciso di provare a rendere abitudiario questo casuale processo di riflessione serale.

Per creare un'abitudine ho provato a darmi alcune regole:

  • ho creato un promemoria quotidiano che mi ricorda ogni sera alle 20 di prendermi del tempo per questa riflessione,

  • scrivo con carta e penna: ho scoperto che scrivendo al computer subisco molto di più la "sindrome da foglio bianco",

  • non importa quanto scrivo: che sia una riga o mezza pagina, il mio interesse è fissare almeno un aspetto interessante di quello che ho imparato durante il giorno.

Ad oggi sto portando avanti questa attività ogni sera e posso considerare di aver creato un'abitudine.

L'aspetto che più mi ha aiutato a raggiungere questo obiettivo  è sicuramente aver creato un promemoria che ogni giorno mi ricorda di dare del tempo a questa attività.

In queste ultime settimane sto provando a creare una nuova abitudine giornaliera sfruttando quanto imparato in questo processo.

Ne scriverò sicuramente quando la riterrò sufficientemente consolidata.

 

mercoledì 25 novembre 2020

#A11 Data Quality as Service - prototipo

 

 
Photo by Sigmund on Unsplash

 

Data Quality As A service é un'idea che ho avuto qualche mese fa ( vedi #A6 ed #A7 ): é possibile creare un servizio che controlli qualsiasi sorgente di dati, come voglio, in modo facile ed intuitivo, dal mio browser ?

La risposta é si!

Di seguito una breve immagine del prototipo, visto che l'immagine vale più di mille parole:

 

Click per ingrandire

Riporto alcune note sull'immagine, per permettere una più facile comprensione:

  1. l'utente accede al sito e decide di caricare un file da controllare ( es. un file .csv preso dal portale degli open data del trentino)
  2. il file viene caricato sul server, la struttura analizzata e riportata all'utente, che può quindi decidere come controllarla
  3. il caso in oggetto controlla se il campo "Categoria" contiene "a"
  4. il file csv ritornato contiene i dati che soddisfano quella condizione

 

Perché é un prototipo ?

 DQAAS é un prototipo attualmente perché manca di tutte quelle funzionalità "accessorie", ma fondamentali, quali ad esempio l'autenticazione.Vi sono alcune funzionalità che dipendono dalla diversa gestione che si può fare di un servizio come questo, che spiego più avanti.


A che punto siamo

Il sevizio, sviluppato con una componente di frontend ( sviluppata in Angular 9 ) e backend ( in java 11 ) é funzionante e testato con tutti gli operatori che ho indicato:

  • uguale / non uguale
  • contiene
  • maggiore
  • minore
  • maggiore uguale
  • minore uguale 
  • inizia con / non inizia con
  • finisce con / non finisce con 
  • ha lunghezza / non ha lunghezza

Il supporto a questi operatori, unito alla indipendenza dalla struttura in input, permette di controllare i dati in modo abbastanza completo, evidenziando quelli di interesse ( sia in termini di negativi, ovvero di errore, o positivi).


Piani futuri

DQAAS é completato come prototipo ed ha assolto il suo compito. Ho imparato molto su come organizzare un progetto come questo, trovare una soluzione generic per un qualsiasi formato in input, analizzarlo e ritornare un risultato. Ho lavorato anche sull'aspetto di presentazione, che mi ha bloccato per un pò di tempo ( sia in termini di codice, sia di organizzazione dei contenuti e presentazione, che come potete immaginare può spaziare verso numerose soluzioni ).

Ho deciso alla fine di scegliere per una soluzione il più possibile semplice ed intuitiva, senza farmi prendere dal "demone" del perfezionismo e dell'aggiungere funzionalià senza scopo, se non quello di farmi perdere tempo. Per questo sono molto soddisfatto di questa esperienza!

Ho deciso però di chiudere qui questo prototipo, almeno per ora e dedicarmi ad altro, ma ne parlerò il mese prossimo!