Peter Steinberger
Peter Steinberger: AI-powered tools from Swift roots to web frontiers. Every commit lands on GitHub for you to fork & remix.
AI / MLMobile / iOS / AndroidDev tools / editors / IDEsEngineering blogs
- Posts
- 107 from 5 Apr 2012 to 15 Feb 2026
- Posting
- now and then (3 in the last year)
- Kind
- personal blog
- Feed
- https://steipete.me/rss.xml
2026 1
2025 37
- Shipping at Inference-Speed
- The Signature Flicker
- Just Talk To It - the no-bs Way of Agentic Engineering
- Claude Code Anonymous
- Live Coding Session: Building Arena
- My Current AI Dev Workflow
- Essential Reading for Agentic Engineers - August 2025
- Just One More Prompt
- Poltergeist: The Ghost That Keeps Your Builds Fresh
- Don't read this Startup Slop
- Essential Reading for Agentic Engineers - July 2025
- Self-Hosting AI Models After Claude's Usage Limits
- Logging Privacy Shenanigans
- VibeTunnel's first AI-anniversary
- Making AppleScript Work in macOS CLI Tools: The Undocumented Parts
- Peekaboo 2.0 – Free the CLI from its MCP shackles
- Command your Claude Code Army, Reloaded
- Essential Reading for Agentic Engineers
- Slot Machines for Programmers: How Peter Builds Apps 20x Faster with AI
- My AI Workflow for Understanding Any Codebase
- stats.store: Privacy-First Sparkle Analytics
- Showing Settings from macOS Menu Bar Items: A 5-Hour Journey
- VibeTunnel: Turn Any Browser into Your Mac's Terminal
- Vibe Meter 2.0: Calculating Claude Code Usage with Token Counting
- llm.codes: Make Apple Docs AI-Readable
- Automatic Observation Tracking in UIKit and AppKit: The Feature Apple Forgot to Mention
- Peekaboo MCP – lightning-fast macOS screenshots for AI agents
- Migrating 700+ Tests to Swift Testing: A Real-World Experience
- Commanding Your Claude Code Army
- Code Signing and Notarization: Sparkle and Tears
- Vibe Meter: Monitor Your AI Costs
- Claude Code is My Computer
- Stop Over-thinking AI Subscriptions
- Introducing Demark: HTML in. MD out. Blink-fast.
- The Future of Vibe Coding: Building with AI, Live and Unfiltered
- MCP Best Practices
- Finding My Spark Again
2021 3
2020 21
- On Using Apple Silicon Mac Mini for Continuous Integration
- Apple Silicon M1: A Developer's Perspective
- Gardening Your Twitter: Curating Your Timeline
- Gardening Your Twitter: Growing Your Followers
- Forbidden Controls in Catalyst: Optimize Interface for Mac
- Disabling Keyboard Avoidance in SwiftUI's UIHostingController
- The State of SwiftUI
- Logging in Swift
- Building with Swift Trunk Development Snapshots
- Calling Super at Runtime in Swift
- zld — A Faster Version of Apple's Linker
- How to Fix LLDB: Couldn't IRGen Expression
- Updating macOS on a Hackintosh
- InterposeKit — Elegant Swizzling in Swift
- The Great Mac Catalyst Text Input Crash Hunt
- Jailbreaking for iOS Developers
- Network Kernel Core Dump
- How to macOS Core Dump
- Kernel Panics and Surprise boot-args
- The LG UltraFine 5K, kernel_task, and Me
- Let's Try This Again
2019 3
2018 5
2017 2
2016 12
- Running tests with Clang Address Sanitizer
- UI testing on iOS, without busy waiting
- Hiring a distributed team
- Writing Good Bug Reports
- Real-time collaboration, Apple, and you
- Converting Xcode Test Runs to JUnit, the Fast Way
- Efficient iOS Version Checking
- Investigating Thread Safety of UIImage
- Swifty Objective-C
- Running UI Tests on iOS With Ludicrous Speed
- A Pragmatic Approach to Cross-Platform
- Surprises with Swift Extensions