@jpgdallas@jacobtechtavern No idea. I use layoutSubviews(). Way better performance, simpler to reason about and manage, and I find them easier to write too. And much more localised and predictable failure cases too.
I convinced my team to migrate to UIKit because of our AI chat screen, which allows users to chat with an AI using all their meeting notes as context.
The original SwiftUI version had the classic scrolling feed issues, experiencing scroll hitches and animation stutters on weak devices, and could see odd stutter as we streamed in responses from an LLM. SwiftUI also did not play well with the system keyboard. The screen needed some love.
And what better way to show love than to rebirth it anew, stronger and more lightweight? This screen was our proof of concept, the test ground for a potential future autonomous agent-driven rebuild.
This was a perfect justification for a UIKit migration, since it served as a prerequisite task for these projects. Replacing the SwiftUI-based navigation architecture with a UIKit skeleton would make both of these features possible.
Read the explosive full piece, “my secret plot to kill SwiftUI”, today 💣 https://t.co/O1kBbjGsSo
I really believed a whole generation of developers, who only know open source from npm and pypi, miss how open source actually used to work.
When Debian or a Linux distribution ships a dependency they take responsibility of it. If there is a security issue and it’s not fixed by the developer upstream, they fix it for their users.
Debian and others basically vendor every thing they distribute. They honor the license and they maintain patches. Most of the stuff that you get from your Linux distribution is basically a (small) fork.
The same is true for Apple, Microsoft and others. The open source software they ship, they carry that responsibility.
That doesn’t mean that security fixes are not upstreamed, but Apple or Debian or anyone else won’t jump in Twitter to shame a developer into compliance with their ways. They are not dependent on the health of a packaging infrastructure. They own their software including all the things it depends on.
I want that thinking back. Because it fundamentally makes people feel more responsibility and it shares the burden of issues. It also does not put so much focus and attention on the one overworked developer who just happened to have too much of the world depend on their library. Remember: they carry a responsibility they never signed up to and they never got compensated for.
🚀 Gemma 4 12B is here!
We partnered with @GoogleDeepMind to bring and optimize their new dense and unifed multimodal model for Apple Silicon.
◈ 12B dense · 256K context
◈ Thinking mode (built-in reasoning)
◈ Vision: dynamic res, OCR, UI + charts
◈ Native audio: ASR + speech translation
◈ Function calling for agents
◈ Text + image + audio, interleaved
Runs local. Get started now ⚡
> uv pip install -U mlx-vlm
https://t.co/7BvnEuzKvj
Super excited to introduce Gemma 4 12B! 💎
- Multimodal: audio, image, video, and text input
- Novel architecture: we removed the multimodal encoders for a unified, streamlined arch
- New MacOS desktop app powered by LiteRT
- MTP support
Excited to see what you build with it!
Meet Gemma 4 12B!
A unified, encoder-free multimodal model designed to bring high-performance intelligence directly to your laptop, and released under an Apache 2.0 license.
Bridging the gap between edge efficiency and advanced reasoning. Here is what’s new with Gemma 4 12B: 👇
SwiftUI was the future, until it wasn’t.
I won’t bore you with the details, but long story short: you can do less stuff in SwiftUI:
- UI is less customisable.
- There are no delegates to perform heavy lifting and fine-tuning.
- UIPresentationController isn’t there, so good luck crafting satisfying transitions.
- Namespacing is a bloody mess.
- You’re encouraged to tightly couple your navigation code to your view code, which, to use Generation Z parlance, gives me the ick.
- It’s never going to reach full parity with UIKit.
Got it?
Oh and the performance is also worse. Dramatically so. Profile any scroll-based screen between SwiftUI and UIKit, and you’ll probably notice a few hitches and hangs in short order.
Read the explosive full piece, “my secret plot to kill SwiftUI”, today 💣 https://t.co/O1kBbjGsSo
@Dimillian@awwstn Request: app shortcut (icon long press menu) and/or home screen widget to open directly to codex.
Currently home screen widgets look cool, but I almost always just want codex.
Posted a blog post explaining how to do an external only shadow on a UIView a few years ago, but I've not actually been using that technique for ages.
I worked out soon after a better trick and have been using that instead. Finally did a writeup explaining how to do it.
Brilliant is about to launch an interactive universal tutor that will meaningfully interact with kids and guide them on their learning journey
I was privileged to see a quick preview of Koji last week and I think it's truly amazing
What a time to be alive
The index page thumbnails are all Codex image gen. The games are mostly made via GPT 5.5, with a bit of Claude 4.7 on some of the early ones.
Generally it can one shot the base game, then 2-3 cleanup and bug fixing follow up prompts.