56,966 blogs · [ { "id": "01a0873d-a123-73a9-9f46-88e8f03dbaac", "title": "Now", "url": "https://bernat.tech/now/", "published_at": "2026-07-10T00:00:00+00:00" }, { "id": "01a0873d-a123-73a9-9f46-88e8f09e04a4", "title": "How turbohtml makes Python HTML work 3-22x faster", "url": "https://bernat.tech/posts/blazing-fast-html-parser/", "published_at": "2026-06-18T09:00:00+00:00" }, { "id": "01a0873d-a123-73a9-9f46-88e8f0b7f708", "title": "Deterministic Multithreaded Testing in Python with blanket", "url": "https://bernat.tech/posts/blanket-deterministic-threading/", "published_at": "2026-05-28T17:57:48+00:00" }, { "id": "01a0873d-a123-73a9-9f46-88e8f191310c", "title": "PyCon US 2026 Packaging Summit Recap", "url": "https://bernat.tech/posts/pycon-us-2026-packaging-summit-recap/", "published_at": "2026-05-15T23:00:00+00:00" }, { "id": "01a0873d-a123-73a9-9f46-88e8f2509d06", "title": "PyCon US 2026 Typing Summit Recap", "url": "https://bernat.tech/posts/pycon-us-2026-typing-summit-recap/", "published_at": "2026-05-14T23:30:00+00:00" }, { "id": "01a0873d-a123-73a9-9f46-88e8f2d8275a", "title": "PyTexas 2026 Recap", "url": "https://bernat.tech/posts/pytexas-2026-recap/", "published_at": "2026-04-19T22:00:00+00:00" }, { "id": "01a0873d-a123-73a9-9f46-88e8f3a45343", "title": "Defense in Depth: A Practical Guide to Python Supply Chain Security", "url": "https://bernat.tech/posts/securing-python-supply-chain/", "published_at": "2026-03-10T00:00:00+00:00" }, { "id": "01a0873d-a123-73a9-9f46-88e8f3f6b74b", "title": "Version numbers: how to use them?", "url": "https://bernat.tech/posts/version-numbers/", "published_at": "2020-05-16T14:15:00+00:00" }, { "id": "01a0873d-a123-73a9-9f46-88e8f4b02383", "title": "Python packaging - Growing Pains", "url": "https://bernat.tech/posts/growing-pain/", "published_at": "2019-02-07T13:41:03+00:00" }, { "id": "01a0873d-a123-73a9-9f46-88e8f4c90900", "title": "Python packaging - Past, Present, Future", "url": "https://bernat.tech/posts/pep-517-518/", "published_at": "2019-02-07T13:40:59+00:00" }, { "id": "01a0873d-a123-73a9-9f46-88e8f584f45c", "title": "The state of Python Packaging", "url": "https://bernat.tech/posts/pep-517-and-python-packaging/", "published_at": "2019-02-07T13:40:54+00:00" }, { "id": "01a0873d-a123-73a9-9f46-88e8f60627bd", "title": "The state of type hints in Python", "url": "https://bernat.tech/posts/the-state-of-type-hints-in-python/", "published_at": "2018-05-30T09:51:55+00:00" }, { "id": "01a0873d-a123-73a9-9f46-88e8f62dde55", "title": "Open source projects — Bernát Gábor", "url": "https://bernat.tech/oss/", "published_at": null }, { "id": "01a0873d-a123-73a9-9f46-88e8f6440e52", "title": "Talks by Bernát Gábor", "url": "https://bernat.tech/talks/", "published_at": null } ] posts Claim your blog
Back to bernat.tech
Blog · corpus.blog/blogs/bernat.tech/posts

bernat.tech

bernat.tech

2026

10 Jul 2026

2020

2019

2018

Undated