Logging in Swift
A guide to implementing a protocol-oriented, testable logging system in Swift without leaking dependencies or using singletons.
Krzysztof Zabłocki (merowing_) is a Principal Engineer focused on developer experience and solving complex engineering problems. He builds award-winning apps and tools used by thousands of teams and shares insights on modern development, tooling, and LLM-assisted workflows.
79 articles from this blog
A guide to implementing a protocol-oriented, testable logging system in Swift without leaking dependencies or using singletons.
A programmer reflects on the nature of programming, the value of learning multiple technologies, and the importance of passion and teamwork for a sustainable career.
Explains how FlowControllers can improve iOS app architecture by managing navigation and presentation logic, reducing dependencies and spaghetti code.
Tips and tools for iOS developers to improve productivity in Xcode, including user breakpoints, plugins, and hidden settings.
A technical guide on implementing advanced iOS UI animations like folding, shaking, and button states using Core Animation's 3D transforms.
A developer explains how to create a custom Xcode plugin in Swift to add clickable file links in the console log output.
A technical tutorial on recreating Headspace's animated, imperfect dot logo using iOS graphics and CAShapeLayer.
Explores solutions for splitting Swift initializer logic into functions while adhering to Swift's initialization safety rules.
Tips for using Interface Builder in iOS development to reduce boilerplate code, covering Storyboards, XIBs, and custom references.
A technical tutorial on implementing a floating burger menu animation in iOS using CAShapeLayer and CoreAnimation.
A tutorial on using Ruby and the Mechanize gem to scrape personal fitness data from MyFitnessPal when API access is unavailable.
Introducing Playgrounds for Objective-C, enabling real-time code testing and rapid prototyping similar to Swift's feature.
A senior developer shares his 20-year philosophy on client-focused work, team consistency, and uncompromising code quality practices.
A technical tutorial using Swift code to model and calculate caloric needs for fitness goals, explaining BMR and activity factors.
A developer shares techniques for writing cleaner, more readable code by reducing duplication and using assertions and macros effectively.
A guide to implementing a custom Observable property wrapper in Swift, covering API design, type conversion, and current language limitations.
Explores using Xcode 6's IBInspectable feature to create visual editors for custom Behaviours, improving the Interface Builder workflow.
A technical tutorial on implementing an interactive image comparison/split view in iOS using CoreAnimation, CAShapeLayer, and gesture recognizers.
A technical guide on designing a modular iOS app architecture for data parsing, using libraries like CoreData and AFNetworking.
Explores advanced refactoring techniques like dictionary mappings and block-based dynamic mapping to simplify and clean up code, making it more readable and maintainable.