Jacob Bartlett (@jacobtechtavern) 's Twitter Profile
Jacob Bartlett

@jacobtechtavern

Dad building iOS apps in London startups. Every week, I'll send you ludicrously in-depth, sometimes funny, articles about iOS, Swift, tech, & indie projects.

ID: 1339227928152903681

linkhttps://blog.jacobstechtavern.com calendar_today16-12-2020 15:16:39

7,7K Tweet

2,2K Followers

867 Following

Jacob Bartlett (@jacobtechtavern) 's Twitter Profile Photo

I’ve wanted to write about SwiftUI keyframes for ages. They are enormously powerful, and brought SwiftUI a great deal forward when comparing its power to raw UIKit and CoreAnimation. The API is really simple to get started with. The keyframeAnimator modifier, KeyframeTrack,

I’ve wanted to write about SwiftUI keyframes for ages. 

They are enormously powerful, and brought SwiftUI a great deal forward when comparing its power to raw UIKit and CoreAnimation.

The API is really simple to get started with. The keyframeAnimator modifier, KeyframeTrack,
Jacob Bartlett (@jacobtechtavern) 's Twitter Profile Photo

How to Learn the Swift Source Code: The type(of:) Meme This is how it usually goes with the Swift Source Code: - The Swift Standard Library will feel largely familiar, except with a bunch of arcane Builtin calls (or, in the case of type(of:), made-up functions! - The Compiler

How to Learn the Swift Source Code: The type(of:) Meme

This is how it usually goes with the Swift Source Code: 
- The Swift Standard Library will feel largely familiar, except with a bunch of arcane Builtin calls (or, in the case of type(of:), made-up functions!
- The Compiler
Jacob Bartlett (@jacobtechtavern) 's Twitter Profile Photo

WTF is a GYB file (in the Swift Source code)? The .gyb files (Generate Your Boilerplate) are a templating and preprocessing tool used by the Swift compiler team to avoid tons of code duplication in the various similar-but-marginally-different forms of the Task initialiser, for

WTF is a GYB file (in the Swift Source code)?

The .gyb files (Generate Your Boilerplate) are a templating and preprocessing tool used by the Swift compiler team to avoid tons of code duplication in the various similar-but-marginally-different forms of the Task initialiser, for
Jacob Bartlett (@jacobtechtavern) 's Twitter Profile Photo

Accidentally found this really cool debugging page on Xcode today! You can right-click an object in the left-hand debugging pane (don't know what it's actually called - object inspector? - memory list?) and select "View memory of self" to see the actually hexadecimal bits

Accidentally found this really cool debugging page on Xcode today! 

You can right-click an object in the left-hand debugging pane (don't know what it's actually called - object inspector? - memory list?) and select "View memory of self" to see the actually hexadecimal bits
Jacob Bartlett (@jacobtechtavern) 's Twitter Profile Photo

Advanced Swift Concurrency: Under the Hood of Actor Context Inheritance To cement our understanding, let’s peek into the Swift source code in Task.swift and its friends to see the actor context inheritance. We’re actually looking for Task+init.swift.gyb, a “generate your

Advanced Swift Concurrency: Under the Hood of Actor Context Inheritance

To cement our understanding, let’s peek into the Swift source code in Task.swift and its friends to see the actor context inheritance.

We’re actually looking for Task+init.swift.gyb, a “generate your
Jacob Bartlett (@jacobtechtavern) 's Twitter Profile Photo

Sometimes when I post I feel a little like Homer Simpson in that episode where he becomes a food critic, doesn't really know what he's talking about, but just praises every restaurant because he likes the taste of food. I'll sometimes post something really random technical I

Sometimes when I post I feel a little like Homer Simpson in that episode where he becomes a food critic, doesn't really know what he's talking about, but just praises every restaurant because he likes the taste of food.

I'll sometimes post something really random technical I
Jacob Bartlett (@jacobtechtavern) 's Twitter Profile Photo

Never wanted to uninstall an app faster. An unskippable, 2-minute long intro video with a smug little bastard of a smiley face mocking me Let me take my old notes and go away

Never wanted to uninstall an app faster. An unskippable, 2-minute long intro video with a smug little bastard of a smiley face mocking me

Let me take my old notes and go away
Jacob Bartlett (@jacobtechtavern) 's Twitter Profile Photo

Tracing Task Actor Context Inheritance in the Swift source code We've found the hidden inheritContext flag in a task initialiser, which determines whether they inherit actor context or not. On init, the actor context is extracted from runtime information. Now we know what to

Tracing Task Actor Context Inheritance in the Swift source code

We've found the hidden inheritContext flag in a task initialiser, which determines whether they inherit actor context or not. On init, the actor context is extracted from runtime information. 

Now we know what to
Jacob Bartlett (@jacobtechtavern) 's Twitter Profile Photo

When I was 23 I asked my manager how AVFoundation actually worked. It astonished me that it somehow was able to take a file and play videos on my screen. He told me; “you can always check yourself, the Swift code is all open-source!”. While this was deeply wrong on several

When I was 23 I asked my manager how AVFoundation actually worked. It astonished me that it somehow was able to take a file and play videos on my screen. 

He told me; “you can always check yourself, the Swift code is all open-source!”. While this was deeply wrong on several