Del 1 al 15 de junio (#11 de 2024)
Conferencia de desarrolladores de Apple WWDC24, Apple Intelligence, la competición ARC Prize y Swift 6.
Vamos con lo sucedido en la quincena pasada, del 1 al 15 de junio. Tenemos esta quincena un número muy centrado en Apple y en su conferencia de desarrolladores.
¡Muchas gracias por leerme!
🗞 Noticias
1️⃣ En la entrega pasada de la newsletter comentaba que llegaba la WWDC24 de Apple.
El 10 de junio fue la keynote de la conferencia, y en ella se han presentado las novedades de las nuevas versiones de los sistemas operativos de Apple: iOS 18 (preview y nota de prensa), iPadOS (preview y nota de prensa), macOS Sequoia (preview y nota de prensa), watchOS 11 (preview y nota de prensa), visionOS 2 (nota de prensa) y tvOS 18 (nota de prensa). Estos sistemas operativos ahora están ya disponibles en versiones beta y se lanzarán en otoño, previsiblemente junto con el lanzamiento de los nuevos iPhone.
Como siempre, lo más interesante de la conferencia han sido los materiales para los desarrolladores. Del lunes 10 al viernes 14 se han presentado decenas de vídeos, guías, documentación que ahora hay que revisar si queremos hacer alguna app para alguna de las plataformas de Apple. Me anoto aquí los enlaces, para tenerlos a mano:
Sesiones: más de 120 vídeos de entre 10 y 30 minutos explicando las novedades introducidas en las distintas plataformas y tecnologías: Swift, Diseño, Computación Espacial, Gráficos, etc.
Sesiones seleccionadas: una lista curada por Apple con unas 60 sesiones, agrupadas por tecnología.
Qué hay de nuevo para los desarrolladores: página con información sobre las novedades en todas las plataformas y tecnologías.
Documentación: sección de la documentación con toda la información de nuevas APIs y funcionalidades.
Guides: página que centraliza las guías con las novedades de las distintas tecnologías y plataformas.
Pathways: página que centraliza las introducciones paso a paso para comenzar a desarrollar con las distintas tecnologías y plataformas.
Personalmente, lo que más aprecio de la WWDC es que muestra el trabajo realizado por cientos de ingenieros e ingenieras de Apple durante un año. Puede ser una deformación profesional de ingeniero programador, o tal vez es la perspectiva de un padre con hijas de veintitantos años que están empezando en sus trabajos, pero cuando veo todos estos materiales, pienso sobre todo en los jóvenes que los han desarrollado, y en su esfuerzo y sus ilusiones.
2️⃣ Una de las noticias que más estaba esperando de la conferencia era el planteamiento de Apple en relación con la IA. También en la entrega pasada hacía una lista de preguntas que esperaba que se contestaran.
Llegaron las respuestas y llegó una cierta confusión. De todos los anuncios, el que tuvo más repercusión fue el que Apple no quería resaltar: el acuerdo con OpenAI. El interés de Apple era resaltar su propio trabajo y sus propias funcionalidades, pero el acuerdo con la compañía de Sam Altman centró el interés inmediato de los medios y deslució en cierta forma el mensaje principal.
Sin embargo, en los días posteriores, a medida que los medios especializados se han ido haciendo eco de las funcionalidades propuestas por la compañía de la manzana, ha ido calando más la idea de Apple. La jugada magistral del equipo de marketing de la empresa funcionó muy bien, con el juego de palabras de convertir AI (Artificial Intelligence) en Apple Intelligence.
Aquí dejo algunos algunos enlaces.
En español:
Ángel Jiménez de Luis: Así funciona Apple Intelligence, la IA de Apple
Pedro Aznar: Apple Intelligence, primer contacto
En inglés:
Ben Thomson: Apple Intelligence is Right On Time
Jason Snell: OK, fine, here’s Apple Intelligence
MacStories: Apple Intelligence: The MacStories Overview
The Verge: Apple Intelligence: every new AI feature coming to the iPhone and Mac
Ars Technica: Apple unveils “Apple Intelligence” AI features for iOS, iPadOS, and macOS
Y enlaces de la propia Apple:
Introducing Apple Intelligence, the personal intelligence system that puts powerful generative models at the core of iPhone, iPad, and Mac (nota de prensa)
De todas las explicaciones que he visto, la que más me ha gustado es el propio vídeo que ha presentado Apple, "Apple Intelligence in 5 minutes":
Una de las ideas fundamentales de Apple Intelligence es proporcionar funcionalidades concretas, promovidas por los modelos generativos desarrollados por la propia empresa (tanto de texto, LLMs, como de imágenes). Apple ha querido así separarse de la idea OpenAI y Microsoft de un agente "de propósito general" que sirve para todo y que obliga al usuario a especificar con un prompt su funcionamiento.
Cuando Apple usa la frase "AI for the rest of us" en la web y en los anuncios, está recuperando la campaña original de hace 40 años, con la que introdujo el Macintosh.
"The rest of us" es la gente que no quiere complicaciones, que quiere usar la IA para cosas concretas, sin necesidad de configurar nada ni de escribir prompts avanzados. Todas las funcionalidades están basadas en modelos generativos, pero todo el trabajo de configurar el prompt y comunicarse con el modelo está escondido o se limita a lo mínimo. Nosotros solo tenemos que seleccionar ciertas opciones de una forma intuitiva, como cuando usamos cualquier otra aplicación que no sea de IA. Y en el caso en que haya que escribir algún prompt, como para generar una imagen, es el mínimo posible.
Este es un enfoque clave de Apple: buscar funcionalidades concretas que pueda hacer el modelo generativo y que sean útiles para los usuarios normales ("the rest of us").
El otro punto clave del enfoque de Apple es aprovecharse de que tiene acceso a toda nuestra información y apps en nuestro móvil para dar los primeros pasos hacia la conversión de Siri en un asistente personal, que consulta nuestra agenda, nuestros correos y mensajes y que puede interactuar con nuestras apps por nosotros. Por ahora no han ido demasiado lejos y han puesto un ejemplo muy sencillo: buscar la hora a la que llega el vuelo de mamá. Está muy bien para empezar y, conforme las apps vayan ofreciendo más opciones, veremos ejemplos más complejos y avanzados (si el LLM que hay en el dispositivo, que da soporte a Siri, es capaz de gestionarlos correctamente).
Termino detallando las funcionalidades concretas que Apple presenta en el vídeo anterior, con los nombres que el equipo de marketing ha creado para ellas:
Writing Tools
Genmoji
Image Playground
Image Wand
Siri - Natural Language
Personal Content
Priority Notifications
Memory Movie
Hay algunas funcionalidades más, que no se muestran en el vídeo, como las relacionadas con iPhoto y con el retoque fotográfico. Y Apple irá también mejorando todas estas funcionalidades y añadiendo más en los próximos años. Iremos revisándolas poco a poco, y dando algunos detalles técnicos.
Si algo ha quedado claro en esta WWDC es que Apple no se va a quedar atrás del resto de la industria y también se va a subir al barco de la IA. Aunque para Apple sea “Inteligencia Apple” y no “Inteligencia Artificial”.
3️⃣ El 11 de junio, François Chollet (fchollet.com), conocido investigador de Machine Learning y autor del estupendo libro Deep Learning with Python, presentó el premio ARC Price (arcprice.org y X), organizado junto a Mike Knoop (mikeknoop.com). Se trata de una competición con un premio de un millón de dólares por resolver un problema con el que, hasta ahora, los LLMs han chocado. Es muy interesante la entrevista del podcast de Dwarkesh en la que Chollet y Knoop presentan el premio.
El problema original ARC (Abstraction Reasoning Corpus) fue propuesto por el propio Chollet en un artículo de 2019 (On the Measure of Intelligence - arxiv.org) como una forma de medir la inteligencia general. Se trata de encontrar patrones en parejas de figuras que permitan adivinar cuál va a ser la siguiente figura.
En la siguiente ilustración se presenta un ejemplo de las figuras que se usan en el test. Se dibujan sobre una cuadrícula y existe un patrón que relaciona la figura de entrada (INPUT) con la de salida (OUTPUT). El test consiste en encontrar el patrón de forma que podamos resolver cual será la figura de salida.
¿Encuentras el patrón de los tres ejemplos? ¿Cuál sería la figura resultante?
No es complicado para los humanos, que pueden resolver fácilmente el 85% de las tareas. Sin embargo, los mejores sistemas de IA no pasan del 34%.
En este caso las soluciones son las siguientes:
En las parejas de la izquierda el patrón es: “rellenar el hueco de los cuadrados morados con una casilla amarilla”. La solución sería cuatro cuadrados de casillas moradas, con casillas amarillas en las esquinas correspondientes.
En las parejas del centro podríamos expresar el patrón como: “mover las casillas azules claras que están sobre las oscuras hasta la línea inferior”. La solución sería una figura con una fila inferior de casillas azules oscuras, menos la casilla 3 y la última que serían claras. Y sobre cada una de ellas habría una casilla azul oscura.
En las parejas de la derecha el patrón se podría expresar como: “gira la figura 180 grados”. La solución sería una figura con la primera fila gris-gris-azul, la segunda fila azul-gris-gris y la última azul-azul-azul.
La competición está alojada en Kaggle (ARC Prize 2024 - kaggle.org) y se llevará el premio aquel equipo que consiga desarrollar un sistema de IA que iguale a los humanos, y que obtenga un 85% de aciertos. La fecha límite para los envíos es el 11 de noviembre. Ya hay casi 150 equipos inscritos enviando algoritmos (Leaderboard - kaggle.com) y por ahora el mejor equipo tiene un acierto del 38%.
¿Alguien lo solucionará este año? ¿Quedará el premio desierto? ¿Estaremos más cerca de la AGI a final de año? Lo podremos comprobar dentro de unos meses.
4️⃣ Swift es mi lenguaje de programación preferido. Es un lenguaje moderno, seguro, multiparadigma, expresivo y eficiente. Ahora, en junio de 2024, acaba de cumplir 10 años y se presenta su versión 6. Ha llovido ya mucho desde que lo presentó Chris Lattner, su principal creador, el 2 de junio de 2014, en la WWDC14.
Al año siguiente, a finales del 2015, decidimos incluirlo en nuestra asignatura de segundo curso de Ingeniería Informática, Lenguajes y Paradigmas de Programación, en sustitución del lenguaje de programación Scala, que nos servía para explicar cómo es un lenguaje moderno que integra el paradigma de Programación funcional y el paradigma Orientado a Objetos. Swift había sido creado desde el principio con esa idea, integrando conceptos propios de lenguajes funcionales, como Haskell, y de lenguajes orientados a objetos como C# o Objective C. Además, comprobamos que Apple había mantenido la promesa de Lattner de que el lenguaje fuera abierto y que existía un compilador para Linux que funcionaba perfectamente, por lo que no habría problema en plantear las prácticas de la asignatura.
En pocos años Swift fue evolucionando y pasando por distintas versiones (Swift History - wikipedia.org). A partir de la versión 4, en 2017, el lenguaje se consolidó y su sintaxis básica no cambió demasiado. En los últimos años se han ido incluyendo continuas mejoras a través del proceso de Swift Evolution. Cualquier cambio se propone mediante una propuesta que se publica en un foro público, se discute, se modifica y se termina aceptando o rechazando. Las propuestas aceptadas se añaden en la lista de propuestas aprobadas (swift-evolution - github.com) y se añade la implementación del cambio en el compilador (swift - github.com), dejándola lista para la nueva versión.
La versión 5 del lenguaje fue lanzada en 2019 y desde entonces han habido muchos cambios en versiones menores. Con la regularidad de un reloj, se han lanzado dos versiones menores por año: 5.0 y 5.1 en 2019, 5.2 y 5.3 en 2020, 5.4 y 5.5 en 2021, 5.6 y 5.7 en 2022, 5.8 y 5.9 en 2023. Este año se ha lanzado la versión 5.10 y en la WWDC se ha presentado la versión 6 de Swift (WWDC24: What’s new in Swift - apple.com), que se lanzará en septiembre.
El podcast ATP hizo un programa especial muy interesante el 12 de junio, entrevistando a dos ingenieros de Apple responsables del lenguaje y de su evolución: Holly Borla y Ben Cohen.
En la actualidad, Swift es un lenguaje muy amplio y complejo, que permite desde programación concurrente usando actores hasta programación de microprocesadores de muy bajo nivel. Pero también es un lenguaje que permite un aprendizaje progresivo. Es muy fácil empezar a aprenderlo y, de hecho, se podría perfectamente usar como primer lenguaje de un curso de introducción a la programación. Toda la documentación necesaria está en el documento The Swift Programming Language, empezando por el tutorial A Swift Tour.
👷♂️Mis quince días
Ya tengo el dominio domingogallardo.com, pero no hay nada en él, solo un servidor de nginx. Prometo empezar a montar la web en septiembre.
🍿Cine
En cuanto estrenaron en Netfilx Godzilla Minus One (letterboxd) nos la pusimos, en el viernes de cine.
Tenía las expectativas muy altas, y me decepcionó un poco. Esperaba una película un poco más profunda, con temas algo más serios. Había leído que exploraba el paralelismo entre Godzilla y las bombas atómicas lanzadas sobre Japón, pero no he visto mucho de eso; me ha parecido otra película de Godzilla, algo militarista y sin muchas más pretensiones. Eso sí, muy bien la ambientación del Japón de la postguerra y excelentes los efectos especiales.
Me ha gustado bastante y me ha dejado con ganas de ver la siguiente. Parece que el director, Takashi Yamazaki, quiere continuar la saga.
📺 TV
Destaco dos series que hemos visto esta quincena: Muertos S.L. (filmaffinity), en Movistar+, y la tercera temporada de The Morning Show (filmaffinity), en AppleTV+.
Debo ser de los pocos españoles que no han visto nada de los hermanos Caballero. No he visto ni Aquí no hay quien viva, ni La que se avecina, ni Machos alfa. Pero hemos probado con esta, y nos lo hemos pasado muy bien. Aunque alguna vez se pasan un poco con el humor negro, la mayoría de las veces hemos soltado una carcajada.
Estupendos actores y actrices, con personajes hilarantes y reconocibles desde el minuto uno. Todos están geniales y, junto con guiones muy entretenidos, la convierten en la comedia con la que más me he reído últimamente.
Y también me ha gustado un montón la última temporada (temporada 3) de The Morning Show. Me ha parecido la mejor temporada y va ganando episodio a episodio, hasta la traca final.
También excelentes todas las actrices y actores. Me encanta Billy Crudup, que lleva a registros desconocidos el papel de Cory Ellison y también Greta Lee, que llena de matices el personaje de Stella Bak.
📖 Libros
Terminé El bosque oscuro de la trilogía de Liu Cixin. Ya lo leí hace algunos años, y lo he vuelto a leer por la serie de Netflix. Me ha vuelto a gustar mucho, especialmente las ideas y especulaciones de ciencia. Eso sí, los personajes y las relaciones entre ellos son estereotipadas y anticuadas; parece un libro escrito en la década de los 50. Pero bueno, compensa la parte científica y la intriga del argumento. Tiene ideas y escenas súper originales, que va a ser una pasada verlas en televisión. Estoy deseando ver “la gota”.
Por ahora he dejado la trilogía. Volveré a ella cuando se acerque la nueva temporada de la serie de Netflix. Me queda el último libro, que también leí hace tiempo y que fue el que más me gustó (le di 5 estrellas en goodreads).
El libro que he empezado a leer es la continuación de Dune, El mesias de Dune, de Frank Herbert. Han pasado doce años desde el final de Dune y Paul Atreides ha consolidado su poder como Emperador y ha extendido su jihad a través de la galaxia.
Llevo un par de capítulos y muy bien. A ver si en la próxima entrega lo he terminado.
¡Hasta la próxima quincena, nos leemos! 👋👋