The Curious Engineer

All blogs / AI / ML

Peter Steinberger

steipete.me

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

  1. OpenClaw, OpenAI and the future

2025 37

  1. Shipping at Inference-Speed
  2. The Signature Flicker
  3. Just Talk To It - the no-bs Way of Agentic Engineering
  4. Claude Code Anonymous
  5. Live Coding Session: Building Arena
  6. My Current AI Dev Workflow
  7. Essential Reading for Agentic Engineers - August 2025
  8. Just One More Prompt
  9. Poltergeist: The Ghost That Keeps Your Builds Fresh
  10. Don't read this Startup Slop
  11. Essential Reading for Agentic Engineers - July 2025
  12. Self-Hosting AI Models After Claude's Usage Limits
  13. Logging Privacy Shenanigans
  14. VibeTunnel's first AI-anniversary
  15. Making AppleScript Work in macOS CLI Tools: The Undocumented Parts
  16. Peekaboo 2.0 – Free the CLI from its MCP shackles
  17. Command your Claude Code Army, Reloaded
  18. Essential Reading for Agentic Engineers
  19. Slot Machines for Programmers: How Peter Builds Apps 20x Faster with AI
  20. My AI Workflow for Understanding Any Codebase
  21. stats.store: Privacy-First Sparkle Analytics
  22. Showing Settings from macOS Menu Bar Items: A 5-Hour Journey
  23. VibeTunnel: Turn Any Browser into Your Mac's Terminal
  24. Vibe Meter 2.0: Calculating Claude Code Usage with Token Counting
  25. llm.codes: Make Apple Docs AI-Readable
  26. Automatic Observation Tracking in UIKit and AppKit: The Feature Apple Forgot to Mention
  27. Peekaboo MCP – lightning-fast macOS screenshots for AI agents
  28. Migrating 700+ Tests to Swift Testing: A Real-World Experience
  29. Commanding Your Claude Code Army
  30. Code Signing and Notarization: Sparkle and Tears
  31. Vibe Meter: Monitor Your AI Costs
  32. Claude Code is My Computer
  33. Stop Over-thinking AI Subscriptions
  34. Introducing Demark: HTML in. MD out. Blink-fast.
  35. The Future of Vibe Coding: Building with AI, Live and Unfiltered
  36. MCP Best Practices
  37. Finding My Spark Again

2021 3

  1. Top-Level Menu Visibility in SwiftUI for macOS
  2. Fixing keyboardShortcut in SwiftUI
  3. Supporting Both Tap and Long Press on a Button in SwiftUI

2020 21

  1. On Using Apple Silicon Mac Mini for Continuous Integration
  2. Apple Silicon M1: A Developer's Perspective
  3. Gardening Your Twitter: Curating Your Timeline
  4. Gardening Your Twitter: Growing Your Followers
  5. Forbidden Controls in Catalyst: Optimize Interface for Mac
  6. Disabling Keyboard Avoidance in SwiftUI's UIHostingController
  7. The State of SwiftUI
  8. Logging in Swift
  9. Building with Swift Trunk Development Snapshots
  10. Calling Super at Runtime in Swift
  11. zld — A Faster Version of Apple's Linker
  12. How to Fix LLDB: Couldn't IRGen Expression
  13. Updating macOS on a Hackintosh
  14. InterposeKit — Elegant Swizzling in Swift
  15. The Great Mac Catalyst Text Input Crash Hunt
  16. Jailbreaking for iOS Developers
  17. Network Kernel Core Dump
  18. How to macOS Core Dump
  19. Kernel Panics and Surprise boot-args
  20. The LG UltraFine 5K, kernel_task, and Me
  21. Let's Try This Again

2019 3

  1. How We Work at PSPDFKit
  2. Swizzling in Swift
  3. WWDC for First-Timers, 2019 Edition

2018 5

  1. Challenges of Adopting Drag and Drop
  2. Marzipan: Porting iOS Apps to the Mac
  3. How to Use Slack and Not Go Crazy
  4. Hardcore Debugging - Heavy Weapons for Hard Bugs
  5. Binary Frameworks in Swift

2017 2

  1. Even Swiftier Objective-C
  2. The Case for Deprecating UITableView

2016 12

  1. Running tests with Clang Address Sanitizer
  2. UI testing on iOS, without busy waiting
  3. Hiring a distributed team
  4. Writing Good Bug Reports
  5. Real-time collaboration, Apple, and you
  6. Converting Xcode Test Runs to JUnit, the Fast Way
  7. Efficient iOS Version Checking
  8. Investigating Thread Safety of UIImage
  9. Swifty Objective-C
  10. Running UI Tests on iOS With Ludicrous Speed
  11. A Pragmatic Approach to Cross-Platform
  12. Surprises with Swift Extensions

2015 5

  1. Using ccache for Fun and Profit
  2. UITableViewController designated initializer woes
  3. Researching ResearchKit
  4. The curious case of rotation with multiple windows on iOS 8
  5. UIKit Debug Mode

2014 5

  1. Retrofitting containsString: on iOS 7
  2. A Story About Swizzling "the Right Way™" and Touch Forwarding
  3. Hacking with Aspects
  4. Fixing UITextView On iOS 7
  5. Fixing What Apple Doesn't

2013 6

  1. How To Inspect The View Hierarchy Of Third-Party Apps
  2. Fixing UISearchDisplayController On iOS 7
  3. Smart Proxy Delegation
  4. Adding Keyboard Shortcuts To UIAlertView
  5. How To Center Content Within UIScrollView
  6. UIAppearance for Custom Views

2012 7

  1. Hacking Block Support Into UIMenuItem
  2. Using Subscripting With Xcode 4.4 And iOS 4.3+
  3. Pimping recursiveDescription
  4. NSURLCache Uses A Disk Cache As Of iOS 5
  5. Moving On... Or How Waiting For A Visa Was The Best Thing That Ever Happened To Me.
  6. Don't Call willChangeValueForKey Unless It's Really Needed
  7. Reboot