BulkRead – S01x06

Nuova puntata di BulkRead, la rubrica che ti segnala i migliori 5 articoli della settimana, che oggi parla di infrastrutture di siti ad alto traffico, videogiochi in 512 bytes, rifattorizzazione di una app legacy, riconoscimento vocale in Python e regression testing.

Buona lettura!


MangaDex infrastructure overview – mangadex.dev

Tristan ci racconta nel dettaglio come è disegnata l’infrastruttura di MangaDex, portale di manga che serve milioni di visite al giorno con un budget di circa 1500 dollari al mese: https://mangadex.dev/mangadex-v5-infrastructure-overview/


Writing a game for the boot sector – crocidb.com

Fino a poco più di 20 anni fa era quasi imprevedibile il boom dell’informatica consumer sia per quanto riguarda diffusione dei dispositivi, sia per quanto riguarda la potenza di calcolo disponibile semplicemente nella tasca di ciascuno di noi, e sviluppare un’applicazione o un gioco era spesso un tradeoff tra l’estro creativo e le risorse mediamente disponibili nella case degli utenti.

Oggi sopravvivono contest e gruppi di appassionati che vogliono ancora cimentarsi nello sviluppo di software in condizioni di estrema limitazione adottando come piattaforma base soluzioni basate su vecchi processori come l’8088 o l’80386.

E’ esattamente in quest’ottica (e nella volontà di sperimentare con l’ASM), che Bruno Croci, game developer in forza alla Ubisoft Germania, ha affrontato la sfida di scrivere un gioco in grado di girare in soli 512 byte: https://crocidb.com/post/bootsector-game/


4 tips to refactor a complex legacy app without automation tools – understandlegacycode.com

Prima o poi capita a tutti.

Così come a Gandalf nelle oscurità di Moria è toccato il Balrog, a ogni developer prima o poi capita di incontrare un monolite legacy da dover manutenere o da dover migrare verso soluzioni più moderne.

Nicolas Carlo sforna quattro buoni incantesimi consigli su come approcciare la sfida: https://understandlegacycode.com/blog/4-tips-refactor-without-tools/


The State of Python Speech Recognition in 2021 – assemblyai.com

Lo speech recognition è una delle feature più richieste del momento per assicurare una user experience simile ai sistemi basati su assistenti vocali che negli ultimi tempi si sono piano piano infilati ormai in ogni casa (Google Home e Alexa in primis).

Lo sviluppatore Python che volesse approcciare questo problema, si troverebbe però di fronte a molte opzioni diverse, sia locali che cloud, con funzionalità e livelli di maturità molto diversi tra loro.

Yujian Tang propone una selezione delle migliori soluzioni attualmente in circolazione, sia open source che in modalità as a service su cloud: https://www.assemblyai.com/blog/the-state-of-python-speech-recognition-in-2021


Developer’s Guide to Regression Testing – reflect.run

Una delle pratiche migliori (ma ancora spesso tragicamente sottovalutata) nello sviluppo software è la scrittura di test automatici (unitari, end-to-end, integrazione, …) che mettino sotto stress continuamente la nostra applicazione e che aiutino a tracciare ed identificare bug ed eventuali regressioni, magari a seguito di nuove implementazioni o di rifattorizzazioni.

Ho sempre trovato molto utili specialmente i secondi, essendo io uno sviluppatore che ama rifattorizzare algoritmi e funzionalità alla ricerca di soluzioni migliori o più efficienti.

Sul blog della Reflect è ora disponibile una guida molto approfondita sul regression testing, totalmente agnostica dal framework, che vi consiglio caldamente, sia che stiate già scrivendo test di regressione, sia che stiate pensando di iniziare (shame on you se non iniziate domani): https://reflect.run/regression-testing-guide/

Photo by Rishabh Sharma on Unsplash

BulkRead – S01x06
Tag: