Articles archive

Updating macOS on a Hackintosh
From: Peter Steinberger’s Blog
Added: March 1, 2026
How to Fix LLDB: Couldn't IRGen Expression
From: Peter Steinberger’s Blog
Added: March 1, 2026
zld — A Faster Version of Apple's Linker
From: Peter Steinberger’s Blog
Added: March 1, 2026
Calling Super at Runtime in Swift
From: Peter Steinberger’s Blog
Added: March 1, 2026
Building with Swift Trunk Development Snapshots
From: Peter Steinberger’s Blog
Added: March 1, 2026
Logging in Swift
From: Peter Steinberger’s Blog
Added: March 1, 2026
The State of SwiftUI
From: Peter Steinberger’s Blog
Added: March 1, 2026
Disabling Keyboard Avoidance in SwiftUI's UIHostingController
From: Peter Steinberger’s Blog
Added: March 1, 2026
Forbidden Controls in Catalyst: Optimize Interface for Mac
From: Peter Steinberger’s Blog
Added: March 1, 2026
Gardening Your Twitter: Growing Your Followers
From: Peter Steinberger’s Blog
Added: March 1, 2026
Gardening Your Twitter: Curating Your Timeline
From: Peter Steinberger’s Blog
Added: March 1, 2026
Apple Silicon M1: A Developer's Perspective
From: Peter Steinberger’s Blog
Added: March 1, 2026
On Using Apple Silicon Mac Mini for Continuous Integration
From: Peter Steinberger’s Blog
Added: March 1, 2026
Supporting Both Tap and Long Press on a Button in SwiftUI
From: Peter Steinberger’s Blog
Added: March 1, 2026
Fixing keyboardShortcut in SwiftUI
From: Peter Steinberger’s Blog
Added: March 1, 2026
Top-Level Menu Visibility in SwiftUI for macOS
From: Peter Steinberger’s Blog
Added: March 1, 2026
Finding My Spark Again
From: Peter Steinberger’s Blog
Added: March 1, 2026
MCP Best Practices
From: Peter Steinberger’s Blog
Added: March 1, 2026
The Future of Vibe Coding: Building with AI, Live and Unfiltered
From: Peter Steinberger’s Blog
Added: March 1, 2026
Introducing Demark: HTML in. MD out. Blink-fast.
From: Peter Steinberger’s Blog
Added: March 1, 2026
Stop Over-thinking AI Subscriptions
From: Peter Steinberger’s Blog
Added: March 1, 2026
Claude Code is My Computer
From: Peter Steinberger’s Blog
Added: March 1, 2026
Vibe Meter: Monitor Your AI Costs
From: Peter Steinberger’s Blog
Added: March 1, 2026
Code Signing and Notarization: Sparkle and Tears
From: Peter Steinberger’s Blog
Added: March 1, 2026
Commanding Your Claude Code Army
From: Peter Steinberger’s Blog
Added: March 1, 2026
Migrating 700+ Tests to Swift Testing: A Real-World Experience
From: Peter Steinberger’s Blog
Added: March 1, 2026
Peekaboo MCP – lightning-fast macOS screenshots for AI agents
From: Peter Steinberger’s Blog
Added: March 1, 2026
Automatic Observation Tracking in UIKit and AppKit: The Feature Apple Forgot to Mention
From: Peter Steinberger’s Blog
Added: March 1, 2026
llm.codes: Make Apple Docs AI-Readable
From: Peter Steinberger’s Blog
Added: March 1, 2026
Vibe Meter 2.0: Calculating Claude Code Usage with Token Counting
From: Peter Steinberger’s Blog
Added: March 1, 2026
VibeTunnel: Turn Any Browser into Your Mac's Terminal
From: Peter Steinberger’s Blog
Added: March 1, 2026
Showing Settings from macOS Menu Bar Items: A 5-Hour Journey
From: Peter Steinberger’s Blog
Added: March 1, 2026
stats.store: Privacy-First Sparkle Analytics
From: Peter Steinberger’s Blog
Added: March 1, 2026
My AI Workflow for Understanding Any Codebase
From: Peter Steinberger’s Blog
Added: March 1, 2026
Slot Machines for Programmers: How Peter Builds Apps 20x Faster with AI
From: Peter Steinberger’s Blog
Added: March 1, 2026
Essential Reading for Agentic Engineers
From: Peter Steinberger’s Blog
Added: March 1, 2026
Command your Claude Code Army, Reloaded
From: Peter Steinberger’s Blog
Added: March 1, 2026
Peekaboo 2.0 – Free the CLI from its MCP shackles
From: Peter Steinberger’s Blog
Added: March 1, 2026
Making AppleScript Work in macOS CLI Tools: The Undocumented Parts
From: Peter Steinberger’s Blog
Added: March 1, 2026
VibeTunnel's first AI-anniversary
From: Peter Steinberger’s Blog
Added: March 1, 2026