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!

 



venerdì 30 ottobre 2020

#A10 - La strada nel fare

 

 
Photo by Markus Spiske on Unsplash

 

Questo mese mi sono dedicato all'hacktoberfest cercando di contribuire a progetti opensource che utilizzo. Sono riuscito in parte a centrare questo obbiettivo, e di questo non mi lamento di certo.

L'occasione dell'hacktoberfest ( questo é il mio terzo anno ) é stimolante sia dal punto di vista della programmazione, ma anche e soprattutto nel vedere così tante persone impegnate. Alcuni per farsi visibilità, altri per la maglietta, altri per piantare un'albero ( questo é il mio obbiettivo quest'anno). Ma non sono qui per fare il processo alle motivazioni degli altri, ma spiegare perché la partecipazione all'hacktoberfest, piccola e grande, é stata importante per me.

E' utile per fare capire alle persone, che l'opensource non vive di vita propria, ma ha bisogno di persone che si impegnino sia a contribuire, sia ad organizzare i progetti, controllare i contributi ( bene Mirko ! ). Personalmente ritengo l'opensource uno strumento così importante da non riuscire ad immaginare il mio ambito ( lo sviluppo software ) senza di esso.

Tutti i progetti ai quali ho lavorato hanno incluso librerie di terze parti, opensource ( le apache commons, per fare un esempio). Risultato del lavoro di tante persone, che mai ho conosciuto e mai conoscerò. Ma é questa "eredità" che ci viene lasciata, sotto forma di piccole e grandi librerie.

E' per questo che ho contribuito volentieri a cron-utils, una libreria java che ha risolto un problema in un progetto lavorativo di un paio di anni fa. Ho fatto qualcosa che mi serve direttamente, domani al lavoro ? No.

Ho scelto di contribuire risolvendo dei problemi segnalati da altre persone, anche questo é opensource.

Qui invito i nostri (pochi?) lettori a lasciare i loro parere: voi avete mai contribuito ad un progetto opensource? Se no, perché? Se vi serve una mano, lasciate un commento o contattate me o Mirko, saremo felici di indirizzarvi.

E' un percorso istruttivo in tanti sensi, fidatevi!

 

giovedì 29 ottobre 2020

#M10 - Ottobre 2020

Questo mese, come Alberto lo scorso, ho deciso di non seguire la consueta struttura per l'aggiornamento visto che le novità si concentrano su un unico tema.

Dedico da ormai qualche anno il mese di ottobre a partecipare ad Hacktoberfest, l'evento organizzato da DigitalOcean per contribuire ai progetti Open Source che ci piacciono o usiamo di più.


 

 

Quest'anno la mia partecipazione è stata particolare rispetto alle precedenti, perché per la prima volta mi ha visto completamente dall' "altra parte della barricata": ho investito in pratica tutto il tempo come gestore di progetti più che come contribuitore.

Per il primo anno non raggiungo l'obiettivo come partecipante di proporre quattro contributi, ma mi rendo conto di felice ugualmente. Sono felice perché il tempo che non ho dedicato direttamente ai contributi é servito per aiutare gli altri a raggiungere il proprio obiettivo.

Per il secondo anno ho proposto per l'evento alcune issue di Resting e quest'anno il risultato é stato per me notevole, avendo ricevuto 7 contributi da parte di 6 contribuitori, di cui ben 5 totalmente nuovi.

Anche sul fronte exercism/java ci sono stati parecchi contributi, alcuni dei quali hanno assorbito parecchio tempo in svariati scambi di revisioni e validazione.

Quest'anno non sono riuscito a far piantare il mio albero, ma ho aiutato a farne piantare molti altri :).

Mi rendo conto che questo é un aggiornamento decisamente povero, ma accetto la cosa con serenità perché non possono esistere dei periodi alti senza averne di bassi.


Puntate precedenti



sabato 3 ottobre 2020

#A9 Lo stato dell'arte

Acqua foto creata da wirestock

 

Chi segue dall'inizio questa serie conosce la mia cronica difficoltà nel concentrarmi su un singolo progetto e portarlo avanti, mese dopo mese.

Penso che realizzarlo e scriverlo sia importante, perché anche questo, fa parte del percorso!

Capire che, non solo a volte il progetto che volevi portare avanti, il DQAAS é ad un punto fermo ( ma non completato ), ma anche che nuovi progetti, idee o sideproject ( come li si vuole chiamare), sono ben lontani dall'essere iniziati e.. figuriamoci completati

Ho quindi deciso di variare per questo aggiornamento la struttura, elencando un pò di attività sparse che mi hanno portato qualche soddisfazione, in ordine sparso:

  • ho creato una issue su un plugin per Eclipse che uso ogni giorno, EasyShell
  • ho contribuito a Resting aprendo issue ed usandolo di più durante gli sviluppi di api REST, sia al lavoro che per progetti personali
  • ho creato un repository su github con una piccola utility per usare Mongodb con Java, mongodb-utils
  • ho deciso di partecipare anch'io quest'anno all'hacktoberfest 2020, sia da manutentore di alcuni repository, sia come partecipante
  • nei miei progetti, mongodb-utils,  SprintBootSystemd , github-action-sql-syntax-check ho creato delle piccole issue che chiunque può risolvere, come parte dell'hacktoberfest 2020

Piani futuri

Anche se non so può sembrare da questo aggiornamento, parecchie cose sono in movimento, devo solo trovare la costanza nel lavorarci, perché la passione di fare c'è. Devo trovare tempo, modo, costanza, focus, come lo vogliamo chiamare, per continuare su questa strada.





martedì 29 settembre 2020

#M9 - Settembre 2020

Settembre è il mese del ritorno a scuola e quindi dopo aver preso un mese di pausa è tempo di tornare agli aggiornamenti.


Photo by Deleece Cook on Unsplash

Questo aggiornamento racconterà le attività del mese di agosto e quelle di questo mese.

Durante le vacanze ho avuto anche l'occasione di fare alcuni pensieri sui vari fronti aperti.

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 

Nel primo aggiornamento scritto in questo blog raccontavo come fossi interessato a fare un'esperienza di manutentore in un progetto Open Source attivo per capirne le dinamiche sia tecniche che umane.
Exercism/java tra gli alti e bassi delle mie aspettative si sta decisamente dimostrando un'ottima palestra su questo fronte.

Come deciso a luglio, ad agosto ho investito tutto il mio tempo a disposizione su questo fronte. Il lavoro è stato esclusivamente "organizzativo":

  • ho aperto issue sulle attività mancanti,
  • ho fatto review delle PR arrivate dai contribuitori ( in netto aumento, cosa che mi rende molto felice),
  • ho cercato di rispondere a tutti gli issue aperti dagli utenti,
  • ho tenuto vivo il canale slack dei manutentori del linguaggio Java.

In questo mese ho continuato a portare avanti questo tipo di attività.

Piani futuri

Continuerò a dedicare uno spazio del mio tempo settimanale (due o tre ore) a portare avanti le attività descritte.

La mia sfida personale sarà riuscire a rispettare il tempo che ho deciso di dedicare, cosa per me molto difficile. In questo devo decisamente migliorare: se vedo notifiche di nuove PR o issue aperti faccio seriamente fatica a non investirci subito tempo, subisco un senso di urgenza.

Nel mese di ottobre ci sarà anche l'annuale evento Hacktoberfest.

Per chi non la conoscesse, l'obiettivo è proporre 4 pull request ai progetti Open Source ospitati su Github nel mese di ottobre. Per chi raggiunge l'obiettivo in premio c'è una maglietta dell'evento o, quest'anno, la possibilità di far piantare un albero.

Exercism parteciperà all'evento e così anche la traccia Java. Per chi fosse interessato o soltanto curioso, a questo link potete vedere le attività a disposizione (che verranno aggiornate continuamente durante l'evento).

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

Ho sfruttato le vacanze per ragionare a mente serena su cosa voglio da Resting.

Nel sondaggio lanciato nel mese di marzo fra gli utenti di Resting (qui l'articolo dove ne parlavo) ne usciva un utente medio saltuario, che utilizza lo strumento circa una volta in settimana per testare le proprie API in sviluppo.

Mi sono reso conto che questo non è la tipologia di utente a cui miro. Sono interessato ad avere un utente più assuduo, che faccia uso dello strumento quotidianamente come faccio io.

Credo che solo così potrò avvicinarmi all'obiettivo che mi sono dato per Resting: quello di creare una piccola comunità attiva intorno allo strumento.

Un utente saltuario, per come la vedo io, è mediamente più propenso a passare ad un altro tool al primo problema o mancanza invece di segnalarla attivitamente.

E' sostanzialmente un utente che non ha la necessità dello strumento e senza tale spinta difficilmente si può creare partecipazione.

Le funzionalità attualmente fornite da Resting non sono sufficienti ad attrarre gli utenti che cerco.

Dal punto di vista dello sviluppo le attività sono ferme, questo mese ho deciso di concentrarmi su exercism/java per smaltire le attività che si sono accumulate nel periodo delle vacanze.

Piani futuri

Riprendere e terminare lo sviluppo della funzionalità di drag&drop dei bookmark, in modo da poter pubblicare una nuova versione.

Fare alcune prove per portare Resting anche su Chrome.

 

Cos'è ts-converter

ts-converter è una piccola estensione per browser che permette di trasformare un timestamp in una data leggibile.
E' un progetto free software con licenza GPLv3.


 

A che punto siamo

Ho chiaro che ts-converter è il mio progetto laboratorio.

E' sufficientemente piccolo da permettermi di usarlo come "pioniere" per approfondire nuovi scenari. Infatti è il primo progetto che ho portato su Chrome: mi è servito per capire le problematica di pubblicare di un'estensione nata su Firefox.


Piani futuri

In un prossimo futuro vorrei provare a portare l'estensione su Microsoft Edge per capire meglio problematiche e processo.