Apple Codesigning In Depth: Part II
The second of a multi-part series covering Apple codesigning in depth. This post covers odd corner cases with code signing, how to interrogate a code signature, and how to debug signing issues.
The second of a multi-part series covering Apple codesigning in depth. This post covers odd corner cases with code signing, how to interrogate a code signature, and how to debug signing issues.
Personal reflections on how 2025 has gone for me, the things I've done, the things I've learned, and considerations of what might be next.
Personal reflections on how 2024 has gone for me, the things I've done, the things I've learned, and considerations of what might be next.
The first of a multi-part series covering Apple codesigning in depth. This post covers the fundamental concepts around codesigning on Apple platforms.
An introduction to the trie data structure, covering how prefix trees work, when to use them over other structures, and how trie operations work.
A step-by-step explanation and derivation of Karatsuba multiplication, comparing it with long multiplication to understand how divide-and-conquer speeds things up.
How Clang implements automatic reference counting - covering the parser, semantic analyzer, and code generator to understand how ownership qualifiers and annotations turn into retain and release ca...
First part of in depth look at automated reference counting - talks about how reference counting is implemented in the Objective-C runtime
A deep dive into how Ruby implements its object model under the hood focusing on inheritance chains, method lookup, and the runtime internals that put it all together.
A guide to Automatic Reference Counting in Objective-C and Swift covering how ARC works, ownership qualifiers, retain cycles, bridged casts, and common pitfalls to avoid.