Tornem a la rutina després d’uns dies. Un dels objectius que em marco és llegir un llibre que m’han regalat: “La viralitat del mal”. Es tracta d’un assaig que analitza l'augment dels discursos d'odi a internet, la relació amb el capitalisme de plataforma i el Big Tech, i proposa estratègies per combatre la violència digital i construir alternatives més justes.
També m’he trobat amb una “misèria” en com funciona la funció strptime
de Python. Aquesta funció permet transformar una cadena de text en un objecte de data i hora, utilitzant uns formats per indicar el patró. Però vaig descobrir que, si per exemple indiquem el patró %Y-%W
i la cadena de text 2024-52
(setmana 52 de l’any 2024), no retorna el que esperes: el resultat serà 2024-01-01 00:00:00 🫤
. Perquè funcioni correctament, cal indicar també el dia de la setmana amb el patró %Y-%W-%w
. Així, amb la cadena 2024-52-0
(primer dia de la setmana, dilluns pel patró %W
), ara sí que dona el resultat correcte. Aquest tema el vam discutir al canal de Telegram de Python Girona.
Començo amb algunes recomanacions,
💾 Programari
ttysvr: Una eina de consola per crear salvapantalles. No és vital, però és enginyosa i està feta amb Rust.
🤔 Curiositats
Al número #10 ja vaig parlar de la pàgina de Neal Agarwal. Ara presento una nova app seva, basada en aconseguir estimulacions per clics. A mesura que fas clics, vas aconseguint més coses. És molt addictiva i impressionant per la seva qualitat i el volum de funcionalitats. Només pensar com ha creat tot això em fa explotar el cap.
📦 Recursos
Un article sobre threads, processos i programació asíncrona en Python.
🌟 El concepte
En aquest número et parlaré del fuzzing, una tècnica clau en proves de programari i seguretat. Tot i ser poc coneguda, és essencial per detectar vulnerabilitats i errors en aplicacions modernes.
Què és el fuzzing?
El fuzzing (o fuzz testing) consisteix a enviar dades aleatòries, inesperades o malicioses a un programa per observar com respon. Això ajuda a identificar problemes com desbordaments de memòria, errors de segmentació o comportaments anòmals que poden comprometre la seguretat o l'estabilitat.
Com funciona?
Generació d'inputs aleatoris: Es creen dades per simular inputs, de manera completament aleatòria o semi-estructurada.
Execució del programa: Es prova el programa amb aquests inputs mentre es monitoritza el seu comportament.
Anàlisi de resultats: Si el programa falla o es bloqueja, es registra per investigar el problema.
Tipus de fuzzing:
Fuzzing mutacional: Modifica inputs existents per generar-ne de nous.
Fuzzing generatiu: Crea inputs des de zero seguint una estructura definida.
Fuzzing dirigit per cobertura: Optimitza els tests per cobrir més línies de codi.
Per què és important?
Permet trobar errors difícils de detectar amb altres proves, prevenint incidents de seguretat greus i millorant la qualitat del programari.
Si vols aprofundir en aquest tema, et recomano visitar aquest repositori de GitHub ple de recursos per començar.
💖 Feedback
Si t’ha agradat i em vols ajudar, fes arribar aquest contingut a qui creguis que li pot interessar, i entra al canal de Telegram per comentar la publicació.