C
guest@6admin.io:~$ ls ~/tags/c
FluoLight : réécrire un firmware Arduino hérité en quelque chose de défendable
Du monolithe bloquant de 475 lignes que j'ai hérité à 119 lignes de protothreading: timers TimedAction, parseur HTTP insensible à la fragmentation TCP, profiles à la compilation avec budgets flash et commentaires qui ne mentent plus. Épisode deux de la saga Fluoboard.
Autopsie d'un firmware Arduino hérité
Un sketch de 475 lignes pour veilleuses de salle de réunion: IPs codées en dur, delays bloquants de 20 secondes, retries HTTP récursifs, un buffer local renvoyé par pointeur, un reset confié au watchdog. Le firmware hérité dont je suis parti, disséqué avec autorisation, pour ce qu'il m'a appris.
Dennis Ritchie a quitté #world
L'hommage à Dennis Ritchie, créateur du C et co-développeur d'Unix, avec le code C qui dit au revoir. Et le contraste avec la médiatisation de la semaine précédente.
Raw Sockets : forger et sniffer des paquets en C
La suite du mémo sockets: AF_PACKET, SOCK_RAW, les struct iphdr et tcphdr, les checksums manuels, le sniffing en mode promiscuous et le forage de paquets SYN. Ce que font tcpdump et Nemesis, écrit à la main, en root, avec éthique et humour.
Sockets : parler TCP en C, sans framework ni magie
Un mémo C de l'époque: socket(), bind(), listen(), accept(), connect(), les struct sockaddr_in, l'ordre des octets et un fork() par connexion. Comment écrire un serveur et un client TCP en soixante lignes, sur une Debian Etch, avec seulement les man pages.
Linux : introduction aux LKMs
Les Loadable Kernel Modules, comment le kernel Linux charge du code à chaud et ce que ça implique pour la sécurité.