54,302 blogs · [ { "id": "01a0c898-2fd2-730a-b1e2-1477c631871f", "title": "UIApplicationMain can choose an app delegate at runtime", "url": "https://scottberrevoets.com/til/uiapplicationmain-can-choose-an-app-delegate-at-runtime/", "published_at": "2026-09-17T07:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe26178f65a7", "title": "The foundations of a mobile platform", "url": "https://scottberrevoets.com/2026/08/11/the-foundations-of-a-mobile-platform/", "published_at": "2026-08-11T07:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe2617f89f83", "title": "Liquid Glass can be gradually rolled out", "url": "https://scottberrevoets.com/til/liquid-glass-can-be-gradually-rolled-out/", "published_at": "2026-07-10T07:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe2618b39fee", "title": "How GitHub handles Git LFS", "url": "https://scottberrevoets.com/2026/07/01/how-github-handles-git-lfs/", "published_at": "2026-07-01T07:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe26194afe57", "title": "ZeroVer is a (realistic) SemVer parody", "url": "https://scottberrevoets.com/til/zerover-is-a-realistic-semver-parody/", "published_at": "2026-05-09T07:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe26198fbd16", "title": "Objective-C enums can be string-backed... sort of", "url": "https://scottberrevoets.com/til/objective-c-enums-can-be-string-backed-sort-of/", "published_at": "2026-04-24T07:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe2619b0abb6", "title": "Swift's Optional has a take() function", "url": "https://scottberrevoets.com/til/optional-has-a-take-function/", "published_at": "2026-04-05T07:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe2619f7ab24", "title": "Claude can load files \"lazily\" or \"greedily\"", "url": "https://scottberrevoets.com/til/claude-can-load-files-lazily-or-greedily/", "published_at": "2026-03-20T07:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe261a6e67ba", "title": "Review your own AI-generated code", "url": "https://scottberrevoets.com/2026/03/20/review-your-own-ai-generated-code/", "published_at": "2026-03-20T07:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe261abed9dc", "title": "All in on Interface Builder: 10 years later", "url": "https://scottberrevoets.com/2026/03/02/all-in-on-interface-builder-10-years-later/", "published_at": "2026-03-02T08:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe261b7a37c0", "title": "macOS can remember SSH passphrases", "url": "https://scottberrevoets.com/til/macos-can-remember-ssh-passphrases/", "published_at": "2026-03-02T08:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe261c494df4", "title": "Scaling my git/tmux workflows for AI agents", "url": "https://scottberrevoets.com/2026/02/17/scaling-my-gittmux-workflows-for-ai-agents/", "published_at": "2026-02-17T08:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe261c7f7ef2", "title": "git can tell you ignored files, and why", "url": "https://scottberrevoets.com/til/git-can-tell-you-ignored-files-and-why/", "published_at": "2026-02-10T08:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe261c9af46c", "title": "There is a term for words like i18n and a11y", "url": "https://scottberrevoets.com/til/there-is-a-term-for-words-like-i18n-and-a11y/", "published_at": "2026-01-27T08:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe261d16684b", "title": "Localization troubles with Swift PM", "url": "https://scottberrevoets.com/2025/09/19/localization-troubles-with-swift-pm/", "published_at": "2025-09-19T07:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe261ddab02c", "title": "Managing code deprecations on iOS", "url": "https://scottberrevoets.com/2025/08/20/managing-code-deprecations-on-ios/", "published_at": "2025-08-20T07:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe261e69633d", "title": "Flywheel of tech debt", "url": "https://scottberrevoets.com/2025/07/02/flywheel-of-tech-debt/", "published_at": "2025-07-02T07:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe261e7f8a95", "title": "Art of the state", "url": "https://scottberrevoets.com/2025/06/02/art-of-the-state/", "published_at": "2025-06-02T07:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe261eb6d6ab", "title": "Composing a resume in markdown", "url": "https://scottberrevoets.com/2025/03/15/composing-a-resume-in-markdown/", "published_at": "2025-03-15T07:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe261ec38b05", "title": "Incremental complexity in iOS development", "url": "https://scottberrevoets.com/2025/02/03/incremental-complexity-in-ios-development/", "published_at": "2025-02-03T08:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe261f7a0318", "title": "Looking up words in a dictionary with Neovim", "url": "https://scottberrevoets.com/2024/12/08/looking-up-words-in-a-dictionary-with-neovim/", "published_at": "2024-12-08T08:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe2620569baa", "title": "Shifting the testing culture: Code coverage", "url": "https://scottberrevoets.com/2024/11/20/shifting-the-testing-culture-code-coverage/", "published_at": "2024-11-20T08:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe2620dd1db0", "title": "Shifting the testing culture: Infrastructure", "url": "https://scottberrevoets.com/2024/11/19/shifting-the-testing-culture-infrastructure/", "published_at": "2024-11-19T08:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe2621b973d7", "title": "Shifting the testing culture: Motivation", "url": "https://scottberrevoets.com/2024/11/18/shifting-the-testing-culture-motivation/", "published_at": "2024-11-18T08:00:00+00:00" }, { "id": "01a087dc-c128-71e6-99c5-fe2622682237", "title": "Migration strategies in large codebases", "url": "https://scottberrevoets.com/2022/11/15/migration-strategies-in-large-codebases/", "published_at": "2022-11-15T08:00:00+00:00" }, { "id": "01a087dc-c129-702f-afab-ff2de323d1ef", "title": "Human factors in choosing technologies", "url": "https://scottberrevoets.com/2022/09/28/human-factors-in-choosing-technologies/", "published_at": "2022-09-28T07:00:00+00:00" }, { "id": "01a087dc-c129-702f-afab-ff2de3f59542", "title": "Third-party libraries are no party at all", "url": "https://scottberrevoets.com/2022/07/15/third-party-libraries-are-no-party-at-all/", "published_at": "2022-07-15T07:00:00+00:00" }, { "id": "01a087dc-c129-702f-afab-ff2de49f5588", "title": "iOS Architecture at Lyft", "url": "https://scottberrevoets.com/2021/10/14/ios-architecture-at-lyft/", "published_at": "2021-10-14T07:00:00+00:00" }, { "id": "01a087dc-c129-702f-afab-ff2de4bd8e40", "title": "Re-binding self: the debugger's break(ing) point", "url": "https://scottberrevoets.com/2018/08/08/re-binding-self-the-debuggers-breaking-point/", "published_at": "2018-08-08T07:00:00+00:00" }, { "id": "01a087dc-c129-702f-afab-ff2de5a355fe", "title": "Using Interface Builder at Lyft", "url": "https://scottberrevoets.com/2017/03/06/using-interface-builder-at-lyft/", "published_at": "2017-03-06T08:00:00+00:00" }, { "id": "01a087dc-c129-702f-afab-ff2de5c19626", "title": "Keeping the Lyft iOS App Accessible", "url": "https://scottberrevoets.com/2017/01/18/keeping-the-lyft-ios-app-accessible/", "published_at": "2017-01-18T08:00:00+00:00" }, { "id": "01a087dc-c129-702f-afab-ff2de629f4b7", "title": "Silencing NSLog", "url": "https://scottberrevoets.com/2016/08/01/silencing-nslog/", "published_at": "2016-08-01T07:00:00+00:00" }, { "id": "01a087dc-c129-702f-afab-ff2de6561378", "title": "Outlets: strong! or weak?", "url": "https://scottberrevoets.com/2016/03/21/outlets-strong-or-weak/", "published_at": "2016-03-21T07:00:00+00:00" }, { "id": "01a087dc-c129-702f-afab-ff2de6d15483", "title": "@objc class prefixes fixed in Xcode 7 beta 4", "url": "https://scottberrevoets.com/2015/07/23/objc-class-prefixes-fixed-in-xcode-7-beta-4/", "published_at": "2015-07-23T07:00:00+00:00" }, { "id": "01a087dc-c129-702f-afab-ff2de7857524", "title": "The power of UIStackView", "url": "https://scottberrevoets.com/2015/06/13/the-power-of-uistackview/", "published_at": "2015-06-13T07:00:00+00:00" }, { "id": "01a087dc-c129-702f-afab-ff2de79115db", "title": "@objc creates a wrong class name in Objective-C", "url": "https://scottberrevoets.com/2014/12/15/objc-creates-a-wrong-class-name-in-objective-c/", "published_at": "2014-12-15T08:00:00+00:00" }, { "id": "01a087dc-c129-702f-afab-ff2de8300a23", "title": "Dev-only iPhones", "url": "https://scottberrevoets.com/2014/10/20/dev-only-iphones/", "published_at": "2014-10-20T07:00:00+00:00" }, { "id": "01a087dc-c129-702f-afab-ff2de903ff12", "title": "UIMenuController and the responder chain", "url": "https://scottberrevoets.com/2014/09/15/uimenucontroller-and-the-responder-chain/", "published_at": "2014-09-15T07:00:00+00:00" }, { "id": "01a087dc-c129-702f-afab-ff2de97665dd", "title": "Xcode & Objective-C Oddities", "url": "https://scottberrevoets.com/2014/08/10/xcode-objective-c-oddities/", "published_at": "2014-08-10T07:00:00+00:00" }, { "id": "01a087dc-c129-702f-afab-ff2dea6575f3", "title": "Objective-C prefixes: a thing of the past?", "url": "https://scottberrevoets.com/2014/07/25/objective-c-prefixes-a-thing-of-the-past/", "published_at": "2014-07-25T07:00:00+00:00" } ] posts Claim your blog
Back to scottberrevoets.com
Blog · corpus.blog/blogs/scottberrevoets.com/posts

scottberrevoets.com

scottberrevoets.com

2026

2025

2024

2022

2021

2018

2017

2016

2015

2014