41554 blogs · [ { "id": "01a087d7-75d1-7207-8a12-75ae7eec0e92", "title": "Things 3", "url": "https://www.romainguy.dev/posts/2026/things-3/", "published_at": "2026-08-20T00:00:00+00:00" }, { "id": "01a087d7-75d1-7207-8a12-75ae7f3e3515", "title": "Things 2", "url": "https://www.romainguy.dev/posts/2026/things-2/", "published_at": "2026-08-13T00:00:00+00:00" }, { "id": "01a087d7-75d1-7207-8a12-75ae7fd55772", "title": "Things 1", "url": "https://www.romainguy.dev/posts/2026/things-1/", "published_at": "2026-08-06T00:00:00+00:00" }, { "id": "01a087d7-75d1-7207-8a12-75ae80d51b99", "title": "Tap Detection on Arbitrary Shapes with Compose", "url": "https://www.romainguy.dev/posts/2025/arbitrary-shape-tap-detection/", "published_at": "2025-12-07T00:00:00+00:00" }, { "id": "01a087d7-75d1-7207-8a12-75ae81bd796b", "title": "Finger Shadows in Compose", "url": "https://www.romainguy.dev/posts/2025/finger-shadows/", "published_at": "2025-11-29T00:00:00+00:00" }, { "id": "01a087d7-75d1-7207-8a12-75ae82a1d898", "title": "Merge Your Computations", "url": "https://www.romainguy.dev/posts/2025/merge-your-computations/", "published_at": "2025-05-15T00:00:00+00:00" }, { "id": "01a087d7-75d1-7207-8a12-75ae82e340a7", "title": "Eliminating Array Bounds Checks", "url": "https://www.romainguy.dev/posts/2025/eliminating-array-bounds-checks/", "published_at": "2025-05-13T00:00:00+00:00" }, { "id": "01a087d7-75d1-7207-8a12-75ae838ef75e", "title": "Naming is Hard", "url": "https://www.romainguy.dev/posts/2024/naming-is-hard/", "published_at": "2024-12-19T00:00:00+00:00" }, { "id": "01a087d7-75d1-7207-8a12-75ae83cc4338", "title": "The Path Not Taken", "url": "https://www.romainguy.dev/posts/2024/the-path-not-taken/", "published_at": "2024-12-16T00:00:00+00:00" }, { "id": "01a087d7-75d1-7207-8a12-75ae8438860b", "title": "You Are Going to Need It", "url": "https://www.romainguy.dev/posts/2024/you-are-going-to-need-it/", "published_at": "2024-12-13T00:00:00+00:00" }, { "id": "01a087d7-75d1-7207-8a12-75ae84838851", "title": "Optimization, Step by Step", "url": "https://www.romainguy.dev/posts/2024/optimization-step-by-step/", "published_at": "2024-11-25T00:00:00+00:00" }, { "id": "01a087d7-75d1-7207-8a12-75ae8535bb1c", "title": "A Micro-optimization You Will Never Need", "url": "https://www.romainguy.dev/posts/2024/a-micro-optimization-you-will-never-need/", "published_at": "2024-11-10T00:00:00+00:00" }, { "id": "01a087d7-75d1-7207-8a12-75ae8535fd2e", "title": "Down Another Rabbit Hole", "url": "https://www.romainguy.dev/posts/2024/down-another-rabbit-hole/", "published_at": "2024-05-27T00:00:00+00:00" }, { "id": "01a087d7-75d2-7162-8c97-32054ab0a367", "title": "Down a Rabbit Hole", "url": "https://www.romainguy.dev/posts/2024/down-a-rabbit-hole/", "published_at": "2024-05-18T00:00:00+00:00" }, { "id": "01a087d7-75d2-7162-8c97-32054adbb87d", "title": "Practical Optimizations at Android Makers 2024", "url": "https://www.romainguy.dev/posts/2024/practical-optimizations-at-android-makers-2024/", "published_at": "2024-05-06T00:00:00+00:00" }, { "id": "01a087d7-75d2-7162-8c97-32054b73fd6f", "title": "Readability of Optimized Kotlin Code", "url": "https://www.romainguy.dev/posts/2024/readability-of-optimized-kotlin-code/", "published_at": "2024-05-03T00:00:00+00:00" }, { "id": "01a087d7-75d2-7162-8c97-32054c052121", "title": "Speeding up isBlank()", "url": "https://www.romainguy.dev/posts/2024/speeding-up-isblank/", "published_at": "2024-02-05T00:00:00+00:00" }, { "id": "01a087d7-75d2-7162-8c97-32054cd859cb", "title": "Micro-optimizations in Kotlin — 3", "url": "https://www.romainguy.dev/posts/2024/micro-optimizations-in-kotlin-3/", "published_at": "2024-01-31T00:00:00+00:00" }, { "id": "01a087d7-75d2-7162-8c97-32054cf5aa0e", "title": "Going Old School", "url": "https://www.romainguy.dev/posts/2024/going-old-school/", "published_at": "2024-01-25T00:00:00+00:00" }, { "id": "01a087d7-75d2-7162-8c97-32054d19d17d", "title": "A Better Hash Map — 1", "url": "https://www.romainguy.dev/posts/2024/a-better-hashmap/", "published_at": "2024-01-20T00:00:00+00:00" }, { "id": "01a087d7-75d2-7162-8c97-32054dae670f", "title": "Micro-optimizations in Kotlin — 2", "url": "https://www.romainguy.dev/posts/2024/micro-optimizations-in-kotlin-2/", "published_at": "2024-01-16T00:00:00+00:00" }, { "id": "01a087d7-75d2-7162-8c97-32054e1143b6", "title": "Micro-optimizations in Kotlin — 1", "url": "https://www.romainguy.dev/posts/2024/micro-optimizations-in-kotlin-1/", "published_at": "2024-01-15T00:00:00+00:00" } ] posts Claim your blog
Back to romainguy.dev
Blog · corpus.blog/blogs/romainguy.dev/posts

romainguy.dev

romainguy.dev

2026

2025

2024