41554 blogs · [ { "id": "01a087be-38c2-734e-8dcc-1ea0021a89f4", "title": "Hacking with Ktor", "url": "http://paul-samuels.com/blog/2026/02/02/hacking-with-ktor/", "published_at": "2026-02-02T21:51:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea002d323a3", "title": "Call Once", "url": "http://paul-samuels.com/blog/2026/01/30/call-once/", "published_at": "2026-01-30T00:37:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea003c93ccb", "title": "Make nice tools", "url": "http://paul-samuels.com/blog/2026/01/15/make-nice-tools/", "published_at": "2026-01-15T23:10:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea0049df2de", "title": "From Runtime Explosions to Compiler Checked Simplicity", "url": "http://paul-samuels.com/blog/2025/12/21/from-runtime-explosions-to-compiler-checked-simplicity/", "published_at": "2025-12-21T23:38:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea00555fc23", "title": "Kotlin Gotchas: Why Your ?.let Sometimes Fails to Compile", "url": "http://paul-samuels.com/blog/2025/11/08/kotlin-gotchas-why-your-optional-let-sometimes-fails-to-compile/", "published_at": "2025-11-08T21:36:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea0063dfd34", "title": "Generic Algorithms Without Constraints", "url": "http://paul-samuels.com/blog/2025/11/06/generic-algorithms-without-constraints/", "published_at": "2025-11-06T21:20:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea0070e990b", "title": "Do Ya Still Need It", "url": "http://paul-samuels.com/blog/2025/10/29/do-ya-still-need-it/", "published_at": "2025-10-29T21:20:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea007172ef7", "title": "Git Rebase Tips and Tricks", "url": "http://paul-samuels.com/blog/2025/10/28/git-rebase-tips-and-tricks/", "published_at": "2025-10-28T21:11:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea007d995b5", "title": "Sometimes a Great DX Is Just a Horrible Pop Up", "url": "http://paul-samuels.com/blog/2025/10/27/sometimes-a-great-dx-is-just-a-horrible-pop-up/", "published_at": "2025-10-27T23:10:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea0086d226e", "title": "Chill Out with the Defaults", "url": "http://paul-samuels.com/blog/2025/10/25/chill-out-with-the-defaults/", "published_at": "2025-10-25T12:21:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea008b696be", "title": "Explaining Regex Locally with Xcode", "url": "http://paul-samuels.com/blog/2025/09/28/explaining-regex-locally-with-xcode/", "published_at": "2025-09-28T17:02:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea009accd83", "title": "Turning CI Logs into Actions", "url": "http://paul-samuels.com/blog/2025/09/07/turning-ci-logs-into-actions/", "published_at": "2025-09-07T21:41:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea009fa52a6", "title": "Self-hosting a Vapor app on a Raspberry Pi", "url": "http://paul-samuels.com/blog/2025/08/19/self-hosting-a-vapor-app-on-a-raspberry-pi/", "published_at": "2025-08-19T21:52:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea00a51188a", "title": "Subtle retain cycle is subtle", "url": "http://paul-samuels.com/blog/2025/06/19/subtle-retain-cycle-is-subtle/", "published_at": "2025-06-19T21:48:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea00a699cfe", "title": "KSP and Me", "url": "http://paul-samuels.com/blog/2025/06/16/ksp-and-me/", "published_at": "2025-06-16T22:11:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea00b51a83e", "title": "CustomTestStringConvertible", "url": "http://paul-samuels.com/blog/2025/03/24/custom-test-string-convertible/", "published_at": "2025-03-24T23:11:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea00bc43ef7", "title": "Building Complex Things", "url": "http://paul-samuels.com/blog/2025/03/03/building-complex-things/", "published_at": "2025-03-03T01:08:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea00c40da84", "title": "Project Scripts", "url": "http://paul-samuels.com/blog/2025/02/23/project-scripts/", "published_at": "2025-02-23T21:34:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea00d3f9dd7", "title": "Collecting debug information", "url": "http://paul-samuels.com/blog/2024/07/04/collecting-debug-information/", "published_at": "2024-07-04T22:54:00+00:00" }, { "id": "01a087be-38c2-734e-8dcc-1ea00e264c7c", "title": "Slowly migrating from Objective-C to Swift", "url": "http://paul-samuels.com/blog/2024/05/28/slowly-migrating-from-objc/", "published_at": "2024-05-28T21:16:00+00:00" } ] posts Claim your blog
Back to paul-samuels.com
Blog · corpus.blog/blogs/paul-samuels.com/posts

paul-samuels.com

paul-samuels.com

2026

2025

2024