Juan Sanzone (@johnsanzo) header
Juan Sanzone (@johnsanzo) profile picture

📱iOS  Principal @PeYaTech | Prev: @paypal - @venmo / @Mercadolibre - @Mercadopago / @letgo / @olxtecharg / @globant / 🚀 Building: @stunyapp 🎸🎹

Buenos Aires, Argentina
Joined July 2009
Photo by Juan Sanzone (@johnsanzo)Photo by Juan Sanzone (@johnsanzo)Photo by Juan Sanzone (@johnsanzo)Photo by Juan Sanzone (@johnsanzo)Photo by Juan Sanzone (@johnsanzo)Photo by Juan Sanzone (@johnsanzo)Photo by Juan Sanzone (@johnsanzo)Photo by Juan Sanzone (@johnsanzo)Photo by Juan Sanzone (@johnsanzo)Photo by Juan Sanzone (@johnsanzo)
Algunas 📸 de ayer en la Meetup iOS de @PeYaTech ! Increíble evento. Excelentes oficinas / @iNahuelZapata @JonUrq @jsotuyod
1
2
13
1,458
Juan Sanzone retweeted
Sabes por qué no conseguiste entrada para la despedida de Messi contra Benin? Sabes por qué la entrada no es digital y te hacen ir a retirarla física? Por la caja negra de la AFA y el Chiqui Mafia que reparte entradas entre sus punteros.
125
2,078
121
16,190
522,490
well… at least Codex is paying for itself so far 🤣
1
110
ahora si es momento de ir por una macmini! desarrollo iOS sin limites
you can sign in to openclaw with your chatgpt account now and use your subscription there! happy lobstering.
179
Here's how Swift uses your hardware to guarantee actor isolation 👷 When you run work on a Swift actor, it doesn't execute immediately: it has to be drained onto the co-operative thread pool. Actors are backed by a private internal linked list of incoming jobs. The scheduleActorProcessJob function in the runtime creates a ProcessOutOfLineJob to “drain” the actor, where the jobs in the linked list are dequeued, prioritised, and executed. (screenshot #1) swift_task_enqueueGlobal is the ultimate runtime call which hands the job off to the global concurrent executor, where the platform’s cooperative thread pool places them on a thread. On Apple platforms, this is libdispatch. ProcessOutOfLineJob is a small object allocated separately from the default actor. It registers the process method, which is invoked as the entry-point of job execution. It’s called when the job begins running on a worker thread in the cooperative thread pool. (screenshot #2) This process method drains the job queue in the default actor. (screenshot #3) Remember that that the default actor contains two queues: the “incoming” queue, implemented by a linked list, and the “executing” priority queue, where they are bucketed by priority and executed. defaultActorDrain is where the linked list of incoming jobs is processed into this priority queue, and jobs are finally executed one-by-one. (screenshot #4) To drain the queue safely, atomic CAS is used to place a lock on the default actor by setting the state machine to running. Then, in a loop, a job is taken from the existing priority queue (if any exists) and executed on the executor context, through runJobInEstablishedExecutorContext. At the end of the loop, processIncomingQueue places any jobs from the linked list of incoming jobs into the priority queue. The drain continues, in a loop, until all the queued work is complete. When no incoming jobs remain, and they’ve all been executed, the actor unlocks and the loop completes. Recall that process was scheduled on the global concurrent executor. This drainer job is tail-called at the end of the process function, and executes all the jobs in this context via runJobInEstablishedExecutorContext. This means the work queued on the actor is all performed serially on the same cooperative thread pool thread, until the drain is finished. I literally went all the way through the source code to understand how actors actually work. It was exactly as fun as it sounds. 🕴️ blog.jacobstechtavern.com/p/…
3
28
2,848
SwiftUI's List loads row views lazily, creating content only for rows near the visible region. For this to work, SwiftUI needs to be able to determine the number of views a ForEach element resolves to without evaluating the closure. Two common patterns prevent this: - Using an `if` statement inside ForEach changes the number of views per element, so SwiftUI has to evaluate every closure upfront to get the count. - Wrapping rows in AnyView hides the type information SwiftUI needs to determine the view count, with the same result. In both cases, SwiftUI ends up evaluating the ForEach closure for every element in the collection before any rows are displayed. You can learn more about maximizing the performance of dynamic lists in SwiftUI and common pitfalls from the sample chapter of my book "The SwiftUI Way". You can read it for free here: books.nilcoalescing.com/the-…
6
21
1
246
22,540
SwiftUI Agent Skill 3.0.0 just released! It can now parse xctrace data from Time Profiler, hangs, animation hitches, and SwiftUI traces, correlate issues with main-thread samples, and turn the whole firehose into JSON + Markdown an agent can actually reason about. Huge credit to @polpielladev for shipping the parser 🙌 Ready to make your SwiftUI app faster?
5
26
3
373
28,004
Ni siquiera prendi el auto el 18 de Febrero.Estuve laburando TODO EL DIA! Esto me pasa seguido con Autopistas urbanas. Mas alla de reclamar, alguien sabe como se puede hacer para obligarlos a que al menos en el estracto de la transaccion pongan la patente del auto o alguna traza?
4
1
787
Deberia ser obligatorio la posibilidad de permitirte chequear la traza de la transaccion (CON FOTO, INCLUSIVE)
112
Dejen de llamar App a cualquier cosa
111
sadly... I couldn't agree more 💯
The new Codex app is built with Electron. This is probably because SwiftUI is so buggy that even big labs can't trust Apple now. I'm one of those indie devs who still want to build native apps. But from a business owner's perspective, it's less & less appealing now.
1
172
... but you have to implement it well... As newbie one shot will likely fail and be full of bugs.. You need a deep understanding of view identity, correct state management and how to avoid unnecessary re rendering... this isn’t easy in one shoot.
1
66
ok.. but after all that.. during my vacation I built a native macOS Menu bar App that recognizes chords from whatever audio/video is playing.. It turned out great... I'll publish when I have time. But it took many iterations to get it right.
1
88
Force unwrap allowed !
¿Qué significa esta señal? Sólo respuestas incorrectas...
4
149
interesting thread... 🤔
This quoted post is unavailable.
106
Vendo MacBook Pro M1 14’ - Impecable estado!!! - 16GB ram / 1TB hd / 16gb RAM / Bateria 94% max capacity / 129 ciclos
1
2
4
723
Juan Sanzone retweeted
Si alguien de la comunidad, tiene a alguna empresa que pueda poner lugar, nosotros hacemos el resto
Replying to @fkzemin @Swift_BA
si loco. SwiftBA en si esta medio deprecadado porque @marcosgriselli ya no esta en Arg y el la organizaba. Pero con @iNahuelZapata estamos queriendo reactivar la comunidad. Seguro este mes organizamos algo. Estamos viendo sede…
1
3
428
El limite el no pelear con el framework. Todo lo demas es sarasa. Hay contextos y contextos. Pero el limite siempre es.. estas pelearndo con el fwk? entonces. no!
“MVVM is a bad architecture for SwiftUI 🙅🏻‍♂️” I regularly see blog articles make this claim, so it got me curious! 👉 Is MVVM really that bad with SwiftUI? 👉 What could be the alternative? 👉 How to decide if an architecture is “good”? Let me give you my opinion 😌
1
3
422
Im not a big fan of liquid glass... but I think slack refresh looks really well, aside a few weird interactions its very good
Slack for iOS is not a serious app anymore. Liquid Glass with 0 taste.
3
429