The Curious Engineer

Michael Tsai

2016

832 posts

← 2015 2017 →

2016 832

December 2016

  1. Amazon Echo Privacy
  2. MacBook Pro Ethernet Adapter Benchmark
  3. Christmas Card Mail Merge
  4. Amazon Could Be More International
  5. PHPMailer Security Bug
  6. Goodbye Mint, Goodbye Fever
  7. Mac and iOS Trajectories
  8. Investigating ChronoSync 4.7 for Cloud Backup
  9. Consumer Reports on the New MacBook Pro’s Battery Life
  10. App Transport Security Requirement Delayed
  11. Fixing AVPlayer Playback Transparency
  12. CwlSignal and Reactive Programming
  13. What Y2K Was Like at Microsoft
  14. My AirPods Experience
  15. PyPy’s Hash Table Implementation
  16. More macOS Preview PDF Trouble
  17. Farewell to the Apple Watch
  18. How Apple Alienated Mac Loyalists
  19. DTrace at Home
  20. Stroustrup’s Rule and Layering Over Time
  21. LG 5K UltraFine Display Delayed
  22. User Automation Blog
  23. Swift: Challenges and Opportunity for Language and Compiler Research
  24. macOS 10.12.2: SSH Starts Asking for id_rsa Passphrase
  25. Golang’s Real-Time GC in Theory and Practice
  26. NSRegularExpression and Swift
  27. Hiding Your Action and Share Extensions In Your Own Apps
  28. “Untranslocating” an App
  29. GitHub’s Business
  30. Replacing Auto Layout With LayoutKit
  31. Touch Bar Crash Protection
  32. Another Git Catastrophe Cleaned Up
  33. macOS 10.12.2 Impedes Safari Bookmarklets
  34. eBay Is for Suckers
  35. The Businesses Apple Has Left Behind
  36. Evernote Privacy Policy
  37. The Discrete GPU and You
  38. Uber Whistleblower on Location Privacy
  39. macOS 10.12.2 Removes Battery Time Remaining Estimate
  40. The Opportunity of Swift on the Server
  41. Sourcery: Template-Based Code Generation for Swift
  42. Mac Users Switching to Surface
  43. Which Macs Are People Using?
  44. Accidentally Quadratic Rust Hash Tables
  45. How to Unit Test Private Methods in Swift
  46. iOS App Rejected for Using Pre-selected RSS Feeds
  47. Super Mario Run
  48. How to Do XCTestCase tearDown Wrong (and Right)
  49. Method Dispatch in Swift
  50. Making Sense of Color Management
  51. The Slowness of Archive Utility
  52. Swift Optionals and String Interpolation
  53. Transferring Photos to a New Mac
  54. Finder Keyboard Shortcut to Show Invisible Files
  55. Why Does calloc Exist?
  56. Apple’s Support Gap
  57. How to Disable Magic Mouse Scrolling
  58. Distributed Visa CVC Guessing
  59. Anil Dash Is the New CEO of Fog Creek Software
  60. Guarding Against Long Swift Compiles
  61. The Operating System Fountain of Youth
  62. Exploring Swift Memory Layout
  63. Backing Up the Internet Archive
  64. The RawRepresentable Protocol in Swift
  65. File Reference URLs Don’t Work in Swift 3
  66. Status Board Discontinued
  67. Amazon Fire TV Stick 2
  68. The Limitations of Android N Encryption
  69. Apple’s New OS “Activation” for Touch Bar MacBook Pros
  70. Spark Mail Stores Credentials in Cloud
  71. The Mac App Store Is Full of Scams
  72. A History of Hard Drives

November 2016

  1. Mulle-objc: a New Objective-C Compiler and Runtime
  2. Choosing iOS Default Apps
  3. iCloud Calendar Spam
  4. Reddit’s CEO Edited User Comments
  5. Understanding Apple’s Marginalization of the Mac
  6. Apple Abandons Development of Wireless Routers
  7. Constexpr-8cc: Compile-time C Compiler
  8. The Monkey and the Apple
  9. “Designed by Apple in California” Video
  10. Sending a Text Message Instead of an iMessage
  11. Apple Storing iPhone Call History
  12. 13" vs. 15" MacBook Pro
  13. Full Screen Is a Preference
  14. The .blog Bait and Switch
  15. Mixing Swift Initializers
  16. Facebook’s Metrics Found to Be Exaggerated
  17. Google PhotoScan
  18. Apple to Halve App Store Fees for Subscription Video Apps
  19. Thank You, Sal
  20. About Touch ID Security in 1Password for Mac
  21. Testing Actions Over Time
  22. Incremental Swift
  23. Swift Copy-on-Write PSA: Mutating Dictionary Entries
  24. Workflow Update Brings Ability to Interact With Any Web API
  25. Swift’s dump()
  26. Microsoft Visual Studio Coming to the Mac
  27. Touché 1.0
  28. launchctl asuser
  29. iOS Forensics Trace Leakage
  30. Uber’s JSON Compression
  31. Reversing Apple’s syslogd Bug
  32. Reveal 2
  33. Replacing Dropbox With Resilio Sync
  34. How to Read the Swift Standard Library Source
  35. The Best Confirmation Button Ever
  36. Computational Photography and the Pixel
  37. Hardware Is Sexy, But It’s Software That Matters
  38. NSItemProvider’s NSSecureCoding Reflection
  39. What’s Wrong With Git? A Conceptual Design Analysis
  40. Miyamoto Spills Donkey Kong’s Darkest Secrets
  41. Replacing Dropbox With iCloud Drive
  42. Passing an Array of Strings From Swift to C
  43. How to Badge an App’s Icon in the Dock
  44. Windows File System Compression Had to Be Dumbed Down
  45. A Wish List for the Mac App Store
  46. The Importance and Potential of Twitter
  47. Objective-C id as Swift Any
  48. How Not to Crash
  49. Fake Retail Apps Are Surging Before Holidays
  50. Better Xcode Run Script Build Phases
  51. Underscore Uses in Swift
  52. In-app Purchases Are in Need of Reform
  53. Scriptarian
  54. Instapaper Premium Is Now Free
  55. Fakespot for Amazon and Yelp Reviews
  56. PaintCode 3 Leaves the Mac App Store
  57. Fantastical 2.3 for Mac
  58. Pornhub Bypasses Ad Blockers With WebSockets
  59. H.264 Is Magic

October 2016

  1. Whole-Module Optimization in Swift 3
  2. How Google Almost Killed ProtonMail
  3. Apple’s October TV Surprise
  4. HomeKit’s Stringent Security Requirements
  5. The Price of GPL
  6. Inadvertent GitHub Private Repository Disclosure
  7. Good Coding Taste
  8. iPhone 7 Plus Portrait Mode
  9. The Beautifully Annoying Siri Remote
  10. An Ode to the 11-inch MacBook Air
  11. Touch Bar
  12. New MacBook Pros and the State of the Mac
  13. Sierra Log Littering
  14. Parsing JSON Is a Minefield
  15. Google Drops Ban on Personally Identifiable Web Tracking
  16. iOS (and Mac) Development Podcasts
  17. Web Bloat Score Calculator
  18. Yoink’s Revenue a Month After Localizing
  19. Dropbox Discontinues HTML Rendering
  20. Disappointing Interaction Design
  21. Little Flocker
  22. Amazon Selling Fake Apple Chargers and Cables
  23. Still With the Mac, Unfashionably
  24. Discontinuing Support for Check the Weather
  25. Working Without a Nib
  26. Amazon Family Vault
  27. ShareLaTeX
  28. Undocumented Xcode Sanitizer Settings
  29. ScanSnap and Sierra Update
  30. Swifty Delegates
  31. Well Rounded
  32. Declarative API Design in Swift
  33. OpenType Variable Fonts
  34. Git Tower 2.5
  35. Drawing Hairlines
  36. Twitter Changes What Counts Toward 140-Character Limit
  37. Why Does Siri Seem So Dumb?
  38. favicon.ico Is a Privacy Leak
  39. Swift Type-Erased Protocol Property
  40. ripgrep
  41. BinUtils for Swift
  42. Yahoo’s FISA E-mail Scan
  43. What’s New in Safari 10
  44. Optional Non-Escaping Swift Closures
  45. We Need to Save the Internet From the Internet of Things
  46. A Mac OS 9 Odyssey
  47. Apple and Kapeli Respond About Dash
  48. os_unfair_lock
  49. Hopper 4 Announced
  50. Apple’s Lightning to Headphone Adapter
  51. Real World Swift Performance
  52. Touch ID Is Only More Convenient
  53. Reducing Swift Compile Time
  54. Experimenting With App Store Search Ads
  55. Advanced Swift, Second Edition
  56. Applets and App Transport Security
  57. Apple Removed Dash From the Mac App Store
  58. Swift 3.0 Unsafe World
  59. Caveat Formatter
  60. How to Save the Princess in 8 Programming Languages
  61. Google and the Limits of Strategy
  62. Self-Absorbed Release Notes
  63. A Declining Trajectory
  64. iPhone 6 Plus “Touch Disease”
  65. Option Sets in Swift
  66. Southtree Follow-up
  67. Dropbox’s Finder Toolbar
  68. Four Affordable Wireless Audio Solutions
  69. Window Tabbing Pox
  70. Automatic Download of macOS Sierra
  71. Disabling macOS Beta Updates

September 2016

  1. Mailtitude: Take Apple Mail to the Next Level
  2. Sandboxed Launch Services
  3. Omni’s IAP Trials and Upgrade Discounts
  4. The Story Behind Claquette
  5. Phoneys iMessage Sticker Pack
  6. Apple’s iMessage Metadata Logs
  7. The State of Apple Music and Streaming
  8. Realm Mobile Platform
  9. Xcode Memory Graph Debugger Tips
  10. What’s in a Swift Collection?
  11. Pro Music Perspective on Apple
  12. How Apple’s Hardline Privacy Policy Limits Key Features
  13. Google Reneges on Allo Privacy Feature
  14. Yahoo Says Hackers Stole Data on 500 Million Users in 2014
  15. Overcast Tries Ads
  16. AppleScript and Code Signing in Sierra
  17. Unfortunate App Store Rejections
  18. Sierra Drops HiDPI Scaling on External Displays
  19. DreamHost’s New Mail Filtering
  20. OmniFocus 2.7
  21. Mac Terminal Tips
  22. Rich Siegel Interview
  23. Successful iCloud Desktop and Documents Folder Storage
  24. Dropbox Modifies TCC.db to Give Itself Accessibility Access
  25. macOS 10.12 Sierra Notes
  26. iOS 10 Notes
  27. Swift 3 Notes
  28. AirPods
  29. iPhone 7 Notes
  30. Testing for macOS 10.12 Sierra
  31. iPhone 7
  32. Evolving App Store Business Models
  33. App Store Subscriptions Clarification
  34. Removing Abandoned Apps and Shorter App Names
  35. Swift 3’s “Never”
  36. iTunes 12.5 Removes Unreadable Custom Colors

August 2016

  1. SuperDuper 2.9
  2. Graphing Calculator for iOS
  3. VMware Fusion 8.5 Announced, Free
  4. The Myth of RAM
  5. Sort Descriptors in Swift
  6. Apple, Ireland, and the EU
  7. Error Handling Compared
  8. Tricking Facial Recognition With 3D Rendering
  9. mov Is Turing-complete
  10. What I Learned From 10 Years of Doing PR for Apple
  11. The Elegance of Deflate
  12. Five Years of Tim Cook’s Apple in Charts
  13. Keystroke Recognition Using Wi-Fi Signals
  14. Whatever Happened to the Hurd?
  15. Foundation Hashing
  16. Dropbox Document Scanning Tech
  17. .NET/C# Generics History
  18. Apple’s Machine Learning
  19. Pinterest Acquires Instapaper
  20. Steve Jobs on Graphics Performance
  21. Apple Drops “Store”
  22. 10 Styles of App Store Screenshots
  23. Vesper Shutting Down
  24. Swift App Size Bundles
  25. Chip Card Nightmares
  26. Google to Automatically Link to AMP Results
  27. Taking CarPlay for a Spin
  28. The System 7.5 Watch
  29. Mac App Store Developer Survey
  30. Browsing Your Website Does Not Mean I Want Your Spam
  31. YouTube’s Road to HTTPS
  32. How to Tell If Your App Is Handling Colors Correctly
  33. Siri Command Reference
  34. OmniFocus Now Supports End-to-End Encryption
  35. Castro 2
  36. AT&T’s New Cell Plans Eliminate Data Overage Fees
  37. Managing Consistency of Immutable Models
  38. The Problem With Managed Apple IDs and iTunes U
  39. Xcode’s “Copy Qualified Symbol Name” Command
  40. Colorized Man Pages: Understood and Customized
  41. iTunes Connect Reporter
  42. Python’s attrs Library
  43. Amazon Locker
  44. Apple Security
  45. Why Don’t Podcasts Use VBR MP3s?
  46. Microsoft Leaks Its Golden Key
  47. 1Password Cloud Services Incompatible With VPNs
  48. Why Night Shift May Seem a Little Half-hearted
  49. Why the Airline Industry Could Keep Suffering System Failures
  50. Preferred E-mail Addresses in Apple Mail
  51. Xcode Modifying .xib Files on Open
  52. Xcode, Frameworks, and Embedded Frameworks
  53. Caution Flags for Tech in Classrooms
  54. Learning From Apple’s Failures
  55. iPad Unfinished Business
  56. Apple Said to Plan First Pro Laptop Overhaul in Four Years
  57. Modern Versions of Word Can’t Open Old File Formats
  58. Seymour Papert, RIP
  59. Twitter Verification
  60. Emoji in iOS 10 and Sierra
  61. Kagi, RIP

July 2016

  1. Looking Back on Swift 3 and Ahead to Swift 4
  2. Developer Tools Survey
  3. Python Internals: PyObject
  4. Don’t Trust Sourceforge Downloads
  5. SwiftKey Keyboard Leaked User Information to Strangers
  6. Apple User Interface Trends
  7. End of Source-breaking Changes for Swift 3
  8. Witch, Spaces, and Private API
  9. GRDB Swift SQLite ORM
  10. LastPass URL Parsing Bug
  11. Adobe Direct Download Links
  12. EFF DMCA Lawsuit
  13. Removing Bit Flags in Swift Option Sets
  14. Verizon Acquires Yahoo
  15. Eleventh Hour Swift 3 Reviews
  16. The Novelty of the App
  17. Swift Type Aliases
  18. Microsoft’s Sweet Skype Solution
  19. Disable Find My Mac by Resetting NVRAM
  20. Swift Closure Capture Semantics
  21. Reversing the WWDC Wall
  22. 2016 MacBook – Two Months Later
  23. Bridging Existentials & Generics in Swift 2
  24. Exploring the App Store’s Top Grossing Chart
  25. Remote Code Execution With Image Files
  26. Xcode 8 Illegal Hard Links Prevent Cloning
  27. Pixellating or Blurring Text Creates Identifiable Patterns
  28. What Exactly Is “Compressed Memory”?
  29. Sandboxing Wisdom
  30. “This Regular Expression Has Been Replaced With a Substring Function”
  31. AppleScriptObjC in Script Debugger 6
  32. SQLITE_ENABLE_SQLLOG
  33. MacKeeper Threatens YouTube Video Maker
  34. Apple Music Learns From iTunes Match
  35. The Strange Case of the System Preferences Window Width
  36. Medium URL Fragment Tracking
  37. Exponential Time Complexity in the Swift Type Checker
  38. The Secret Life of Types in Swift
  39. Swift Classes to Be Non Publicly Subclassable by Default
  40. Lepton Image Compression
  41. Improving Color on the Web
  42. Running System 1 on El Capitan
  43. The Windows Shutdown Crapfest
  44. Facebook’s Mobile Device Testing Lab
  45. Legal Decisions
  46. MathML Improvements in WebKit
  47. Pinboard Turns Seven
  48. Mailbox Names via IMAP
  49. Apple Faces Patent Lawsuit Over iPhone’s Battery Technologies
  50. Swift Playgrounds Aren’t HyperCard
  51. Amazon’s Chinese Counterfeit Problem Is Getting Worse
  52. The Pokémon Go Phenomenon
  53. Apple and the Blind
  54. The History of “This Web Site Is Well-crafted” Hints
  55. Praise for the Fujitsu ScanSnap
  56. Continuous: C# and F# IDE for iPad
  57. Switching to Apple’s Two-Factor Authentication
  58. Mozilla-Yahoo Contract Clause
  59. Slower by Design
  60. Protecting Your Network From Photos Uploads
  61. When “No Longer Available” Strikes in iCloud Music Library
  62. Android Flash Keyboard Hijacks Lock Screen, Violates Privacy
  63. Concurrent Core Data, Now Easier Than Ever
  64. BBEdit 11.6
  65. Jefferson’s Pull Request
  66. Building My $1,200 Hackintosh
  67. Eye-Fi Demonstrates the Danger of Cloud-Dependent Hardware
  68. Android’s Full-disk Encryption Just Got Much Weaker
  69. How AWS Came to Be
  70. Dash 3.3
  71. How Oracle’s Business As Usual Is Threatening to Kill Java
  72. Interviews: Kare, Bezos, Musk, Felleisen, Gruber
  73. Xcode Clobbered by socketfilterfw at Launch
  74. Spotify Update Rejected From the App Store
  75. Why Swift Ditched Tuple-to-Tuple Function Modeling
  76. Objective-C Class Properties
  77. Rest in Motion

June 2016

  1. “I’d Like You to Police Each Other”
  2. Why Google Stores Billions of Lines of Code in a Single Repository
  3. Seeing Apple Through Color Blind Eyes
  4. Summer Travel Tech Hacks
  5. Safari 10 Brings Native App Extensions
  6. Input Masks: Violating User Expectations
  7. A Year of Windows Kernel Font Fuzzing
  8. Vintage Macworld Magazine Library
  9. Behind Apple’s Advanced Computer Vision for Photos.app
  10. Scrivener Syncing
  11. Open Source TaskPaper Model Layer
  12. Removing the iPhone’s Headphone Jack
  13. Thoughts on the New Official Apple App Icon Template
  14. AppleScript “Standard Libraries” Project
  15. Homescreen Sharing App Rejected From App Store
  16. App Store and iTunes Store Outage
  17. UserNotifications.framework
  18. Feet in Both Worlds: From Objective-C to Swift
  19. The Dissertation Behind rsync
  20. Modern Core Data With Swift
  21. Restructuring Swift Condition Clauses
  22. Swift Protocols Constrained to a Specific Class
  23. What is Differential Privacy?
  24. Xcode 8 Tips and Issues
  25. Script Debugger 6
  26. Alan Kay AMA
  27. Increased Safety in Swift 3
  28. iOS 10’s Design Language
  29. Next Steps for Legacy Safari Plug-ins
  30. End of the Road for MacNN
  31. Disabling Xcode 8 Font Smoothing
  32. The Deprecation of iCloud Core Data
  33. Apple File System (APFS)
  34. Git 2.9’s diff.compactionHeuristic
  35. Cornerstone 3 Is Sandboxed
  36. New Features Coming to Apple Music
  37. Early App Store Search Ads Fail
  38. CloudKit and Map Kit for Gatekeeper Apps
  39. Gatekeeper Path Randomization
  40. SiriKit
  41. Microsoft Buys LinkedIn
  42. WWDC 2016 Links
  43. Facebook Threatens to Delete Photos If Users Don’t Download Moments App
  44. Twitter Account Hacked via SIM Reset
  45. Pre-WWDC App Store Changes
  46. Eliminating iTunes Store Music Downloads
  47. New Sketch 4.0 Licensing Model
  48. Pre-WWDC Thoughts
  49. Swift Configuration and “then”
  50. Swift Mistakes
  51. Cartography Comparison: Google Maps & Apple Maps
  52. E.W. Scripps Buys Podcast Company Stitcher
  53. Mutexes and Closure Capture in Swift
  54. GCD’s Main Queue vs. Main Thread
  55. Avoiding the Overuse of @objc in Swift
  56. Converting Old Videotapes
  57. Twitterrific Adds Patronage
  58. Fixing App Store Discovery
  59. A2: Analog Malicious Hardware
  60. Sandbox Workaround for Blizzard Apps
  61. The Secret History of Mac Gaming
  62. Yahoo Disclosures National Security Letters
  63. Microsoft’s Upgrade Deceptions Are Undermining Windows 10
  64. Server Side Swift vs. The Other Guys
  65. Every Default OS X Desktop Picture
  66. Swift Type Erasure

May 2016

  1. 1PasswordAnywhere No Longer Works With Dropbox
  2. Mocking Dependencies With Generics
  3. Seven Hundred Million
  4. Swifty Objective-C
  5. Making Paw Extensible With JavaScript Core
  6. Opening Files and Never Closing Them
  7. iTunes 12.4 Applies Song Ratings to Albums and Destroys Smart Playlists
  8. Google : 2010s :: Microsoft : 1990s
  9. .NET Core is Boiling the Ocean
  10. The Mac Admin Library
  11. FaceTime, iMessage Hang in the Balance After Apple Loss to Patent Troll
  12. Dropbox’s Upcoming Kernel Extension
  13. Building on Auto Layout
  14. When to Move to Swift
  15. MVC-N: Isolating Network Calls From View Controllers
  16. Recursive Tail Calls and Trampolines in Swift
  17. Swift Tuples Aren’t Equatable
  18. Apple Offers to Replace iPads With MacBooks in Maine Classrooms
  19. Monument Valley: iOS 42% of Downloads But 73% of Revenue
  20. 94% of App Store Revenue Comes From the Top 1%
  21. C Compilers Break for Objects Larger Than PTRDIFF_MAX Bytes
  22. Continuous iOS Code Coverage With Jenkins and Slather
  23. Dynamic Swift
  24. Swift Assertions
  25. Testing IBOutlets and IBActions With Curried Functions in Swift
  26. Code Coverage From the Command Line With Clang
  27. Separate, Support, Serve
  28. Google Assistant
  29. New Touch ID Rules
  30. How Typography Can Save Your Life
  31. ABI Stability Deferred Until After Swift 3.0
  32. Twitter to Stop Counting Photos and Links in 140-Character Limit
  33. iTunes 12.4
  34. Larry and Steve’s Plans to Save Apple
  35. Restoring Google Chrome Tabs
  36. Spotting Fake Amazon Reviews
  37. Texting Siri
  38. Announcing SyntaxNet
  39. Gboard
  40. Packing Bytes in Swift
  41. The Natural History of Palatino
  42. Apple Shortening App Review Times
  43. Proposed Client-side Encryption in OmniFocus
  44. Long List of Ways Mac OS X Starts Code Running
  45. Beware the UIKit Visitors
  46. Compile Time vs. Run Time Type Checking in Swift
  47. Now I Get It: Snapchat
  48. New Instagram Icon
  49. No More Logs for Missing NSAutoreleasePool
  50. Show TODOs and FIXMEs As Warnings in Xcode
  51. “Please Rate My App” Dialogs
  52. Some Static Analyzer Warnings Off by Default
  53. PSPDFKit Framework Size
  54. Tweetbot 4.3 Introduces “Topics” for Easier Tweetstorm Creation
  55. Dropbox API v2
  56. No More Mac Accelerometers
  57. Lost Calendar Events, Change Notifications, and iCloud
  58. Apple’s Actual Role in Podcasting
  59. Locking in WebKit
  60. Demangling Swift With Swift
  61. stringdups: Identify Duplicate Strings or Other Objects
  62. Updated CrashPlan for Home EULA
  63. A Tale of Two Optimizers
  64. On Flexible Systems
  65. You Could Almost Do Anything
  66. Claude Shannon Turns 1100100
  67. Apple Officially Discontinues WebObjects
  68. Improving Apple Music
  69. Apple Music Deletes Personal Music Files
  70. App Store Search Is Currently Broken
  71. Apple TV 4 After Six Months
  72. Survey of Developers Who Use Macs
  73. The GCD Handbook
  74. Twitter Is Back on My Phone
  75. The F-35’s Buggy Software
  76. Intel Splits on Atom
  77. Search Warrant to Force Unlocking iPhone With Touch ID
  78. Kuro5hin, RIP
  79. Broken Apple Man Page Links
  80. Photosmith Development Ends
  81. App Store Educational “Discount”

April 2016

  1. Apple’s Earnings and the iPhone Upgrade Cycle
  2. Speeding Up Slow Swift Build Times
  3. Bill Atkinson Interview
  4. Sorry, You Don’t Understand
  5. WebKit Prefixing Policy
  6. Amazon Kindle Unlimited Scammers
  7. Running UI Tests on iOS With Ludicrous Speed
  8. App Store Review Guidelines History
  9. Dropbox’s Project Infinite
  10. Modular Frameworks and Module Maps
  11. A Flop Unlike Any Other
  12. Lightroom $4K iMac vs. $4K PC Performance Test
  13. Antitrust and Aggregation
  14. Outsmarting the Smart Dash
  15. Towards Generic Ransomware Detection
  16. Short URLs Considered Harmful for Cloud Services
  17. BitTorrent Sync: for Privacy, Speed, and Control
  18. Swift Proposal: Mutability and Foundation Value Types
  19. How iMessage Distributes Security to Block “Phantom Devices”
  20. iPad Pro, True Tone, and Color Gamut
  21. Bots Won’t Replace Apps
  22. “It Just Works” Should Be the Next Step
  23. Core Data Type Safety With Swift
  24. Performance Comparisons of Common Operations, 2016 Edition
  25. Almost Nothing About the “Apple Harvests Gold From iPhones” Story Is True
  26. Swift Type-checking Performance Case Study
  27. GPUImage 2, Redesigned in Swift
  28. Developing for the Amazon Echo
  29. Our Software Must Get Better
  30. Two-Factor Authentication List
  31. “Use iCloud Password” Mac Login Option Removed
  32. What’s Wrong With Twitter
  33. Git Remote Code Execution Bug
  34. Arment’s Advice
  35. Computer History Museum Honors Dave Cutler
  36. Kindle Oasis
  37. Apple Stops Patching QuickTime for Windows Despite 2 Active Vulnerabilities
  38. Paid App Store Search
  39. Over 70% of App Store Purchases Are for Games
  40. The Trouble With 3D Touch
  41. Applying Styles to the Current, Unselected Word
  42. Comparing Reactive and Traditional
  43. My Brain, Apple, and the Transfer of Fragility
  44. Apple’s Neglected OS
  45. Automation and Taskpaper Interchange in OmniFocus 2.14
  46. Third-Party Reddit Apps Pulled From App Store
  47. Scrolling Tweetbot to the First Unread Tweet
  48. TextExpander Adjustments
  49. Semi-automated Podcast Transcription
  50. Lessons Learned From 30 Years of MINIX
  51. Jeff Bezos on Decision Making
  52. Mobile Time Machine Creates Root File With No Visible Name
  53. NSSplitView Trademark Dispute
  54. Fake Ads as a Business Model
  55. Burr-Feinstein
  56. Many Tricks Help Viewer
  57. iOS 9 Spotlight Bug Explained
  58. Why There Is No Calculator on the iPad
  59. WhatsApp Encryption
  60. Nest to Shut Down Revolv Home Automation Hubs
  61. Improving the Apple Watch Without New Hardware
  62. Swift Libraries and Designated Requirements
  63. What’s the Matter With PGP?
  64. TextExpander 6 and TextExpander.com
  65. Working Around Broken Mac App Store Test Account Switching
  66. Early Apple Retail Adventures
  67. How Amazon Created Echo
  68. Apple Classroom First Impressions
  69. Brave’s Payment Spec
  70. Protocol-Oriented MVVM
  71. The Deep History of Your Apps
  72. iPhone SE Reviews
  73. Regis McKenna’s 1976 Notebook
  74. How to Simulate Memory Pressure

March 2016

  1. Introducing Safari Technology Preview
  2. Microsoft Is Bringing the Bash Shell to Windows 10
  3. OmniFocus 2.5 for Mac
  4. Gatekeeper Bug in Mac OS X 10.11.4
  5. Fantastical 2.2 for Mac
  6. What to Do When the Mac App Store App Just Spins and Spins
  7. The Big iPad Pro
  8. IFTTT Drops Pinboard and App.net, Blames Them
  9. Universal Links Association Files Crashing iOS Apps
  10. Restricting Your Cell Carrier’s Use of Your CPNI Data
  11. Finder Drops Keystrokes After Creating New Folder
  12. Swift Colon Care
  13. Clear iOS Caches by Renting a Long Movie
  14. Surprises With Swift Extensions
  15. Names That Break Computers
  16. To Optional or Not to Optional: IBOutlet
  17. ColorSync Support in iOS 9.3
  18. Inside Liam
  19. XCTestExpectation Gotchas
  20. Mac OS X 10.11.4 and iOS 9.3
  21. How to Use the 10.9 SDK With Xcode 7.3
  22. Adventures in Troubleshooting AirDrop
  23. Adobe Jumps the Shark
  24. How One Developer Broke Node, Babel, and Thousands of Projects
  25. Xcode Upgrades: Lessons Learned
  26. Apple’s “Loop You In” Event
  27. Andy Grove, RIP
  28. Camera.app Still Pauses Audio Playback
  29. Update Your Kindle’s Software Today
  30. When Your Swift Code Breaks the Compiler
  31. iMessage Attachments Security Flaw
  32. Twitter Won’t Raise 140-Character Limit
  33. Gathering System Information in Swift With sysctl
  34. Apple TV Home Sharing: Ethernet to Wi-Fi
  35. C Undefined Behavior in SQLite
  36. Why Don’t We Have Cellular MacBooks?
  37. Firewatch: One Month Later
  38. Stale “Purchased From” in Apple’s Receipt E-mails
  39. Game Center Is Still Broken After Six Months
  40. OneDrive Filename Restrictions
  41. Safari Root Exploit
  42. Apple Starts Using Google Cloud Platform
  43. Constraint Activation
  44. iCloud Account Ransom
  45. Charlie Rose Interviews Jony Ive
  46. Notification Center Bugs
  47. Apple Releases Its Proprietary Apple News Format
  48. Slopes 2.0 Business Model Experiment
  49. Massively Speed Up Time Machine Backups
  50. Dropbox’s Exodus From the Amazon Cloud Empire
  51. Remote Codesign Trust
  52. Overcast 2.5
  53. 30 Pounds of Microsoft Office
  54. Why Are We Fighting the Crypto Wars Again?
  55. The Sadness and Beauty of Watching Google’s AI Play Go
  56. The Power of Preview
  57. What No Indie Developer Wants to Hear About the App Store
  58. Emoji Fonts Use Undocumented Features
  59. Script Debugger 6 Preview
  60. Intuit Sells Quicken to H.I.G. Capital
  61. Google Doesn’t Prioritize iOS Apps
  62. Flickr Limits Free Accounts
  63. GitHub Rate Limiting CocoaPods
  64. Retrospect 13
  65. Aperture Migration Plan
  66. Apple to Pay $450 Million E-Book Settlement
  67. FlexBright Approved and Then Pulled
  68. Why I Started Using Apple Pay
  69. Nook Cooked in UK
  70. KeRanger Transmission Ransomware
  71. Federighi and Cryptographers on FBI vs. Apple
  72. Ray Tomlinson, RIP
  73. The Force Quit Fallacy
  74. Swift Asserts
  75. Swift Evolution Acceptances
  76. Why Safe C Is Sometimes Unsafe Swift
  77. Previously Downloaded OS X Installers No Longer Work
  78. Proposed New Swift Collections Model
  79. Where Did All the HTTP Referrers Go?
  80. Typos in Disk Utility
  81. Life and Death in the App Store
  82. 1Password’s Cleartext IPC
  83. Legal Issues for Developers
  84. Authenticating Support Requests
  85. iPod History and iTunes for Windows
  86. Tracking Tasks With Stack Traces in Swift
  87. Fast Ordered Collections for Swift Using In-memory B-trees
  88. App Review Needs Big Improvements
  89. Intercalation
  90. When AppleCare+ Is Worth It

February 2016

  1. Apple Music Connect
  2. Most Android Phones Are Not Encrypted
  3. The iTunes Store’s Border Control
  4. 3 Months to Build, 3 Months of App Store Rejections
  5. Apple Blacklists Its Own Ethernet Driver
  6. Google AMP and Facebook Instant Articles
  7. Apple Retail Changes
  8. The End of Standardized Platforms
  9. Apple Working on Removing iOS Backdoor
  10. Use iTunes, Not iCloud, to Back Up Your iPhone
  11. Turn Off Repeating Text Message Alerts
  12. Core Data Join Table Records Not Deleted in Ordered Relationship
  13. Introducing the B3 JIT Compiler
  14. Pain Free Constraints With Layout Anchors
  15. Write Code That Is Easy to Delete
  16. Loggen
  17. iOS 9.3 Removes Pencil Interface Control
  18. How ZergHelper Evaded App Review
  19. Use and Misuse of NSUserDefaults
  20. Amazon Increases Free Shipping Threshold
  21. Priorities in a Time of Plenty
  22. What Is the Secure Enclave?
  23. Swift Protocols With Associated Types
  24. Not Too Late to Change
  25. Macs 10% Share of Notebook Market
  26. Cupertino’s Chief Chipmaker, Johny Srouji
  27. “Other” Storage on Your iPhone and iPad Explained
  28. Where Your iPhone Goes to Die (and Be Reborn)
  29. FogBugz 8.15.267
  30. FBI Asks Apple for Secure Golden Key
  31. Swift Evolution Proposals
  32. More Mac App Store Certificate Problems
  33. How to Fix the Safari t.co Twitter Problem
  34. AppleWorks and the Capriciousness of Nostalgia
  35. iCloud Is Too Opaque
  36. Piezo Exits the Mac App Store
  37. Testing NSURLSession With Swift
  38. Adobe Creative Cloud Installer Deleting Hidden Files
  39. Concurrent Memory Deallocation in the Objective-C Runtime
  40. Using Xcode Bots
  41. Google AMP Launch Looms
  42. Swift Mailing Lists Are Self-Selecting
  43. Swift Struct Storage
  44. Vector Networks, an Alternative to Paths
  45. Dates, Done Right
  46. Benign Neglect of Time Machine
  47. Pragmatic Core Data
  48. El Capitan and tvOS Criticized by Vestibular Disorder Sufferer
  49. The Flaws of KVO
  50. The Secret Story Behind Apple’s “Lemmings”
  51. How to Unlearn Misspellings
  52. Google Deprecated “Security Questions”
  53. Apple Services Everywhere
  54. What It’s Like to Take on Venture Capital Investment
  55. From “Result” to “throw” and Back
  56. Dealing With Bit Sets in Swift
  57. The Evolution of a Haskell Programmer
  58. Error 53
  59. Stop Watch
  60. Apple Music Problems
  61. The MacBook Pro Tweener
  62. Mossberg Discovers the Functional High Ground
  63. Massive and Tiny View Controllers
  64. Highway Gothic to Clearview—and Back
  65. My iPhone Home Screen
  66. A Conversation With Erik Spiekermann
  67. Swift Optimization Tips and Reference Counting
  68. Value vs. Reference in Swift
  69. Switching to HTTPS
  70. Kindle Update
  71. Seven Swift Snares
  72. Sparkle Updater Vulnerability
  73. The Futility of Pleasing All Users
  74. Make Money Outside the Mac App Store
  75. 15 Years of VLC and VideoLAN

January 2016

  1. In Praise of Control Center
  2. Sunsetting Parse
  3. Glider Pro on GitHub
  4. Meet iCloud’s Great-grandfather: iTools
  5. VMware Fusion
  6. The 2015 Panic Report
  7. Numbers 3.6.1 for Mac Review
  8. A Modern Network Operation
  9. Lightroom 6.4
  10. BBEdit 11.5
  11. Twitter Has Stopped Showing Ads to Some VIP Users
  12. Marvin Minsky, RIP
  13. 7 Scandalous Weird Old Things About the C Preprocessor
  14. Amazon’s Customer Service Backdoor
  15. Anywhere But Medium
  16. The Story Behind F.lux
  17. Exploring Swift Dictionary’s Implementation
  18. Unsteady Platform
  19. iPhone 5se Rumors
  20. Localized Hardware
  21. Brave Browsers
  22. Not Out to Get You
  23. Mobile Safari Tips
  24. Little Things That Can Make Your Life Easier
  25. Once Bitten
  26. Shush Is Now Swish
  27. Swift Named Parameters
  28. Why We Automate
  29. Swift Golf
  30. The Unbugged Sessions Part 1
  31. Apple Eliminating Its App and Radio Ads
  32. The Past, Present, and Future of Sketch
  33. Updated Gatekeeper Exploit
  34. Interact: Better iOS Contact Management
  35. NSStringFromClass and NSClassFromString in Swift
  36. The Resolution of the Bitcoin Experiment
  37. Architecture of the Web Inspector
  38. The Most Upgradable Portable Mac Ever
  39. Better Translation of Objective-C APIs Into Swift
  40. Don’t Leave an iTunes Store Page Open in iTunes
  41. Backblaze Mails Unencrypted Hard Drives
  42. CloudKit JS
  43. Master List of CarPlay Vehicles
  44. How to Fix Stuck Mac OS X Clipboard
  45. Intel CPU Bugs of 2015
  46. Night Shift in iOS 9.3
  47. Unencrypted iTunes Backups Don’t Include Health Data
  48. Proposal: XCTest Support for Swift Error Handling
  49. PayPal’s Poor Security
  50. The 15-Year History of iTunes
  51. Office 2016, Sandboxing, and VBA Code
  52. Improving the iOS 9 Videos App
  53. Exploring Swift Array’s Implementation
  54. Slow Swift Array Type Inference
  55. Six Colors’ Apple Report Card
  56. Generic Collections, SubSequences and Overloading
  57. Apple Mail Ignores Named Anchors
  58. Microsoft Solitaire Was Developed by a Summer Intern
  59. SecTransformExecuteAsync Considered Confusing
  60. Swift 2.2 Release Process
  61. Facebook Tests Users’ Reaction to Crashes
  62. Five Years of Mac App Store
  63. Swift Bracing
  64. Clearing the App Store Cache
  65. Unexpected iCloud Music Library Downloads
  66. Government Encryption Registration and SNAP-R
  67. Why the 2012 non-Retina MacBook Pro Still Sells
  68. Google Docs Data Loss
  69. Nintendo, Two Years Later
  70. Shuffle in iOS 9.2’s Music App

← 2015 2017 →