corpus.blog
Most cited
Talked about
Blogs
41554 blogs · [ { "id": "01a087ab-9446-7210-ac9a-052f19d9a6e2", "title": "When Postgres index meets Bcrypt", "url": "https://n0rdy.foo/posts/20250131/when-postgres-index-meets-bcrypt/", "published_at": "2025-01-31T06:30:00+00:00" }, { "id": "01a087ab-9447-7112-b082-84297de78b59", "title": "What Okta Bcrypt incident can teach us about designing better APIs", "url": "https://n0rdy.foo/posts/20250121/okta-bcrypt-lessons-for-better-apis/", "published_at": "2025-01-22T17:00:00+00:00" }, { "id": "01a087ab-9447-7112-b082-84297e566f17", "title": "TIL: Ghostty - a new and quite promising terminal emulator", "url": "https://n0rdy.foo/posts/20250118/til-ghostty/", "published_at": "2025-01-18T21:30:00+00:00" }, { "id": "01a087ab-9447-7112-b082-84297f47318e", "title": "Demystifying OTPs: the logic behind the offline generation of tokens", "url": "https://n0rdy.foo/posts/20241210/otp-offline-generation/", "published_at": "2024-12-10T16:30:00+00:00" }, { "id": "01a087ab-9447-7112-b082-84297fb5db23", "title": "JWT, JWS, JWE and how to cook them", "url": "https://n0rdy.foo/posts/20240328/jwt-jws-jwe-and-how-to-cook-them/", "published_at": "2024-03-28T19:00:00+00:00" }, { "id": "01a087ab-9447-7112-b082-8429803f2e32", "title": "Understanding CORS", "url": "https://n0rdy.foo/posts/20240103/understanding-cors/", "published_at": "2024-01-03T16:00:00+00:00" }, { "id": "01a087ab-9447-7112-b082-842980bf17d4", "title": "AI tools for software engineers: 5 things to be careful about/aware of", "url": "https://n0rdy.foo/posts/20231226/ai-tools-for-software-engineers-limits-and-challenges/", "published_at": "2023-12-26T14:25:00+00:00" }, { "id": "01a087ab-9447-7112-b082-842980bf4553", "title": "Go concurrency simplified. Part 4: Post office as a data pipeline", "url": "https://n0rdy.foo/posts/20231221/go-data-pipeline/", "published_at": "2023-12-21T22:20:00+00:00" }, { "id": "01a087ab-9447-7112-b082-842980e76ba7", "title": "Go concurrency simplified. Part 3: Managing channels with for loops and select statements", "url": "https://n0rdy.foo/posts/20231214/go-concurrency-with-for-and-select/", "published_at": "2023-12-14T22:00:00+00:00" }, { "id": "01a087ab-9447-7112-b082-8429812c32b5", "title": "Go concurrency simplified. Part 2: Syncing goroutines with sync.WaitGroup", "url": "https://n0rdy.foo/posts/20231211/go-waitgroup/", "published_at": "2023-12-11T17:00:00+00:00" }, { "id": "01a087ab-9447-7112-b082-842981cc2679", "title": "Go concurrency simplified. Part 1: Channels and goroutines", "url": "https://n0rdy.foo/posts/20231207/go-channels-and-goroutines/", "published_at": "2023-12-07T21:00:00+00:00" }, { "id": "01a087ab-9447-7112-b082-842981ecf688", "title": "About", "url": "https://n0rdy.foo/about/about/", "published_at": null } ] posts
Claim your blog
Back to n0rdy.foo
Blog · corpus.blog/blogs/n0rdy.foo/posts
n0rdy.foo
n0rdy.foo
2025
When Postgres index meets Bcrypt
original ↗
31 Jan 2025
What Okta Bcrypt incident can teach us about designing better APIs
original ↗
22 Jan 2025
TIL: Ghostty - a new and quite promising terminal emulator
original ↗
18 Jan 2025
2024
Demystifying OTPs: the logic behind the offline generation of tokens
original ↗
10 Dec 2024
JWT, JWS, JWE and how to cook them
original ↗
28 Mar 2024
Understanding CORS
original ↗
3 Jan 2024
2023
AI tools for software engineers: 5 things to be careful about/aware of
original ↗
26 Dec 2023
Go concurrency simplified. Part 4: Post office as a data pipeline
original ↗
21 Dec 2023
Go concurrency simplified. Part 3: Managing channels with for loops and select statements
original ↗
14 Dec 2023
Go concurrency simplified. Part 2: Syncing goroutines with sync.WaitGroup
original ↗
11 Dec 2023
Go concurrency simplified. Part 1: Channels and goroutines
original ↗
7 Dec 2023
Undated
About
original ↗
—