@ihugo

Hello there

I turn thinking into simplicity, architecture into adaptability, and quality into time. I write about iOS, software engineering, tools, and the long work of building better systems.

Recent Posts

  • Refactoring the Neo4J Cache Layer

    Last week was almost entirely firefighting. We use Neo4J as our graph query backend, and to speed things up we had been caching a large volume of relationship data in Redis. The problem: the cache kept growing, and so did the AWS bill.

  • How I Improved CoreText Rendering to 60 FPS

    Recently, I started building a video player that uses CoreText to render subtitles. However, when scrolling through the UI, the frame rate dropped to an unacceptable 15 FPS. To fix this, I created a demo that wraps a native text view with CoreText rendering, eventually optimizing the performance to a smooth 60 FPS.

  • Swift Concurrency - From GCD to Structured Concurrency

    I remember when I first graduated and started iOS game development, I used NSThread directly for multithreading. When GCD (Grand Central Dispatch) was introduced, it was very convenient to use, and I used it almost exclusively. occasionally, when tasks had dependencies, I would use NSOperation.

  • ios serious 01

    I hadn’t noticed loadViewIfNeeded before. Usually I just access vc.view to force the view to load. loadViewIfNeeded is definitely clearer and more explicit—it avoids accidental side-effects when you only want to load the view conditionally.

  • My Ideal CI/CD Workflow for Solo macOS Development

    You can view the full GitHub Workflows file here.

  • Using Nano Banana Pro to create an app icon

    This is the App icon generated using the prompt above.