Già nel 2021 tentai Hacktoberfest, senza riuscire a far niente fino a ottobre inoltrato (alla fine non raggiunsi l'obiettivo).

Quest'anno ero a conoscenza dell'evento e ho potuto fare spazio in agenda: è ora di partecipare come si deve!

So che l'open source ha bisogno di essere seguito tutto l'anno, ma il problema dell'essere impiegato full time è che c'è l'aspetto sfidante dell'evento mi aiuta a concentrarmi

Hacktoberfest 2022: conteggio finalke Le Pull Request accettate a fine evento😎

Metodo di selezione

Scegliere i progetti a cui contribuire è stato un po' più complicato del previsto, anche quando era disponibile una Guida ai contributi ben fornita.
Mi è capitato di non riuscire a venire a capo di un bug, o con una buona idea che fosse valida come contributo.
Ho finito per seguire una serie di linee guida da parte mia, suddivise in più preferite ✅, interessanti ⚖️ e meno preferite ⚪.

  1. Software che potrei usare
  2. Progetti piccoli o in fase iniziale
  3. Linguaggi: Rust, PHP, Bash.
  4. ⚖️ Software maturi e/o famosi. Avvicinarsi a questi potrebbe essere un'arma a doppio taglio, perché i manutentori probabilmente hanno già molto da fare.
  5. ⚖️ Non-code contribution. Scrivere adeguatamente la parte documentale è interessante, cerco di esercitarla in ogni occasione per poter migliorare.😉
  6. ⚖️ Linguaggi: TypeScript / JavaScript. _ La mia opinione su questo linguaggio sta ancora maturando, inoltre devo migliorare nell'uso di entrambi._
  7. Traduzioni. Non mi sento abbastanza preparato per proporre traduzioni: Sono davvero insicuro su molte cose.
  8. Linguaggi: Java, Python. Ho davvero bisogno di una buona motivazione per usare questi strumenti al di fuori dell'orario di lavoro.

Cosa sono riuscito a combinare

aarty

🦀 - Rust

Adoro questo tipo di software: converte immagini in ASCII.

L'ho trovato tramite advertise dell'autore stesso, proprio sul server Discord dell'Hacktoberfest.

Un software semplice, ben fatto e utilizzabile, che mi ha dato l'occasione di applicare alcuni noti pattern di programmazione: Inversion of Control.

Rss2Email

🦀 - Rust

Il nome del progetto spiega tutto: fornire un elenco di URL RSS, ricevere un'e-mail con l'elenco degli articoli.

Per Antonios, il proprietario del progetto, il codice era importante quanto il ragionamento dietro le decisioni e le scelte tecniche.
Per me è stato importante avere un altro punto di vista sul processo di apprendimento e su come comunicare in questo tipo di argomenti.

composer

🐘 - PHP

Se vi è capitato di lavorare in PHP negli ultimi dieci anni, conoscerete Composer per nome. È stato interessante trovare il repository etichettato per l'evento!
🤔 Guarda guarda, la issue segnalata come help-wanted riguarda i test unitari.

So che scrivere i test può essere faticoso, anche quelli di piccola entità, tuttavia è stato interessante vedere come hanno usato i [Generators]](https://www.php.net/manual/en/language.generators.overview.php) per alimentare i dati dei test.

rust-av/ffv1

🦀 Rust

Questo PR non è riuscita 😢, dopo vari tentativi sono incappato in un bug a monte.
Purtroppo non sono riuscito a risolvere neanche il bug nella dipendenza, (una delle altre crate delle librerie rust-av).
Devo ammettere di non essere ad un livello sufficiente per poter contribuire al progetto.
Ho finito con chiudere la PR senza merge, poichè l'effetto sarebbe stato di rompere il software.

tsparticles/404-templates

🟨 - HTML/JavaScript, 1 PR

Dopo aver fallito il compito precedente ero un po' giù di morale... mi ci voleva qualcosa per riscattarmi. Col mese in conclusionee alcune PR in attesa di risposta, ho deciso di sfruttare l'opportunità e lavorare su un template HTML+JS, questo progetto faceva al caso mio!

Nella galleria dei template mancava qualcosa di stagionale e legato al mese di ottobre, e questa è stata una buona occasione per sviluppare un po' di grafica a tema 👻 🕸 🕷️ 💀 !

Spooky Template! I find amazing how much free resources we have nowadays

Il 90% del lavoro è consistito nel mettere a punto la configurazione di tsParticles, scegliere un font a tema e seguire le linee guida.

🔨 A posto! 👍

Conclusione

Uff! Ho finito di scrivere un sacco di cose e ho voluto registrare l'evento per me. Siete riusciti a leggere fino a qui senza che vi annoiassi? Wow! 😯

Spero che l'esperienza di tutti sia stata interessante e soddisfacente come la mia. 🏆