The Curious Engineer

Michael Tsai

2015

866 posts

← 2013–2014 2016 →

2015 866

December 2015

  1. Twitter for Mac 4.0
  2. WWDR Intermediate Certificate Expiration
  3. Netflix’s New Compression Strategy
  4. Swift Proposal for Default Final
  5. How Gzip Trumps Everything
  6. Property-Based Testing of a Synchronization Service
  7. Six Windows 10 Features Apple Should Steal
  8. Core Data Threading Demystified
  9. MVVM Is Not Very Good
  10. Swift Standard Library Protocols
  11. Phil Schiller Takes Over the App Stores
  12. Usb c
  13. Adobe Premiere, Final Cut Pro, iMovie ’08, and Final Cut Pro X
  14. More Responsive WebKit Tapping on iOS
  15. The First Spotlight Interface
  16. iCloud Music Library’s Metadata
  17. OSSpinLock Is Unsafe
  18. precondition vs. assert in Swift
  19. A Domain Move Disaster
  20. Lightbulb DRM
  21. Swift Type Constrained Extensions
  22. MacKeeper Exposes Data on 13 Million Customers
  23. Craig Federighi on Swift
  24. Core Data Book
  25. A Study of Stack Overflow Careers
  26. Record Adobe Revenue
  27. Yahoo’s Engineers Move to Coding Without a Net
  28. Apple Pushes iPhone 6s Pop-up Ads to App Store
  29. Humble Object Pattern in Swift
  30. Comcast Stream TV and Net Neutrality
  31. NSFileHandle’s Indeterminable readabilityHandler
  32. The Grand Unified Theory of Apple Products
  33. Swift’s Lazy Weak References
  34. Double Core Data Accessors by Omitting @NSManaged
  35. Improving Readabilty With Swift Extensions
  36. Mac OS X 10.11.2
  37. iPhone 6s Smart Battery Case
  38. Not Your Mac, Anymore
  39. Swift Plans
  40. Moving to Medium, Preserving Permalinks
  41. tvOS 9.1 Enables Remote App
  42. Apple Maps Used Three Times as Often
  43. iOS 9.2
  44. Sunsetting Carousel and Mailbox
  45. Low-Hanging Fruit
  46. IBM’s Swift Sandbox
  47. Edit Distance and Edit Steps
  48. Counting Steps With Multiple Devices
  49. The Search for a Faster CRC32
  50. The TTY Demystified
  51. Launching PDF Expert for Mac
  52. Apple Open Sources Swift
  53. Variable Capture and Loops
  54. Put Save As Back on the File Menu
  55. The Secret Power of “Read It Later” Apps
  56. The End of Dynamic Languages
  57. The Success of ARM
  58. The Apple Pencil
  59. Adobe Animate CC
  60. Generating Core Data Swift
  61. Flickr’s Experience With iOS 9
  62. Swift and C Libraries
  63. Sketch Leaving the Mac App Store

November 2015

  1. Optimizing Facebook for iOS Start Time
  2. Swift init()
  3. Done With iCloud Photo Library
  4. Favorite Terrible Programming Languages
  5. Surprising Complexity Inside Apple’s Power Adapter
  6. Using the Old Remote and Keyboard With Apple TV 4
  7. Microsoft’s Astoria Proves Too Complex
  8. Covariance and Contravariance
  9. The Worst App
  10. Longevity of the Retina MacBook Pro
  11. Quicken 2015 Switches From Mac App Store to Direct Updates
  12. Pushing to the Git Working Copy on a Web Server
  13. An Ode to Kai’s Power Goo
  14. Ranchero SpotLight
  15. How Swift Implements Unowned and Weak References
  16. Dangers of NeXTSTEP Plists
  17. Lightroom 6.3 Fixes Import Dialog, Flickr
  18. Not on the Mac App Store
  19. A Look Into Realm’s Core DB Engine
  20. Improved App Store Search
  21. Interstellar Functional Reactive Framework
  22. Nimble Matcher Framework
  23. Ads Use Inaudible Sound to Link Your Devices
  24. Saving the iPad
  25. Beware of Apple Mail Resizing Outgoing Images
  26. How Facebook’s Safety Check Works
  27. What Goes Up
  28. Where “where” May Be Used in Swift
  29. Swiping to Dismiss Safari View Controller
  30. Git Diff for Binary Property List Files
  31. The Depressing Effect of Bug Bounties
  32. Gene Amdahl, RIP
  33. Apple Forbids Sideloading f.lux
  34. Castro 1.5
  35. iPad Pro Reviews
  36. Decoding Old Nibs: a Sad Tale of Vendor Lock-in and Abandonment
  37. No One Minding the Store
  38. Sideloading f.lux on iOS
  39. How Apple Is Giving Design a Bad Name
  40. On Keyboards and Thinness
  41. Microsoft Band 2
  42. Apple on Hamburger Menus
  43. Apple’s Beautiful Construction Barriers
  44. George Boole: a 200-Year View
  45. Long-Term Exposure to Flat Design
  46. The Mac App Store: With Convenience Comes Compromise
  47. The New Favicon
  48. The Java Deserialization Bug and NSSecureCoding
  49. Flickr for iOS 9
  50. Why Is Swift’s String API So Hard?
  51. Shoot the Heap
  52. Home File Sharing via Flash Drive
  53. Apps Sharing User Data
  54. How Swift Implements Generics
  55. Google Engineer Reviews USB-C Cables That Don’t Work
  56. Mail’s Vanishing Rules Actions
  57. Apple News Format
  58. Dropbox API v2 Drops Objective-C SDK
  59. WebKit Shadow DOM API and the State of Web Type
  60. Facebook’s Code Quality Problem
  61. Rewriting a Mac App in Swift
  62. MacUpdate Adware Installers
  63. Using 3D Touch to Create a Digital Scale
  64. OneDrive Reduces Free Storage to 5 GB, Maximum to 1 TB
  65. Chuck Forsberg, RIP
  66. Apple TV 4
  67. SuperDuper’s El Capitan Issues
  68. SGI Screen Fonts Converted for Mac OS X
  69. OmniFocus 2.9 for iOS
  70. If-Let Assignment Operator

October 2015

  1. When Open Does Not Return an Object Reference
  2. When Is Zip Not Zip?
  3. Inside Apple’s Perfectionism Machine
  4. Blind Camera Shootout
  5. Unicode Date Formats, YYYY?!
  6. Reactions to the First iPod
  7. Siri and Content Reminders in iOS 9
  8. The iPhone 6s Plus and 3D Touch
  9. The Best Underutilized and Poorly Implemented Accessibility Feature
  10. Dynamic Frameworks and App Launch Times
  11. BookmarkData Exposed
  12. Swift’s @noescape Attribute
  13. The Story of NetNewsWire
  14. Dark Corners of Unicode
  15. Clang Is the Next WebKit
  16. Lisp Implemented in sed and Make
  17. Sorkin and Boyle’s “Steve Jobs”
  18. Arqfs
  19. Real-time Resizing of Flickr Images Using GPUs
  20. The 10 Best Feed Readers
  21. MVVM in Swift
  22. GCD Sugar for Swift
  23. Searching Apple’s Stores With Google
  24. Turning Off iCloud Photo Library
  25. B2 Cloud Storage
  26. Venice (a.k.a. SwiftGo)
  27. No Longer Good, Better, Best
  28. When Businesses Grow to Become Dysfunctional
  29. How Both TCP and Ethernet Checksums Fail
  30. Dropbox Paper
  31. iOS Apps That Collect Users’ Personal Info
  32. iOS Diagnostics & Usage Data
  33. String Interfaces
  34. Options Dictionaries vs. Sets of Enums
  35. Big iWork Update
  36. Tesla’s OS 7 Interface Update
  37. El Capitan License in Plain English
  38. Adding “Save PDF to iBooks” Support
  39. Customizing Columns in OmniFocus 2.3
  40. Swift Casting With _ObjectiveCBridgeable
  41. Quickly Dimming the iPhone Screen
  42. Empty Parentheses Are Not “No Parameters” in (Objective-)C
  43. Apple’s Processor Advantage
  44. MallocNanoZone=1 Makes for Hard Debugging
  45. Google’s Accelerated Mobile Pages
  46. Background Data and Battery Usage of Facebook’s iOS App
  47. That Would Never Happen
  48. Non-Payment for Bundle Sales
  49. FogBugz, JIRA, and Wasabi
  50. Coding Literacy
  51. More International Taxes on Software Sales
  52. Disk Utility in El Capitan
  53. Apple’s New Magic Keyboard, Mouse, and Trackpad
  54. Why the Floppy Disk Is Still Used Today
  55. Lightroom 6.2’s Import Dialog
  56. New FogBugz Security Features
  57. NSData, My Old Friend
  58. Gatekeeper Exploit
  59. “What do you think?”
  60. Historical Photos
  61. iOS 9 Universal Links and Forgotten Passwords
  62. Wi-Fi Calling
  63. Overcast 2
  64. Apple and Privacy
  65. Jitterdämmerung
  66. The State of Apple Maps
  67. My iPhone 6s and iOS 9 Experience
  68. My El Capitan Experience
  69. Apple News
  70. Core Data in El Capitan
  71. LZFSE Disk Images in El Capitan
  72. Tweetbot 4 for iOS and Tweetbot 2.1 for Mac
  73. Developing With 3D Touch
  74. What the Heck Is a Monad
  75. Apps Removed From the App Store’s “Purchased” Tab
  76. Safari’s Responsive Design Mode
  77. Apple’s 30% App Store Fee on Refunds
  78. Deprecating Instapaper Mobilizer
  79. Alex King, RIP

September 2015

  1. FBSimulatorControl
  2. Swizzling With Swift
  3. DirectLinks Safari Extension
  4. Using Xcode Targets
  5. Which iOS Content Blocker is the Fastest?
  6. iOS 9 Adds Wi-Fi Assist
  7. Rosyna Needs Help
  8. Swift 2.1
  9. Swift 2 Bloat in the Twitter App
  10. The iOS Status Bar
  11. Custom Swift Pattern Matching Operators
  12. Counting Git Objects With Bitmap Indexes
  13. Apple Music for Android
  14. iPhones 6s Reviews
  15. Brotli
  16. San Francisco Quotation Marks
  17. The Big Nerd Ranch Core Data Stack
  18. The Lost Apple Logos You’ve Never Seen
  19. Twitter and Universal Links
  20. XcodeGhost
  21. How to Turn iOS 9’s Keyboard Back to All Caps
  22. Peace iOS 9 Content Blocker
  23. iOS 9 Reviews
  24. Bank of America Adds Touch ID Support
  25. On Demand Resources and Games
  26. Objective-C Is Our Generation’s COBOL
  27. Facebook “Like” Button Tracking
  28. Bitcode Breaks 3rd-Party Crash Reporters
  29. Swift 2 Generic Support for @objc Protocols
  30. Fixing Garbled Fonts on Apple Support Pages
  31. Parsing Mach-O Files
  32. Microsoft Excel 2016 for Mac Keyboard Shortcuts
  33. Subscription iPhones
  34. System Integrity Protection Documentation and Bugs
  35. Problems With iOS’s Flat Design
  36. Learning Lessons The Hard Way
  37. Backdooring JavaScript Using Minifier Bugs
  38. Electronic Arts’s Recent App Store Removals
  39. Amazon Web Services in Plain English
  40. Computer Science Courses that Don’t Exist, But Should
  41. Adrian Frutiger, RIP
  42. tvOS and the New Apple TV
  43. Now Allowed to Launch Apps From Today Widgets
  44. Your App Is Collection of Tiny Details
  45. AirPlay Overhaul for iOS 9
  46. Apple/Google Hiring Lawsuit Finally Settled
  47. Lyft Goes Swift
  48. Macworld UK Ends Print Magazine
  49. Getting a New iPhone
  50. iPhone 6s and 3D Touch
  51. iPad Pro
  52. Microsoft Excel Tips
  53. Apple Tangles With U.S. Over iMessage Data Access
  54. Wikipedia Editors Uncover Extortion Scam
  55. Thunderbolt Ethernet Adapter Says Cable Unplugged (When Not)
  56. Pushing on the Pull Door
  57. Why You Should Upgrade (On Your Own Terms)
  58. NSBackgroundActivityScheduler
  59. San Francisco’s Rider-Friendly Transit Map
  60. SiriScript
  61. qtmodernizer
  62. Struct Semantics in Swift
  63. Lessons Learned From Reading Postmortems
  64. Solving Wi-Fi Coverage Problems
  65. NetNewsWire 4.0
  66. Migrating to a New Mac in the Real World
  67. AWS Device Farm
  68. Apple Loses German Top Court Case on Swipe-to-Unlock Patent
  69. Why Dependent Types Matter
  70. You Don’t Need Motivation
  71. Go at Basecamp
  72. Adware Simulates Mouse Events to Access Keychain
  73. Google’s New Logo
  74. Swift Protocols
  75. How and Why We Designed Lucida
  76. What Publishers Should Know About iOS 9
  77. GasBuddy’s New Privacy Policy
  78. How to Use -updateConstraints
  79. Sony A7R II Focus Accuracy
  80. NSProgress Enhancements

August 2015

  1. Objective-C to Swift Converters
  2. 6 Only-for-iPad Gestures
  3. Details in the iOS App Store App
  4. Permanently Hide the iCloud Column in iTunes
  5. Skylake
  6. Live Help Menu Searching via NSUserInterfaceItemSearching
  7. Type Profiling and Code Coverage Profiling for JavaScript
  8. AWS Privilege Separation
  9. Shipping an App With App Transport Security
  10. The Facebook App’s 18,000 Classes
  11. Capturing Swift Error Context
  12. A Salute to Solo Programmers
  13. Facebook App Changes iOS System Share Sheets
  14. Java Is Magic: the Gathering (or Poker) and Haskell Is Go (the Game)
  15. Swift 2 Beta 6
  16. The Death of Scripting
  17. Safer Block-based NSNotificationCenter API
  18. Common Android Lock Patterns
  19. How to Survive Working at Home
  20. tpwn Privilege Escalation Vulnerability
  21. How to See Your iPhone’s Precise Signal Strength
  22. Ways to Think About Cars
  23. [Objective] C++: What Could Possibly Go Wrong?
  24. The Harmful Consequences of Postel’s Maxim
  25. Bloom Filters
  26. CardDAV at FastMail
  27. Checking for El Capitan
  28. Git as a Document Format
  29. Lazy Filters and Maps
  30. Swift Funtime
  31. Making Tab-Switching and Scrolling Faster in OmniFocus for Mac
  32. How Streaming Music Royalties Are Calculated
  33. Swift Pattern Matching in Detail
  34. Sandboxing Impression
  35. Cross-Platform UI in GitHub Desktop
  36. GitUp 1.0 Is Open Source
  37. Acorn 5
  38. Go 1.5
  39. Tonic: Data Visualizing REPL for Node
  40. Top 10 Worst C# Features
  41. WebKit Backdrop Filters
  42. Generic “Functions” in Objective-C
  43. Creating a Kill-Switched VPN With PIA and Little Snitch
  44. Ripping CDs and Backing Up Content Is Illegal in the UK
  45. Testing Swift’s ErrorType
  46. A Eulogy for Objective-C
  47. The Hamburger Menu Doesn’t Work
  48. Restoring an Apple TV via iTunes
  49. Steve Jobs’s Interview With Red Herring, 1996
  50. Awful Behavior From QuickBooks Online
  51. Thunderstrike 2
  52. Twitter Removes 140-Character Limit From Direct Messages
  53. Windows 10’s New Licensing Scheme
  54. Microsoft WinObjC
  55. Apphub
  56. iCloud Can Now Restore Contacts, Calendars, and Reminders
  57. Mac OS X 10.11 Removes /usr/bin/lockfile
  58. Xcode Build Setting Transformations
  59. How Your Phone’s Battery Life Can Be Used to Invade Your Privacy
  60. Apple Pay to the Rescue
  61. Fearing an Apple TV Service
  62. How Many Old Apple Devices Can’t Get Security Updates?
  63. Finding iPad’s Future
  64. The Developer’s MacBook
  65. Dispatch Async to Main Queue and Modal Windows
  66. Inside Amazon: Wrestling Big Ideas in a Bruising Workplace
  67. Modern Web Ad Blocking
  68. Google and Alphabet
  69. The Mac App Store, Paid Upgrades, and Trials
  70. Peak App Care
  71. Planes, “Planes”, and Automated Fare Pricing
  72. An Xcode Plug-in for Unsmoothed Text
  73. Student Loses Facebook Internship After Pointing Out Privacy Flaws
  74. Objective-Swift
  75. Swift Protocols, Arrays, and Casting
  76. Sorting Algorithm Animations
  77. Windows 10’s Wi-Fi Sense
  78. Safari vs. Chrome: Power Consumption
  79. The Appsmiths
  80. A Catalog of Functional Refactorings
  81. Swift Array Performance

July 2015

  1. NSTaggedPointerString
  2. Address Sanitizer
  3. Objective-C Improvements and Swift Interoperability
  4. Bitcode
  5. Falsehoods Programmers Believe
  6. Apple Music Matches Files With Metadata Only
  7. SQLite FTS5
  8. Disabling Versions and Reclaiming Space
  9. Dixie
  10. How GameplayKit AI Works
  11. UIKonf 2015 Videos
  12. Apple’s Plan for More Connected Apps
  13. App Store Invoice JavaScript Injection
  14. Google Cloud Storage Nearline Graduates to General Availability
  15. NSValue and Boxed Expressions
  16. The Force Touch Trackpad
  17. Coping With iTunes Features That Have Disappeared
  18. Phasing Out Google+
  19. Why JSON Doesn’t Have Comments
  20. Flickr Pro Is Back
  21. Intel Compute Stick
  22. Checking If Mission Control Is Active
  23. Swift Whole Module Optimization
  24. Safari 9’s Responsive Web Design Mode
  25. Apple at Its Most Pompous
  26. Ember Leaves the Mac App Store
  27. Linked Lists, Enums, Value Types and Identity
  28. Security and Privacy Changes in iOS 9
  29. Weak and Unowned References in Swift
  30. Code Signing in El Capitan
  31. Don’t Use GUIDs As Passwords
  32. DYLD_PRINT_TO_FILE Local Privilege Escalation Vulnerability
  33. Strings in Swift 2
  34. Dynamic Swift
  35. init? vs. init throws
  36. Perl 6 Due This Year
  37. Keyboard Maestro 7
  38. The Lagging Mac App Store
  39. Web Design: The First 100 Years
  40. Apple Music: Problems Adding Albums, Songs Deleted
  41. iOS 9 to Block Abuses of -canOpenURL:
  42. Flashlight Brightens Up Spotlight in Yosemite
  43. Every Swift Value Type Should Be Equatable
  44. Higher Order Functions in Swift 2
  45. North America Out of New IPv4 Addresses
  46. Removing Previous Versions of Files
  47. Differential Synchronization
  48. Dictation Buffer Updates
  49. xonsh Shell
  50. Embrace Cross-posting
  51. My Two Years as an Anthropologist on the Photoshop Team
  52. Java Strings No Longer Share Storage
  53. FastMail Enables IMAP Push for iOS
  54. Apple vs. the PC Industry
  55. Photos for Mac 1.1
  56. App Transport Security
  57. FairPlay Streaming
  58. Hardware Audio Encoding, AVMovie Brings Back QuickTime Features
  59. Evan Williams on Twitter Third-party Devs
  60. Security-Scoped Bookmarks and .webarchive Files
  61. UI Testing With Xcode 7
  62. Unpacking Git Packfiles
  63. Obergefell v. Hodges: the Database Engineering Perspective
  64. Feeder 3.0
  65. Cmd-Number Shortcuts for Safari 9
  66. Apple Watch and Water
  67. How iCloud Drive Deletes Your Files Without Warning
  68. Adobe Replaces “Rank and Yank” With “Check In”
  69. Perfect App Store Screenshots
  70. MAIKit: Framework for Sharing Code Between iOS and OS X
  71. Font Parsing Vulnerabilities
  72. iPod touch 6th Generation
  73. WebKit Hacking From the Bleeding Edge
  74. Python 3.5: async and await
  75. Third Hacking Team Flash Zero-Day Found
  76. AppleEventBridge: Native AppleScripting Support for Swift
  77. 92% of Smartphone Profits
  78. On Negative App Store Reviews During Betas of iOS and OS X
  79. Contacts Framework Identifiers
  80. Apple Music: Connect
  81. Apple Music: For You
  82. Apple Music: Beats 1 and AirPlay
  83. Apple Music: Home Sharing and Families
  84. Apple Music: iTunes Match and DRM
  85. Apple Music: iTunes 12.2 and iCloud Music Library
  86. Apple Music: General
  87. Safari Content Blocker and Web Advertising
  88. System Integrity Protection (a.k.a. Rootless)
  89. Mac OS X 10.10.4 and Apple TV
  90. CSS Font Family for San Francisco
  91. ComiXology 3.7 Makes the Best of the Amazon/Apple Situation
  92. A Complete History of Unix, in One GitHub Repo
  93. Dash 3
  94. VoodooPad Cryptography Overview
  95. GPS in Airplane Mode
  96. Installing Fonts on iOS
  97. Another Downside of Automatic App Updating
  98. Using Siri
  99. Arq Supports Amazon Cloud Drive Backup
  100. Twitterrific’s New Facial Detection
  101. Should I Use a Swift Struct or a Class?

June 2015

  1. The Age of Writing iOS Apps for Love
  2. Mac OS X 10.10.4 “Improves Networking Reliability”
  3. Debugging Exceptions in Xcode
  4. Safari Is the New IE
  5. Map Kit Outside of the Mac App Store
  6. All American Civil War Games Removed From the App Store
  7. iOS 9 Space Savings
  8. Killing Off Wasabi
  9. Swift 2: SIMD
  10. “Send <appname> Feedback” Sends to Apple
  11. Avoid Download Issues With Mac App Store Purchases
  12. 10-Year-Old MySQL Bug
  13. Lightroom 6.1 Doesn’t Get New Features
  14. Swift Protocols Question
  15. Eleven Stupid Backup Strategies
  16. Other New Swift 2 Features
  17. WebAssembly
  18. Taylor Swift vs. Apple Music
  19. More Problems With iCloud Photo Library Uploads
  20. Copying Coordinates With Long Press in Compass
  21. San Francisco Fonts
  22. Instacast Discontinued
  23. Swift 2 Error Handling, Continued
  24. Core Data Bugs
  25. Editorial 1.2
  26. App Store Search Is Still Depressing
  27. Introduction to WebKit Content Blockers
  28. How Crash Bandicoot Was Fit Into 2MB of RAM
  29. I Do Not Agree to Your Terms
  30. XARA: Unauthorized Cross-App Resource Access
  31. Swift 2 Error Handling in Practice
  32. Swift Libraries Not Included in iOS 9 or El Capitan
  33. The Return of the iPad
  34. Freemium Is Hard
  35. Hermann Zapf, RIP
  36. Why I Don’t Rely on Time Machine
  37. OmniFocus Push-Triggered Sync
  38. iCloud Passwords in Mail, Device Passwords, and Safari Passwords
  39. iOS 9 Keyboard
  40. WWDC 2015 Links
  41. The Beginning of the End for Smartphone Subsidies?
  42. The State of iOS
  43. Yahoo Pipes Shuts Down
  44. Micro Snitch 1.0
  45. What Happened to SourceForge?
  46. MirrorType
  47. Why I Don’t Write Swift
  48. Tim Cook on Encryption, Privacy
  49. Thunderbolt 3
  50. Swift Subscripts Support Labeled Parameters
  51. Web Decay Graph
  52. Mac Firmware Security Is Completely Broken
  53. Apple Shifts to Editorially Curated Lists on App Store
  54. Fix Your Mac With One Weird Trick
  55. @weakify and @strongify Macros
  56. How Not to Crash #7: Dealing With Nothing
  57. Apple Watch Heart Rate Sensor Errors
  58. OSStatus.com

May 2015

  1. Apple Notes
  2. Google Photos
  3. The Unofficial Guide to xcconfig Files
  4. Network Request Templating
  5. Bugshot Relaunches as Pinpoint
  6. Using Siri to Work Around iMessage Crash
  7. TextExpander 5 and Notification Center Privacy
  8. Kindle Typography Improvements
  9. Applications Constantly Asking Permission to Accept Incoming Connections
  10. FogBugz 8.13.104
  11. Mac OS X 10.10.4 Replaces discoveryd With mDNSResponder
  12. Predictable Date Formatting
  13. 10 Days With the Apple Watch
  14. On Performance Reviews
  15. Many Levels of Rejection
  16. Camera and Photos on iOS
  17. 30 Years of Pac-Man
  18. Unicode 9.0 Candidate Emoji
  19. On Apple Watch Ergonomics
  20. Looping Auto-stop for GPS Apps and Devices
  21. Revisions for Dropbox
  22. The Responsibility We Have As Software Engineers
  23. Whose Phone Is This?
  24. The Logjam Attack
  25. iOS 9 and Mac OS X 10.11 Rumors
  26. GitUp 0.7
  27. Optical Adjustment
  28. How Not to Crash #3: NSNotification
  29. LaunchBar Action Editor and AppleScript List Syntax
  30. ReflectableEnum
  31. Safari URL-spoofing Bug
  32. Hard Drive Icons Through the Ages
  33. First-Class “Statements”
  34. Which Features Overcomplicate Swift?
  35. Mistake One
  36. San Francisco as the Mac System Font
  37. New iPhone Lightning Dock
  38. NSFileCoordinator Improvement in iOS 8.2
  39. Firing Well
  40. Apple Watch User-Experience Appraisal
  41. Thanks, Ted Landau
  42. Hacking Airplanes
  43. Intermittent But Frequent Pauses May Be From iCloud Syncing
  44. Updating iPhoto for Mac OS X 10.10.3
  45. How Not to Crash #2: Mutation Exceptions
  46. The Rush to “Deprecate” HTTP
  47. Phantom iPhone “Photo Library” Storage Usage
  48. Debugging launchd
  49. Testing the 12-inch MacBook’s Performance with Windows 10
  50. How Not to Crash #1: KVO and Manual Bindings
  51. Register Your Own IRS Account
  52. Facebook Instant Articles
  53. Validate Project Settings: Never
  54. Dropbox’s Firefly Full-Text Search Engine
  55. An @import-ant Change in Xcode
  56. Verizon-AOL
  57. William Zinsser, RIP
  58. Mac Firmware Passwords
  59. Maybe, Just, and None in Objective-C
  60. Swift: the Unused Optional Value Problem
  61. Google Hangouts Don’t Use End-to-End Encryption
  62. Using Atomics to Get Rid of @synchronized
  63. BitTorrent Sync vs. Dropbox
  64. Storing SSDs Without Power
  65. Flickr Update
  66. Programming Advice
  67. Failable Initializers, Revisited
  68. Under the Hood of Xcode Server
  69. Why Lisp?
  70. Redesigning Overcast’s Apple Watch App
  71. Safari Reading List
  72. Chat Wars
  73. No iOS Privacy Controls for Accessing Purchase History
  74. Redacted for Mac Launch
  75. Claris History
  76. Clang’s New -Wpartial-availability
  77. bit.ly Now Silently Inserts Affiliate Codes/Cookies
  78. iOS 9 Wishes
  79. Twitter Island
  80. Customer Service and Security
  81. Problems With Multiple Apps
  82. Beyond Open Source
  83. discoveryd Is Still Buggy
  84. Graduation
  85. Integer Overflow Bug in Boeing 787
  86. Ex-Microsoft Designer Explains the Move Away From Metro
  87. App Business Tips
  88. Video Interview With Mark Alldritt
  89. Moving Averages and the iPad
  90. Spicing up Xcode
  91. NSShowUnalignedViews
  92. LLVM’s New libFuzzer

April 2015

  1. Microsoft’s New Middleware: Islandwood and Astoria
  2. Microsoft Visual Studio Code
  3. Siri 3
  4. BBEdit 11.1
  5. Why I Prefer CrashPlan for Online Backups
  6. Software, Psychedelics, and the Origins of OS X & iOS
  7. Removing Unmaintained Apps from the App Store
  8. How to Eliminate Drop Shadows in Screenshots
  9. Adobe Photoshop Lightroom CC 2015 Review
  10. Microsoft’s LLVM-Based Compiler for .NET
  11. Unmanaged
  12. Amazon Sues Fake Review Site
  13. Mythology
  14. Hey Apple, Stop Messing With My Music
  15. HTTPS Bug in AFNetworking Affects 25,000 iOS Apps
  16. EFF Busts Podcasting Patent
  17. iCloud Photo Library: the Missing FAQ
  18. The One Line You Should Add to Every Makefile
  19. Reviving an Apple Wireless Keyboard
  20. Deprecating the Sync and Datastore APIs
  21. That Finder Thing
  22. Risky Business
  23. iOS 8.3 Blocks File Managers and Transfer Utilities
  24. Mentioning Pebble in the App Store
  25. Lessons Learned in Software Development
  26. FogBugz Iteration Planner
  27. Thanks
  28. Researching ResearchKit
  29. Instant Hotspot: Tethering Always Enabled
  30. Et Tu, Tim?
  31. Archive Your iOS Device Backups With iTunes
  32. The 12-inch MacBook
  33. Yosemite-Only Security Fixes
  34. Quoted Domain Specific Languages
  35. Mailman 3.0
  36. AnyBar and SuperDuper
  37. PowerPhotos
  38. Git Tower’s Yosemite Design
  39. iPhone Sizes
  40. The Object Graph
  41. Mac App Store Licensing and Copy Protection
  42. Facebook Legacy Contacts
  43. Swift, Accelerate, and Generics
  44. 1Password 5.3 for Mac
  45. Infinite NSScrollView
  46. Car UI
  47. Xcode Searching
  48. Google, Our Patron Saint of the Closed Web
  49. .htaccess Snippets
  50. The Birth of Microsoft’s New Web Rendering Engine
  51. MustOverride
  52. Motion Sensing Using the Doppler Effect
  53. Speedy Transfers With IP Over Thunderbolt
  54. XCTest: Areas for Improvement
  55. Must Fix for Next Release
  56. Truncated Text in Mobile UIs
  57. Aperture, Capture One, and Lightroom Walk Into a Bar
  58. Writing a Great App Store Description
  59. Preprocessor Abuse and Optional Parentheses
  60. Model Widget Controller (MWC) a.k.a.: Apple “MVC” Is Not MVC
  61. Unintended Consequences of Usability Improvements
  62. WiFi Signal 3.3.1
  63. Custom Swift Switch Matchers
  64. Semaphores are Surprisingly Versatile
  65. The Death of Optimizing Compilers
  66. Exploiting the DRAM Rowhammer Bug to Gain Kernel Privileges
  67. Printing Objective-C Invocations in LLDB
  68. Store Within a Store
  69. Why Overload Operators?
  70. Amazon Cloud Drive

March 2015

  1. Exploding Software-Engineering Myths
  2. Fantastical and Multiple Events
  3. Apple Pay Exposes Insecure Bank Policies
  4. MacBook Pro Screen Staingate
  5. Zarra’s Core Data Stack
  6. Paste Without Style
  7. User-Hostile iWork Experiences
  8. BusyContacts 1.0
  9. ifo Apple Store Shuts Down
  10. MailMate 1.9
  11. ResearchKit and Open Source
  12. Instant Cocoa
  13. Swift Protocols and Generics
  14. Scenery 1.0
  15. Commoditized Complements and Fear of Apple
  16. Fantastical 2 for Mac
  17. A Friction-Free World
  18. FTC Report Shows How Google Skewed Search Results
  19. Launcher Returns to the App Store
  20. IP Box Unlocks iPhone By Brute Force
  21. USB Type-C Power Adapter Possibilities
  22. Login Screen Shows “[Update Needed]”
  23. kvdb and sfts
  24. Replacing Photoshop With NSString
  25. Using Core Data With Swift
  26. Force Touch Trackpad
  27. Jony Ive and the Newton MessagePad 110
  28. Simple Reflection in Swift
  29. Simple Proof of the Tetris Lamp
  30. Arq Adds Archiving and Google Cloud Storage Nearline
  31. Bidding Farewell to Google Code
  32. flatMap and Swift 1.2 Betas 2 and 3
  33. iMessage’s Send Read Receipts
  34. Wrapping libxml2 for Swift
  35. Touch Input During Animations
  36. Try
  37. The Minus Sign
  38. How to Proof EPUBs on the iPad With iBooks
  39. Tech Is Dead
  40. Photo Grabbr 1.5b
  41. Promoting Games With No In-App Purchases
  42. iOS 8.2’s Mandatory Apple Watch App
  43. Watching the Watches
  44. Let’s Build @synchronized
  45. Switching to Smaller iPhones
  46. Using cp to Copy a Lot of Files
  47. Mac Java’s New Ask.com Toolbar
  48. The Disconnect Between Publishers and Consumers
  49. OmniFocus 2.1
  50. Freak
  51. The CIA’s Xcode
  52. Sustainable Software

February 2015

  1. Core Data vs. ARC
  2. Swift 1.2
  3. Snowsemite
  4. Turning Google Into a Dumb Pipe
  5. Photos for Mac
  6. Recover Data Lost Because of iCloud Sync Problems
  7. Google 2-Step Verification in Mac OS X 10.10.3
  8. Better Emoji in Mac OS X 10.10.3
  9. Hotel Wi-Fi Test
  10. Building Swift Bindings to libgit2
  11. Locks, Thread Safety, and Swift
  12. There’s No iOS Backup Feature
  13. Awk in 20 Minutes
  14. Overcast Clicker Gestures
  15. Why the iPad Became My Main Computer
  16. Xed
  17. iOS 9 Wishlist
  18. What Color Is Your Function?
  19. Sunlit and Safari
  20. Paying to Get Around Adblock Plus
  21. Neil Young’s PonoPlayer
  22. Cloak and Private Internet Access
  23. Learn You a Haskell
  24. Swift Resistance
  25. GHRunLoopWatchdog
  26. Why Can’t Twitter Fix Their Mac App?
  27. React Native
  28. How to Mount a Disk on Startup
  29. Hydra Camera App
  30. Prefer Composition to Inheritance
  31. Phantom Types and Typed Notification Observers
  32. The IOU of iOS
  33. Swift & the Objective-C Runtime
  34. Dynamic Casting in Swift
  35. 1Password 5.2 for iOS and 5.1 for Mac
  36. Weakness
  37. Categorical
  38. YouTube Now Defaults to HTML5 Video
  39. Who Else Kinda Misses Their Zip Disks?
  40. Some Notes on Rust, the Language
  41. Protocols and Swift
  42. iTunes Connect Bug: Logs You Into the Wrong Account
  43. Mac OS X 10.10.2
  44. FileVault 2 Deferred Enablement in Yosemite
  45. Improved FogBugz Cases Menu

January 2015

  1. Never Trust a Corporation to Do a Library’s Job
  2. Windows 10: Re-Crappifying Windows 8
  3. The Unethical Business Practices of eFax
  4. Craft Apps
  5. iTunes 12.1’s Info Window
  6. Swift: No Macros, No Compromises
  7. An Example on How to Use NSProgress
  8. MPW, Carbon, and Building Classic Mac Apps on Yosemite
  9. Audio Hijack 3
  10. Deleting Folders Using the “find” Command
  11. Swift Capture Lists
  12. Documents in the Cloud: bird and brctl
  13. Accessibility Showdown: iPhone 6 vs. iPhone 6 Plus
  14. The Imitation Game
  15. Gitlet: Git Implemented in JavaScript
  16. Creating the Natural Numbers From First Principles
  17. Back to the iPhone 5s
  18. The Future of No Thirst Software
  19. Let’s Build Swift Notifications
  20. The Design Philosophy of the DARPA Internet Protocols
  21. Modern Login Items
  22. How iOS Has Changed
  23. Organ Banked
  24. MacKeeper
  25. WKWebView, Sandboxing, and Searching
  26. Backing Up Discontinued Apps
  27. The Shape of the App Store
  28. JavaScriptCore
  29. Clearing the Icon Services Cache in Yosemite
  30. Kindling Projects
  31. MacUser UK Closes
  32. MMWormhole: Message Passing Between iOS Apps and Extensions
  33. How Amazon Tricks You Into Thinking It Always Has the Lowest Prices
  34. Yosemite’s FileVault 2 Pre-boot Recovery Options
  35. Vintage Mac About Boxes
  36. 100 Years of Computer Science
  37. Mergeable Persistent Data Structures
  38. Real World Swift
  39. iOS App Sales Data
  40. Skip the FFI: Embedding Clang for C Interoperability
  41. The Stunning Scale of AWS
  42. Something Slightly Less Terrible
  43. Video and iOS Rotation Lock
  44. Swiftifying Apple’s Framework APIs
  45. Cocoa Thread Utilities
  46. Switching From Core Data to Realm
  47. Siri Improvements
  48. Dependent Key Paths
  49. Proof in Functions
  50. BBEdit Codeless Language Module for .pbxproj Files
  51. The Morning Paper
  52. Functor and Monad in Swift
  53. Old MS-DOS Games
  54. Why DNS in OS X 10.10 Is Broken
  55. Using HSTS to Track Incognito Users
  56. Hubble Space Telescope Desktop Pictures
  57. Undefined Behavior in C
  58. Ember and iCloud Core Data
  59. Wikipedia Adopts HHVM
  60. Spotlight Suggestions and Web Bugs
  61. Using the Hypervisor Framework: A Simple DOS Emulator
  62. Apple Introduces App Store Refunds
  63. Overcast Rejected for Listing Competing Podcast Apps
  64. GoodReader and iCloud Drive
  65. SwiftFilePath
  66. Does Using Swift Save Development Time?
  67. Lenient Date Parsing
  68. Finite States of America
  69. Lowering the Project Threshold
  70. We Love This Stuff Too, and Honor What You Do
  71. The 2014 Panic Report
  72. Apple’s Software Quality, Continued
  73. Quitting Family Sharing
  74. The Benefits of Selling Software Outside the Mac App Store
  75. A Dozen Things Tren Griffin Learned From Steve Jobs About Business

← 2013–2014 2016 →