Juan's blog
A human who writes in natural and programming languages
Currently living in Argentina and working as an iOS/watchOS engineer at Runna (acquired by Strava).
This is my little corner of the internet. My tiny garden. I write about whatever inspires or interests me, usually in the form of blog posts.
Life isn't about finding yourself, or finding anything. Life is about creating yourself. And creating things.
§ 01
Writing
-
06
Simulations
§ 02
Work
-
2024 → now
Senior Engineer II · Runna (acquired by Strava)
The Swift side of a personalized running coach: watchOS app, widgets, Live Activities and HealthKit.
-
2022 → 2024
Senior iOS Engineer & Technical Scrum Master · PayPal (Venmo)
Built Venmo's Teen Account from its inception, then drove its planning as Technical Scrum Master.
-
2021 → 2022
Senior iOS Engineer · Moen
iOS app to pair and control Flo and Moen smart water devices.
-
2020 → 2021
iOS Engineer · IncluIT
Client apps across VoIP, banking, insurance and health, including a tech lead role.
-
2019 → 2020
Mobile Developer · OZ Digital Consulting
Xamarin.Forms app for construction companies to manage property listings.
-
2018 → 2019
Mobile Developer · DGENIX
International Xamarin projects and contributions to MvvmCross open source.
§ 03
Reading
Pages torn from whatever I'm reading. All my highlights are collected on my Readwise account, and you can get them in your inbox by joining my newsletter. A summarized version of my highlights lives in my library.
-
"A veces pienso qué diferente habría sido mi vida si para entonces ya hubiera existido el estado de flotación. Mi mamá podría haber continuado conmigo, en internet o en otro cuerpo, en algún lugar. Papá me decía que mamá estaba en el Cielo; en ese momento solo teníamos la religión. Pero al Cielo no se puede acceder por medio de una computadora; la religión no es user friendly".
-
La idea de “justicia social” ayuda a reconocer que las injusticias no nacen sólo de decisiones equivocadas de los individuos, sino también de estructuras, mecanismos, sistemas económicos y culturales que producen desigualdad casi automáticamente. [San Juan Pablo II](https://www.vatican.va/content/vatican/it/holy-father/giovanni-paolo-ii.html) habló en este sentido de estructuras de pecado [[108]](https://www.vatican.va/content/leo-xiv/es/encyclicals/documents/20260515-magnifica-humanitas.html#_ftn108) que se oponen a la voluntad de Dios y requieren un esfuerzo de conversión personal y social. En esta perspectiva, la justicia no concierne sólo a la distribución equitativa de los bienes o a la corrección de las injusticias presentes, sino que asume también una dimensión reparadora. Ella mira a recomponer los vínculos rotos y a reintegrar al que ha sido excluido, teniendo en cuenta las heridas provocadas por las injusticias: guerras, colonialismo, discriminaciones raciales o de género, violencia contra pueblos enteros y explotación. Esto puede significar restituir dignidad y voz a quienes han sido ignorados, favorecer procesos de sanación de la memoria colectiva, combatir leyes y prácticas discriminatorias, y sostener concretamente a quienes cargan aún con las consecuencias de agravios sufridos en el pasado.
-
What happens at runtime depends on whether the call suspends or not: If a suspension happens, then Swift will pause the function and all its callers, which has a small performance cost. These will then be resumed later, and ultimately whatever performance cost you pay for the suspension is like a rounding error compared to the performance gain provided by async/await even existing. If a suspension does not happen, no pause will take place and your function will continue to run with the same efficiency and timings as a synchronous function. That last part carries an important side effect: using await will not cause your code to wait for one runloop to go by before continuing.