Chen

Writing61 notes2015–2026

Notes from the workbench.

Swift, Apple platforms, and whatever I was figuring out at the time. Most were first written in Chinese; the originals are one click away.

61Notes
6Years active
145Topics

20267 notes

  1. A new home for Stash 1 min

    The new Stash website is live, with a preview of an app for keeping copied things and lifting the useful pieces.

  2. Keeps 1.4.3 submitted for review: smoother currency scrolling 2 min

    Keeps 1.4.3 (112) has been submitted for App Review with smoother currency scrolling and fixes for item details and punch calendar layout.

  3. Keeps 1.4.0: every use counts 3 min

    Keeps 1.4.0 brings paper price tags, punch-card goals, photo stages, better search, and automatic backups to iPhone, iPad, and Mac.

  4. Let your things log themselves in Keeps 3 min

    Three Shortcuts automations that record a use in Keeps without opening the app: an app that opens, an NFC tag on a water bottle, and a car that connects over Bluetooth.

  5. LiftCoach on iPhone Duo 4 min

    A first look at LiftCoach on iPhone Duo: two pages when it opens, a seated mode that turns the folded top half into a screen for the bench, controls in the side bar, and a Live Activity that fits the new island.

  6. LiftCoach is on the App Store 2 min

    LiftCoach 1.0.0 is available for iPhone, iPad, and Apple Watch. Plan strength routines, log every set, and see how your training adds up.

  7. Keeps is on the App Store 2 min

    Keeps 1.4.0 is available for iPhone, iPad, and Mac, with paper price tags, punch-card goals, six themes, and up to 30 items for free.

20202 notes

  1. Core Data with CloudKit 9 min

    Notes on sharing a Core Data store with an extension, syncing it through CloudKit, and keeping the UI up to date.

  2. How to find a Mac app's Bundle ID 3 min

201919 notes

  1. How the .af and .rx extensions work in Alamofire and RxSwift 3 min
  2. Method dispatch in Swift 15 min
  3. Protocol Extension 3 min
  4. A few notes on LetsMove 3 min
  5. XPC Services 4 min
  6. Codable && Tuple 2 min
  7. How to generate a NSViewController without a Nib? 2 min
  8. A Swift quiz 2 min
  9. Libraries and frameworks 10 min
  10. Build Process 9 min
  11. Building a little utility: Swwwitch 2 min
  12. How Mac apps launch at login 7 min
  13. How do dockless Mac apps work? 6 min
  14. Using Yinxiangbiji in Safari on an English-language macOS 2 min
  15. Adding a backgroundColor to NSView 2 min
  16. The Subjects in RxSwift 4 min
  17. Apple Event Sandboxing 3 min
  18. Tracking down a Shadowsocks traffic leak 3 min
  19. Using a C file in a Swift Framework: an exploration 11 min

20189 notes

  1. UserDefaults and Keychain 5 min
  2. Making a "Send to 2Do" Safari bookmarklet 1 min
  3. My reading workflow 3 min
  4. Testing Swift code that uses system singletons in 3 easy steps 4 min
  5. Avoiding singletons in Swift 6 min
  6. Different flavors of dependency injection in Swift 6 min
  7. My favourite Mac apps 6 min
  8. What is LLVM 8 min
  9. In-app purchase 8 min

20178 notes

  1. Dependency injection using factories in Swift 6 min
  2. Modularising Xcode projects 10 min
  3. Handling non-optional optionals in Swift 6 min
  4. Understanding responders and the responder chain 4 min
  5. Capturing objects in Swift closures 6 min
  6. @autoclosure && @escape 4 min
  7. Everything you need to know about iOS 10 notifications 9 min
  8. Reading "Garbage Collection: Algorithms and Implementations" 1 min

201516 notes

  1. Building an elastic view animation with UIBezierPath 8 min
  2. A bit about Category in Objective-C 7 min
  3. Understanding the Objective-C runtime 20 min
  4. How we built the Guillotine menu animation for iOS 6 min
  5. [28] Implement strStr() 3 min
  6. [257] Binary Tree Paths 1 min
  7. [018] Length Of Last Word 1 min
  8. iOS remote push notifications: a deployment walkthrough 10 min
  9. Notes on singly linked lists 5 min
  10. [151] Reverse Words in a String 1 min
  11. Two Sum 3 min
  12. [160] Intersection of Two Linked Lists 5 min
  13. Notes on Lambda 4 min
  14. [152] Maximum Product Subarray 2 min
  15. Scala Day 2 6 min
  16. First post 1 min