Welcome to Jacob’s Tech Tavern! 🍺

I'm an iOS Engineer working in London startups. Every 2 weeks, I'll send you ludicrously in-depth articles about iOS, Swift, tech, & indie projects.

My primary niche is mobile engineering, but there’s something for everyone in my repertoire: including CPU architecture, job interviews, accessibility, compilers, hacking, startup fundraising, and memes.

In short, I write whatever I like.

If I solve a hard problem, learn a new technique, or find myself compulsively fascinated by something I don’t understand, then I like to spend my evenings converting Peroni into prose.

I’m try hard not to monetise my hobby to much, to avoid turning it into a job, so I only write what’s interesting for me personally. I’m told that this fun-factor shines through in my writing.

I’m allergic to the basics, so you’ll be disappointed if you’re looking for the 900th blogger to explain MVVM or the async/await syntax. Unless I’m able to create an original spin, I don’t see any point in writing something that already exists.

Convinced yet?

Subscribe to Jacob’s Tech Tavern for free to get ludicrously in-depth articles on iOS, Swift, tech, & indie projects in your inbox every two weeks.

Paid subscribers unlock Quick Hacks, my advanced tips series, and enjoy exclusive early access to my long-form articles.

I show my wife every time this happens

The Archive

Here’s some of my best work to get you started.


Indie projects

This is my magnum opus; by a long margin my best ever story (#2 for the week on Hacker News when it was shared!)

It’s the story of Aviator, a toy I built for my 2-year-old daughter. She went through a phase where she was obsessed with airplanes, so I created a radar using open-source APIs to help spot aircraft in the sky.

This write-up goes from inspiration, to problem statement, through each step of the POC, MVP, and app store release, with some adorable user-testing every step of the way.

This project came about from a single flash of genius: What if my 2FA app told me when a really awesome number came up?

I learned about TOTP generation, and created a really interesting performance optimisation problem as the app calculated millions of codes into the future, parsing each one to spot the best possible patterns.


Swift Deep Dives

Reading Medium articles about Swift’s myriad method dispatch mechanisms in 2019 was what awed me about technical writing in the first place. I came full circle, creating the best article on the topic (and the top ranking SEO term for Swift Method Dispatch!).

This goes ridiculously deep into what happens under the hood when each type of method dispatch is invoked, displaying the SIL generated with each type. I explain the many techniques the compiler employs to make dispatch as static as possible to optimise the speed of your code.

This is probably the hardest article I’ve ever written. I began by thinking about the global isKnownUniquelyReferenced method used as part of the copy-and-write optimisation in Swift. How does it actually work?

The result was a detective story. The answer took me on a journey through every stage of the Swift compiler (and the runtime) to track down, to the bit, what’s really going on here.

Outside of my 2-minute-tips series, this may be maybe the briefest article I ever wrote. It’s a neat little research piece, working out how to unit-test view models which use the iOS 17 Observable framework.

In the end, I released a neat open-source utility library so you can apply the same technique.


iOS & SwiftUI

Drawing on from my own experience, I explain the temptation to put off applying accessibility and the organisational inertia you can experience when you try to right the ship.

This article, fully decked out with a code-along tutorial, gives you all the tools you need to audit the accessibility in your SwiftUI app and quickly implement everything you need to make your app accessible.

Using my indie app as a case study, I guide you through my approach to improving the performance in an iOS app—starting with end-to-end testing and utilising Xcode Instruments to locate bottlenecks.

Through improved algorithms, re-ordering launch processes, and intelligent parallelisation, I speed the app up by 3000%.

I’ve always been interested in Metal—the iOS framework for low-level GPU-accelerated graphics—but the complex pipelining and C++ knowledge you need to get started intimidated me.

Since iOS 17, you can easily use Metal shaders in your SwiftUI apps. I dove into learning the basic concepts and understanding how to use the various Metal effects in a SwiftUI app. I turned my learning into a code-along tutorial, with zero assumed knowledge.


Miscellaneous

Apple is known as the king of CPU architecture transitions. But why is this considered such a grand accolade? Why is a chip architecture transition so difficult? I take you on a journey through history, chronicling the business context of each of Apple’s transitions.

This story is a mere framing device however: as we travel from the early days of the CPU in the 80s into the future, I explain the critical concepts of how a CPU works as they develop: from fundamentals like registers and assembly through caches, pipelining, branch prediction, and heterogeneous computing.

Drawing on my experience at three start-ups, I explain their stories as we sought fundraising from Venture Capitalists. While I wasn’t successful, I can help get your head screwed on right with some useful survival tips.

I heard the DarkNet Diaries podcast about NSO group way back in 2020, and in a strange turn of fate decided to listen to it again, finding myself curious to how the Trident exploit chain actually worked.

I spend the resulting 2 weeks with my nose to the grindstone of learning about JavaScript engine memory management internals, and understanding how this led to native code execution, and subsequent remote jailbreaking, via a link.

Subscribe to Jacob’s Tech Tavern

Dad doing iOS @ London Startups. Every week, I'll send you ludicrously in-depth articles about iOS, Swift, tech, & indie projects.

People

I do iOS @ London Startups. Every week, I'll send you ludicrously in-depth articles about iOS, Swift, tech, & indie projects.