The Curious Engineer

All blogs / Mobile / iOS / Android

Bruno Rocha

swiftrocks.com

SwiftRocks is Bruno Rocha's blog about Swift / iOS and the software engineering industry.

Mobile / iOS / AndroidPerformance / optimizationSoftware / engineering practice

Posts
106 from 7 Nov 2016 to 9 Aug 2026
Posting
monthly (6 in the last year)
Kind
personal blog
Feed
https://swiftrocks.com/rss.xml

2026 6

  1. Using AI while exercising your critical thinking
  2. Everything about my smart home and homelab setup
  3. A system prompt to get AI to stop pretending to be human
  4. I tried to record music onto a cassette tape using modern tech
  5. Digitizing photos from the 1998 Game Boy Camera
  6. How my software engineering workflow has changed in the past year

2025 5

  1. I upgraded all of my home networking equipment
  2. Reducing email spam with a domain and catch-all aliases
  3. How I'm using AI to improve my software engineering productivity (and why it will not steal your job)
  4. Things that did (and didn't) contribute to Burnout Buddy's success
  5. My Home Automation setup

2024 9

  1. What happens when you move a file in git?
  2. Focus not on the task, but on the problem behind the task
  3. Working at startups vs large companies
  4. My process for learning new languages
  5. What are mobile release engineering teams and when do you need one? (Runway)
  6. Recommended WWDC24 Sessions
  7. Using @_silgen_name to forward declare functions in Swift and improve build times
  8. Software engineering book recommendations
  9. What the hell are passkeys? (Runway)

2023 2

  1. See all posts
  2. game recs

2022 12

  1. Are your frameworks bulletproof?
  2. What's the "any" keyword? Understanding Type Erasure in Swift
  3. Using a Macbook Pro as a gaming console
  4. Sentiment Analysis with NSTagger: Ranking popular subreddits by the negativity/hostility of its comments
  5. Thoughts on SwiftUI vs UIKit
  6. Understanding Certificates and iOS Provisioning Profiles
  7. Performance Trace Profiles in iOS: Debugging performance issues you can't reproduce
  8. Faster iOS performance debugging with ETTrace
  9. How async/await works internally in Swift
  10. How necessary are the programming fundamentals?
  11. There is no right or wrong in software engineering
  12. Focus on concepts, not approaches

2021 17

  1. Detecting Broken Constraints in Swift
  2. How To Solve Any iOS Crash Ever
  3. Enabling Module Stability in Swift Package Manager Projects
  4. Unit Testing Weak References / Retain Cycles in Swift
  5. Solving CPU Usage Crashes with Xcode's Energy Organizer
  6. How AsyncSequence works internally in Swift
  7. Reverse engineering a 5 year old Xcode issue
  8. Swift's Documentation Markup
  9. Adding Intelligent Code Generation to Swift Projects with SourceKit
  10. StaticString, and how it works internally in Swift
  11. Extending / Creating Combine Publishers the Right Way
  12. Benchmarking Swift Code Properly with Attabench
  13. How Actors Work Internally in Swift
  14. Creating 3D Models from Photographs with RealityKit in Swift
  15. Thread Safety in Swift
  16. Creating a licensing system for paid apps in Swift
  17. Be careful with Obj-C bridging in Swift

2020 21

  1. Understanding @inlinable in Swift
  2. DispatchSource: Detecting changes in files and folders in Swift
  3. How Swift API Availability Works Internally
  4. UI Testing Deeplinks and Universal Links in iOS
  5. Improving Observer Pattern APIs in Swift With Weak Collections
  6. App Attest: How to prevent an iOS app's APIs from being abused
  7. Entry Points in Swift: How @main and @UIApplicationMain work internally
  8. Adapting Objective-C APIs to Swift with NS_REFINED_FOR_SWIFT
  9. Creating Debug Menus in Swift with UIContextMenuInteraction
  10. How to create Widgets in iOS 14 in Swift
  11. Benefits of using throwing functions (try) - Swift's most underrated feature?
  12. How Random Numbers Work In Swift
  13. Unit Testing Preprocessor Macros in Swift
  14. Weak Dictionary Values in Swift
  15. Understanding Swift's ObjectIdentifier
  16. Useful Global Swift Functions
  17. How Collection Diffing works in Swift
  18. Swift Codable: Decoding / Encoding With Context
  19. Reducing iOS Build Times by using Interface Modules
  20. How Hashable works in Swift
  21. Using Type Erasure to Build a Dependency Injecting Routing Framework in Swift

2019 17

  1. Faster Array Operations With CollectionOfOne in Swift
  2. How OptionSet works inside the Swift Compiler
  3. NSCopying uses in Swift
  4. Swift's Sequence Inside The Compiler: How for loops work internally
  5. Building a Face Detecting Robot with URLSessionWebSocketTask, CoreML, SwiftUI and an Arduino
  6. Using SIMD Vector Types in Swift
  7. Timsort and Introsort: Swift's Sorting Algorithms
  8. Advanced lldb tricks for Swift - Injecting and changing code on the fly
  9. Swift ExpressibleBy protocols: What they are and how they work internally in the compiler
  10. Useful (and obscure!) Foundation types in Swift
  11. Understanding Opaque Return Types in Swift
  12. Inside SwiftUI's Declarative Syntax's Compiler Magic
  13. autoreleasepool uses in Swift
  14. Avoiding Release Anxiety 2: On the importance of creating a code Style Guide
  15. Avoiding Release Anxiety 1: Block-based UI Testing in Swift
  16. iOS Responder Chain: UIResponder, UIEvent, UIControl and uses
  17. Adding iOS Home Shortcuts to Specific Parts of An App in Swift

2018 16

  1. Avoiding Callback Hell in Swift
  2. How @dynamicMemberLookup Works Internally in Swift (+ Creating Custom Swift Attributes)
  3. How Never Works Internally in Swift
  4. What's .self, .Type and .Protocol? Understanding Swift Metatypes
  5. Running Other Apps' Siri Shortcuts Through Deeplinks in Swift
  6. How CaseIterable Works Internally in Swift
  7. Swift Associated Types With Default Values
  8. Lazy Sequences in Swift And How They Work
  9. Writing Custom Pattern Matching in Swift
  10. Writing Cleaner View Code in Swift By Overriding loadView()
  11. The Forbidden @inline Attribute in Swift
  12. Competitive Programming With Swift
  13. Unowned Properties in Swift
  14. Memory Management and Performance of Value Types
  15. Understanding DispatchQueues
  16. Detecting TouchID fingerprint/FaceID face changes

2016 1

  1. iOS Security: Reverse Engineering Messenger's Chat Bubbles