41554 blogs · [ { "id": "01a087a4-7397-71a1-8ccd-2b50850c573a", "title": "What Does a Database Migration Mean?", "url": "https://mfaani.com/posts/server/what-does-a-database-migration-mean/", "published_at": "2026-08-23T15:17:52+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b50856826f5", "title": "A Framework to Make Decisions Faster as a Lead Software Engineer", "url": "https://mfaani.com/posts/career/a-framework-to-make-decisions-faster-as-a-lead-software-engineer/", "published_at": "2026-08-12T04:53:53+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b5085f7699b", "title": "How to Use Git Worktree? And How It's used by AI Agents?", "url": "https://mfaani.com/posts/ai/how-to-use-git-worktree-and-how-its-used-by-ai-agents/", "published_at": "2026-08-09T20:04:00+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b5086f3ffbc", "title": "When to Use AGENTS.override.md?", "url": "https://mfaani.com/posts/ai/when-to-use-agents-override/", "published_at": "2026-08-06T20:34:08+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b5087926247", "title": "xcodebuild for AI", "url": "https://mfaani.com/posts/ai/xcodebuild-for-ai/", "published_at": "2026-07-11T19:04:43+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b5088093b46", "title": "How the mental cost of AI can be reduced over time and type of usage?", "url": "https://mfaani.com/posts/ai/how-the-emotional-and-human-cost-of-ai-varies-based-on-time-and-type-of-usage/", "published_at": "2026-07-07T14:17:40+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b508863f5b6", "title": "Part 1 - State Drive Nagiation: Overview", "url": "https://mfaani.com/posts/architecture/1-statedriven-navigation-overview/", "published_at": "2025-12-03T07:26:45+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b50892f5a98", "title": "Part 2 - State Driven Navigation: Tutorial", "url": "https://mfaani.com/posts/architecture/2-statedriven-navigation-tutorial/", "published_at": "2025-12-02T07:26:45+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b50895f2731", "title": "What does actor reentrancy mean?", "url": "https://mfaani.com/posts/swift/concurrency/what-does-actor-reentrancy-mean/", "published_at": "2025-11-11T10:35:05+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b5089f1ebd5", "title": "Systems Design - Pagination", "url": "https://mfaani.com/posts/interviewing/system-design/pagination/", "published_at": "2025-11-06T07:55:58+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b508aa4c851", "title": "High Level Anatomy of a Camera Capturing Session", "url": "https://mfaani.com/posts/ios/swiftui-camera-learnings/", "published_at": "2025-08-02T15:57:25+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b508ae174e0", "title": "What Is a Suspension Point In Swift?", "url": "https://mfaani.com/posts/swift/concurrency/what-is-a-suspension-point/", "published_at": "2025-07-10T17:48:29+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b508bc38e42", "title": "Live Activities Part 1 - Problem Statement", "url": "https://mfaani.com/posts/liveactivities/1-intro/", "published_at": "2025-04-16T12:00:04+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b508bf70c56", "title": "Live Activities Part 2 - The missing doc", "url": "https://mfaani.com/posts/liveactivities/2-the-missing-doc/", "published_at": "2025-04-16T12:00:03+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b508cb09c72", "title": "Live Activities Part 3 - Development", "url": "https://mfaani.com/posts/liveactivities/3-development/", "published_at": "2025-04-16T12:00:02+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b508d1f2f15", "title": "Live Activities Part 4 - Debugging", "url": "https://mfaani.com/posts/liveactivities/4-debugging/", "published_at": "2025-04-16T12:00:01+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b508df6ec5a", "title": "Live Activities Part 5 - The Update Token Problem", "url": "https://mfaani.com/posts/liveactivities/5-product-decisions/", "published_at": "2025-04-16T12:00:00+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b508e53f073", "title": "Swift Actors: few random notes", "url": "https://mfaani.com/posts/swift/concurrency/swift-actors-a-few-random-notes/", "published_at": "2025-04-11T14:35:05+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b508e5533fe", "title": "Interviewing - Final Round Learnings", "url": "https://mfaani.com/posts/interviewing/final-round-learning/", "published_at": "2025-03-06T07:55:58+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b508e9797f9", "title": "Symmetric Tree", "url": "https://mfaani.com/posts/interviewing/trees/symmetric-tree/", "published_at": "2025-01-12T19:13:27+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b508e99dd2e", "title": "Separate Devices, Better Life: Why Personal Freedom Beats Using Your Work MacBook", "url": "https://mfaani.com/posts/career/why-you-should-not-use-companys-macbook-for-personal-usage/", "published_at": "2024-12-18T23:10:19+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b508e9c228d", "title": "How to Get Into Software Engineering", "url": "https://mfaani.com/posts/career/how-to-get-into-software-engineering/", "published_at": "2024-12-13T03:07:25+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b508f333954", "title": "Why Can't You Loop Over Ranges of Characters in Swift", "url": "https://mfaani.com/posts/swift/why-cant-you-loop-over-ranges-of-characters-in-swift/", "published_at": "2024-11-30T18:38:24+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b5090230922", "title": "How Quantifying Impact Helps Your Career Growth", "url": "https://mfaani.com/posts/career/how-quantifying-impact-helps-your-career-growth/", "published_at": "2024-11-15T17:22:07+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b5090a26bc9", "title": "How Do Binaries work together? What breaks ABI?", "url": "https://mfaani.com/posts/devtools/binaries/how-do-binaries-work-together/", "published_at": "2024-10-20T19:22:35+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b5090b5fe18", "title": "Some vs Any", "url": "https://mfaani.com/posts/swift/some-vs-any/", "published_at": "2024-07-17T18:26:39+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b5090e8cf00", "title": "Hugo Post Formatting Basics", "url": "https://mfaani.com/posts/content-creation/everything-i-learned-from-blogging-with-hugo/hugo-post-formatting/", "published_at": "2024-05-03T08:17:58+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b5091ab89d9", "title": "Hugo High Level", "url": "https://mfaani.com/posts/content-creation/everything-i-learned-from-blogging-with-hugo/hugo-high-level/", "published_at": "2024-04-30T08:17:58+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b509219670d", "title": "Being First is a Game Changer", "url": "https://mfaani.com/posts/career/being-first-is-a-game-changer/", "published_at": "2024-02-28T13:56:08+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b509292432d", "title": "The effect of direction on recursion and understanding code - Longest Common Subsequence", "url": "https://mfaani.com/posts/interviewing/dynamic-programming/the-effect-of-direction-on-recursion-and-understanding-code/", "published_at": "2023-12-02T22:34:13+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b5092b6b8e2", "title": "Asteroids Collision", "url": "https://mfaani.com/posts/interviewing/arrays/asteroids-collision/", "published_at": "2023-11-20T14:00:08+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b509331d6bc", "title": "How Many Envelopes Can You Fit Into Another?", "url": "https://mfaani.com/posts/interviewing/dynamic-programming/how-many-envelopes-can-you-fit-into-another/", "published_at": "2023-11-12T14:40:49+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b50942aedc5", "title": "Longest Increasing Subsequence Length", "url": "https://mfaani.com/posts/interviewing/dynamic-programming/longest-increasing-subsequence-length/", "published_at": "2023-11-12T00:30:38+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b5094f5ef89", "title": "Tips for post creation", "url": "https://mfaani.com/posts/content-creation/everything-i-learned-from-blogging-with-hugo/how-to-start-writing-a-post/", "published_at": "2023-10-01T08:17:58+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b509594d6ac", "title": "Tree Basics and some Swift helpers for leetcode", "url": "https://mfaani.com/posts/interviewing/trees/tree-basics/", "published_at": "2023-09-11T15:16:01+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b5095cb837d", "title": "How Can I Inspect the Size Impact of Symbols in an App Binary: A Practical Guide for Apple Developers", "url": "https://mfaani.com/posts/devtools/optimizing-app-size/how-can-i-inspect-the-size-impact-of-symbols-in-an-app-binary/", "published_at": "2023-08-11T20:21:06+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b509600f008", "title": "Optimizing Binaries - How Does the Linker Help Reduce App Size? What are the different types of linking - Part Two", "url": "https://mfaani.com/posts/devtools/optimizing-app-size/how-does-the-linker-help-reduce-app-size-part-two/", "published_at": "2023-07-04T20:04:28+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b509667bb5b", "title": "Optimizing Binaries - How Does the Linker Help Reduce App Size? What are the different types of linking - Part One", "url": "https://mfaani.com/posts/devtools/optimizing-app-size/how-does-the-linker-help-reduce-app-size-part-one/", "published_at": "2023-07-04T20:04:27+00:00" }, { "id": "01a087a4-7397-71a1-8ccd-2b5096de34ae", "title": "Optimizing Binaries - Build Pipeline Jargon", "url": "https://mfaani.com/posts/devtools/optimizing-app-size/jargon/", "published_at": "2023-05-31T14:03:27+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44dfcbf81c", "title": "Optimizing Binaries - High Level Xcode Build Pipeline", "url": "https://mfaani.com/posts/devtools/optimizing-app-size/build-pipeline/", "published_at": "2023-05-03T20:01:27+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44e04d9c02", "title": "Whats the Difference Between an App (bundle) and a Binary", "url": "https://mfaani.com/posts/devtools/whats-the-difference-between-an-app-bundle-and-a-binary/", "published_at": "2023-03-28T04:00:37+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44e133ad99", "title": "The power and expressiveness of Swift ranges", "url": "https://mfaani.com/posts/swift/the-power-and-expressiveness-of-swift-ranges/", "published_at": "2023-03-10T14:51:10+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44e1d35aaf", "title": "How cp case-insensitivity can cause chaos!", "url": "https://mfaani.com/posts/devtools/how-cp-case-insensitivity-can-cause-chaos/", "published_at": "2022-12-07T02:20:30+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44e2313104", "title": "How to Think Recursively - Part 2", "url": "https://mfaani.com/posts/interviewing/how-to-think-recursively-part2/", "published_at": "2022-11-15T21:46:46+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44e2f8f029", "title": "How to Think Recursively - Part 1", "url": "https://mfaani.com/posts/interviewing/how-to-think-recursively-part1/", "published_at": "2022-11-15T17:15:37+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44e33bede6", "title": "Why does pod lib lint suddenly fail to build?", "url": "https://mfaani.com/posts/devtools/why-does-pod-lib-lint-fail-suddenly-fail-to-build/", "published_at": "2022-10-24T14:57:20+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44e41caa36", "title": "How Understanding State Machines Helps With Building Trees and Graphs", "url": "https://mfaani.com/posts/interviewing/how-understanding-state-machines-helps-with-building-trees-and-graphs/", "published_at": "2022-10-06T12:54:48+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44e4c7f031", "title": "What Resources Does Apple Provide for teaching iOS to students?", "url": "https://mfaani.com/posts/training/what-resources-does-apple-provide-for-teaching-ios-to-students/", "published_at": "2022-09-21T17:45:52+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44e56489dc", "title": "Which Way Am I Sorting?", "url": "https://mfaani.com/posts/interviewing/arrays/which-way-am-i-sorting/", "published_at": "2022-08-03T12:19:26+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44e57a8b41", "title": "Recover Binary Tree", "url": "https://mfaani.com/posts/interviewing/recover-binary-tree/", "published_at": "2022-06-27T13:29:51+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44e5f75768", "title": "How to Calculate the Middle Index?", "url": "https://mfaani.com/posts/interviewing/how-to-calculate-the-middle-index/", "published_at": "2022-06-20T02:55:27+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44e6944656", "title": "Unicode Security", "url": "https://mfaani.com/posts/unicode-security/", "published_at": "2022-06-17T04:06:40+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44e7725561", "title": "Compress String", "url": "https://mfaani.com/posts/interviewing/challenges/compress-string/", "published_at": "2022-06-15T12:27:30+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44e80864e7", "title": "Check if Two Strings Are One Edit Away", "url": "https://mfaani.com/posts/interviewing/challenges/check-if-two-strings-are-one-edit-away/", "published_at": "2022-06-15T10:26:52+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44e8157672", "title": "Swift Strings for iOS interviewing", "url": "https://mfaani.com/posts/interviewing/string/", "published_at": "2022-06-12T18:49:48+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44e882018c", "title": "How to Prepare Yourself as a Podcast Guest?", "url": "https://mfaani.com/posts/content-creation/how-to-prepare-yourself-as-a-podcast-guest/", "published_at": "2022-05-12T09:10:04+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44e953aafa", "title": "What is a Self Contained Build Script?", "url": "https://mfaani.com/posts/what-is-a-self-contained-build-script/", "published_at": "2022-04-22T17:11:12+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44ea2c3941", "title": "CurrentValueSubject Example", "url": "https://mfaani.com/posts/currentvaluesubject-example/", "published_at": "2022-04-14T19:20:02+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44ea7475bd", "title": "How to cherry-pick a library fix?", "url": "https://mfaani.com/posts/how-to-cherry-pick-a-library-fix/", "published_at": "2022-04-05T16:22:16+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44eaf27eb1", "title": "Whats the Difference Between Unowned and Weak References?", "url": "https://mfaani.com/posts/whats-the-difference-between-unowned-and-weak-references/", "published_at": "2022-03-11T22:30:09+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44ebe6ba05", "title": "How (Fidelity) Stocks Work?", "url": "https://mfaani.com/posts/how-fidelity-stocks-work/", "published_at": "2022-03-03T02:50:44+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44ec3e8721", "title": "UIApplication BackgroundTasks Through The Lens of Closures", "url": "https://mfaani.com/posts/uiapplication-backgroundtasks-through-the-lens-of-closures/", "published_at": "2022-02-22T14:30:28+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44ed2ab513", "title": "How to Read Git Documentation", "url": "https://mfaani.com/posts/how-to-read-git-documentation/", "published_at": "2022-02-11T13:55:15+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44edf8118e", "title": "What is Manifest.lock File?", "url": "https://mfaani.com/posts/what-is-manifest.lock-file/", "published_at": "2022-02-09T11:47:16+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44ee54c3af", "title": "What is UITransitionView about?", "url": "https://mfaani.com/posts/what-is-uitransitionview-about/", "published_at": "2022-02-01T19:21:03+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44eea8f2c2", "title": "Why can't Xcode show the caller?", "url": "https://mfaani.com/posts/why-cant-xcode-show-caller/", "published_at": "2022-01-05T03:26:19+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44eedd4225", "title": "Swift Protocol Compile Time Check", "url": "https://mfaani.com/posts/swift-protocol-compile-time-check/", "published_at": "2021-12-30T19:25:11+00:00" }, { "id": "01a087a4-7398-7361-b9db-2b44ef656ebb", "title": null, "url": "https://mfaani.com/posts/ios/foreground-vs-background-runtime/", "published_at": null }, { "id": "01a087a4-7398-7361-b9db-2b44efece951", "title": "About", "url": "https://mfaani.com/about/", "published_at": null } ] posts Claim your blog
Back to mfaani.com
Blog · corpus.blog/blogs/mfaani.com/posts

mfaani.com

mfaani.com

2026

2025

2024

2023

2022

2021

Undated