41554 blogs · [ { "id": "01a0cf6f-17eb-7377-8028-4e0409fa6877", "title": "The USB interposer", "url": "https://qsantos.fr/2026/09/17/the-usb-interposer/", "published_at": "2026-09-17T16:37:05+00:00" }, { "id": "01a087cc-8db7-7114-a326-a83ebd310a87", "title": "My first PCB: AIC3204 eval board", "url": "https://qsantos.fr/2026/09/06/my-first-pcb-aic3204-eval-board/", "published_at": "2026-09-06T10:57:22+00:00" }, { "id": "01a087cc-8db7-7114-a326-a83ebd70b776", "title": "A few spikes in Pico cos()", "url": "https://qsantos.fr/2026/08/15/a-few-spikes-in-pico-cos/", "published_at": "2026-08-15T13:18:14+00:00" }, { "id": "01a087cc-8db7-7114-a326-a83ebd8239ed", "title": "The RP2350 is too fast", "url": "https://qsantos.fr/2026/05/15/the-rp2350-is-too-fast/", "published_at": "2026-05-15T08:01:07+00:00" }, { "id": "01a087cc-8db7-7114-a326-a83ebe36b466", "title": "Asynchronous I²C in C", "url": "https://qsantos.fr/2026/01/24/asynchronous-i%c2%b2c-in-c/", "published_at": "2026-01-24T16:56:30+00:00" }, { "id": "01a087cc-8db7-7114-a326-a83ebea3822a", "title": "(No) alternatives to the RP2350-USB-A", "url": "https://qsantos.fr/2026/01/07/no-alternatives-to-the-rp2350-usb-a/", "published_at": "2026-01-07T21:02:38+00:00" }, { "id": "01a087cc-8db7-7114-a326-a83ebf4352c5", "title": "The RP2350-USB-A cannot see devices disconnect", "url": "https://qsantos.fr/2026/01/01/the-rp2350-usb-a-cannot-see-devices-disconnect/", "published_at": "2026-01-01T17:18:15+00:00" }, { "id": "01a087cc-8db7-7114-a326-a83ebfca2886", "title": "Fixing the RP2350-USB-A not working as USB host", "url": "https://qsantos.fr/2025/11/21/fixing-the-rp2350-usb-a-not-working-as-usb-host/", "published_at": "2025-11-20T23:36:55+00:00" }, { "id": "01a087cc-8db7-7114-a326-a83ec040b2b7", "title": "The serial TX path seems to be down", "url": "https://qsantos.fr/2025/08/11/the-serial-tx-path-seems-to-be-down/", "published_at": "2025-08-11T20:41:49+00:00" }, { "id": "01a087cc-8db7-7114-a326-a83ec091d1c8", "title": "Transistors in reverse and redundant circuits", "url": "https://qsantos.fr/2025/07/06/transistors-in-reverse-and-redundant-circuits/", "published_at": "2025-07-06T07:55:39+00:00" }, { "id": "01a087cc-8db7-7114-a326-a83ec0bb628f", "title": "The missing part of Espressif’s reset circuit", "url": "https://qsantos.fr/2025/07/02/the-missing-part-of-espressifs-reset-circuit/", "published_at": "2025-07-02T19:37:38+00:00" }, { "id": "01a0bdf0-cfae-73b2-acbc-9230dae5ee0a", "title": "Reproducing Espressif’s reset circuit", "url": "https://qsantos.fr/2025/06/28/reproducing-espressifs-reset-circuit/", "published_at": "2025-06-28T19:46:39+00:00" }, { "id": "01a0bdf0-cfae-73b2-acbc-9230dbacb36a", "title": "The ESP32-S2 reset pin", "url": "https://qsantos.fr/2025/05/17/the-esp32-s2-reset-pin/", "published_at": "2025-05-17T11:07:12+00:00" }, { "id": "01a0bdf0-cfae-73b2-acbc-9230dbe171ed", "title": "Talking to Espressif’s Bootloader", "url": "https://qsantos.fr/2025/05/15/talking-to-espressifs-bootloader/", "published_at": "2025-05-15T20:16:59+00:00" }, { "id": "01a0bdf0-cfae-73b2-acbc-9230dccf232a", "title": "Espressif’s Automatic Reset", "url": "https://qsantos.fr/2025/05/09/espressifs-automatic-reset/", "published_at": "2025-05-09T17:54:02+00:00" }, { "id": "01a0bdf0-cfae-73b2-acbc-9230dd223c98", "title": "Linux always toggles DTR & RTS", "url": "https://qsantos.fr/2025/05/03/linux-always-toggles-dtr-rts/", "published_at": "2025-05-03T17:17:27+00:00" }, { "id": "01a0bdf0-cfae-73b2-acbc-9230dd931f9b", "title": "Arduino’s Automatic Reset", "url": "https://qsantos.fr/2025/05/01/arduino-automatic-reset/", "published_at": "2025-05-01T21:07:57+00:00" }, { "id": "01a0bdf0-cfae-73b2-acbc-9230de67c815", "title": "How to use “real” UART", "url": "https://qsantos.fr/2025/04/10/how-to-use-real-uart/", "published_at": "2025-04-10T17:03:15+00:00" }, { "id": "01a0bdf0-cfae-73b2-acbc-9230df4ebb45", "title": "IndexedDB is Weird", "url": "https://qsantos.fr/2025/03/03/indexeddb-is-weird/", "published_at": "2025-03-03T19:11:35+00:00" }, { "id": "01a0bdf0-cfae-73b2-acbc-9230e035ca7c", "title": "Rust Gotcha: last() on DoubleEndedIterator", "url": "https://qsantos.fr/2025/01/01/rust-gotcha-last-on-doubleendediterator/", "published_at": "2025-01-01T11:41:09+00:00" }, { "id": "01a0be00-d1b1-716d-a803-b04f10ddd5ed", "title": "Rust Strings for C Programmers", "url": "https://qsantos.fr/2024/12/09/rust-strings-for-c-programmers/", "published_at": "2024-12-09T15:06:06+00:00" }, { "id": "01a0be00-d1b1-716d-a803-b04f1140d6ba", "title": "You can move !Unpin", "url": "https://qsantos.fr/2024/12/04/you-can-move-unpin/", "published_at": "2024-12-04T06:50:13+00:00" }, { "id": "01a0be00-d1b1-716d-a803-b04f11eeb301", "title": "On-Die ECC", "url": "https://qsantos.fr/2024/11/11/on-die-ecc/", "published_at": "2024-11-11T15:26:29+00:00" }, { "id": "01a0be00-d1b1-716d-a803-b04f127feabe", "title": "AMD CPUs, CCDs and CCXs", "url": "https://qsantos.fr/2024/10/03/amd-cpus-ccds-and-ccxs/", "published_at": "2024-10-03T19:08:50+00:00" }, { "id": "01a0be00-d1b1-716d-a803-b04f12b31fe4", "title": "Upgrading to Debian Trixie", "url": "https://qsantos.fr/2024/09/27/upgrading-to-debian-trixie/", "published_at": "2024-09-27T18:41:53+00:00" }, { "id": "01a0be00-d1b1-716d-a803-b04f131c97b7", "title": "Beware Rust Buffering", "url": "https://qsantos.fr/2024/09/16/beware-rust-buffering/", "published_at": "2024-09-16T19:13:02+00:00" }, { "id": "01a0be00-d1b1-716d-a803-b04f13690f21", "title": "Interactive Flamegraphs", "url": "https://qsantos.fr/2024/09/08/interactive-flamegraphs/", "published_at": "2024-09-08T16:56:23+00:00" }, { "id": "01a0be00-d1b1-716d-a803-b04f138a99d3", "title": "Linux Pipes are Slow", "url": "https://qsantos.fr/2024/08/25/linux-pipes-are-slow/", "published_at": "2024-08-25T16:44:43+00:00" }, { "id": "01a0be00-d1b1-716d-a803-b04f13c61691", "title": "Git Super-Power: The Three-Way Merge", "url": "https://qsantos.fr/2024/05/01/git-super-power-the-three-way-merge/", "published_at": "2024-05-01T15:49:35+00:00" }, { "id": "01a0be00-d1b1-716d-a803-b04f13d41b5f", "title": "Merging Responsibly", "url": "https://qsantos.fr/2024/04/28/merging-responsibly/", "published_at": "2024-04-28T19:56:55+00:00" }, { "id": "01a0be09-35f4-7162-87d2-3d9c143a3aae", "title": "ViHN: Vim for Hacker News", "url": "https://qsantos.fr/2024/02/24/vihn-vim-for-hacker-news/", "published_at": "2024-02-24T17:51:59+00:00" }, { "id": "01a0be09-35f4-7162-87d2-3d9c146ef8c0", "title": "Rewriting NHK Easier in Rust", "url": "https://qsantos.fr/2024/01/13/rewriting-nhk-easier-in-rust/", "published_at": "2024-01-13T21:45:11+00:00" }, { "id": "01a0be09-35f4-7162-87d2-3d9c14f9458a", "title": "Dynamic Programming is not Black Magic", "url": "https://qsantos.fr/2024/01/04/dynamic-programming-is-not-black-magic/", "published_at": "2024-01-04T18:18:23+00:00" }, { "id": "01a0be09-35f4-7162-87d2-3d9c1504716a", "title": "The Secret to a Green CI: Efficient Pre-commit Hooks with checkout-index", "url": "https://qsantos.fr/2023/11/08/the-secret-to-a-green-ci-efficient-pre-commit-hooks-with-checkout-index/", "published_at": "2023-11-08T21:09:54+00:00" }, { "id": "01a0be09-35f4-7162-87d2-3d9c156cc3a6", "title": "Learning Morse with Koch", "url": "https://qsantos.fr/2023/10/02/learning-morse-with-koch/", "published_at": "2023-10-02T16:22:29+00:00" }, { "id": "01a0be09-35f4-7162-87d2-3d9c160aa30d", "title": "Tiny Docker Containers with Rust", "url": "https://qsantos.fr/2023/09/25/tiny-docker-containers-with-rust/", "published_at": "2023-09-25T17:38:45+00:00" }, { "id": "01a0be09-35f4-7162-87d2-3d9c16d516b5", "title": "Koch’s Dissertation on Learning Morse Code", "url": "https://qsantos.fr/2023/09/22/koch-dissertation-on-learning-morse-code/", "published_at": "2023-09-22T16:46:31+00:00" }, { "id": "01a0be09-35f4-7162-87d2-3d9c17ad86e3", "title": "Where to Start with Rust", "url": "https://qsantos.fr/2023/09/03/where-to-start-with-rust/", "published_at": "2023-09-03T19:29:38+00:00" }, { "id": "01a0be09-35f4-7162-87d2-3d9c17ff4415", "title": "Client-Side Password Hashing", "url": "https://qsantos.fr/2023/09/03/client-side-password-hashing/", "published_at": "2023-09-03T17:42:39+00:00" }, { "id": "01a0be09-35f4-7162-87d2-3d9c187717a3", "title": "Strongly Typed Web Apps", "url": "https://qsantos.fr/2023/07/09/strongly-typed-web-apps/", "published_at": "2023-07-09T16:42:19+00:00" } ] posts Claim your blog
Back to qsantos
Blog · corpus.blog/blogs/qsantos.fr/posts

qsantos

qsantos.fr

2026

2025

2024

2023