Creating a lot of custom components for the new AnswersAi onboarding
My favorite one so far is this picker that feels even better than WheelPickerStyle
This has never been more true. The opportunity cost of endless planning and contemplation just went way up. Agents allow you to just try vastly more stuff, so let them, and you'll learn way more, way faster.
I asked Opus 5.5 to explain camera focus by building an interactive lens lab
Here's what it came up with after 1 hour 26 minutes in one shot, $25.66 API cost
https://t.co/uqDgUs8H9h
Move the focus ring and you can see the glass elements shift the sharp plane through the scene
i was having dinner with someone recently who asked why i spend so much time reading & posting on x. she had a pretty negative perception of the platform mostly shaped by the mainstream narrative around it.
my answer was simple. x is where the future gets beta tested.
you basically get to watch ppl build things, talk through ideas, show off stuff, & argue about where everything is going, way way before it reaches anyone else.
there really isn’t another surface on the internet quite like it.
Fun optimization: when you open an app on an iPhone, the OS has a hardcoded check for if it’s the camera app, and if so, grants it its own special memory pool (“secluded memory”) for faster start up times: https://t.co/T4lKXnLbRp
Did you know you can write ARM64 assembly in your Swift apps?
It's a library with 2 two components:
swift-assembly does the complicated ARM instruction set translation: parsing assembly strings, validating instructions & registering against its ARM64 instruction catalog, then encodes them into machine code bytes: [UInt8].
swift-asm-macro is the tidy API surface; running during compile-time, calling ARM64Assembler.assemble(source) in swift-assembly, and emitting them into the executable.
Here’s a couple of simple examples to get you going with instructions and registers:
add(_ lhs: Int64, _ rhs: Int64) sums the input values in the x0 and x1 registers, places the result into x0, and returns it.
armMaximum(_ lhs: Int64, _ rhs: Int64) compares the inputs in the x0 and x1 registers, place the larger value into x0, then returns it.
The library assembles these assembly instructions at compile-time and uses section placement control to insert them into your app’s compiled MachO binary, called via a @convention(c) function pointer.
Read “Forbidden iOS” here 👹 https://t.co/7OYOtvtXQB
>be hunter gatherer
>look at mountain
>"yeah it's beautiful"
>starve
>plant wheat instead of hunting and gathering
>wheat works
>too much wheat
>need somewhere to put wheat
>build granary
>need someone to count wheat
>invent writing
>need someone to guard wheat
>invent state
>need someone to trade wheat
>invent money
>money works better than wheat
>need somewhere to put money
>build bank
>bank lends money to guy with idea
>guy builds mill by the river
>mill needs 40 guys
>40 guys move next to mill
>40 guys need bread, beer, a church
>bakery, tavern, church move next to 40 guys
>another guy borrows for a second mill
>mill town
>mill town gets a port
>port town
>everyone within 200 miles hears there's money at the port
>everyone within 200 miles shows up
>run out space
>can't build out
>build up
>more
>skyscraper
>civilizational loop compounds
>order a private taxi for your burrito
This is what Apple platform developers do best: we respond quickly to innovation, think carefully about polish, and follow the damn Human Interface Guidelines. Go, iPhone Duo! 🙌