• 0 Posts
  • 10 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle

  • Due requisiti:

    • Deve necessariamente essere abbastanza piccolo da poter essere usato con una sola mano, e da permettermi di piegarmi per allacciare le scarpe con il telefono in tasca.
    • Deve essere possibile installarci LineageOS o simili.

    Purtroppo il primo punto è sistematicamente ignorato dall’intero mercato, quindi dovrò fare come ho fatto l’ultima volta: comprerò lo stesso telefono che ho dal 2018 (Xperia XZ1 Compact). Per fortuna aveva un hardware di tutto rispetto, ed è ancora perfettamente utilizzabile 6 anni dopo.


  • Ho visto datori di lavoro chiedere ai dipendenti di rientrare in ufficio un giorno perché veniva in visita un cliente importante e volevamo avere gli uffici pieni

    Che sarebbe anche sopportabile. Farsi la sbatta una tantum, quando c’è effettivamente bisogno di essere in ufficio (anche per un motivo di facciata come questo), non è poi così male.

    Il problema è l’aspettativa di dover andarci ogni settimana perché sì.

    Io ho il privilegio di aver potuto dire “No” quando mi hanno chiesto di fare uno o due giorni a settimana in sede. Vorrei che tutti quelli che fanno un lavoro che non richiede la presenza possano rispondere allo stesso modo.




  • Ottimo vedere un approccio alternativo al banale e inefficace inasprimento delle pene, una volta tanto. Speriamo dia risultati.

    In tanti anni che guido non sono mai stato fermato nemmeno una volta per un controllo alcool test. Io lo avrei passato ogni singola volta dato che non guido in stato di ebbrezza, ma quando è più probabile fare un incidente che essere fermati per un controllo, tanto vale ignorare la seconda possibilità.

    P.S.
    Quanto è irritante usare acronimi a sproposito (non è diretto a te, OP, che hai postato il titolo originale)? A leggere il titolo pensavo fosse una proposta di Boston, dato che il MIT (che tra l’altro si scrive con tutte le lettere maiuscole, come tutti gli acronimi) è una delle università più importanti e conosciute al mondo.



  • l’account meglio su Codeberg / Gitea / Forgejo che sono 100% open rispetto a Gitlab o Github 😉

    Gitea e Forgejo non offrono un servizio però, solo un’applicazione (se sbaglio linka pure, sono interessato).

    Chiedere di mettere su e gestire un’infrastruttura del genere aperta al pubblico per condividere un programma mi sembra un po’ esagerato. Per quanto sia divertente / soddisfacente / facile (opinione personale da uno che ha il suo server Gitea personale).


  • Devo esser sincero, inizialmente, leggendo la tua risposta, l’avevo intesa come un classico “io son meglio”, non volta ad apprendere, ragionare o migliorare la conoscenza di un neofita in Rust - modo in cui sembra trasparire tu mi consideri.

    Allora vuol dire che non sono riuscito a trasmettere il tono giocoso e spensierato che avrei voluto. Mi spiace.

    E forse ho frainteso il tuo messaggio originale in questo punto:

    Questo codice è un macello!

    Grazie, mi sono impegnato! Se hai notato bug, typo o cose insensate per favore commenta qui sotto!

    In questa tua replica sembri molto meno propenso a ricevere commenti di quanto avessi letto nel messaggio originale.


  • Questo codice è un macello! /s

    Lascerò a Clippy il compito di indicare tutti i problemi. Aggiungi #![deny(clippy::pedantic)] in cima ed esegui cargo clippy.

    Altri commenti in ordine sparso:

    È decisamente poco idiomatico, anche se immagino sia stato scritto così apposta, dato che è indirizzato a chi il linguaggio non lo conosce.

    Usare match per estrarre esplicitamente gli errori è il modo sbagliato di usare Rust. Quello giusto è usare l’operatore ?, che lo fa in modo implicito (o al massimo if let o let else). Non servono nemmeno anyhow o simili, le funzioni possono restituire Result<_, Box<dyn std::error::Error>>.

    Senza contare che match crea un nuovo scope e un nuovo livello di indentazione, il codice sembra la bandiera del Nepal.

    Per lo stesso motivo, usa std::fs::read_from_string invece di creare un file esplicitamente.

    Gli argomenti trng e trg della funzione pick_random suonano identici, ma a giudicare dal tipo sono ben diversi.

    Forse potremmo controllare response.status() e fare un bel match…

    Meglio usare Response::error_for_status. C’è quasi sempre un modo migliore di un match esplicito per gestire gli errori.

    Creare diversi moduli

    Prima di creare nuovi moduli penserei a creare nuove funzioni. main() fa decisamente troppe cose.

    Infine:

    Perché non su github?

    Al momento non ho un account che posso usare per queste cose, mi dispiace!

    Questa non è una buona scusa. Gli account su GitHub / Gitlab / SourceHut / BitBucket… non costano niente.

    Però tutto sommato è stata una buona idea, e il codice in sé non è poi così malvagio per un principiante (o per qualcuno che scrive per principianti). Magari riesci a fare incuriosire qualcuno.