Paul Samuels
paulio87.bsky.social
Paul Samuels
@paulio87.bsky.social
💡 Kotlin devs: ever had `?.let` mysteriously fail to compile?

I dug into a subtle Kotlin mistake I commonly see in pull requests, explain the issue and how best to fix it.

📝 New post: Kotlin Gotchas: Why Your ?.let Sometimes Fails to Compile

🔗 paul-samuels.com/blog/2025/11...

#Kotlin
Kotlin Gotchas: Why Your ?.let Sometimes Fails to Compile · paul-samuels.com
paul-samuels.com
November 9, 2025 at 12:04 AM
We often reach for interfaces or base classes when we see duplicated code.

But what if you can’t change the types?

You can still make the algorithm generic - just teach it how to read and build data.

📝 Generic Algorithms Without Constraints

🔗 paul-samuels.com/blog/2025/11...

#swift #kotlin
Generic Algorithms Without Constraints · paul-samuels.com
paul-samuels.com
November 7, 2025 at 2:21 AM
🧹 DYSNI — Do Ya Still Need It?

We deleted >800 lines of old Objective-C by asking one simple question: Do Ya Still Need It?

Simpler code. Less confusion. More clarity.

👉 paul-samuels.com/blog/2025/10...

#CleanCode #Refactoring #DYSNI #Swift #ObjC
Do Ya Still Need It · paul-samuels.com
paul-samuels.com
October 29, 2025 at 11:23 PM
New post: Git Rebase Tips and Tricks

Habits and commands that make rebasing smoother - from keeping merge bubbles to verifying results and fixing mistakes.

paul-samuels.com/blog/2025/10...

#git #rebase #devtools #programming
Git Rebase Tips and Tricks · paul-samuels.com
paul-samuels.com
October 29, 2025 at 1:26 AM
Great DX isn’t always a slick UI - sometimes it’s a horrible popup that saves you hours.

I built a pop up that yells when local OAuth tokens expire and I love it.

paul-samuels.com/blog/2025/10...

#DevExperience #Kotlin
Sometimes a Great DX Is Just a Horrible Pop Up · paul-samuels.com
paul-samuels.com
October 28, 2025 at 12:57 AM
Default arguments in Swift and Kotlin can make code cleaner - but at what cost? I explore how overusing them can weaken compiler checks, obscure intent, and blur boundaries between layers. Sometimes, being explicit is better.

paul-samuels.com/blog/2025/10...

#Swift #Kotlin
Chill Out with the Defaults · paul-samuels.com
paul-samuels.com
October 26, 2025 at 2:00 AM
The only Xcode refactoring tool I actually use? Explaining regex - no sketchy web tools required.

paul-samuels.com/blog/2025/09...
Explaining Regex Locally with Xcode · paul-samuels.com
paul-samuels.com
September 28, 2025 at 5:16 PM
I wrote a post on turning CI logs into actions

The general idea is to wrap your existing build scripts with a tool that can parse the logs for specific JSON payloads and then perform actions like comment on GitHub PRs, ping slack channels etc.

paul-samuels.com/blog/2025/09...

#swift
Turning CI Logs into Actions · paul-samuels.com
paul-samuels.com
September 7, 2025 at 10:51 PM
I wrote a post on self hosting a Vapor app on a Raspberry Pi

paul-samuels.com/blog/2025/08...

#swift #vapor
Self-hosting a Vapor app on a Raspberry Pi · paul-samuels.com
paul-samuels.com
August 19, 2025 at 10:38 PM
I wrote a post on a crafty little retain cycle in Swift, finding it and breaking it

paul-samuels.com/blog/2025/06...

#swift
Subtle retain cycle is subtle · paul-samuels.com
paul-samuels.com
June 19, 2025 at 10:18 PM
I wrote a post on my experience of using Kotlin Symbol Processing in various ways over multiple years.
I cover how I like to structure my code and give example use cases for how we utilise KSP in our projects.

paul-samuels.com/blog/2025/06...

#kotlin #ksp
KSP and Me · paul-samuels.com
paul-samuels.com
June 16, 2025 at 10:56 PM
Here's a post on making sure your SwiftTesting parameterised tests show up in the test navigator with nice names using `CustomTestStringConvertible`

paul-samuels.com/blog/2025/03...

#swifttesting #swift
CustomTestStringConvertible · paul-samuels.com
paul-samuels.com
March 25, 2025 at 12:52 AM
I wrote a post on "Building Complex Things" talking about virtualising macOS machines for iOS CI paul-samuels.com/blog/2025/03...
#iOS #macOS
Building Complex Things · paul-samuels.com
paul-samuels.com
March 3, 2025 at 1:40 AM