Alex Grebenyuk's Avatar

Alex Grebenyuk

@grebenyuk.bsky.social

Software Engineer @Automattic. I write kean.blog and build Nuke, Pulse, and more at github.com/kean.

1,443 Followers  |  78 Following  |  51 Posts  |  Joined: 19.10.2024  |  1.6654

Latest posts by grebenyuk.bsky.social on Bluesky

Hey, it was out of date, so I decided to remove it.

30.06.2025 13:40 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

And constructs like Text("hello" as String) that folks use are atrocious.

05.03.2025 17:47 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

> all text for display is inherently localized

Except when it's coming from a property. I agree about the localization. I don't necessarily agree with this inconsistency with the API, which tripped me multiple times. As did the need for verbatim. In UIKit, it was never an issue.

05.03.2025 17:45 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 3    πŸ“Œ 0

Build my own SwiftUI with my own API design choices? I'd love to. The first thing I would do would be remove generics and add delegates. πŸ˜†

05.03.2025 17:36 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Text needed only two APIs:

Text(localized: "...") - localized
Text("...") – non-localized

As a non-native speaker, I don't know what verbatim means πŸ˜†

05.03.2025 17:32 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Post image

Do not like this. I wish you had to explicitly specify where you need localization.

05.03.2025 17:02 β€” πŸ‘ 5    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

What I noticed is:
case - drops occasionally
no case - drops never

04.03.2025 17:47 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

You drop iPhones? 😨

04.03.2025 17:46 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

100% battery capacity after 5 months with 80% charging limit and never dropping below 20% – min-maxing the shit out it just because I can.

03.03.2025 03:37 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

But Swift was introduced in 2014. Surely, nobody uses any Objective-C APIs or frameworks now, 10 years later? <sarcasm>

02.03.2025 14:06 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

It finally stopped doing that after a few months of not using it for development 😬

22.02.2025 00:34 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
[Pitch][Concurrency] Starting tasks synchronously from caller context Hello everyone, Continuing the trend of a few proposals improving the usability of Swift concurrency, especially focusing on task execution semantics... Recently we shared the [Pitch] task priority escalation handler APIs, which should be entering review sometime soon. And today I'd like to propo

Incoming new #swift concurrency proposal: making it easier to bridge async and non-async code!

Pitch thread: https://forums.swift.org/t/pitch-concurrency-starting-tasks-synchronously-from-caller-context/77960

19.02.2025 09:35 β€” πŸ‘ 11    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

There is probably a way to catch this. I’m mainly thinking about the scenario where you have one closure, non-ambiguous, and you don’t use any of its parameters. If there are multiple parameters, and you need one of them, it’s fair game to ask you to specify what you don’t use.

14.02.2025 00:25 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Yeah, that makes sense. The compiler could probably still show an error only when it is actually ambiguous. It’s uncommon to have more than one override like you’re describing.

13.02.2025 23:47 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I suspect that it’s needed to separate the parameters from the body of the closure. I would’ve probably preferred parentheses for parameters.

13.02.2025 20:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Swift got the syntax right. I think the only thing that annoys me day-to-day is that you have to add "_ in" in closures when you don't use the parameters.

13.02.2025 19:04 β€” πŸ‘ 9    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

I’m constantly stressed out for the same reasons.

11.02.2025 20:54 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

That was a good call. I’d probably look for some extended recap or something like it. I remember the first few episodes pretty well.

09.02.2025 19:19 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

The problem with Severance is that I have no memory of how season one ended, as if my outie watched it and not me.

09.02.2025 19:15 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Carthage was probably my favorite due to its simplicity and reliability, but I prefer source distribution. I think my only problem is that Apple consistently seems to bite too much than it can chew and tries to be too clever. It shows in nearly every developer tool or features that shipped recently.

04.02.2025 14:54 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Updating *.xcworkspace/xcshareddata/swiftpm/Package.resolved by hand because Xcode is incapable of doing it πŸ™ƒ

03.02.2025 19:14 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

It’s non-scrollable. It works totally fine, especially if you pre-render on scroll. I’m just looking for the last potential optimizations and other ideas for improvement.

28.01.2025 17:45 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I want the web view to be interactive: text selection, links.

28.01.2025 17:37 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

There is no limit to how complicated the HTML can get. I do have control over CSS, and I'm disabling JS.

28.01.2025 17:25 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I need to render HTML, so I'm kind of out of options, unless I want to re-implement a web-browser πŸ˜„

28.01.2025 16:21 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Does anyone know any great articles on using WKWebView in table cells? I'm looking for any potential pitfalls, the best strategy for cell-sizing, and what to look for in terms of performance.

28.01.2025 16:05 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

I've set it up once and am still pretty happy with it. It took a bit of time to set it up, but it's a breeze to modify. Is there something you adjusted from this approach?

12.01.2025 14:14 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

This still hurts

09.01.2025 19:59 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Time flies.

02.01.2025 02:28 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Robert Eggers has perfected his craft. I can't wait to see more from him.

29.12.2024 20:37 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@grebenyuk is following 20 prominent accounts