The Curious Engineer

Michael Tsai

2017

834 posts

← 2016 2018 →

2017 834

December 2017

  1. Apple’s Message to Customers About iPhone Batteries and Performance
  2. Apple Support Tells Customers to Ask Developer for Refund
  3. iOS 11 Double Copying
  4. OkCupid Removes Usernames
  5. Twitter’s Weeds
  6. Energy Efficiency: A New Concern for Application Software Developers
  7. WKWebView Workarounds
  8. Apple Narrows Ban on Templated Apps
  9. Apple Confirms That It Throttles iPhones With Degraded Batteries
  10. Apple Rumored to Combine iPhone, iPad, and Mac Apps to Create One User Experience
  11. Google Maps’s Moat
  12. Explanation of HomeKit Vulnerability
  13. Patterns for Working With Associated Types
  14. Apple, CALEA, and Law Enforcement
  15. Transferring SD Card Data to iOS, Fast
  16. Apple Watch Series 3 Carrier Fees
  17. Broken Photos Drag and Drop
  18. How Extended Validation Certificates Can Be Used to Scam
  19. Amazon Changes Its Review Policy
  20. Amazon Will Resume Selling Apple TV and Chromecast
  21. Developer Documentation for MailMate Bundles
  22. Moving Acorn to Metal
  23. Firefox Pushes Looking Glass Add-on
  24. Use SF Mono Outside of Terminal and Xcode
  25. Ai.Type Keyboard Leaks Data for 31 Million Users
  26. Using GitUp
  27. Drive Genius 5.1 Adds High Sierra Compatibility
  28. App Store Introductory Pricing
  29. How to Use Apple Pay Cash
  30. Apple’s New Utility Swift Library
  31. N.Y. Times Scales Back Free Articles
  32. The iMac Pro
  33. Apple Widens Ban on Templated Apps
  34. Does iOS Throttle CPUs When Using a Degraded Battery?
  35. The Case for Learned Index Structures
  36. AI-Generated Images
  37. SuperDuper 3.1 Supports APFS Snapshots for Both Source and Destination
  38. Mailsploit
  39. HomeKit Vulnerability Allowed Remote Access to Smart Accessories Including Locks
  40. ProtonMail Introduces IMAP/SMTP Bridge
  41. How Brands Secretly Buy Their Way Into Stories
  42. The Magic Keyboard With Numeric Keypad Is Apparently Bendy
  43. Amazon Prime Video Finally Available for Apple TV
  44. Microsoft Launches Windows 10 on ARM
  45. Learning With Privacy at Scale
  46. Google Again Removes YouTube From Echo Show
  47. Android Oreo Review: An iOS User’s Review
  48. Jony Ive Responds to Criticism
  49. The Pollyannish Assumption
  50. Month 13 Is Out of Bounds
  51. Safari Tab Search
  52. iPhone Charging Speeds Compared
  53. MarsEdit 4.0
  54. Key Difference Between Dictionary and NSDictionary
  55. Rushed iOS 11.2 Update to Fix Date Crasher
  56. The Power of RAW on iPhone
  57. iOS 11 Allows Device and PIN to Reset iTunes Backup and Apple ID Passwords
  58. Class Action Suit for Google’s Invisible Form Trick
  59. “Mother of All Markets” or a “Pipe Dream Driven by Greed”?

November 2017

  1. Why the Selection Changes When You Do Syntax Highlighting in a NSTextView
  2. CloudApp for iMobile Scam App
  3. Dave Winer Interview
  4. iBooks in iOS 11 and High Sierra
  5. Swift and GPU Compiler Details
  6. Why Little Bugs Need to Get Fixed
  7. High Sierra Bug Allows Root Access With Blank Password
  8. Network Neutrality, Ajit Pai, and Title II
  9. Strings in Swift 4
  10. The Mystery of the Phantom App Updates
  11. The Cost of JavaScript
  12. 20 Years of Adobe Photoshop
  13. Uber Customer Data Breach and Cover-up
  14. iOS Background Transfer
  15. Google Collects Android Users’ Locations Even When Location Services Are Disabled
  16. Skype Removed From Chinese App Stores
  17. The Whole Pantry
  18. MailChimp Switches to Single Opt-In
  19. Mac Modifier Key Order
  20. The Mac Still Feels Like Home
  21. Operating System Update Rates
  22. Pushy Notifications in Apple News
  23. Copying All Your Music to Your iPhone
  24. Firefox Quantum
  25. HomePod Delayed
  26. Twitter’s Verified Mess
  27. Apple’s Use of Swift in iOS 11.1 and macOS 10.13.1
  28. FogBugz Becomes Manuscript
  29. Dive Into APFS
  30. The Best Laptop Ever Made
  31. Local Time Machine Uses APFS Snapshots
  32. App Nap, Automatic Termination, and Zombie Apps
  33. App Store Changes
  34. Twitter Sidestepped Russian Account Warnings
  35. Building a Better Date/Time Library for Swift
  36. We’re Just Doing Data Entry for Google
  37. Work on SQLite 4 Has Concluded
  38. How Facebook Figures Out Everyone You’ve Ever Met
  39. AstroPad’s Camera Button Rejected From the App Store
  40. Twitter Increases Limit to 280 Characters
  41. The Paradise Papers
  42. Enduring Xcode and SourceKitService Problems
  43. Facebook Solicits Nude Photos to Stop Revenge Porn
  44. iPhone X Reviews
  45. Designing Apps for iPhone X
  46. iPhone X Physical Design
  47. iPhone X Face ID
  48. iPhone X Display
  49. iPhone X Buttons and Gestures
  50. iOS 11 Autocorrect Bug
  51. iPhone X Exclusive Ringtone
  52. iPhone X Media Strategy and Early Reviews
  53. Google Docs Glitch Blocks Files for TOS Violations
  54. iOS Feature Wish: Contact Provider Extensions
  55. Photos Machine Learning and Trusting Apple

October 2017

  1. HomePod to Run Apps Through iPhone/iPad
  2. Selective Selector Mapping
  3. Super Mario Run’s Disappointing Profit
  4. iOS 11 Changes Localized Date Handling
  5. Redesigning Adobe’s File Type Icon System Language
  6. Locks, Thread Safety, and Swift: 2017 Edition
  7. Amazon Now Has a $1 Billion Ad Business
  8. Biskus APFS Capture
  9. Panorama X’s Take on Subscriptions
  10. How to Accept Payments for Your Digital Products
  11. One-Pixel Attack for Fooling Deep Neural Networks
  12. Inside Amazon Web Services
  13. Protecting Against Rogue Camera Access
  14. Three MacBook Mistakes: Will Apple Correct Course?
  15. Angela Ahrendts’s Plan for Apple Retail
  16. Amazon Revokes Delicious Library API Access
  17. Modeling One-to-Many in SQLite Using the JSON1 Extension
  18. iPhone X Production and Availability
  19. iBooks Author Conference Highlights Ecosystem Worries
  20. Quicken 2018 Switches to Subscription
  21. iOS Calculator Bug
  22. How Well Do Filesystems Handle Errors?
  23. Backing Up Cloned APFS Files
  24. Stealing Sensitive Browser Data With the W3C Ambient Light Sensor API
  25. The Camera Button
  26. Why Work Without a Nib?
  27. How “Hey Siri” Works
  28. An Important Part of Our Product Line Going Forward
  29. Movies Anywhere
  30. The Ridiculous Amount of Energy It Takes to Run Bitcoin
  31. Apple Sued Over “Animoji” Trademark
  32. The Sad State of iOS 11’s TV App
  33. You Can’t Turn Off Spotlight on Your Time Machine Backup
  34. Nobody Thinks About eBay
  35. Unreliable MacBook Pro Keyboards
  36. Cardhop 1.0
  37. New Lightroom CC and Lightroom Classic CC
  38. Erasing Touch Bar Data
  39. Third Victory for VirnetX in FaceTime Patent Case
  40. Google Pixel 2
  41. How iCloud Drive Can Break Time Machine Backups
  42. Disabling Xcode 9 Font Smoothing
  43. Localized App Store Keywords
  44. Windows 10 Mobile, the End of the Line
  45. KRACK: Breaking WPA2 by Forcing Nonce Reuse
  46. The Impossible Dream of USB-C
  47. BBEdit 12
  48. Thoughts on Yoink’s App Review
  49. Strange Apple ID Sign-In Locations
  50. Ten Safari Long-Press Shortcuts
  51. Google Pixel Buds
  52. APFS and Institutional Recovery Keys
  53. Uncle Bob and Silver Bullets
  54. HashVisitable Swift Evolution Proposal
  55. New Waterproof Kindle Oasis
  56. In-App Apple ID Password Phishing
  57. Twitterrific 5.0 for Mac
  58. Sketch 47: Libraries and Smooth Corners
  59. APFS, SuperDuper, and EFI
  60. Xcode Unit Testing Feature Requests
  61. Bonjeff 1.0
  62. watchOS SDK Limits
  63. Do iPhones Get Slower Over Time?
  64. AIM Will Shut Down After 20 Years
  65. Cocoa Class Clusters
  66. Apple Granted Uber a Background Screen Recording Entitlement
  67. Type-Safe User Defaults in Swift
  68. Why Many Developers Still Prefer Objective-C to Swift
  69. When JSONDecoder Meets the Real World
  70. Encrypted APFS Volume’s Password Exposed as Hint
  71. USPS “Informed Delivery” Is Stalker’s Dream
  72. Pre-charging and Testing iPhones at the Factory
  73. A Eulogy for Eudora
  74. Your Device or Computer Could Not Be Verified
  75. iPhone 8, Qi Wireless Charging, and the Challenge of Open
  76. Evolving the Dropbox Brand
  77. PDFKit Improves Somewhat in High Sierra
  78. Apple Design in the Cook Era
  79. Command-P Squared to “Save as PDF”
  80. Apple Open Sources iOS Kernel
  81. High Sierra’s Disk Utility Does Not Recognize Unformatted Disks
  82. The Touch Bar’s Future
  83. Making Better Use of the Touch Bar

September 2017

  1. Finder’s Unwanted Conversions to APFS
  2. Cultural Insularity and Apple TV
  3. Measuring Swift Compile Times in Xcode 9
  4. Time Machine vs. Photos.app
  5. Alan Kay on the iPhone
  6. EFF Resigns From W3C
  7. Swift 4 Weak References
  8. Fixing Twitter With Reputation Systems
  9. YouTube Drops Echo Show, Amazon Adds Apple TV
  10. iOS 11 Smart Punctuation and Null Characters
  11. Relicensing React, Jest, Flow, and Immutable.js
  12. APFS Benchmarks
  13. macOS 10.13 High Sierra Released
  14. Mac Keychain Vulnerability
  15. Sandbox Inheritance Tax
  16. iOS Default File Associations
  17. Text Replacements Do Not Sync
  18. OmniFocus and Siri on iOS 11
  19. watchOS 4 and Podcast Apps
  20. iStat Menus 6
  21. Surprising Behavior of Non-optional @NSManaged Properties
  22. Sierra’s Unified Log Evolves
  23. Swift Proposal: Non-Exhaustive Enums
  24. iPhone 8 and iPhone X Cameras
  25. iTunes Rentals Increase From 24 to 48 Hours
  26. 3D Touch App Switcher to Return
  27. A11 Bionic
  28. Apple Maps in iOS 11
  29. HHVM Chooses Hack Over PHP 7
  30. iPhone X Design and the Notch
  31. iPhone and iPad Resolutions
  32. Swift 4.0 Released
  33. Safari 11
  34. iOS 11: Control Center No Longer Turns Off Bluetooth and Wi-Fi
  35. iPhone 8 Charging Speed
  36. Face ID
  37. iPhone 8 Reviews
  38. iOS 11 Reviews
  39. Apple and Design Details
  40. No 4K iTunes Videos on iPad Pro or Mac
  41. SuperDuper and APFS
  42. Kernel Extensions in High Sierra
  43. New App Store Review Guidelines: Gifts, Face ID, ARKit
  44. The Incredible Growth of Python
  45. Equifax Breach
  46. iTunes 12.7 Drops Apps and Ringtones
  47. Apple TV 4K, Still a Hobby
  48. macOS 10.13 High Sierra Shipping Soon
  49. iPhone X
  50. Oral History of Avie Tevanian
  51. Animoji Rejected From the App Store
  52. PDFXKit
  53. An Apple Support Experience
  54. Is This My Interface or Yours?
  55. 1980s Apple Ads
  56. Data Locality and STL vs. Swift
  57. Swift and KVO Context Variables
  58. 1Password Command-line Tool Public Beta
  59. Injecting Missing Methods at Runtime
  60. iOS Cropping in Photos
  61. Google Maps Parking Features
  62. Behind the Scenes of AMP at Condé Nast
  63. How Is ARCore Better Than ARKit?
  64. iCloud Backups: Contacts vs. Notes vs. Reminders
  65. Congratulations
  66. Apple’s iPhone Repair Rules
  67. The End of ProTube 2
  68. ARKit Human Interface Guidelines
  69. Decoding NSASCIIStringEncoding Is Not Strict
  70. Too Many AVPlayers?
  71. The Power of Google

August 2017

  1. Sarahah Quietly Uploads Your Address Book
  2. The TLS 1.3 Controversy
  3. Using Lazy Variables to Work Around Swift Initialization Rules
  4. Swift’s Error Handling Implementation
  5. Reliability of macOS Sierra: Scheduled and Background Activities
  6. APFS to be Mandatory for SSDs in High Sierra
  7. Swift 4: Bridging Peephole for “as” Casts
  8. YouTube Transcripts
  9. Deep Learning for Siri’s Voice
  10. Carbon Copy Cloner 5
  11. Dylan and Newton History
  12. Just Following Orders
  13. Portable External MacBook Pro Displays
  14. How Some Thunderbolt 3 Cables Underperform With USB-only Drives
  15. iOS 11 Will Strip AMP Garbage From Shared URLs
  16. TRAI’s Spat With Apple Over App Access to Messages and Call Logs
  17. Testing Auto-Renewable Subscriptions on iOS
  18. AccuWeather Caught Sending User Location Data, Even When Location Sharing Is Off
  19. Product Graveyard
  20. Swift Local Refactoring
  21. What You Can Learn From LockState
  22. Cloudflare’s Lava Lamps
  23. Swift 4: Synthesizing Equatable and Hashable Conformance
  24. CrashPlan Discontinues Consumer Backups
  25. iTunes U Collections Are Moving to Apple Podcasts
  26. iMessage’s Popularity Among US Teens
  27. Why Is ARKit Better Than the Alternatives?
  28. When Exactly Will the Eclipse Happen?
  29. Concurrency in Swift: One Possible Approach
  30. iPhone Secure Enclave Firmware Key Found
  31. Gab App Rejected by Google (and Apple)
  32. iOS 11’s Emergency SOS Feature
  33. New Google Docs Features Power Team Collaboration
  34. The Life, Death, and Legacy of iPhone Jailbreaking
  35. Bit Twiddling Hacks
  36. CS Papers I Like
  37. An Aside About flatMap and Monads
  38. Tech Companies Fighting for User Privacy
  39. Tech Companies Refusing DNS Service to Daily Stormer
  40. F.lux 4
  41. Modeling Implicit View Behaviors
  42. Swift.Unmanaged
  43. PLRelational
  44. A Brief History of the UUID
  45. Classic Game Postmortem: Oregon Trail
  46. HyperCard on the Internet Archive
  47. Safari Should Display Favicons in Its Tabs
  48. A a a a a Very Good Song
  49. How Facebook Squashes Competition From Startups
  50. Version Control ssh:// URL Shell Injection Vulnerability
  51. Ulysses Switches to Subscription
  52. Why Apple’s Glasses Won’t Include ARKit
  53. Taking Uber to Small-claims Court
  54. Mixing Constant and Literal Strings in Swift
  55. Swift 5: Start Your Engines
  56. The Internet Archive Adds 25,000 78rpm Records
  57. Radix Sort Revisited
  58. Protocol Composition in Swift and Objective-C
  59. QuickCheck for Swift
  60. Lazy Permutations in Swift
  61. Kryptonite: Protect Your SSH Private Key
  62. Making the Internet Archive’s Full Text Search Faster
  63. Creating New Snippets
  64. iPhone and Android Cameras
  65. Bringing Back Visual Basic IDE to Office for Mac
  66. What’s Wrong With the Touch Bar
  67. Using a Downloaded HTML File to Steal Files From a Mac
  68. Using Static Frameworks to Speed Up Launching
  69. How Rust Is Tested
  70. CwlLayout: a Swift Wrapper Around Auto Layout
  71. “required” Swift Initializers and Decodable
  72. Graphing Calculator Started As a Demo for PenMac
  73. Did the iPad Turn the Corner This Quarter?
  74. Golden Hill Software Acquires Unread
  75. Powerline Ethernet Adapters Are Everyday Magic
  76. NSProgress Shortcomings and CSProgress
  77. Moom 3.2.9
  78. Counterparts Lite 1.5
  79. Your Favorite Mac Markdown Editors

July 2017

  1. Apple Pulls VPN Apps From China App Store
  2. Reddit Raises $200M, Rewrites Code
  3. Why Apple Should Make a Cheaper, Streamlined Apple TV
  4. A Binary Coder for Swift
  5. Arc Hub USB-C Adapter
  6. Apple’s Photos App and Lens Correction
  7. Receipt Validation in Swift
  8. Passwords Evolved: Authentication Guidance for the Modern Era
  9. Arq 5.9 Adds Backblaze B2 and Wasabi Support
  10. Apple Park’s Open Work Spaces
  11. Apple Discontinues iPod Nano and iPod Shuffle
  12. How to Remove Raw Images From Apple Photos and iCloud
  13. Upcoming USB 3.2 Will Double Data Rates Using Existing Cables
  14. Adobe Will Discontinue Flash in 2020
  15. Pascal at Apple
  16. Dissecting objc_msgSend on ARM64
  17. Timing 2 for Mac
  18. Matching and Bridging NSErrors in Swift
  19. NSNotificationCenter Thread Safety
  20. APFS Support Is Undone in 10.12.6
  21. Customizing the File Header Comment and Other Text Macros in Xcode 9
  22. Some Known Bugs in macOS 10.12.6
  23. Rclone
  24. When to Force Quit iOS Apps
  25. I Got Hacked and All I Got Was This New SIM Card
  26. Productivity Apps and Subscription Pricing
  27. APFS and Fast Catalog Search
  28. Swift 4: Key-Value Observation
  29. A Rift in the NTP World
  30. A Favorite Hack
  31. Transmit 5
  32. Apple’s Machine Learning Journal/Blog
  33. Designing Better Touch Bar Experiences
  34. Cracking the Code Behind Apple’s App Store Promo Card Design
  35. Strongly Typed Identifiers in Swift
  36. Refactoring Reveals Truths
  37. Your Favorite Mac Word Processors
  38. How Paywalled Sites Permit Access to Visitors From Social Media Sites and Apps
  39. Bait and Switch: How Apple Created Nintendo’s Best Console
  40. OmniGraffle 3 for iOS
  41. The Problem With Abandoned Apps
  42. SoundCloud Lays Off 40% of Staff
  43. Does My Site Need HTTPS?
  44. A Simple Reminder Workflow
  45. iOS Needs Automation More
  46. The Lightroom Manifesto: Adobe Has Lost Its Way
  47. Fixing iCloud Keychains, and Backing Them Up
  48. 1Password Standalone Vaults and PasswordWallet
  49. Swift.Codable
  50. Publishers and the Pursuit of the Past
  51. Daring Fireball Display Ads
  52. Fantastical 2.4 for Mac
  53. Using Workflow as a Site-Specific Browser
  54. Dropbox Discontinues Photo Albums
  55. Pondering the Conversion From HFS+ to APFS
  56. Declining iTunes Video Share
  57. O’Reilly Closes Its Online Store
  58. Mike Slade on Apple, NeXT, Microsoft, and Starwave History
  59. Compositor: WYSIWYG LaTeX for Mac
  60. Google Tries Swiftify Converter
  61. Steve Jobs and the Missing “Intel Inside” Sticker

June 2017

  1. Web Form Data Sent Before You Click “Submit”
  2. Chris Lattner on the Realm WWDC 2017 Swift Panel
  3. Writing a Really, Really Fast JSON Parser
  4. Swift 4: JSON With Encoder and Encodable
  5. My 2017 iMac
  6. Banning Force Unwrapping Swift Optionals
  7. Type-Safe HTML in Swift
  8. A Day Without JavaScript
  9. Tony Fadell on Apple’s Pre-iPhone Devices
  10. MarsEdit 4 Public Beta
  11. iOS 11 Control Center
  12. Delta Updates and App Thinning Do Not Solve the Apps-Are-Too-Damn-Big Problem
  13. iPad File Transfer Frustrations
  14. The MacBook Adorable
  15. Little Snitch 4 Public Beta
  16. Bug in Skylake and Kaby Lake Hyper-threading
  17. APFS Native Normalization
  18. Google Will Stop Reading Your E-mails for Gmail Ads
  19. Refactoring a Massive View Controller
  20. Modern Python Dictionaries
  21. JavaScriptCore Loves ES6
  22. Swift’s MemoryLayout: size and stride
  23. Is the Keyboard Faster Than the Mouse?
  24. The Tragedy of FireWire
  25. Tooth Fairy
  26. H.265/HEVC and HEIF
  27. Resetting the volinfo.database
  28. Acorn 6 Public Beta
  29. Scott Forstall Discusses the iPhone’s Creation
  30. App Store Editorial Comes Out of the Shadows
  31. Inside Apple’s Global War on Leakers
  32. Why Reach Navigation Should Replace the Navbar
  33. Porting Objective-C to Swift
  34. Amazon Buys Whole Foods
  35. The Surprising Awesomeness of Grouped Dictionaries
  36. The 2017 iMacs
  37. Kuery
  38. FileMaker 16’s Invisible Brilliance
  39. Apple Is Trying to Make iMessages More Private
  40. Even Swiftier Objective-C
  41. A Eulogy for CAPTCHA
  42. Charles Thacker, RIP
  43. The History of BlitzMail
  44. Podcasts, Analytics, and Centralization
  45. Swift Text Output Streams
  46. ProMotion and the 2017 iPad Pros
  47. Tracking Work
  48. Executable Code in Educational Apps
  49. AppleCare+ Comes to the Mac
  50. Safari’s Intelligent Tracking Prevention
  51. Amazon Cloud Drive No Longer Unlimited
  52. Backchannel Is Moving to Wired
  53. In-App Purchase Scams in the App Store
  54. WWDC 2017 Links
  55. What Really Happened With Vista
  56. Swift’s Evolution
  57. How Anker Is Beating Apple and Samsung at Their Own Accessory Game
  58. Hacker, Hack Thyself
  59. The Art of Writing One-Sentence Product Descriptions
  60. Preparing for WWDC 2017
  61. Outsourcing Your Online Presence to Facebook
  62. Pinboard Acquires Delicious
  63. A Year of Teaching Swift
  64. Why Do So Few People Major in Computer Science?
  65. Where Is E-book Interoperability?
  66. Evergreen Mac Feed Reader
  67. Adobe Scan
  68. The Largest Git Repo on the Planet
  69. Basic Attention Token
  70. The Subscription Paradox

May 2017

  1. Intel to Integrate Thunderbolt 3, Eliminate Royalties
  2. Dangers of Google AMP
  3. HTTPS on Stack Overflow
  4. Keyboard Maestro Beats System Preferences
  5. A Year of Google Maps & Apple Maps
  6. iPhone SE Tops Customer Satisfaction Survey
  7. PSPDFKit for macOS
  8. 1Password Travel Mode
  9. Dash for iOS Returns to the App Store
  10. Resolving Modern Mac Alias Files
  11. iOS 11 iPad Wishes and Concept Video
  12. Xcode Autocomplete Frustrations
  13. Getting Info From iTunes
  14. Twitter Abandons “Do Not Track” Privacy Protection
  15. Retina Monitors
  16. Apple Wants 30% of Tips From Chinese Chat Apps
  17. Android Adds Official Kotlin Support
  18. JSON Feed
  19. TidBITS News Shows How an Old 32-bit iOS App Becomes 64-bit
  20. FastMail “Lifetime” Member Plans
  21. Moom vs. the Rectangular Grid Patent
  22. No More iPad mini Updates Planned
  23. “MP3 Is Dead” Missed the Real, Much Better Story
  24. Apple’s New Campus
  25. CMD-D | Masters of Automation Conference
  26. All About Concurrency in Swift
  27. A Tale of Three Git Filter Branches
  28. Searching for Swift Objects by Type
  29. Everything Is Broken
  30. Instagram Now Supports Photo Uploads From Mobile Site
  31. Amazon Prime Video Coming to Apple TV
  32. Secret Audio and Key Recording
  33. Better GitHub Searching
  34. How to Shoot on iPhone 7
  35. Amazon Lowers Free Shipping Threshold to $25
  36. WhatsApp Extends Encryption to iCloud Backups
  37. Apple Music Redesign
  38. Amazon Echo Show
  39. 30 Years of PopChar
  40. Sierra Bluetooth Problems Due to GCD?
  41. After 19 Years, CMU Switches From Cyrus IMAP to Exchange/Gmail
  42. Apple Updates Workflow
  43. foreach Using Objective-C Generics
  44. HandBrake Proton Trojan
  45. Apple’s China Problem: WeChat
  46. Roost and Nexstand Laptop Stands
  47. Phil Schiller on App Store Upgrade Pricing
  48. Hollywood Archivists Can’t Outpace Obsolescence
  49. Software Pricing Damage
  50. Exception-oriented Exploitation on iOS
  51. App Store Sources and App Referrer Data
  52. Essential Tech Companies
  53. Apple Services
  54. JavaScript-Free Discourse
  55. Microsoft Surface Laptop
  56. The Dangers of Using Nonatomic Properties
  57. Hiding Mac Menu Bar Icons
  58. Major Apps Abandoning Apple Watch
  59. Challenges Implementing an iOS Share Extension
  60. Close Encounters of The Java Memory Model Kind
  61. Life Without Interface Builder

April 2017

  1. Concurrency Is Not Parallelism
  2. 8 TB Hard Drives Now Highly Attractive
  3. Messages Not Brought Back to the Mac
  4. Twitterrific Update Rejected for Alternative User-Selectable Icons
  5. One-off Text Filtering in BBEdit
  6. Using Swift Protocol Composition for Dependency Injection
  7. Tail Call Elimination
  8. Swift With a Hundred Engineers
  9. The Internet Archive and Robots.txt
  10. Google Rewrites Search Rankings to Bury Fake News
  11. PhotoScan: Taking Glare-Free Pictures of Pictures
  12. Controlling File Permissions in Shared Folders
  13. How Apple Won Silicon
  14. Apple Cuts App and IAP Affiliate Commissions
  15. Uber Used Private API to Access iPhone Serial Number
  16. Swift Source Compatibility Test Suite
  17. Reverse Engineering APFS
  18. LivePhotosKit JavaScript API
  19. Facebook Instant Articles and Apple News
  20. Bose Headphones Spy on Listeners
  21. Naming Swift Extensions
  22. How Google Eats a Business Whole
  23. Rumors of the 2017 iMac and iMac Pro
  24. Google Maps Gains New Timeline Feature
  25. AirPods Shipping Delay
  26. In Praise of Flickr
  27. Syntactic Diabetes
  28. The Great iPhone Naming Opportunity of 2017
  29. Avoiding Objective-C Class Name Collisions
  30. Charge Your iPhone Without the Chime or Buzz
  31. Flume Leaves the Mac App Store
  32. Classic Mac Emulation in the Browser
  33. Swift ABI Stability Dashboard
  34. Robbing a Bank by DNS
  35. Ad-Blocker Using Computer Vision
  36. Switching to an iPhone SE
  37. Theft and Loss Recovery for iOS Users
  38. macOS 10.12.4 Locks Console Log Away From Normal Users
  39. Using Named iOS Font Styles With Custom Fonts
  40. Sip Leaves the Mac App Store
  41. Debugging Swift Code in an Embedded Framework
  42. Apple Icons and Hardware Avoid Tangency
  43. Automatic Memory Leak Detection on iOS
  44. Analysis of the Facebook iOS App Bundle
  45. Verizon to Drop E-mail Service
  46. Google’s Search Quality Crisis
  47. What I Want in the New Mac Pro
  48. Lightroom 6.10
  49. Twitter Allegedly Deleting Negative Tweets Criticizing United Airlines
  50. The Walt Mossberg Brand
  51. curl Is C
  52. Use macOS VMs in VMware Fusion in Retina Mode
  53. TextExpander by Subscription One Year Later
  54. Clips 1.0
  55. Putting Core Data on the Map
  56. OmniOutliner 5
  57. Excluding Files From Spotlight and Time Machine
  58. Thoughts on Swift Access Control
  59. Stop the weak-strong Swift Dance
  60. The 2016 Panic Report
  61. Frontier Diary #1
  62. Apple to Phase Out Usage of Imagination Technologies GPU
  63. Twitter Only Mutes 100 Keywords
  64. The Mac Pro Lives
  65. Logs Unite: Forensic Analysis of Apple Unified Logs
  66. Beware Default QoS
  67. The iPad Turnaround Is Coming
  68. Apple TV Penetration Hits 5%
  69. Jason Seifer, RIP

March 2017

  1. APFS to Add Case-Insensitive Variant for Mac
  2. Some Swift Types Are More Equatable Than Others
  3. Photo Editing as One with Luminar
  4. Twitter Lengthens Replies, Drops Eggs
  5. Flickr Reaction GIFs
  6. The Deck Shuts Down
  7. New Web Features in Safari 10.1
  8. Dropbox Secures $600M Credit Line
  9. RSS on the Desktop, 15 Years Later
  10. For Sale: Your Private Browsing History
  11. The Facebook Model of Innovation
  12. Custom Fonts on iOS
  13. Coding Today vs. the 80s
  14. Review of the Apple TV 2, 7 Years Later
  15. Replying to App Store Reviews
  16. Pages 6.1 Adds Basic LaTeX Support
  17. Swift 3.1
  18. How to Reinstall macOS
  19. macOS 10.12.4 Adds Night Shift
  20. APFS’s “Bag of Bytes” Filenames
  21. Apple Acquires Workflow
  22. Kindle iOS App Adds “Send to Kindle” Feature
  23. Sellers Printing Counterfeit Books and Selling Under Amazon’s Brand
  24. XCTest Closure Based Expectations
  25. Seriously, Google, Can You Just Make Exact Match Exact?
  26. Why Large Companies Acquire Small Companies
  27. Parallels Desktop Lite
  28. Apple’s Next Big Thing: Augmented Reality
  29. HyperCardPreview
  30. Building a Hackintosh Pro
  31. Complexity and Strategy in Microsoft Office
  32. Rotate to Pixel Zoom
  33. Google Home Now Testing Audio Ads
  34. Netflix to Replace Star Ratings With Thumbs Up/Down
  35. Making an External Display a Monitor, Not a TV
  36. System Level Breakpoints in Swift
  37. Foundation Swift Archival & Serialization Proposal
  38. Dell Precision 5520
  39. Swift Compiler Not Optimized for Lots of Cores
  40. Guetzli: A New Open Source JPEG Encoder
  41. The Curious State of Apple Product Pricing
  42. That One Optional Property
  43. Allo Can Reveal What You’ve Searched For
  44. Looking at Model-View-Controller in Cocoa
  45. The Story of Firefox OS
  46. Rxnot
  47. How to Set Up and Use Airline Boarding Passes in Wallet
  48. Eject from Interface Builder
  49. Dropbox Drops Public Folders
  50. Stop Auto-Play Web Videos
  51. Sketch’s Open File Format
  52. What Twitter Means to Me
  53. Sierra Logging Spew
  54. A Look Inside Backblaze
  55. Encrypted Media Extensions (EME)
  56. Facebook Bots Relearn Early PC Lessons
  57. Making Swift Enums and Structs Equatable
  58. Rust’s Language Ergonomics Initiative
  59. St. Clair Software Leaves the Mac App Store
  60. Time Out 2’s Supporter Business Model
  61. Playing Jenga With Swift’s Type Checker
  62. Half the AirPods for a Tenth the Price
  63. Editing App Store Descriptions Now Requires a New Version
  64. Twitter for iOS Gains New Option for Clearing Cache
  65. Mozilla Acquires Pocket
  66. How to Crash Safari by Typing Simple Words
  67. FSMonitor 1.0.2
  68. Apple Rejecting Apps That Use Rollout
  69. Living and Dying on His Own Terms
  70. WWDC Scholarships Now Include Lodging
  71. Sierra Bluetooth Problems and the Logitech K811 Keyboard
  72. Google’s Algorithm Is Lying to You About Onions and Blaming Me for It
  73. Nest Cam Waking in the Night
  74. Sierra Stuck Mouse Cursor Graphic Bug
  75. Lightroom 6.9
  76. The Genius Bar Idea
  77. Apple Losing Education Share
  78. Lightning or USB-C on the New iPhones?
  79. Amazon S3 Outage

February 2017

  1. Cloudbleed: Cloudflare’s HTTPS Traffic Leak
  2. iOS 10.2.1 Update Reduces Unexpected Shutdowns
  3. Let Your Swift XCTest Methods Throw
  4. Adventures in Siri Failures: Reminders Edition
  5. SHA-1 Collision
  6. Migrating Firefox for iOS to Swift 3.0
  7. MagicGrips for Magic Mouse
  8. Opening the User Library Folder
  9. Video Pros Moving From Mac to Windows for High-End GPUs
  10. Overcast 3
  11. Google Site Search Discontinued
  12. OmniOutliner Essentials
  13. Thunderbolt 3 and USB-C Infographic
  14. Provide Custom Collections for Dictionary Keys and Values
  15. Dash 4
  16. Ruby’s reject!
  17. The State of iBooks in Early 2017
  18. Swift Ownership Manifesto
  19. Dart-C USB-C Laptop Charger
  20. Fixing (and Explaining) PDFpen 8.3.1’s Crash on Launch
  21. Deferring ABI Stability From Swift 4
  22. Being a Mutable Collection is not Sufficient to be a MutableCollection
  23. Apple Fighting New “Right to Repair” Legislation
  24. Great Alternatives to Hamburger Menus
  25. Kindle Direct Paperbacks
  26. What Happened With the Apple TV 4
  27. Grand Central Dispatch’s Achilles Heel
  28. Reverse Engineering Stickies.app
  29. Switch 2FA From SMS to an App
  30. Usher Will Be Stepping Aside
  31. Swift and Objective-C Forever?
  32. On the Uselessness of Search in macOS Mail
  33. Twitterrific for Mac Kickstarter
  34. Instapaper Outage Cause & Recovery
  35. Planet of the Apps
  36. Swift 3 Keywords Reference
  37. Software Engineering at Google
  38. Optimizations in Syntax Highlighting
  39. How to Stop Seeing Your Amazon Searches Everywhere
  40. Virtual Apple II
  41. Testing Out Snapshots in APFS
  42. mkfile(8) Is Severely Syscall Limited
  43. The Slow Decline of iPad Sales
  44. Protecting Your Data at a Border Crossing
  45. Piezo’s Life Outside the Mac App Store
  46. Most of the Web Really Sucks If You Have a Slow Connection
  47. Getting to Swift 3 at Airbnb
  48. Action Log Test Double
  49. Vizio Tracking TV Viewing
  50. Ultra Accessory Connector
  51. I Wish Apple Loved Books
  52. Swift and React Native at Artsy
  53. Toward a Galvanizing Definition of Technical Debt
  54. ReadKit 2.5
  55. How to Verify Time Machine Backups
  56. GVFS (Git Virtual File System)
  57. Control-T to Show “cp” Status
  58. Building a LISP From Scratch With Swift
  59. The Secret Trackpad on the iPhone
  60. Lawsuit Claims Apple Intentionally Broke FaceTime on iOS 6
  61. In Praise of OmniDiskSweeper
  62. XPoCe: XPC Snooping Utilities
  63. ARM Mac Notebook Rumors
  64. Xcode 8.3: Waiting in XCTest
  65. Finder and Terminal Are Friends
  66. Things Every Hacker Once Knew
  67. Emoji Logos
  68. Swift Classes That Conform to Protocols
  69. Automatically Test Your Database Backups
  70. iOS to Drop Support for 32-bit Apps
  71. Apple’s Q1 2017 Results

January 2017

  1. Fun With Swift String Interpolation
  2. It Just Works
  3. Mac App Store Top Charts for 70 Cents
  4. LG 5K Display and Wi-Fi Interference
  5. Activation Lock Status Checker Removed
  6. Riptide: WebKit’s Retreating Wavefront Concurrent Garbage Collector
  7. Facebook Accepts Slightly Mis-typed Passwords
  8. Take Control of Your Digital Legacy
  9. Processing the Selected Text via Script
  10. How Much Has That Mac Been Used?
  11. Macs Lose Marketshare
  12. Funding the Web
  13. Swift Weak References and Type Erasure
  14. Injection II, the App
  15. Rusty’s Next “Mac mini”
  16. Flickr’s Year Without Buying Storage
  17. Swift 4 String Manifesto
  18. Designing for iPad Power Users
  19. Interface Builder: View Is Clipping Its Content
  20. Omni’s 2017 Plans
  21. Swift ABI Stability Manifesto
  22. Habits and Productivity
  23. Twitter Sells Fabric to Google
  24. Apple Sues Qualcomm
  25. Requiem for the Thunderbolt Display
  26. App Store Review Replies and Prompting API
  27. Setapp Goes Live
  28. Optionals and Hackintoshes
  29. Every Upcoming Chromebook Will Run Android Apps
  30. United Airlines Flights Grounded by Computer Outage
  31. The State of Apple
  32. Chris Lattner ATP Interview
  33. The Problem With AMP
  34. Underpass 1.0 for Mac
  35. Swift 3 Protocols
  36. Safari Can’t Play New 4K YouTube Videos
  37. PodSearch
  38. App.net Is Shutting Down
  39. 100 Days Without the App Store
  40. Apple Is Becoming HBO
  41. Six Colors’ 2016 Apple Report Card
  42. Static Typing vs. Testing
  43. The Inside Story of BitTorrent Inc’s Collapse
  44. Bringing Wide Color to Instagram
  45. Tony Fadell’s Stories About the First iPhone
  46. App Extensions Are Not a Replacement for User Automation
  47. How Adobe Flash Fell, and Why Flash Content Is Worth Preserving
  48. Amazon’s 1-Click Checkout Patent Expires in 2017
  49. AirPods vs. the Competition
  50. Explanation for Consumer Reports’ Battery Results
  51. Chris Lattner Is Leaving Apple
  52. Tell Us Your Mac Automation Stories
  53. Voice-Based Personal Assistants
  54. Atlassian Acquires Trello
  55. LG Ultrafine 5K Reviews
  56. Apple Removes LinkedIn App From Russian App Store
  57. OPML File Type on Macs
  58. Unsafe Swift: Using Pointers and Interacting With C
  59. Bitter iCloud Truth
  60. Chuq’s Advice for Apple
  61. The State of Safari Extensions
  62. OmniFocus 2.8 for Mac
  63. Stringify Automation Service
  64. Renewing Medium’s Focus
  65. Apple Removes New York Times Apps From Chinese App Store
  66. Intel Core i7-7700K Kaby Lake Review
  67. Razer’s “Project Valerie” Triple Display Laptop
  68. Hiya: Filter Spam Calls
  69. The Leap Second
  70. Getting a New 2013 Mac Pro in 2017
  71. OWC DEC MacBook Pro Dock
  72. Apple’s 2016 in Review
  73. Finding an Alternative to Mac OS X
  74. Anil Dash’s Advice for Twitter
  75. Condensed History of VisiCalc
  76. “Hidden Figures” and NASA’s Human Computers

← 2016 2018 →