The Desolation of Blog
The psychology of fixing bugs, Part 2: Google
The psychology of fixing bugs
Apple wants a sysdiagnose for a feature request
A critique of philosophical objectivity
iOS simulator Files app broken by symlink
Academic philosophy: my quixotic quest
icloud.com email users can send but not receive malicious links
Tim Cook vs. Steve Jobs
Book review: Apple in China by Patrick McGee
Some third-party Mac apps I use
Liquid Crass
Apple in China, Ripoff in Amazon
App Store search is not a user feature
Safari web app strange connection behavior
macOS Tahoe forces all app icons into iOS squircles
Why does Apple make a minority of developers finance the entire App Store?
Insane web design on apple dot com
Stop The Mac App Store minor update
Apple Turntable
Apple is not blocking Epic Games from updating Fortnite in the European Union
A look at a Mac App Store top grosser
Making my app worse because of macOS privacy protections
Free with In-App Purchase is a sham
Why some Mac apps launch slowly: A follow-up
Google Chrome 136 automatically upgrades your accounts to use passkeys
Gatekeeper change in macOS 15.4
The weirdest HTML feature (or bug?): display your head
App Store Curation
UIApplication delegate deprecation coming in iOS 19 SDK
Inaccessible .bnnsir files on macOS Sequoia, Part 3
Inaccessible .bnnsir files on macOS Sequoia, Part 2
Why is macOS syslogd listening for UDP connections?
NSURLComponents changed in macOS 15.4
Apple Software Update dark pattern
For sale: 16-inch M1 MacBook Pro with new battery
Why are macOS security updates re-running the Setup Assistant?
iCloud remotely triggers iMessage sign-in and sync
Xcode constantly phones home
Inaccessible .bnnsir files on macOS Sequoia
Apple software update "bug" enables Apple Intelligence
How Safari search engine extensions work
Apple Mail app bugs finally pushed me to MailMate
YouTube problem in macOS Safari
Image Creation Tools Are Here
Little Snitch feature nobody knows about
New secure note on macOS Sequoia
Apple Passwords is hostile to backups
macOS Sequoia iCloud Photos configuration profile bug
Help? Reset AirDrop identity hash
Technology is never a substitute for consent
The internet is full of experts
Apple Photos phones home on iOS 18 and macOS 15
Deep dive into a macOS default web browser bug
How Safari 18.2 https upgrade works
How Safari (insanely) displays app extension icons
Apple continues to dismiss bug reports
Apple silently uploads your passwords and keeps them
Apple rejected my Vision Pro app update
How Safari can improve extensions: Redux
Mac App Store receipt validation problem on Sequoia
Safari 18 randomly appearing sidebar
More annoying macOS 15 Sequoia prompts: Bluetooth
Stop macOS 15 Sequoia monthly screen recording prompts
Can't change security policy or disable SIP with macOS 15 Sequoia
Passkey privacy issues
Safari missing feature: auto-clear website data
macOS firewall slows DNS queries
How I git push from my laptop to my website
New macOS bug: Updates Available notification with no updates
Apple memory holed its broken promise for an OCSP opt-out
Has Apple underpaid App Store developers AGAIN?
Smart App Banners don't appear in private browsing
Fix Safari Private Window Empty Page
Deluge of Fake Mac App Store Reviews
Amazon Web Services dark patterns
Safari bookmarklet permissions
Advanced tracking and fingerprinting protection breaks Safari extensions
Stop iCloud Keychain with a profile
WWDC Boycott of Feedback Assistant
macOS Sonoma Mail bug: spam bypasses Block All Remote Content
Follow-up on developer payments for App Store bundle purchases
Apple silicon MacBook Pro batteries can't be replaced under warranty by third parties
Verify Your Recovery Key?
macOS Sonoma bug: Can't create disk image containing locked file
macOS Sonoma silently enabled iCloud Keychain despite my precautions
Updating from macOS Ventura to Sonoma silently enables iCloud Keychain
Apple started cheating me out of App Store bundle purchases
YouTube video quality bug in iOS Safari
Show passwords as they're typed in Terminal
Funny story of how I recovered the password of an encrypted Mac disk image
Stop The Mac App Store improved for Sonoma and Ventura
Safari Search Settings spacing
Mac app launches slowed by malware scan
How to stop Upgrade to macOS Sonoma notifications
The HTML dialog element API is a mess
Abandonware featured in iOS App Store
Beware of App Store app bundles
How Safari can improve extensions
StopTheMadness Pro postmortem: crApp Store still crappy
iOS 17 App Store screenshots caveat
iOS 17.2 shows the wrong Safari extension icons
macOS Sonoma increases NSControl font size
Disabled Safari extensions are not fully disabled, and other problems
NSFileManager error messages lie
The myth and reality of Mac OS X Snow Leopard
Mac App Store receipt validation revisited
Feedback Assistant boycott web page and participants list
Apple developer boycott of Feedback Assistant
This Feedback will no longer be monitored, and incoming messages will not be reviewed
Safari share menu now violates privacy
Why I disabled advanced tracking and fingerprinting protection in Safari
Safari 17 hidden feature: Always allow this website to open an app
How to fix the disastrous new Xcode 15 console
LaunchServices and Spotlight
Xcode 15 logs nil as an empty string, not (null)
Your Mastodon archive omits DMs sent to you
Mastodon instance admin deleted all of our DMs after 15 days
How did Apple get all of my email addresses?
Mysterious disappearing Apple ID 2FA codes
The most wonderful new hidden feature in iOS 17 and macOS 14
Another Google Search bug in iOS Safari
Safari Un-Intelligent Tracking Prevention: Data loss by design
Threads.net can go to hell
macOS App Management vulnerability illustrated
macOS 0day: App Management
How do I report a Google Search bug?
Follow-up to Firefox 115 can silently remotely disable my extension on any site
Reflections on my 7th Twitter anniversary
Firefox 115 can silently remotely disable my extension on any site
My thoughts on Apple Vision Pro
Little Snitch "denied" connections leak your IP address: Developer response
Safari 17 Link Tracking Protection Details
macOS Sonoma sandbox security
macOS: Attribute Not Found?
Passkeys: A loss of user control?
Follow-up to Little Snitch "denied" connections leak your IP address
Little Snitch "denied" connections leak your IP address
What Apple doesn't get about Feedback
Mac Messages: Can't I show my email address?
Race to the bottom: App Store peer benchmarks
I do want to go back to social media
Ventura or Vista? Cancel or Allow in Mac Preview app
App Store Review continues to delay updates for no reason
Mastodon postmortem
Mastodon instance mstdn.plus with over 4K users suddenly broke
NSURLSession connection leak
Universal Links Revisited
Bing and DuckDuckGo removed my business web site AGAIN
The App Store does not protect consumers
App Store Connect is the worst web site ever made, Part 4: Works as currently designed
I posted my Safari extension issues on GitHub. Post yours too!
How to restore the Preferences menu item to macOS Ventura, Part 2
macOS removes and reinstalls Rosetta after every update
Mac OS X analogue for Node.js?
macOS Monterey still vulnerable to CVE-2022-40303
Hide System Preferences Dock badge
I don't want to go back to social media
App Store Connect is the worst web site ever made, Part 3
App Store Connect just got worse. But I made it better.
I'm starting a company blog and Slack
Blogging without a blogging engine
A list of Apple-related RSS feeds
How to regenerate Xcode managed provisioning profiles
How macOS Ventura App Management works and doesn't work
Mac indie dev alliance
Works as currently designed
Check your App IDs for unused capabilities
Every unsandboxed app has Full Disk Access if Terminal does
iOS 16 text view breakage
How to restore the Preferences menu item to macOS Ventura
Web pages can overwrite your system clipboard without your knowledge
Safari updates reset your Experimental Features preferences
Extensions API broken in Mac Safari
iOS dictation is dickish
Why macOS Ventura Share menu is bad
Twitter crypto spam bots copy real tweets to appear real
Apple re-enables Bluetooth on every OS update on purpose
NSURL is relatively bad
More disappearing Safari extensions
Thoughts on Swift and Objective-C
macOS Monterey Dock watches /Users/Shared/
macOS Monterey unannounced security misfeature
Link Unshortener enhancements
Stop Safari from switching your Twitter timeline
Bing and DuckDuckGo removed my business web site
Apple reneged on OCSP privacy
Why Ventura System Settings is bad, Part 2
Why Ventura System Settings is bad
Apple's director of App Review emailed me
My bug fix update is stuck in App Store review
On App Store pricing inflexibility
Safari <img> solving the wrong problem
The App Store Improvements process makes no sense
Google Chrome 101 removed Fill passwords on account selection
How do I backup my new MacBook Pro?
Impressions of the new MacBook Pro
Why is /AppleInternal factory installed on new Macs?
Mac Pro historical perspective
App Store Connect is the worst web site ever made
Do you want me to leave the Apple ecosystem?
Misinformation from… Stephen Fry?
How to make a home page bookmark to Twitter in Mobile Safari
Siri may phone home with Ask Siri disabled
iOS 15.2 broke Safari extension preferences storage
You always had the power to PiP on YouTube and everywhere
Safari bug: background tabs reactivate
Safari forgets your history
DNSServiceNATPortMappingCreate was quietly killed in macOS Monterey
Mass confusion and dislike over Safari extension icon tinting
Apple vandalized my icon in the latest betas
Did iOS 15 kill Google AMP?
StopTheScript
The Safari extension blues
Where are the Safari extensions in the iOS App Store?
Google Chrome to remove detailed cookie and site data controls
Why Xcode tools are slow after reboot
The color purple
Dark menu bar and Dock on Big Sur
Disappearing Safari extensions
Mac OS update failed for the first time in 19 years
Twitter locked my account (again) for an obvious joke
Stop the Medium
Safari extension development: icons
iOS Safari extensions bug
StopTheMadness for iOS
Disable Safari Preload Top Hit
Mac trustd high CPU
Porting your Chrome extension to Safari
StopTheMadness: Hovering near greatness
Mac App Store review folly
NSURL is a bad host
Distributing unnotarized Mac apps in a text file
How to stop Mac App Store notifications
Closing web browser windows doesn't close connections
TRY THE NEW SAFARI
Distributing Mac apps without notarization
New app: Default web browser
How to use multiple search engines in Safari
Mac App Store updates failing on Mojave, Part 2
Xcode code signing madness
Deleting DerivedData the right way
New app: Stop The Mac App Store
How to change your default web browser on Big Sur
Mac App Store updates failing on Mojave
Undocumented NSShadow change on Catalina
Disclosure: Yet another macOS privacy protections bypass
Some BS AppKit notes
Safari bugs me
Apple Developer ID OCSP
Developer ID certificate revocation
Chrome exempts Google sites from user site data settings
Stop animated GIFs in Safari
Can't you just right click? Yes, with a workflow.
macOS Containers and defaults
Safari web extension bug
Stop Facebook click tracking
Your Honor, what about the Mac?
Can't you just right click?
App Store is neither console nor retail but jukebox
News+ privacy on Big Sur
PSA if you ever ran my SafariPrivacyTest sample app
Stop the Swift 2.0
App Store Connect and StopTheMadness
Stop the Swift
macOS Recovery: Bug or Feature?
Introducing the free Safari extension FindTheMadness
Disclosure: Another macOS privacy protections bypass
Better disassembly on macOS Big Sur
Objective-C disassembly on macOS Big Sur
Extract the system libraries on macOS Big Sur
Stop DuckDuckGo clickjacking
StopTheMadness can now stop mouse tracking
Logging https requests and responses of Apple system processes
Software Update changes in the latest macOS releases
The Mystery of the Phantom App Updates, Part 2
Catalina is checking notarization of unsigned executables
Link Unshortener for iOS
__kindof useful?
Stop the Daring Fireball?
Stop 'Open in the Twitter app' in Safari Catalina
Stop Gmail click tracking
Reflections on the Mac sandbox escape
Mac sandbox escape
NSFormatter allows invalid values
Working without a nib, Part 12: NSWindow memory management
Bad Safari extensions bug with context menus
Introducing Link Unshortener
Xcode indexing tip
Resources for learning Objective-C and AppKit
Underpass is back (though it never left)
Safari bug: can't enable extensions on Catalina
Safari no longer runs disabled extensions
Mac App Store in a nutshell
PayPal Me
Resolve rip-relative addresses from otool
The decimation of Safari extensions
StopTheMadness for Mac adds Chrome, Edge, and Brave!
Safari runs disabled extensions
Swift fatalError is a fatal error
Questions about the Apple Security Bounty
The security of Safari extensions
How to stop Safari for Mac disk caching
Revisited: The true and false security benefits of Mac app notarization
Undocumented Catalina file access change
Hardened Runtime and XPC Services
NSAssert considered harmless
Hardened Runtime and Sandboxing Revisited
Disclosure: macOS privacy protections bypass
What happened to the Mac bug bounty program?
The Safari Extensions Gallery is no longer available
Important Information Regarding the Safari Extensions Gallery
A problem worse than Zoom
Stop Safari from autosubmitting login forms
Private browsing in Safari with StopTheMadness
Catalina app compatibility
My Twitter account has been locked for a third time
We believe that what’s in our store says a lot about who we are
Introducing StopTheNews
StopTheMadness First Anniversary
Google Chrome can no longer disable hyperlink auditing
The true and false security benefits of Mac app notarization
More madness stopped: beacons
The madness stopped: anchor ping
Postmortem: iTunes Affiliate for apps
Some thoughts on anchor ping
Safari link tracking can no longer be disabled
NetService NutHouse
My Twitter account has been locked again
Finally credit from Apple Product Security
Spying on Safari in Mojave
Still no credit from Apple Product Security
Stop Google Search Results Tracking
StopTheMadness for Firefox
The Mac App Store Safari Extensions Experience
Text view adventures, Part 4
Text view adventures, Part 3
Mac app notarization and customer privacy
Text view adventures, Part 2
Text view adventures, Part 1
Hardened Runtime and Sandboxing
macOS 10.14.1 Privacy: What's fixed and what's not
Mac App Store Bundles
Rickroll Resurrected
Mac Mail with Google 2-step and Yubico
Another hole in Mojave privacy protection
No cookie for you!
Prevent App Nap Programmatically
Race to Under the Bottom
Stop The Mad Icon
Ode to a MacBook Pro
NSOnState is deprecated
Debugging on Mojave
App Translocation and Safari App Extensions
My Twitter account has been locked
Stop The Madness
A Record 13 Weeks
A holiday gift
Key difference between Dictionary and NSDictionary
The Mystery of the Phantom App Updates
Working without a nib, Part 11: Why?
Local variables are still free, in Swift
Free as in app
NSStringEncoding Considered Harmful
Go all in with xcconfig
NSNotificationCenter is thread-safe NOT NOT
Working without a nib, Part 10: Mac Main Menu
I was on a podcast
Porting Objective-C to Swift
Problems with Objective-C annotations
Not just the Mac Pro
Twitter only mutes 100 keywords
Autoresizing UITextView
Whither Swift?
Follow-up on a Record 14 Weeks
Slow Week?
A Record 14 Weeks
70 Cents Put Me on the Mac App Store Charts
Working without a nib, Part 9: Shipping without a nib
Inaugurating Underpass
Preannouncement
Textured Tabbed Windows
We don't need no stinking badges
Working without a nib, Part 8: The nib awakens
Translocate Relocated
Distributing Outside the Mac App Store
Caveat Formatter
Symmetric Encryption
Keychain Sync
MIA: SecTranslocate
Detect App Translocation Without the 10.12 SDK
Trust
In Memoriam
Undo
Zero Day?
App Translocation
What's Wrong With Twitter
SecTransformExecuteAsync Considered Confusing
The OpenSSL Blues
Checking for El Capitan
Validate Project Settings: Never!
Lack of Communication
Breaking the resource rules
NSNotificationCenter is thread-safe NOT
Cancel WWDC
Dispatch Queues and Run Loop Modes
Mark Not All as Read
Winter is Coming
The Definitive Guide to Installing Xcode 3 on Mountain Lion (Without Kernel Panics)
SDK vs. Deployment Target