Khoa Pham
Khoa Pham

Ohayo

Swift Discovery

Discover all the tech

How to use SwiftData

Issue #1040

SwiftData is Apple’s modern persistence framework, introduced in iOS 17. It builds on top of Core Data but exposes a Swift-native API using macros and property wrappers. For most apps targeting iOS 17 or later, it replaces Core Data …

How to use isolated and nonisolated in Swift 6 concurrency

Issue #1039

Actor isolation in Swift 6 is not binary. A type can be mostly isolated while selectively exposing some members to callers from any context. A function can accept any actor and run directly on its executor without being bound to it …

How to use Swift 6 concurrency

Issue #1038

Swift 6 concurrency replaces Grand Central Dispatch queues, locks, and completion handlers with a structured model built around async/await, actors, and task groups. The compiler enforces isolation rules at build time, and the runtime …

How to avoid Swift 6 concurrency crashes

Issue #1037

Enabling Swift 6 strict concurrency checking (SWIFT_STRICT_CONCURRENCY = complete) catches data races at compile time, but it does not protect you fully at runtime. The compiler also injects dynamic isolation assertions at actor and GCD …

How to use closure with Core Data in Swift 6

Issue #1036

Swift 6 makes concurrency safer by enforcing actor isolation at compile time, and sometimes at runtime. One of the subtler rules is that closures automatically inherit the actor isolation of the context where they are defined, not where …

How to use Apple Intelligence as a service

Issue #1035

Apple Intelligence is not just a brand. Since macOS 26 (Tahoe), it ships a developer-accessible framework called Foundation Models that gives your code direct access to the on-device language model powering Writing Tools and Siri. No API …

How to present interactive CLI prompts in Swift

Issue #1034

Swift is a great language for building command-line tools. Package managers, code generators, deployment scripts — they’re all natural fits. But when it comes to collecting input from the user, the standard library leaves you with …

How to set up Claude Code tools

Issue #1033

Claude Code is Anthropic’s CLI for coding with AI. Getting a good setup makes a real difference — the right terminal, hooks for awareness, and the right tools to keep Claude running until the job is done.

Terminal

Ghostty is a fast, …

How to use Claude Code hooks

Issue #1032

Claude Code runs fast. Sometimes too fast — you walk away, come back, and have no idea if it finished or is still working. Hooks solve this.

A hook is a shell command that runs automatically at specific points in Claude’s lifecycle. …

How to run Claude Code indefinitely

Issue #1031

Claude Code is good at completing tasks, but it stops when it thinks it’s done. For small, well-scoped work that’s fine. For larger projects — building out a feature, getting a test suite green, or scaffolding an entire app — …

How to use beads to manage tasks with Claude Code

Issue #1030

Most task systems give Claude a flat list and hope for the best. Beads is different. It tracks dependencies between tasks and only surfaces work that is actually ready — no blockers, no wasted effort.

Let’s use beads via its CLI …

How to use claude-mem to retrieve previous context in Claude Code

Issue #1029

Claude Code ships with two built-in memory systems. CLAUDE.md lets you write persistent instructions. Auto memory lets Claude write its own notes across sessions. Understanding both — and then knowing when to add claude-mem on top — is …

How to delegate tasks in parallel with sub agents and worktree in Claude Code

Issue #1028

Running one Claude session at a time is fine for small tasks. For larger work — building a feature while fixing a bug, writing tests while refactoring — you need parallelism. Claude Code provides two tools for this: sub-agents and git …

What we can learn from Claude Code source leak

Issue #1027

On March 31, 2026, Anthropic accidentally shipped a 59.8MB sourcemap file with a routine update to Claude Code. The file, bundled into npm package version 2.1.88, exposed nearly 2,000 files and 500,000 lines of source code to anyone who …

How to use Claude Code with tips from Boris Cherny

Issue #1026

Boris Cherny created Claude Code. He also uses it more heavily than almost anyone. He runs dozens of sessions at once, automates team workflows, and uses features most developers haven’t tried. These are his techniques.

Run Multiple …

How to style glass effect with corner radius for NSWindow on macOS

Issue #1025

macOS windows look best when they blend with the desktop — the translucent, frosted-glass look that makes panels feel native rather than opaque blocks of UI. There are two ways to achieve this depending on your deployment target. …

How to auto approve Claude Code permission

Issue #1024

Every time Claude Code wants to read a file, run a command, or write to disk, it asks for permission. For a first session on an unfamiliar project, that’s fine. But when you’re deep in a trusted codebase and clicking …

How to setup Terminal tools for Mac

Issue #1023

The default Terminal.app works, but it lacks the speed and features that modern development demands. A well-configured terminal setup makes navigation faster, Git operations visual, and file searching instant. This guide walks through …

How to automate browsing web with AI

Issue #1022

Web scraping used to mean writing brittle scripts that broke whenever a site changed. Now AI agents can browse the web like humans do. They read pages, click buttons, fill forms, and extract data without you writing CSS selectors for …

What AI tools to use with Claude Code

Issue #1021

Claude Code has built-in memory, but power users want more. These tools add deeper context tracking, task management, and access to the wider ecosystem.

Context & Memory

Tools that help Claude remember.

claude-mem

Saves what Claude …

Khoa Pham

Hello, I’m Khoa

I’m a thinker and storyteller with a passion for exploring the intersection of creativity and technology

🧑‍💻 I love crafting high quality and useful apps
🔥 I love open source. My GitHub open source has 2.3k followers with packages that are integrated by 45k+ apps and over 3.4m+ downloads on CocoaPods.
✍️ I write here on my blog and on Medium, which has over 2.7k+ followers with tons of articles and 90k+ monthly views.
🖥 Follow me for sharings about Swift, SwiftUI, iOS and macOS development.
Hei