Alessio Biancalana Grab The Blaster di Alessio Biancalana

I patched GitLab and I liked it

GitLab commit

Un software che apprezzo veramente tanto (e chi segue questo blog lo sa visto che ne parlo abbastanza spesso) è GitLab. Visto che ultimamente ho avuto anche un’esperienza ravvicinata con GitLab in un ambiente enterprise con migliaia di push giornaliere, ho imparato anche un po’ più profondamente com’è fatto il progetto in sé: con questo presupposto, ho deciso di inviare un contributo scemo.

Non mi piaceva infatti la disposizione di alcuni elementi grafici, e secondo me mancava un margine in un punto preciso; così mi sono letto le contribution guideline, e ho fatto una piccolissima modifica, sottoponendola poi tramite merge request al core team.

Devo dire che tutto il processo mi ha lasciato molto soddisfatto; grazie alla continuous delivery pipeline che hanno in casa loro, oggi ho visto applicato in produzione il cambiamento che ho apportato (una scemenza, ma ne sono comunque fiero :-D), e a valle di questo processo di contribuzione conclusosi nel migliore dei modi mi sento di fare un po’ di appunti:

  • Il triaging delle merge request è lento, ma questo dipende anche dal fatto che ci sono “pochi” addetti, mentre il numero di contributor esterni è abbastanza alto;
  • Le contribution guideline indicano come processo ideale quello di fare fork, creare un feature branch, poi chiedere la merge request dal feature branch in master. Secondo me questo non è ottimale, dato che la creazione del feature branch per modifiche di poco conto (come la mia) non inficia la review della richiesta che viene fatta dopo ed è solo uno step in più che appesantisce il workflow;
  • Mi è stato chiesto di assicurarmi che la build del mio commit fosse verde. Questo è sacrosanto, viceversa secondo me non è sacrosanto che uno step della pipeline di testing restituisca un esito non deterministico.

Tenendo a mente soprattutto l’ultima pillola e fissandola come un antipattern dell’ambito QA/operations, sono molto contento del risultato.

Daje :-)

Jekyll cambia le sue contribution guideline

E insomma, Jekyll ha cambiato ormai da una mesata a questa parte le proprie regole di contribuzione al progetto. Non ho ancora avuto tempo di farlo ma credo di poter cominciare ad inviare qualche pull request anche solo per risolvere qualche baco minore (per non dire atomico), esattamente come ho fatto con GitLab in settimana.

Il punto più interessante di tutto il nuovo iter mi sembra questo:

Second, this week, we created six community interest groups, we’re calling Jekyll affinity teams. If you’re interested in a particular aspect of the project (or just want to learn more), you can join any one of these teams (or two, or three), to participate in discussions about potential bugs and proposed improvements. And the best part is there’s no commitment. If you just want to listen, or if at any point you want to leave (or switch teams), that’s totally fine. We won’t say a thing. To learn more about the various affinity teams, or to join one (please do!), just head on over to teams.jekyllrb.com.

Penso che uno di questi giorni scriverò un commentario più ampio relativo a queste policy di contribuzione.

D'oh My Zsh

Robby Russell ha messo per iscritto tutto quello che gli è successo e tutte le lezioni che ha imparato dal suo progetto più fulgido, ovvero Oh My Zsh.

Don’t try to make it perfect. Worrying how other people are going to react about your code shouldn’t be your biggest concern. Does it work? How do they feel when they’re interacting with it should be a higher concern. In my case, I’ve had some great contributors over the years who have helped tidy up and improve the quality of the code that I originally released.

Rarely has anyone said anything critical about my old code — maybe they should have, though. ;-)

Don’t try to be everything to everyone. There have been a few points in the history of the project where we hit a crossroads. In particular, there was a time when a huge rebuild was proposed, which I was quite excited about until I was able to wrap my head around some of the changes.

Sinceramente, non solo reputo Oh My Zsh un tool must-have per chiunque sia patito della shell, ma reputo anche questo progetto come uno dei più bei casi di studio di cose community-driven di successo, nonché una comunità estremamente accogliente sia nei confronti di questioni tecniche poste da membri esistenti, sia nei confronti di nuovi membri che iniziano a guardarsi intorno e cercano di avviare un processo di contribuzione direttamente al codice, o anche con semplici domande. Provare per credere.

Ubuntu su Windows – what else?

Linux, Windows, OSX

Abbiamo visto qualcosa di fenomenale secondo me nelle ultime 24 ore: mi sono astenuto dal commentare senza studiare in maniera un poco più approfondita, ma Microsoft ha appena presentato durante Build, l’annuale development conference targata Redmond, un runtime per Windows comprensivo di tutto l’ecosistema Linux a meno di qualcosina. Più che Linux, propriamente, Ubuntu.

Come funziona

Praticamente questo “coso” che hanno presentato, nello specifico, è una tecnologia che esegue una traduzione di chiamate di sistema Linux direttamente in chiamate di sistema Windows, un po’ come il layer di compatibilità Linux che c’è in BSD, in modo che gli eseguibili della toolbox classica di uno sviluppatore Unix vengano resi disponibili anche su Windows. Posso dire che è figo? Dai, concedetemelo.

È un bene?

Si. Per quanto sicuramente tutto questo possa incidere in qualche modo sull’uso di Linux come desktop (perché avendo alcune di queste comodità su Windows, sicuramente vengono a mancare alcune motivazioni che possono spingere i più ad installare Linux sul proprio PC), avere dentro Windows una finestra di cmd.exe che, eseguita, possa avviare da ssh ad apt è senza dubbio una grossa fonte di gioia. Io, probabilmente, non credo che userò Windows in maniera meno sporadica di adesso (anche perché di Unix uso un po’ tutto, e per adesso questo rimane poco più che un esperimento), tuttavia ci sono frotte di miei amici, colleghi, coworker e così via che non vedono l’ora di disintallare Putty (& co.) per passare al cmd nativo.

Compreso il sottoscritto che sul suo setup di Windows ha sempre un ambiente MinGW impostato.

Un ulteriore esperimento che proverei a fare? Beh: in fondo questo non è che un runtime, e Bash non è che una shell; chissà se ci gira anche Zsh, con Oh My Zsh.

Se siete interessati a saperne di più, in ogni caso, il mio è solo un commentario delle informazioni che Canonical stessa ha condiviso attraverso Insights, il suo blog relativo ai case study.

Cambiano i tempi, ma il blogging è sempre qui

Matteo Brunati, sul suo blog, nel 2015:

I blog nella velocità e nella lotta dell’attenzione sono delle isole ben piazzate nella Rete, che danno maggior memoria rispetto al classico mondo dei Social Media.

Ci sono sicuramente meno intermediari che possono sparire nel tempo, tanto per dire.

Per rispondere alla domanda che lui si pone e pone ai suoi lettori in questo pezzo che secondo me vale la pena di leggere, secondo me vale ancora la pena tenere un blog per una serie di motivi: primo fra tutti fare chiarezza mentale con sé stessi. Un po’ il motivo per cui è partito questo blog anni fa :-)

Molto interessante, per inciso, WebMention.io che non conoscevo.