GitHub: caricare tutti i diff con un solo click

In un mondo ideale tutte le pull requests (PR) dovrebbero essere piccole e concise non arrivando mai a superare le 200-300 righe di diff. Spezzare il lavoro in piccoli task, infatti, permetti di semplificare la vita al collega che dovrà fare la code-review prima del merge del codice.

Adoro i diff piccoli

Sfortunatamente nel mondo reale non sempre è possibile mantenere le PR di dimensioni accettabili. Soprattutto quando è necessario rilasciare in produzione nuove funzionalità può capitare che non si riesca a spezzarle in rilasci più piccoli.

La pull request che non vorrei mai incontrare

Quando capitano mostri del genere GitHub, per ovvie ragioni di performance, non mostra il diff completo ma richiede di caricare in maniera asincrona i file da rivedere.

Il famigerato bottone “Load Diff”

Quando è necessario fare le review di Pull Request del genere cliccare il pulsante “Load Diff” per ogni file modificato può diventare il peggior nemico del tunnel carpale.

Ma prima di vedere come risolvere questo problema mi presento, sono Lorenzo Millucci e sono un ingegnere del software che ama lavorare con PHP e Symfony. Nel tempo libero mi piace condividere in questo blog le cose che imparo. Iscriviti al mio canale Telegram per non perderti nessuna notizia!

Aprire tutti i diff insieme

Per salvare il tunnel carpale da una montagna di click sul pulsante “Load diff” fortunatamente ci vengono incontro due righe di JavaScript:

document.querySelectorAll('.load-diff-button').forEach(node => node.click())

Ti basterà incollarle nella console degli strumenti per sviluppatori per far si che vengano automaticamente clickati tramite JavaScript tutti i pulsanti “Load Diff”.

Et voilà, il gioco è fatto!

Tip: memorizzare lo script in Chrome/Edge

Si, lo so, è una sola riga di codice. Potrei anche memorizzarla…. Ma se non fossi pigro non avrei mai fatto lo sviluppatore. Ecco perché ho trovato un modo che permetta di utilizzare questo script sfruttando una funzione poco nota di Chrome e Edge: i Frammenti (o Snippets in inglese).

Se ti capita di dover digitare continuamente le stesse righe di codice all’interno della console del browser puoi pensare di salvarle all’interno di un frammento. Infatti memorizzandole in un frammento potrai eseguirle all’interno di qualunque pagina utilizzando direttamente gli strumenti del browser.

La prima cosa da fare per creare un nuovo Frammento è aprire gli strumenti per sviluppatori, spostarti nella sezione Origini (Sources in inglese) e da li selezionare Frammenti (Snippets) e premere su Nuovo frammento (New snippet).

Il browser a questo punto ti chiederà di assegnare un nome al nuovo script e di definirne il contenuto.

Ritornando all’obiettivo dell’articolo, per automatizzare l’apertura dei diff ho creato un nuovo frammento chiamato GitHub PR in cui ho incollato lo script riportato sopra.

Aggiunta di un nuovo frammento

Una volta salvato il frammento, per richiamarlo all’interno di una pagina basterà aprire nuovamente gli strumenti per sviluppatori e premere Ctrl+O per aprire l’elenco dei comandi e digitare le iniziali dello Snippet appena salvato precedute dal simbolo ! (ad esempio nel mio caso il comando sarebbe !GitHub PR)

Esecuzione di un frammento memorizzato

Facendo click sul nome del frammento questo verrà eseguito dal browser e, nel caso in questione, tutti i diff verranno caricati in una sola volta.


Se questo post ti è stato utile puoi farmelo sapere lasciando un commento qui sotto oppure scrivendomi direttamente a t.me/lorenzomillucci.
Inoltre ti invito ad iscriverti al mio canale Telegram e a seguirmi su Twitter per non perderti nemmeno un post del mio blog. A presto!

Fonte

Software engineer presso Slope.
Appassionato di videogame, nel tempo libero mi diletto a scrivere su questo blog.
Per non perderti nemmeno un post puoi seguirmi su Telegram!

Ubuntu: Installare i driver stampa Samsung (HP)

Samsung Xpress 2070FW

E’ una normale mattina di un giorno infrasettimanale. Come sempre alle 7.00 suona la sveglia ed inizia la routine dei preparativi per andare al lavoro.

Oggi sono stato bravo, ho ben 5 minuti di anticipo sul solito orario di partenza in modo da stampare con calma quel foglio che devo da consegnare al lavoro.

Avvio velocemente il mio notebook con Ubuntu 20.04, apro il documento che mi serve e premo il pulsante di stampa.

Cosa potrebbe mai andare storto?

Si dice che non si debba mai far capire ad una stampante che si ha fretta altrimenti questa si incepperà inesorabilmente.

Legge di Murphy

Questo è quello che tira fuori la stampante:

Eh si, era proprio questo il documento che volevo stampare….

Dannazione!

Ero così felice che Ubuntu avesse riconosciuto subito la stampante senza bisogno di dover intervenire manualmente. E invece anche questa volta è stato necessario installare manualmente i driver.

Ma prima di mostrarti come installare i driver per la stampante mi presento, sono Lorenzo Millucci e sono un ingegnere del software che ama lavorare con PHP e Symfony. Nel tempo libero mi piace condividere in questo blog le cose che imparo. Iscriviti al mio canale Telegram per non perderti nessuna notizia!

Installazione driver

In questo articolo io faccio riferimento all’installazione dei driver per la stampante Samsung Xpress M2070FW su Ubuntu 20.04. Se utilizzi un modello di stampante diverso o se hai una versione differente del sistema operativo la procedura potrebbe cambiare leggermente ma dovrebbe essere comunque valida.

  • Andiamo con ordine, la prima cosa da fare è verificare che la stampante sia accesa e collegata al computer,
  • Dopodiché collegati al sito Samsung/Hp, seleziona il modello della stampante e scarica il pacchetto Unified Linux Driver contenente i driver,
  • Estrai il pacchetto appena scaricato utilizzando il click destro del mouse e selezionando la voce estrai dal menù a tendina. Oppure se preferisci il terminale puoi utilizzare il comando:
tar -zxvf uld_V1.00.39_01.17.tar.gz
  • Spostati all’interno della cartella appena estratta e dai i permessi di esecuzione allo script di installazione utilizzando il comando:
chmod +x ./install.sh
  • Avvia l’installazione con il comando
./install.sh

ATTENZIONE: sarai obbligato a scorrere tutti i termini di servizio di Samsung/Hp prima di poter procedere all’installazione effettiva dei driver. Alla fine delle lunghe paginate di condizioni da accettare ti verrà chiesto di accettarle rispondendo alla domanda **** Do you agree ? [y/n]. Se anche tu stavi tenendo pigiato il tasto invio per scorrere velocemente i termini di servizio ti capiterà di sicuro di saltare questa domanda rifiutando quindi i termini di contratto. Purtroppo in questa situazione l’unica soluzione è riavviare l’installazione da capo.

Accetti i termini di servizio?
Attenzione a non rifiutare l’accettazione dei termini di servizio tenendo premuto invio

Una volta che la procedura sarà terminata potrai andare nelle impostazioni di Ubuntu e aggiungere la stampante seguendo la procedura guidata del sistema operativo.

NOTA: se avevi provato ad aggiungere la stampante prima di installare i driver potresti doverla rimuovere e ri-aggiungere affinché vengano utilizzati i driver appena installati al posto di quelli generici.


Se questo post ti è stato utile puoi farmelo sapere lasciando un commento qui sotto oppure scrivendomi direttamente a t.me/lorenzomillucci.
Inoltre ti invito ad iscriverti al mio canale Telegram e a seguirmi su Twitter per non perderti nemmeno un post del mio blog. A presto!

Software engineer presso Slope.
Appassionato di videogame, nel tempo libero mi diletto a scrivere su questo blog.
Per non perderti nemmeno un post puoi seguirmi su Telegram!