Sabitlenmiş Tweet
Jacob Bartlett
13.1K posts

Jacob Bartlett
@jacobtechtavern
By day: iOS at @meetgranola By night: I write Jacob's Tech Tavern 🍺
London Katılım Aralık 2020
1.5K Takip Edilen4.9K Takipçiler

@evanyi_81 Thank you, my friend. I was like, "How can I make it as ridiculous as possible?" Lots of gifs. The hard part was extracting the ISO for the ancient collection.
English

@jacobtechtavern Using an infinite feed of interactive 90s GIFs as the test case is perfect lol. If a UI stack survives that, the scroll performance conversation gets a lot more honest.
English

@Dimillian 1. My current workflow involves letting an agent rip on my plan in a stacked set of diffs, and then I just do a detailed code review by commenting on the PR.
2. I've set up an agent skill that is trained on my own PR comments.
English

@jacobtechtavern 6.5 years of swiftui and we still have these fundamental issues
English

CPU and thermal performance in a SwiftUI list explains why we had so many hitches. Even at rest, no scrolling, the CPU screamed at 100% capacity to render every gif, and well past 100% (distributing work across CPU cores) when I scrolled.
The “Very High” energy impact rapidly heated my device. The measured thermal trace crept up towards Serious. When I wasn’t paying attention, the app was even killed by the OS, presumably hitting a critical thermal spike.
After giving a serious beating to my shiny new A19 chip, the same feed in UIKit produced comparatively nearly trivial CPU and energy usage.
* At rest, UIKit dropped as low as 11% CPU utilisation, vs a consistent 100% for the SwiftUI version
* Energy usage correspondingly held at High for UIKit, vs Very High for SwiftUI.
I gave up waiting for the thermal profile to hit Fair after 3 minutes.
Read my scientific performance comparison right here 🧪 blog.jacobstechtavern.com/p/swiftui-vs-u…



English

@jacobtechtavern Yep just found it, it’s in the dev settings 🤦♂️ 😂
English

@jacobtechtavern One more addition, mate. Don’t forget to give your explanation of which the good and bad things from your perspective, because i need that to learn from someone like you. Cheers mate 🍻
English

@jacobtechtavern How do you even install this on iOS? I only saw this on macOS before
English

@jacobtechtavern I like the video preview! Nice idea for a blog post
English

@bengi_dev I don't, but that gives me a really good idea. I should absolutely start recording that shit, like when I do the instruments trace, the making of kinda thing
English

@jacobtechtavern Did you have any video when you still in process of debugging the performance or how to debug it? Thanks a lot to share your findings 🍻
English

Rumor is Cursor will release a coding model tomorrow ~on par with Opus 4.6/GPT-5.4, yet cheaper.
I don’t use Cursor but might starting tomorrow.
Krista Letz@kristaletz
exciting things at cursor coming soon 🎻
English

System design interview masterclass: Non-functional requirements (NFRs)
Based on the scope, how well do we need this to work? This isn’t just a cookie cutter set of questions to ask: solid candidates use these to shape the design.
In our example, because we scoped that it’s going to be a high-DAUs feature in an existing large app, we can propose a few requirements that we can anticipate at scale:
* What are the performance requirements on our UI for scrolling?
Very high performance required → lean towards UIKit for the scrolling chat screen
* Do we want to perform any offline inference in bad network conditions?
No, don’t worry about that → this simplifies our data flow.
* Do we have any latency requirements on media?
Yes, media has to load very fast → suggests we should cache heavily.
Consider caching strategy and time-to-live thoughtfully.
* Do we want chats to be available offline?
Yes, but assume it’s already built → nudged away from persistence layer design.
In interview, I jot these down as 2-3-word bullet points on the whiteboard as we go, and I narrate over this.
Now that you have your FRs and NFRs, you have negotiated your “win condition” with the interviewer. You need to create, and defend, a system design which meets all these requirements.
Get practical battle-tested advice on getting through mobile system design interviews right here 🧠 blog.jacobstechtavern.com/p/system-desig…

English

Obviously they're on the council remit, but it's not what 99% of the budget is prioritised for
I'm just saying it's a little disingenuous to couch your argument as “I'm spending £3,000 on having my bins collected. It must be corrupt.”
There are lots of perfectly valid points to make around how social care is executed, though, which I think is a more interesting argument to have
English

@jacobtechtavern Potholes and bins are under council remit, GPs are usually overwhelmed because of poor quality social care which is also council remit
English

@agrxculture This is the correct answer
What's your second least favourite?
English

@jacobtechtavern Got asked my least favorite part of swift recently. I said this
English

Cargo-Culting the Creator of Claude Code: I replicated Boris Cherny’s workflow Claude Code workflow. Along with some of the new techniques we learned about earlier.
Oh, and he actually tweeted again recently. Things do move fast.
What's new this month?
1. Use worktrees (or just multiple git checkouts) to run agents in parallel
2. Always start with a plan, then get another agent to review the plan (personally I like to pit Claude Code against Codex!)
3. Ensure your AGENTS.md/CLAUDE.md is updated every time an agent makes a mistake
4. Create skills regularly and commit them to git, especially common daily tasks
5. Use Slack MCP to directly tell @Claude/@Codex to fix a bug and make a PR
6. Utilise these pro prompts:
1. Ask the agent to grill you on changes so you understand
2. After a mediocre fix, tell it to scrap the change and re-implement
3. Write detailed specs with minimal ambiguity before handing off work
7. Customise your terminal and utilise voice dictation (WisprFlow is best!)
8. Subagents can be useful to get more compute or preserve your context window
9. Agents can connect to analytics and databases to answer questions
10. You can have the agent explain the “why” behind the changes, and even present visual diagrams explaining your codebase.
Check out my blog to learn what you’re missing at the cutting edge of agentic iOS engineering 🧨 blog.jacobstechtavern.com/p/agentic-ai-2…

English

@blk19_ That's a fair point. For what it's worth, the whole product is open source, so anyone can replicate or adjust my results!
Really, what's happening is you're calling me out for being a little bit sloppy, and I know it, lol
English

@jacobtechtavern The UIViewRepresentable use case is valid and interesting - but I think it’s its own category of performance test. I’d love to see a follow-up that eliminates that from the comparison.
English





