Hey there, welcome to Always Processing, a place where we explore many aspects of software development in detail. To browse the blog content, head over to the All Posts page, where you'll find links to everything I've written so far.
Currently, the site focuses on Objective-C and iOS, but I plan to cover more topics soon, like Swift, Rust, C++, macOS, Xcode, and Visual Studio Code. Also, expect to hear some fun anecdotes as I recall experiences from my career in software development.
But this isn't just about code—it's about the passion for exploring the ins and outs of how things work. From debugging to discovering new tricks, I'm excited to share my experiences with you. And as a work in progress, I'm always open to your feedback and ideas for future posts. So be sure to check out my contact information on the About page and drop me a line.
Thanks for stopping by, and happy coding!
Objective-C Internals: Release
Although release is "just" the logical inverse of retain, its implementation is much more complex, primarily due to the ARM synchronization model. This post explores the unique aspects of the release implementation (relative to retain), focusing on the memory ordering requirements on ARM.
Objective-C Internals: Retain
Objective-C memory is managed through a reference counting scheme, which has evolved from a relatively simple API into a sophisticated, highly-optimized implementation while maintaining source and ABI compatibility.
Home Lab: The Accidental System
I didn’t set out to build a home lab, but one emerged anyway. This post shares the choices I made to solve one-off problems and how those choices accumulated into a surprisingly large collection of hardware and services.