{"data":{"allPost":{"edges":[{"node":{"slug":"/post/2022/08/using-functional-binding-to-observe-in-swiftui-19a8","title":"Using Functional Binding to Observe in SwiftUI","subtitle":"","isPublished":true,"createdTime":"2022-08-19T00:00:00.000Z","lastModifiedTime":null,"license":null,"tags":["SwiftUI","Binding","Swift","Observer"],"category":"Programming","file":{"childMdx":{"excerpt":"Story This week, my colleague asked me a question: how to observe user selection\nbehaviors on SwiftUI's  Picker ? This is a question came from real bussiness. Thus I think it worth to take\nme time to solve it. The example code is as shown below and my colleague wanted to observe user's\nbehaviors on…"}}}},{"node":{"slug":"/post/2023/01/a-study-of-llvm-adt-ilist-iplist-and-simple-ilist-938d","title":"A Study of LLVM ADT: ilist, iplist and simple_ilist","subtitle":"","isPublished":true,"createdTime":"2023-01-15T00:00:00.000Z","lastModifiedTime":null,"license":null,"tags":["LLVM","ADT","C++"],"category":"Programming","file":{"childMdx":{"excerpt":"Introduction ilist  is an intrusive double-linked list -- which means that each linked node stores its data and the node pointers in the same structure. There is no such kind of linked-list implemented containers shipped with the C++ standard library. iplist  is a purely intrusive list. Currently…"}}}},{"node":{"slug":"/post/2025/09/build-your-first-agentic-loop-9d22","title":"Build Your First 24/7 Agentic Loop","subtitle":"","isPublished":true,"createdTime":"2025-09-25T00:00:00.000Z","lastModifiedTime":null,"license":null,"tags":["AI","Agent"],"category":"Programming","file":{"childMdx":{"excerpt":"Fun fact:  My Claude Code usage reached  USD 3,000  in September, 2025. That's because I've been running Claude Code inside a\n 24/7 agentic loop  to power my side project. While I sleep, the loop\nevaluates, spawns subagents, and keeps moving forward. When I wake up,\nprogress is already made. But the…"}}}},{"node":{"slug":"/post/2023/08/swift-macro-revisited-the-strengths-and-essence-a5a4","title":"Swift Macro: Revisited - The Strengths and Essence","subtitle":"","isPublished":true,"createdTime":"2023-08-08T00:00:00.000Z","lastModifiedTime":null,"license":null,"tags":["Swift","Macro"],"category":"Programming","file":{"childMdx":{"excerpt":"From the sessions at WWDC 2023, we learned that Swift Macro aims to: Eliminate boilerplates Make tedious things easy Share with other developers in packages However, these goals aren't unique to Swift Macro. They are common\nobjectives for many code reuse methods in Swift, such as functions, types…"}}}},{"node":{"slug":"/post/2023/03/adapting-reference-semantics-model-in-swiftui-the-basics-f521","title":"Adapting Reference Semantics Model in SwiftUI - The Basics","subtitle":"","isPublished":true,"createdTime":"2023-03-02T00:00:00.000Z","lastModifiedTime":null,"license":null,"tags":["SwiftUI","Swift","Adaptor","Reference Semantics","Binding"],"category":"Programming","file":{"childMdx":{"excerpt":"Introduction Recently, one of my colleagues had been struggling with porting reference semantics model to SwiftUI with  ObservableObject  and  @StateObject . In this post, since there are many examples talked about porting reference semantics models to SwiftUI this way on the Internet, I'm not going…"}}}},{"node":{"slug":"/post/2025/03/when-the-swift-compiler-deleted-code-in-stdlib-9067","title":"When the Swift Compiler Deleted Code in Stdlib - A Note of Fixing the Eliminate Redundant Load Pass in Swift 6","subtitle":"","isPublished":true,"createdTime":"2025-03-09T00:00:00.000Z","lastModifiedTime":null,"license":null,"tags":["Swift","Compiler"],"category":"Programming","file":{"childMdx":{"excerpt":"Latest updated: Apple has accepted the fix for this issue. The final\nsolution was adjusted following a review by the relevant code owner. Right before the Chinese New Year vacation of the Year of the Snake, a\ncolleague showed me a mysterious crash caused by a use-after-free error.\nRecently, I found…"}}}},{"node":{"slug":"/post/2025/08/the-cupertino-ghost-in-the-machine-9ee3","title":"The Cupertino Ghost in the Machine: An Analysis of Xcode's New AI Assistant","subtitle":"","isPublished":true,"createdTime":"2025-08-31T00:00:00.000Z","lastModifiedTime":null,"license":null,"tags":["AI","Developer Tools","Xcode"],"category":"Programming","file":{"childMdx":{"excerpt":"My journey into the internals of Xcode 26’s new AI assistant began not with a bug, but with a feature so persistent it felt like a personality. The animations and design of Xcode have never been better, a testament to Apple's polish. Yet, interacting with the new intelligence features felt…"}}}},{"node":{"slug":"/post/2023/08/swift-macro-revisited-traps-and-pitfalls-1034","title":"Swift Macro: Revisited - Traps and Pitfalls","subtitle":"","isPublished":true,"createdTime":"2023-08-10T00:00:00.000Z","lastModifiedTime":null,"license":null,"tags":["Swift","Macro"],"category":"Programming","file":{"childMdx":{"excerpt":"In the previous post, we learned the strengths and the essence that\nuniquely define the Swift Macro. The examples in that post work so far so\ngood. However, can we be confident and bold, implementing any Swift macros\nwe want now? No. The features that bring Swift Macro advantages also introduce…"}}}}]}},"pageContext":{"slug":"/category/programming","locale":null,"title":"Programming","showsPageTitle":true,"keywords":["WeZZard","Pieces of My Soul"],"description":"","items":["438483cf-5de1-57bb-b6e0-3e08ec97bbe3","62c9b374-86f3-5a74-b008-dd3b3ed47e67","a1a051bd-7086-59a6-83e9-167b8d7512f2","5dad251c-7c9d-519a-89a1-db4f32ea4fcb","f2b372f7-8c6e-5cc2-9792-84dc1fac5aa9","e508707d-f31e-5d24-b1ac-2b6a1b6155fc","644e5f5d-bcdf-5700-9877-34088a7af8e8","e1149583-4058-5dd4-8fc3-25534469b2b2"],"paginationInfo":{"basePath":"/category/programming","pageIndex":0,"pagesCount":2,"previousPageTitle":"Earlier Posts","nextPageTitle":"Later Posts"}}}