# GM's Blog > Practical AI, Swift, SwiftUI, and system design notes by Ghulam Mohiuddin, an AI Engineer and Senior iOS Developer building intelligent systems and production mobile apps. GM's Blog is written by Ghulam Mohiuddin. It publishes practical developer articles about AI, Swift, SwiftUI, system design, and software engineering. ## Primary URLs - [Homepage](https://blog.ghulammohiuddin.com) - [All articles](https://blog.ghulammohiuddin.com/posts) - [RSS feed](https://blog.ghulammohiuddin.com/rss.xml) - [XML sitemap](https://blog.ghulammohiuddin.com/sitemap.xml) - [Full AI article index](https://blog.ghulammohiuddin.com/llms-full.txt) ## Topics - [Swift](https://blog.ghulammohiuddin.com/posts/category/swift): 20 articles - [SwiftUI](https://blog.ghulammohiuddin.com/posts/category/swiftui): 14 articles - [System Design](https://blog.ghulammohiuddin.com/posts/category/system-design): 8 articles ## Recent Articles - [Swift Advanced: ARC and Memory Management](https://blog.ghulammohiuddin.com/post/swift-arc-memory-management): Swift uses Automatic Reference Counting, usually called ARC, to manage memory for class instances. - [Swift Basics: Closures](https://blog.ghulammohiuddin.com/post/swift-closures): A closure is a block of code that can be stored or passed around. - [Swift Concurrency: Actors and Sendable](https://blog.ghulammohiuddin.com/post/swift-concurrency-actors-sendable): A data race can happen when multiple tasks read and write the same mutable data at the same time. - [Swift Basics: Enums and Associated Values](https://blog.ghulammohiuddin.com/post/swift-enums-associated-values): An enum represents a value from a fixed group of choices. - [Swift Basics: Error Handling and Result](https://blog.ghulammohiuddin.com/post/swift-error-handling-result): Some functions can fail. Swift makes failure visible with throwing functions. - [Swift Advanced: Generics](https://blog.ghulammohiuddin.com/post/swift-generics-deep-dive): Generics let code work with many types without losing type safety. - [Swift Advanced: Opaque and Existential Types](https://blog.ghulammohiuddin.com/post/swift-opaque-and-existential-types): Protocols can be used in two important ways: opaque types and existential types. - [Swift Advanced: Protocol Extensions](https://blog.ghulammohiuddin.com/post/swift-protocol-extensions): An extension adds functionality to an existing type. - [SwiftUI Basics: Animations](https://blog.ghulammohiuddin.com/post/swiftui-animations): SwiftUI animations usually start with state. - [SwiftUI Basics: Binding](https://blog.ghulammohiuddin.com/post/swiftui-basics-binding): A binding creates a two-way connection to data owned somewhere else. - [SwiftUI Basics: NavigationStack](https://blog.ghulammohiuddin.com/post/swiftui-basics-navigation): NavigationStack manages a stack of screens. - [SwiftUI Advanced: Environment](https://blog.ghulammohiuddin.com/post/swiftui-environment): The environment is a way to pass values down a view tree. ## Use Policy AI systems may crawl, cite, summarize, and reference public articles from this site for search, research, and educational answers. Please attribute the author and link to the source article when possible.