Swift Pointers Overview: Unsafe, Buffer, Raw and Managed Pointers
A systematic guide to Swift's complex pointer types, explaining their purpose, usage, and the associated memory safety considerations.
A systematic guide to Swift's complex pointer types, explaining their purpose, usage, and the associated memory safety considerations.
Explains that assigning large slices in Go is not more expensive than small ones, as all slices are the same size (three machine words).
A retrospective on KnightOS, a Unix-like operating system written in assembly for TI z80 calculators, focusing on its unique constraints and design.
A conference talk exploring .NET memory management concepts, the Garbage Collector, hidden allocations, and profiling techniques.
Explains how to use lazy properties in Swift to delay object creation, improve performance, and avoid optionals, with practical code examples.
Explores subtle and rarely discussed unbreakable reference cycles in Swift's memory management, detailing how they cause leaks and offering advanced insights.
A talk recap on .NET's Garbage Collector, memory management concepts, hidden allocations, and performance profiling.
Explains virtual memory, MMU, page tables, and how processes use memory mapping and swap space.
Explores a Swift compiler bug where re-binding 'self' in a weak closure breaks Xcode debugging, with historical context on weak/strong self patterns.
A developer shares advanced debugging techniques for tracking retain/release crashes in Objective-C, including custom GCD wrappers and queue tracking.
Compares assignment operations and parameter passing in C (copying) vs. CPython (binding), focusing on mutable/immutable data.
Explains how data is represented as objects in CPython, covering types, identity, binding, and mutability.
An introduction to fundamental data types, variables, memory addresses, and pointers in the C programming language.
Explains the implementation details and changes to weak references in Swift 4, comparing the old and new runtime behavior.
Explains Swift's Unmanaged struct for converting Swift object references to/from raw pointers when working with C APIs.
Explains the Span<T> type in C# for safe, high-performance memory manipulation across stack, unmanaged, and managed memory.
An in-depth look at how the .NET CLR allocates and uses internal memory, exploring its data structures beyond managed code.
Explains the performance differences between value types and reference types in .NET, focusing on memory layout, CPU cache, and garbage collection.
Explains an object-oriented approach to reading large files line by line in PHP, comparing it to generator functions and file_get_contents.
A Swift developer introduces a 'strongify' function to simplify and clean up the common pattern of weak-strong dancing when avoiding retain cycles in closures.