The Curious Engineer

Michael Tsai

2018

972 posts

← 2017 2019 →

2018 972

December 2018

  1. The Old Guard of Mac Indy Apps
  2. Low Navigation Volume in Google Maps
  3. Dirty Dealing in the $175 Billion Amazon Marketplace
  4. Rust 2019 and Beyond: Limits to (Some) Growth
  5. How Much of the Internet Is Fake?
  6. Netflix No Longer Offering In-App Subscriptions
  7. Swift 5: Raw String Literals
  8. Deciphering the Postcard Sized Raytracer
  9. Fortnite Was 2018’s Most Important Social Network
  10. Microsoft Word for Windows 1.0 Postmortem
  11. Why It’s Hard to Escape Amazon’s Long Reach
  12. @dynamicCallable: Unix Tools as Swift Functions
  13. Shortcuts JS
  14. Computer Pioneers Advent Calendar
  15. Papercraft Computers
  16. The Mac App Store Safari Extensions Experience
  17. Acceptable Renewable Subscriptions Pitch Screens
  18. Why Instagram Is No Longer Optimized for Large Phone Screens
  19. Brave Rewards Update
  20. Transitioning Capo to Subscriptions
  21. iMazing Leaves Setapp
  22. Amazon Sends Alexa Voice Recordings to a Random Person
  23. My December Product Updates
  24. App Store Now Allows Gifting IAPs
  25. Apple Says Bent iPad Pros Are Not Defective
  26. The Case Against Marzipan
  27. Influencers Are Faking Brand Deals
  28. Google Intentionally Favoring Chrome, Hurting Edge?
  29. Remote Code Execution Vulnerability in SQLite
  30. Conversations With AI, Featuring Brian Roemmele
  31. More Push Notification Spam From Apple
  32. Shutting Down Apple Music Connect
  33. App Store Ratings, Reviews, and Payments Hiccups
  34. Mac App Analytics Now Available in App Store Connect
  35. What’s Apple’s Plan for Haptic Touch and 3D Touch?
  36. Australian Assistance and Access Act
  37. The Many Setups of the 2018 iPad Pro
  38. Apple Puts Third-party Screen Time Apps on Notice
  39. Don’t Believe System Information’s Legacy Software
  40. Make the iPad More Like the Mac
  41. Tracking Leakers With Watermarked Screens
  42. The Key From Before Enabling FileVault
  43. Why I’m Usually Unnerved When Modern SSDs Die on Us
  44. Epic Removes Infinity Blade From the App Store
  45. 2018 iPhone Sales
  46. How Subscriptions Are Remaking Corporate America
  47. ScanSnap 64-bit Software Update
  48. The Thumb Zone
  49. Muting Gas Station Ads
  50. Electron and the Decline of Native Apps
  51. Apple Removes Afghanistan ’11 From the App Store
  52. WordPress 5.0, Gutenberg, and MarsEdit
  53. The Friendship That Made Google Huge
  54. Facebook Was Aware That Tracking Contacts Is Creepy
  55. Mac App Notarization and Customer Privacy
  56. Proof That iOS Still Hasn’t Gotten Undo Right
  57. How OmniDiskSweeper Reports Free Space
  58. iOS and the Hassle of Dropping Your Wi-Fi As You Move Away From Your House
  59. @rpath What?
  60. Apple Music Analyser
  61. Amazon Offering Apple Products
  62. Finding New Ways to Spy on iPhones
  63. Custom ARM Processor for Amazon Web Services
  64. Starwood/Marriott and Quora Breaches
  65. Optional OmniFocus Subscriptions
  66. iCloud Drive Stuck Uploading and Downloading Files
  67. Microsoft EdgeHTML Replaced by Chromium
  68. Sublime Merge Build 1092
  69. On Switching From an iPad Pro and a MacBook to a Pixelbook
  70. Interview With Ron Johnson
  71. Why Excel for iOS Doesn’t Support VB Macros
  72. Root Certificates From Sennheiser Headphone Software

November 2018

  1. Redesigning the Office App Icons
  2. DriveSavers Lets Consumers Retrieve Data From Locked iOS Devices
  3. Preview Truncates Modification Dates
  4. My Today at Apple Experience
  5. Lifting the “Self or associated type” Constraint on Swift Existentials
  6. Effective Core Data With Swift
  7. SubEthaEdit 5.0 Goes Open Source
  8. How to Game the App Store
  9. Sponsored Amazon Baby Registry Items
  10. Google Pixel Slate Review
  11. App Center Will Take It From Here
  12. Antitrust, the App Store, and Apple
  13. Poor Mac Performance Without an SSD
  14. Popular NPM Package Compromised
  15. Books and Calendars in Photos for Mac
  16. Castro Sold to Tiny
  17. Apple Emoji Turns 10
  18. Thank You, Katie Floyd
  19. Do the iPhone XS and XR Screens Scratch Less?
  20. USPS Site Exposed Data on 60 Million Users
  21. Amazon Admits It Exposed Customer E-mail Addresses
  22. Black Friday 2018
  23. Modern Localization With Xcode
  24. Secure Boot in the Era of the T2
  25. “Hacked Account” Blackmail Spam on the Rise
  26. Amazement at iOS Cursor Movement Shortcut Says a Lot About Discoverability
  27. What Happened to 5K Displays?
  28. iOS HEIC Performance
  29. Constraints on QuickLook Plug-ins
  30. Debugging Dyld
  31. APFS in 2018
  32. Six iPad Gestures You Should Know
  33. Category Theory for Programmers
  34. Hardened Runtime and Sandboxing
  35. Transmit 5 on the Mac App Store
  36. The Zig Programming Language
  37. Monolithic Xcode Workspace
  38. Why I’m Ditching Android
  39. More Easily Finding and Deleting iOS Apps
  40. Using an iPad as a Mac mini Display
  41. Emulating Linux and Classic Mac OS on iOS
  42. Version Control Before Git with CVS
  43. Macs With Two Built-In Audio Devices
  44. AppleCare’s Limited Duration
  45. ScanSnap Cloud Licensing
  46. Why Aren’t There Third-Party USB-C to Lightning Cables?
  47. RIP XProtect and MRT?
  48. Hacker News Zero Rejected From the App Store
  49. iPhone 8 Scattered Notes
  50. Killing the Slopes Pass
  51. YouTube CEO Calls EU’s Article 13 Financially Impossible
  52. How AI Agents Cheat
  53. An Unzipping Shortcut for iOS
  54. Apple Removes RescueTime From the App Store
  55. Amazon Kicks Off Unauthorized Apple Refurbishers
  56. BBEdit 12.5
  57. MacBook Air 2018
  58. Mac mini 2018
  59. iPad Pro 2018
  60. Server-side Swift: Making Canopy
  61. Losing Health Data When Upgrading a iPhone
  62. String’s ABI and UTF-8
  63. Flickr to Limit Free Accounts to 1,000 Photos
  64. Apple’s New Map
  65. Dan Frakes Goes to Apple as Mac App Store Editor
  66. Backblaze bzfileids.dat Scaling and Little Snitch
  67. MacBook’s T2 Will Prevent Eavesdropping on Your Microphone
  68. Apple Legal Doesn’t Like Domain Redirect
  69. The WWDC App Is Unusable Offline
  70. Apple’s Q4 2018 Results
  71. The Power of Key Paths in Swift
  72. Depth Capture With the iPhone XR
  73. Developing an iOS App in 2018
  74. Apollo Pulled From the App Store for Charging for Push Notifications
  75. SuperDuper’s Smart Wake
  76. macOS 10.14.1
  77. Making Cesium API-Safe
  78. Swift’s “if case let” Syntax

October 2018

  1. IBM Acquires Red Hat
  2. Why a Helium Leak Disabled Every iPhone in a Medical Facility
  3. October 2018 Apple Event
  4. Business Licensing for Omni’s iOS Apps
  5. NSMutableDictionary’s Practical Limit
  6. NSKeyValueObservingCustomization Is Fundamentally Broken
  7. App Stores No Longer Listing All In-App Purchases
  8. The Early Days of GitHub
  9. Flattening Nested Optionals Resulting From try?
  10. Mysterious Reduced iPhone Battery Life
  11. Apple on the “Radical” Use of Humans to Edit the News
  12. Apps Can Track You Even After You Uninstall Them
  13. Custom Icons for Quick Actions
  14. The Problem with Facebook and Virtual Reality
  15. Arq Cloud Backup 1.0
  16. Mojave Fixes QuickLook Cache Vulnerability With a DataVault
  17. Android App Ad Fraud
  18. Tim Cook Calls for Strong US Privacy Law
  19. Deep-dive Into the AirPower Charging Animation
  20. iPhone XR Reviews
  21. Safari Technology Preview Adds Dark Mode CSS
  22. Dragon Speech Recognition Software for Mac Discontinued
  23. UI Browser 2.8
  24. Xcode’s Alignment of Objective-C Dictionary Literals
  25. Document Versions and iCloud
  26. Android Phone Manufacturers to Pay for Google Play Store
  27. Apple Pulling High-Grossing Scammy Subscription Apps Off the App Store
  28. Tweetbot 5 for iOS
  29. Reduce Transparency and Reduce Motion in macOS Mojave
  30. It’s Like @2x for Color
  31. Paul Buchheit on Joining and Leaving Google
  32. Lawsuit Alleges Facebook Inflated Video Ad Viewing Times
  33. App Bundles Now Support Mac Apps
  34. Fraser Speirs Switches to a Google Pixel
  35. Apple Stops Maintaining Its Printer Compatibility List
  36. Mojave and MDM
  37. Swift Language Server Protocol Service
  38. Bringing Photoshop to the iPad
  39. Lightroom CC 2.0 and Lightroom Classic CC 8.0
  40. The 2018 MacBook Keyboards Have the Same Old Problems
  41. Paul Allen, RIP
  42. Google Pixel 3 and 3 XL
  43. Spaces, Apple’s Mostly Ignored macOS Productivity Feature
  44. Building DSLs in Swift
  45. The Challenge of Just Fine
  46. The Modern Hackintosh
  47. Sometimes It’s Better to Just Start Over With iCloud Photo Library Syncing
  48. Anker SoundSync Drive Bluetooth Car Receiver
  49. Is There Hope for the Mac App Store?
  50. The Math Behind Project Scheduling, Bug Tracking, and Triage
  51. Working Around a Swift “nonmutating” Crash
  52. Mac Sales Down in Q3 2018 Amid a Lack of Updates
  53. SmartBackup 4.2 Is Now Free
  54. Max Inspect 1.0
  55. Microsoft Opens Its Patent Portfolio
  56. Swift Nil-coalescing Performance Trap
  57. History of Uber’s Design
  58. The Battle for the Home
  59. Why Apple Doesn’t Allow Custom Watch Faces
  60. Apple’s War on iPhone Fraud in China
  61. Sunsetting Google Plus
  62. AirPods Knockoffs Tested
  63. Giving Obscura Away in the Apple Store App
  64. Apple Watch Daylight Saving Time Bug
  65. Supporting Dark Mode
  66. T2 Macs Require Apple-Authorized Repair
  67. SMS Text Message Login Codes Autofill But Remain Insecure
  68. Finding and Exploiting Safari Bugs Using Publicly Available Tools
  69. Why Matthew Green Is Done With Chrome
  70. Facebook Access Tokens Stolen
  71. Happy 25th Birthday, AppleScript
  72. Apple Park in LEGO
  73. The Bandwidth Needed to Restore an iPhone
  74. How China Used a Tiny Chip to Infiltrate U.S. Companies
  75. Wi-Fi Alliance Introduces Wi-Fi 6
  76. Still in macOS 10.14 Mojave
  77. Microsoft Is Embracing Android As the Mobile Version of Windows
  78. Vice News Interviews Tim Cook About Privacy
  79. How App Launching Has Changed in Mojave
  80. Why Apple Chooses Thin Devices
  81. Microsoft Suspends Development of Touch-friendly UWP Office Apps
  82. Passcode Bypass Method Exposes Contacts and Photos in iOS 12
  83. Darren Eastman Sues Apple
  84. iOS 12 and Core Data External Binary Data Storage
  85. Forcing Suspect to Unlock iPhone With Face ID
  86. The Rise and Fall of The Learning Company

September 2018

  1. iPhone XS Users Complain About Skin-Smoothing Selfie Camera
  2. PhotoKit’s Core Data Model
  3. Basecamp App Rejected for Including Help Link
  4. How Swift’s Mirror Works
  5. Why Did Apple Spend $400M to Acquire Shazam?
  6. How Dropbox Migrated to Python 3
  7. Android at 10
  8. CodeRunner 3
  9. What Facebook Does For Advertisers
  10. SuperDuper 3.2 Adds Smart Delete
  11. Rebuilding the Services Menu
  12. OmniFocus 3 for Mac
  13. Screen Time Issues
  14. DragThing No Longer for Sale
  15. The Mojave Marzipan Apps
  16. Bypassing Mojave Security Protections
  17. Photos Needs Better Storage Management
  18. Apple’s Use of Swift in iOS 12
  19. Swift 5 Preview
  20. Compiler User Interfaces
  21. macOS 10.14 Mojave Released
  22. Apple Shying Away From R-Rated Original Content
  23. iPhone XS Benchmarks
  24. What is Haptic Touch on iPhone XR?
  25. Software Disenchantment
  26. Apple File System Reference
  27. New Git Client: Sublime Merge
  28. iOS 12 Security Guide
  29. Twitter Brings Back the Reverse Chronological Timeline
  30. Overcast 5
  31. The iPhone XS and Its Camera
  32. Safari 12
  33. Apple Watch Series 4
  34. New Objective-C Bridges
  35. Swift 4.2 Released
  36. Apple’s Measure App and Accuracy
  37. Rejected for Mentioning a Pre-release macOS Version
  38. The Rise and Demise of RSS
  39. CSS That Forces iOS to Reboot
  40. watchOS 5 Released
  41. An Oral History of Apple’s Infinite Loop
  42. iOS 12 Released
  43. The Curious Case of AirPower
  44. HomePod Now Supports Multiple Timers
  45. Screens of the 2018 iPhones
  46. Goodbye, iPhone SE
  47. Ending PHP Support, and the Future of Hack
  48. Security Flaw in “Nearly All” Modern PCs and Macs Exposes Encrypted Data
  49. Apple Can Delete Purchased Movies From Your Library Without Telling You
  50. EU Approves Controversial Copyright Directive
  51. September 2018 Apple Event
  52. Feedbin Private by Default
  53. Writing Hexadecimal Numbers
  54. Backup on Connect, launchd, and ThrottleInterval
  55. Apple Video Recommends App Subscriptions
  56. Compiling and Exporting iOS Review Chapters With Drafts
  57. Amazon Is Stuffing Its Search Results Pages With Ads
  58. The Way Out
  59. Mojave’s New Security and Privacy Protections Face Usability Challenges
  60. “git log --follow” Enthusiastically Tracks Empty Files
  61. Call Recorder for FaceTime Won’t Be Compatible With Mojave
  62. Ghostery Lite
  63. Apple and Google Face Growing Revolt Over App Store “Tax”
  64. A Deceitful “Doctor” in the Mac App Store
  65. Why You’re Not Supposed to Call Swift’s description
  66. The “Post-PC Era” Never Really Happened
  67. Inside the World of Eddy Cue, Apple’s Services Chief
  68. Mastodon
  69. A Farewell to StreamToMe
  70. What’s Going on With Cesium
  71. Firefox to Block Trackers
  72. Updates for Mojave
  73. Parallels 14
  74. Remote Mac Exploitation via Custom URL Schemes
  75. Medium Deprecates Custom Domains
  76. So You Think You Can Tell Arial From Helvetica?
  77. Chrome OS Is Set to Expand Beyond the Education Market
  78. The Missed Opportunity of Shelf Apps on iOS
  79. Google and Mastercard’s Ad Deal to Track Retail Sales
  80. Different Kinds of Archives

August 2018

  1. AEDeterminePermissionToAutomateTarget Added, But AEpocalyse Still Looms
  2. Adding isMultiple(of:) to Swift’s BinaryInteger
  3. HP Leaves Mac Users Vulnerable to Fax Hacks
  4. NetNewsWire Comes Home
  5. goTenna Mesh
  6. How Web Reader Modes Modes Work
  7. How a 1998 Meeting With Steve Jobs Gave Birth to Wi-Fi
  8. On the History of Mathematical Typography
  9. AirPort Express Update Adds AirPlay 2
  10. Possible Removal of 3D Touch With 2018 iPhones
  11. 2011 Pocket Camera vs. 2017 iPhone 8 Plus
  12. Siri’s Personality
  13. On “Shake to Undo”
  14. Open Sourcing Twitter Network Layer
  15. Apple Security White Papers
  16. How I Kicked My E-mail Compulsion
  17. Apple Events Usage Description
  18. Manuscript (FogBugz) Sold to DevFactory
  19. Aqua Screenshot Library
  20. Visualizing Pointer Addresses as Emoji
  21. The History of Aperture
  22. Back to My Mac Dies With Mojave
  23. Forthcoming MacBook and Mac mini Updates
  24. Changing the Year When Setting the iOS Date
  25. Logitech’s “POWERED” 7.5W Wireless Charging Stand
  26. Podcast Ads, Business, Overcast, and Apple
  27. Making Swift.org a More Valuable Resource for the Swift Community
  28. Make iMovie Output Full-Resolution Video
  29. Twitter Company Email Addresses Why It’s #BreakingMyTwitter
  30. Happy 20th Launch Anniversary, iMac
  31. Pocket’s 30M Users Are Great for Publishers
  32. Apple Disputing Real Estate Assessments
  33. Inside the iPhone Repair Ecosystem
  34. Continued Mac Bluetooth Problems
  35. Advantages of Android
  36. Google Tracks Your Movements, Like It or Not
  37. Finding What Code Triggered a Log Message
  38. 2 Years of App Subscriptions 2.0
  39. Lenovo’s New ThinkPad P1
  40. The Struggle for Twitter Alternatives
  41. Henrik’s Favorite Command-Line Shortcuts
  42. Group FaceTime Delayed
  43. American Computer & Robotics Museum
  44. Notes on Google’s Site Reliability Engineering Book
  45. Redesigning Siri and Adding Multitasking Features to iOS
  46. Exporting Apple Notes to Markdown
  47. Shutting Down the Berkman Center Blogs
  48. The PSPDFKit Story
  49. Apps Removed in Ban of Gambling-Related Apps
  50. Apple Users “Most Appealing” to Cybercriminals’ Online Scams
  51. Google Maps’ Influence on Neighbourhood Names
  52. Patreon Acquires Memberful
  53. Firefox’s New DNS Resolution
  54. Spotlight Parser
  55. Masters of Automation 2017 Videos
  56. Castro 3.1
  57. Instapaper Relaunches Premium Subscription
  58. What Can Bike Sharing Apps Teach Us About Mobile On-boarding Design?
  59. iOS 12 Relies on Downloaded Lua Code
  60. RapidWeaver Sandboxing and Temporary Entitlements
  61. Apple Removes Infowars From Podcast Directory
  62. 25 Years Ago, Apple Introduced the Newton
  63. Leaving NeXT for General Magic
  64. Paid Amazon Reviews
  65. Why the New V8 Is So Damn Fast
  66. Apple Removes Apps From Their Affiliate Program
  67. Escaping the Sandbox – Microsoft Office
  68. AdGuard Pro Discontinued Due to Apple’s Policy
  69. Migrating an Objective-C Class to Swift: a Piecemeal Approach
  70. Using Lightroom CC as a Camera
  71. Apple’s Quarterly Results
  72. Low Power Mode on the Mac

July 2018

  1. Objective-C Features That I Wish Existed
  2. Please Follow in Apple News
  3. The Swift Compiler Can Reason About “Never”
  4. The Bullshit Web
  5. A Spectre is Haunting Unicode
  6. Rethinking the macOS Font Picker
  7. Discontinuation of Mac Support for Autodesk Alias and VRED
  8. Spect 1.0
  9. Slack and Atlassian Team Up on Chat Software
  10. Twitter and Shadow Banning
  11. Photo Printing at Home
  12. PDFKit, the Lost Samples
  13. Page Lifecycle API
  14. iOS 12 Performance
  15. Annual Digital Assistant IQ Test
  16. Conditional Compilation in Swift
  17. YouTube’s Poorer Performance in Non-Chrome Browsers
  18. Creative Selection
  19. Steve Jobs on the App Store in 2008
  20. Password Rules / UITextInputPasswordRules
  21. I Know What You Did Last Month: a New Artifact of Execution on macOS 10.13
  22. Google’s HTTP “Not Secure” Warning
  23. The Secret Call to Andy Grove That May Have Helped Apple Buy NeXT
  24. The State of RSS on the Mac
  25. Relying on Google Cloud
  26. Mac and iOS Wallpaper Archive
  27. Joe Shelton Recalls the Early Mac Days
  28. Schema-less Database With Dynamic Swift
  29. Apple: Don’t Default on Default Apps
  30. Death by Search Ranking
  31. Unicode Waiting for New Japanese Era Name
  32. The European Commission Versus Android
  33. An Entomologist Rates Ant Emojis
  34. Scanning Old Photos
  35. Computer History Museum Releases Eudora’s Source Code
  36. NIOTransportServices: SwiftNIO and Network.framework
  37. How Tinder Keeps Your Exact Location (a Bit) Private
  38. Identifying a Real Apple ID Password Dialog
  39. Search at the Bottom
  40. Apple Doubling Down on Blocking Private API Use
  41. App Stores and Monetization
  42. Fantastical 2.5 for Mac
  43. Tracking Your Phone’s Location With GPS Turned Off
  44. How Omni Does Release Notes
  45. strftime’s Alpha-sorted man Page vs. Well-meaning People
  46. Why Content Should Be Published in HTML and Not PDF
  47. Memoji Apple Leadership
  48. App Store Revenue Nearly Double That of Google Play
  49. Open Offices Result in Less Collaboration Among Employees
  50. Swift GYB
  51. iOS Devices Can Be Blocked From Entering USB Restricted Mode
  52. Instapaper Is Going Independent
  53. Mitigating Spectre With Site Isolation in Chrome
  54. Reporting Bugs as External Developers
  55. App Preservation: Saving the App Store’s History
  56. How Far Does 20MHz of Macintosh IIsi Power Go Today?
  57. Supporting This Site
  58. Changing Rules for App Store Screenshots and Videos
  59. Affinity Designer and Adobe Photoshop for iPad
  60. Guido van Rossum Steps Down as Python BDFL
  61. Apple’s 4-Pronged Media Strategy
  62. macOS 10.14 Mojave Removes Subpixel Anti-aliasing
  63. Apple Discontinues Its Own Photo Printing Service
  64. MacBook Pro 2018
  65. The App Store Turns 10
  66. Apple Fixed Bug That Crashed Devices When Typing ”Taiwan”
  67. The Best Third-party Camera App for iPhone
  68. Say Goodbye to Netflix User Reviews
  69. Shortcuts Beta
  70. Twitterrific Braces for API Shutdown
  71. Panel Discussion on Moving to Subscriptions
  72. Be File System Retrospective
  73. Dark Side of the Mac: Appearance & Materials
  74. Swift 4.2’s New Calling Convention
  75. 15 Years of Ulysses
  76. Who Will Steal Android From Google?
  77. Facebook’s Political False Positives
  78. The App Developers Sifting Through Your Gmail
  79. Debugging With C-Reduce
  80. A Brief History of Unreal Mode
  81. Facebook Confirms That It Tracks Mouse Movements
  82. Time Synchronized to the Nanosecond
  83. Netflix of Podcasts
  84. NSOnState Is Deprecated
  85. Reclaiming RSS
  86. Surface Book 2

June 2018

  1. Rebuilding Apple Maps Using Apple’s Own Data
  2. Twitter to Show Ad Payment Information
  3. Exploring @dynamicMemberLookup
  4. Everything You Knew About Chromebooks Is Wrong
  5. Apple Event Sandboxing in macOS Mojave Lacks Essential APIs
  6. AT&T More Than Doubles Administrative Fee
  7. Run, RunLoop, Run
  8. Making Your Shell Prompt Show Xcode and Git Status
  9. iTunes Remote Updated
  10. Marzipan As a Path to ARM-Based Macs
  11. Handles Are the Better Pointers
  12. Nintendo’s Method for Detecting Online Switch Piracy
  13. SR-7380, Ambiguous KeyPath
  14. Software Updates: the “Unknown Unknown” of the Replication Crisis
  15. macOS Mojave: Back to the Mac
  16. Git Tower 3 Switches to Subscription
  17. iOS 12 Beta: Easier-to-Access Trackpad Mode
  18. Fibonacci Hashing
  19. Privacy News
  20. Open Sourcing NonEmpty
  21. Intel and the Danger of Integration
  22. iOS Game Revenue
  23. Speeding Up WWDC Videos
  24. Selling PowerSchool
  25. reMarkable Tablet
  26. Apple Launches Keyboard Repair Program for MacBook and MacBook Pro
  27. AirPower Status and Removing the Lightning Port
  28. Airbnb Switching Away From React Native
  29. Europe’s New Copyright Rules
  30. Andy Hertzfeld Interview
  31. Malware via USB Charging
  32. WebView and UIWebView Deprecated in Favor of WKWebView
  33. Faster Swiping Between Pages
  34. Quick Look Cache Reveals Sensitive Data From Encrypted Drives
  35. How Apple Can Fix 3D Touch
  36. The iPhone X Suica Problem
  37. Who Gets to Be on the Steam Store?
  38. On the Sad State of Macintosh Hardware
  39. Parsing AppleScript
  40. The Unified Log in macOS Mojave: Signposts and Instruments
  41. How to Improve Your Productivity as a Working Programmer
  42. You Are Probably Using the Wrong HDMI Cord
  43. We Are All Trapped in the “Feed”
  44. A New Home for ToothFairy
  45. Iapkit
  46. Intel FPU May Spill Crypto Secrets to Apps
  47. Shortcuts: A New Vision for Siri and iOS Automation
  48. Training a Text Classifier with Create ML
  49. Apple’s Design Language Has Killed Fun in Consumer Electronics
  50. Amazon Fire TV Cube
  51. I Can Be Apple, and So Can You
  52. File Radars Early and Often
  53. Installing and Debugging on Mojave
  54. On Paying for Software
  55. Smile Turns 15: an Interview With Greg Scown
  56. SVG Favicons in Mojave Safari
  57. On My Misalignment With Apple’s Love Affair With Swift
  58. Intelligent Tracking Prevention 2.0
  59. Yahoo Messenger Will Shut Down After 20 Years
  60. Facebook Posts Accidentally Made Public
  61. The 2013 Mac Pro, Five Years Later
  62. Removed in macOS 10.14 Mojave
  63. Swift 4.2
  64. Facebook-WhatsApp Turmoil Takeaway
  65. Mac App Store Sandboxing, IAP Trials, Multiplatform Services
  66. Apple Announces Marzipan for 2019
  67. WWDC 2018 Links
  68. Microsoft Acquires GitHub
  69. OmniFocus 3 for iOS
  70. 1Password 7 for Mac
  71. Apple vs. My Daughter’s iPad
  72. The Story Behind the Echo Eavesdropping Story
  73. Apple’s Emoji Search is Bad
  74. Facebook’s GDPR-Related Dark Patterns
  75. Mac and iOS Automation History
  76. macOS Special-Casing to Keep Apps Working
  77. iMac Pro VESA Mounting Screws
  78. iPhone 6 Bendgate and Touch Disease
  79. Differ: Swift Library to Generate Differences and Patches Between Collections
  80. 10 Strikes and You’re Out
  81. macOS 10.13.5
  82. Halide: One Year Later
  83. Encrypting for Apple’s Secure Enclave
  84. iOS 11.4 and Messages in iCloud
  85. WWDC 1997 Videos and Other History
  86. Apple Hasn’t Blocked Telegram App, But Won’t Allow Updates
  87. Valve’s Steam Link App Rejected From the App Store

May 2018

  1. The Developers Union
  2. Basic Questions About Google Duplex
  3. New Twitter APIs and Pricing
  4. US Cell Carriers Are Selling Access to Real-time Phone Location Data
  5. UIs That Amass Memories
  6. Some Thoughts on Google Photos vs. Apple Photos
  7. The Moat Map
  8. App Architecture: iOS Application Design Patterns in Swift
  9. Tweetbot 3 for Mac
  10. When Disappearing Messages Don’t Disappear
  11. Why Apple Should Copy the Android P Notification Shade
  12. 20 Years of USB
  13. EFail Vulnerabilities in OpenPGP and S/MIME
  14. John Carmack’s Steve Jobs Stories
  15. Google Is Rebranding Storage Plans As “Google One”
  16. Google’s Privacy Policy
  17. Chrome OS Is Getting Linux App Support
  18. Visual Studio IntelliCode
  19. Legacy FileVault and macOS 10.13
  20. macOS Monitoring the Open Source Way
  21. The Laws of Core Data
  22. C Is Not a Low-level Language
  23. “Black Dot” Unicode Bug
  24. iOS 11’s Streamlined, Yet Extensible File Management
  25. JPEG Decoding With the Best
  26. Discovery - DNS-SD Browser
  27. What Happened to Apple’s Whimsy?
  28. A Tricky Feature
  29. iOS Design Inconsistencies Across Apple’s Apps
  30. VI Months With the iPhone X
  31. Requesting Your Personal Data From Apple
  32. What Do Security Updates Actually Fix?
  33. Microsoft App Store Lowers Fees
  34. Swift LispKit
  35. Ray Ozzie’s Encryption Backdoor
  36. iCloud Drive Breaks the macOS Command Line
  37. Retrobatch Public Beta
  38. AirPods Switching Limitations
  39. Twitter Stored Passwords in Log File
  40. The 2017 Panic Report
  41. Pocket Casts Acquired
  42. Announcing Stack Overflow for Teams
  43. iMac Pro and Secure Storage
  44. 20 Years of iMac
  45. Scuttlebutt Regarding Apple’s Cross-Platform UI Project
  46. Stop The Madness
  47. Mermaid: Markdown-like Generation of Diagrams and Flowcharts
  48. ScannerPro or Scanbot Pro
  49. Luminar 2018 First Impressions From a Non-Power User

April 2018

  1. Reimplementation of Implicitly Unwrapped Optionals
  2. NSColor, CGColor, and Layers
  3. Multiple Cursors in Xcode
  4. 30 Years of Frontier
  5. Swift for TensorFlow, Released
  6. Pre-Announcing AirPower
  7. Buying an iPhone 8 Plus After Using an iPhone X
  8. Apple Officially Discontinues AirPort Router Line
  9. Overcast 4.2: The Privacy Update
  10. Drive Genius Lite
  11. Xcode Treasures
  12. JavaScript’s Tricky Rounding
  13. Speculation and Dread for the Next Transition
  14. Reconsidering the Hardware Kindle Interface
  15. Forcing Compiler Errors in Swift
  16. Writing With an iPad and a Clicky Keyboard
  17. App Store APIs and Testing
  18. The Woman Who Gave the Macintosh a Smile
  19. Oracle Claims Trademark Infringement for an iOS JavaScript Editor App
  20. SmugMug Acquires Flickr
  21. Apple Open Sources FoundationDB
  22. Examples of Dark Design Patterns
  23. Tim Cook Says Users Don’t Want iOS to Merge With macOS
  24. The Menu Bar
  25. When PNGs Suddenly Become JPEGs
  26. Lessons Learned From the App Store
  27. GCD Tips
  28. Switching From RSS to Apple News Format
  29. Drafts 5
  30. On Normalizing Rip-Offs
  31. Apple Refuses to Repair iMac Pro
  32. iPhone X Profits
  33. Weather Alarms Scam
  34. Mapping Apple’s Vast Universe of Space Gray Shades
  35. One Laptop Per Child Retrospective
  36. macOS 10.13.4 Causing Installation Log Failures
  37. Firefox 11.0 for iOS Has Tracking Protection on by Default
  38. Updated FancyZoom
  39. Apple Sued an Independent iPhone Repair Shop Owner and Lost
  40. High Sierra Help Breakage
  41. Apple Warns Employees to Stop Leaking Information
  42. Eliminating iTunes Store Music Downloads in March 2019
  43. macOS 10.13.4 to Warn About 32-bit Apps Starting April 12
  44. Behind-the-Scenes Improvements in Swift 4.1
  45. Initial HomePod Sales
  46. The Looptail Lowercase G
  47. Why SQLite Does Not Use Git
  48. The Making of Dark Castle
  49. The Inside Story of Reddit’s Redesign
  50. Not for Mac
  51. How Fast Is AMP Really?
  52. IndieWeb Generation 4 and Hosted Domains
  53. Overture: a Swift Library for Function Composition
  54. OkCupid’s “Removed” Visitor API
  55. Apple Now Runs On “100%” Green Energy
  56. Towards Robust Performance Measurement
  57. App Store Subscriptions And You
  58. Erasing Complexity: the Comfort of Apple’s Ecosystem
  59. If iPads Were Meant for Kids
  60. The Dots Do Matter
  61. Stay Away From Advanced Mac Cleaner
  62. “FIXME” Doesn’t Always Mean “Fix Me”
  63. Native Apps in China
  64. Jim Reekes Discusses Apple Sound History
  65. Twitter Shutting Down APIs
  66. Mac mini Turning 3.5 Years Old
  67. Reading This Site With NetNewsWire 3
  68. Design Patterns Failed. Why? Should We Care?
  69. The Stack Overflow Age
  70. Google Maps Adds Restaurant Wait Times and More
  71. Apple Watch Adoption
  72. New Mac Pro Won’t Arrive Until 2019
  73. App Store Shrank for First Time in 2017
  74. Instagram Disables APIs
  75. Making the Touch Bar Useful by Abandoning Apple Guidelines
  76. Quiet By Design: Naomi Campbell Interviews Jony Ive
  77. BlackBag on APFS Encryption
  78. Apple Hires John Giannandrea
  79. Textlicious 1.0
  80. Avoiding Apple Pay’s Pestering
  81. Instagram Removes Watch App
  82. Interview With Apple Logo Creator Rob Janoff
  83. Swift Protobuf
  84. Apple Plans to Use Its Own Chips in Macs From 2020, Replacing Intel
  85. The TidBITS 2018 Infrastructure
  86. Making Illegal States Unrepresentable
  87. Adding AppleScriptObjC to Existing Scripts
  88. Why Inheritance Never Made Any Sense
  89. 1.1.1.1: the Fastest, Privacy-first Consumer DNS Service
  90. Microsoft Is Ready for a World Beyond Windows
  91. The Business of Streaming Music
  92. Carbon Copy Cloner and APFS Snapshots
  93. System Fonts in CSS
  94. Uber Is Ripping Off Frequent Riders
  95. Xcode 9.3
  96. Swift 4.1
  97. Cutting “Old Heads” at IBM
  98. MyFitnessPal Data Breach
  99. Why Doesn’t Apple Music Let Users Search for Composers?

March 2018

  1. Swift for TensorFlow
  2. macOS 10.13.4
  3. Charles Proxy for iOS
  4. iOS 11.3
  5. Firefox’s Facebook Container
  6. The Missing iCloud Storage Bump
  7. Space Gray Input Devices
  8. Apple’s Lane Tech Education Event
  9. NSDoubleLocalizedStrings and Friends
  10. Solving Problems With iCloud Drive
  11. kottke.org at Twenty
  12. MacInTouch Note to Readers
  13. Swift Integration Traps
  14. High Sierra Stored APFS Volume Passwords in Log Files
  15. Apple Stores Suffer From Customer Complaints, Long Wait Time
  16. Dealing With Weak in Closure-based Delegation
  17. Alexa’s New “Brief Mode”
  18. Kickstarter and Business Advice
  19. Apple AirPods: the Audiophile Review
  20. Cambridge Analytica Harvested 50 Million Facebook Profiles
  21. App Store Certificate Checker Framework
  22. Software As a Service Pricing
  23. Genius Bar Not Prepared for APFS
  24. GrayKey iPhone Unlocker
  25. Designing Jank-Free Apps
  26. Lightning vs. USB-C for Headphones
  27. What Went Wrong With Siri
  28. YouTube to Outsource Truth to Wikipedia
  29. Overcast 4.1 and Smart Resume
  30. France to Take Legal Action Against App Stores
  31. The Apple TV 4K’s HDR Nightmare
  32. iPhone Wireless Phone Charging Comes at a Cost: Your Battery
  33. Time for a Complete Home App Makeover
  34. Calendar 2 App Could Mine Crypto-Currency in Lieu of IAP
  35. Smart Debugging
  36. The Origins of QuickTime
  37. Swift 4.1 Conditional Conformance Is Amazing
  38. Better Strategies Through Types
  39. The Original Siri App Compared to Siri Today
  40. HyperCard Zine
  41. Can U.S. States Hang on to Net Neutrality?
  42. Solving a Mysterious Heap Corruption Crash
  43. Faster Swift String Concatenation
  44. Your Nose Isn’t Really As Big As It Looks in Selfies
  45. Old Steve Jobs Videos
  46. Photoshop CC Easter Eggs
  47. Apple to Discontinue iTunes LP
  48. Deckset Leaves the Mac App Store
  49. Getting the Current NSBundle
  50. A Lot Can Happen in a Decade
  51. Constructing Human-grade Parsers
  52. Keeping Your Safari Data Private
  53. Streaming Your Own Music
  54. The Mystery of the Slow Downloads
  55. A Year Away From macOS
  56. GitHub Survived the Biggest DDoS Attack Ever Recorded
  57. First-Class Swift API for Objective-C Frameworks
  58. Script Debugger 7
  59. Risks of In-App Browsers
  60. Amazon Will Stop Selling Nest Smart Home Devices
  61. Apple Networking Feedback
  62. Amazon Is Complicit With Counterfeiting
  63. iOS Uses CFBundleName to Differentiate Apps
  64. Working at Google
  65. Searching for Paid Apps
  66. C String Functions in Swift: a malloc’y Story
  67. SwiftNIO
  68. Twitter Launches Bookmarks for Saving Tweets
  69. Respecting Privacy at Basecamp
  70. Cellebrite Can Now Unlock Recent iPhones
  71. The Rise of China As a Digital Totalitarian State

February 2018

  1. Code Size Optimization Mode in Swift 4.1
  2. Algorithmic Arrangements at OkCupid
  3. Swift Protocols Wish List
  4. Designing Windows 95’s User Interface
  5. Google Libraries for Objective-C
  6. Paradigms of Artificial Intelligence Programming
  7. The macOS Versions Management System
  8. Decoding Dictionaries in Swift
  9. Speed Improvements in Python 3.7
  10. HomePod Positioning
  11. WatchKit Is a Sweet Solution
  12. iCloud in China and on Google’s Cloud
  13. BigTechCo Strategy: Paying the Platform Tax
  14. The Dropbox Comp
  15. Money Laundering via Author Impersonation on Amazon?
  16. Google and HTTP
  17. Debugging NSNotificationCenter and NSRunLoop
  18. Practices Make Perfect (Backups)
  19. Big List of Naughty Strings
  20. Reasons to Get an Apple Watch
  21. When macOS High Sierra’s Content Caching Isn’t Working
  22. StarCraft: Emulating a Buffer Overflow for Fun and Profit
  23. Code Signing Validation Bug
  24. Avast Antivirus False Positives for Apps That Use Swift
  25. “I’ve Only Had Good Years”
  26. iDefrag and iPartition Discontinued
  27. Swype Keyboard Discontinued
  28. On Writing Software Well
  29. On Compiling WebKit (Now Twice As Fast!)
  30. Optimizing Global Constant Data Structures Using Relative References
  31. When Swift Makes You Use “throws” Instead of “rethrows”
  32. How to Use Adaptive Width Strings for Localization
  33. Security and Privacy Issues of Bitcoin
  34. GitHub Shouldn’t Allow Username Reuse
  35. How iFixit Became the World’s Best iPhone Teardown Team
  36. Lightning Charge/Audio Dongles
  37. Is APFS Fully Supported Yet?
  38. Lightroom Classic CC 7.2
  39. Trusting SDKs
  40. Smart Speakers, Speech Recognition, and Accessibility
  41. Time to End-of-Life Interact
  42. Nowhere Else to Go
  43. Twitter Abolishes Native Mac Client
  44. Color Picker Now Rearranges Custom Swatches
  45. iOS Share vs. Action Icons
  46. Acorn Drops IAP Trial
  47. Google Removes “View Image” Button From Search Results
  48. Chrome’s Ad Filtering
  49. Multiple iOS Timers
  50. Simplenote Outage Due to DMCA
  51. Bringing the Power of AMP to Gmail
  52. Everything Easy Is Hard Again
  53. App Store Selective Enforcement
  54. Can macOS Tell How Large a File Really Is?
  55. GitFinder 1.0
  56. Data Loss on APFS Sparse Disk Images
  57. Another iOS Crash Caused By Sending Unicode Character
  58. Facebook’s “Protect” Feature
  59. Castro 3’s Business Model
  60. Good vs. Better at Bad
  61. HomePod Can Leave White Rings on Wood Surfaces
  62. A Blind HomePod Test
  63. The Mac App Sandbox and Non-Native Apps
  64. How Apple Plans to Root Out Bugs
  65. VLC 3.0
  66. Twitter’s First Profit
  67. iOS 9 Source Code Leak
  68. Many Siris
  69. What I Learned from Watching My iPad’s Slow Death
  70. That 30% App Store Tax
  71. John Perry Barlow, RIP
  72. iOS Auto-Correction From Contacts
  73. BBEdit 12.1
  74. Battery Health and Peak Performance Capacity
  75. HomePod Reviews
  76. Apple E-mails Developers Other People’s Search Ad Results
  77. Minimum Password Lengths
  78. Serialization on macOS and iOS: Speed and Size
  79. How CloudKit Works
  80. The Apple Music and HomePod Strategy
  81. Sandbox Limitation on Number of Files That Can Be Opened
  82. The Experts Have Taken Over
  83. Apple’s Q1 2018 Results
  84. OWC Dual Drive Dock USB 3.1
  85. Base64 Encoding and Decoding With SIMD Instructions
  86. How Hotmail Changed Microsoft and E-mail
  87. Good Ideas, Through the Looking Glass
  88. Podcast Listeners Really Are the Holy Grail Advertisers Hoped They’d Be
  89. Touch ID and the Fifth Amendment
  90. Things I Wish I’d Known About Bash
  91. C String Functions in Swift
  92. Colour Management

January 2018

  1. Scratched iPhone 8 and iPhone X Screens
  2. iOS Top Buttons Under Notifications
  3. CNN Blames Apple for Repeat Notifications
  4. What I Wish the iPad Would Gain From the Mac
  5. Swift Tip: OpaquePointer vs. UnsafePointer
  6. Swift Imports Fixed-size C Arrays As Tuples
  7. Apple Delays Features to Focus on Reliability, Performance
  8. Fixing PDFs Whose Pages Render as Black Rectangles
  9. Fitness Tracking App Gives Away Locations of US Army Bases
  10. iMessage on Android
  11. OmniFocus 2018 Roadmap
  12. Finding a CPU Design Bug in the Xbox 360
  13. Four Column ASCII
  14. Mac and iOS Privacy Guide
  15. Mosaic’s Birthday: 25 Years of the Modern Web
  16. Lookmark Now Tracks App Updates
  17. iCloud Photo Library Re-uploading
  18. Hello HEIF
  19. Swift’s Reflective Underpinnings
  20. Recommendations for Buying Music
  21. Old-Style Apple API DIffs
  22. Creating a Bootable APFS Clone From the Command Line
  23. Tim Cook on Coding
  24. 2017 Six Colors Apple Report Card
  25. macOS 10.13.3
  26. Messages on iCloud in iOS 11.3 Beta
  27. Steve Yegge Leaves Google
  28. Trickster Mac App Store Woes
  29. HomePod to Arrive February 9
  30. Net Neutrality Testing App Rejected From the App Store
  31. Rejected From the App Store for Emoji in Screenshot
  32. Microsoft Office 2016, Version 16.9
  33. Swift Forums
  34. iOS 11 Adoption Reaches 65%
  35. Redesigned Web Versions of App Stores
  36. Tim Cook Talks iPhone Batteries
  37. BBEdit Codeless Language Module for Swift
  38. Two-factor Authentication for Old Apple TVs
  39. Simplifying Swift Framework Development
  40. What Happens to the Traffic You Send to the App Store?
  41. Dictation Eases Data Entry
  42. App Store Trials: No More Free IAPs?
  43. Reading Twitter With Feedbin
  44. Reading Disks From 1988 in 2018
  45. WDMyCloud Multiple Vulnerabilities
  46. Violating a Website’s Terms of Service Is Not a Crime
  47. Swift String ABI, Performance, and Ergonomics
  48. The Final Conf-Down
  49. iPad Erased By Too Many Failed Passcode Entries
  50. Google Memory Loss
  51. Apple Health Data Used in Murder Trial
  52. Agenda’s Feature Unlocking Business Model
  53. The MacBook Air: A Decade’s Worth of Legacy
  54. Hawaii Missile Alert
  55. The Black Hole of App Review
  56. Chinese Firm to Operate China iCloud Accounts
  57. Dropbox Files Confidentially for IPO
  58. Former Apple Intern Looks Back at Designing First Apple Emoji in 2008
  59. Birdcage Liners
  60. Swift Code Generation at Uber
  61. Matias RGB Backlit Wired Aluminum Keyboard
  62. Apple’s Indirect Presence Fades From CES
  63. Improving URLs for AMP Pages
  64. ScreenShield: SDK to Prevent Screenshots
  65. Running Old iOS Versions
  66. Tetris Entitlements
  67. Apple Comments on AirPort’s Future
  68. Sharing Links From iOS Twitter Appends Tracking Garbage to the URL
  69. App Store System Preferences Can Be Unlocked With Any Password
  70. Unregistering Block-based NotificationCenter Observers
  71. Pop-up Mobile Ads That Trap
  72. Using HTTP to Avoid Mixed Content Warnings From Ads
  73. The Kindle Moment: Fire and Fury
  74. Reverse-Engineering the iPhone X Home Indicator Color
  75. Conditional Conformance in the Standard Library
  76. iCloud Drive Can Strip Metadata From Your Documents
  77. How to Disable macOS High Sierra Upgrade Notifications
  78. Let Facebook Rejoin the Open Web
  79. Panic Discontinues Transmit for iOS
  80. Computer Latency: 1977-2017
  81. Fingerprinting Swift Code Using Spacecrypt
  82. The T2 Chip Makes the iMac Pro the Start of a Mac Revolution
  83. A Branchless UTF-8 Decoder
  84. Dash’s Year in Review: 2017
  85. Alexa Everywhere
  86. Apple Acquires Buddybuild
  87. Decrypting an APFS Encrypted Volume Using diskutil
  88. Some Useful URL Schemes in Xcode 9
  89. Alan Kay’s Thoughts, Old and New
  90. Intel CPU Design Flaw Necessitates Kernel Page Table Isolation
  91. Apple in 2018
  92. iMac Pro Performance
  93. IOHIDeous: IOHIDFamily 0day
  94. The “app” You Can’t Trash: How SIP Is Broken in High Sierra
  95. The iOS Gaming Business
  96. Ad Targeters Are Pulling Data From Your Browser’s Password Manager
  97. Pressing the Side Button to Confirm Payments on iPhone X
  98. identityservicesd: What If Anyone Can Be You?
  99. Gruber on the iPhone X
  100. Entering a FastMail Account Using a QR Code

← 2017 2019 →