Aunque algunos se resistan a creerlo, es un hecho innegable que la presentación de GitHub Copilot ha supuesto un punto de inflexión en el mundo de los desarrolladores. Si no sabes de qué va esto, puedes ver el directo que hicimos al poco de presentarse, hace más de 1 año.
Hay quien lo considera un estorbo más que una ayuda y quien incluso piensa en él como un truco de feria sin más, pero este producto y otros similares que están por venir van a cambiar el mundo de la programación para siempre. No porque vaya a sustituir a los programadores, sino porque nos va a hacer más productivos. Ya hablamos sobre ello en el vídeo con las predicciones de este año para el mundillo, allá por enero.
Para tratar de eliminar las dudas al respecto, la empresa subsidiaria de Microsoft ha sacado unas estadísticas muy interesantes sobre los resultados de usar Copilot que han ido midiendo en el último año y pico y han obtenido también entrevistando desarrolladores. De ahí se desprenden algunos números muy reveladores:
- El 88% de los encuestados se consideran más productivos con Copilot
- Al 74% le permitió centrarse en la parte más satisfactoria del trabajo
- Al 96% le aceleró (suponemos que mucho) el trabajo en tareas repetitivas, que todos tenemos que hacer cada día
- El 77% pasa menos tiempo buscando cómo hacer cosas en Internet
- En un experimento con desarrolladores profesionales, la mitad que usó Copilot terminó las tareas en menos de la mitad del tiempo que los que no lo usaron.
Seguro que hay cosas discutibles en la metodología, en la forma de medir, o en lo que sea, pero es innegable que estas herramientas están aquí para quedarse. Y en el futuro, usarlos será parte integral del trabajo, del mismo modo que la IA ha ido invadiendo todo nuestro mundo en los últimos años.
Ahora bien, no todo es perfecto: si bien esta categoría de herramientas pueden ayudar a todo tipo de desarrolladores, también meten la pata y generan código erróneo o con agujeros de seguridad. Es ahí donde la experiencia sigue siendo un grado y a los más novatos pueden causarles problemas. No debemos fiarnos de todo lo que nos escriban, aunque irán mejorando sin duda.
Microsoft, en concreto, lo está metiendo hasta en la sopa. Por ejemplo, durante el Ignite la semana pasada anunciaron Ideas para Power Apps. Utiliza la tecnología subyacente a Copilot para que puedas describir de palabra qué quieres automatizar. A partir de lo que escribas genera automáticamente los flujos de trabajo o las fórmulas de PowerFX necesarias, dándote el trabajo hecho.
Y es que, en Ignite, la Inteligencia Artificial ha tenido un gran protagonismo (aunque hay otras novedades que te comentamos más abajo).
No podemos ir en contra de los avances tecnológicos y, si los abrazamos y sabemos aprovecharlos, nuestro futuro será más prometedor.
Vamos ya con las noticias y recursos destacados 👇🏻👇🏻👇🏻
🌐 DESARROLLO WEB
Este mes, en concreto el pasado 1 de octubre, se han cumplido 10 años desde que se lanzó TypeScript. Casi nada, y parece que fue hace mucho menos ¿verdad? En este tiempo se ha convertido en el lenguaje de referencia para los desarrollos Web complejos, evitando la mayor parte de los problemas de base que tiene JavaScript. Desde aquí, felicidades a todo el equipo de Microsoft que lo hizo posible.
¿Por qué tu web debería pesar menos de 14 Kb?
Más allá del llamativo título, este artículo es superinteresante y explica el concepto de “slow start” en el protocolo TCP y cómo influye a la hora de descargar una página web por primera vez desde un servidor.
Creando un sistema de control de aeronaves con JavaScript
El desarrollador Charlie Gerald ha creado un sistema de control en tiempo real de aviones en pleno vuelo usando JavaScript. Bueno, no es cierto del todo: obviamente utiliza un dispositivo hardware para pillar las señales de radio ADS-B de los aviones, pero luego lo conecta y lo decodifica usando la API WebUSB, que te permite interactuar a través de USB con esos dispositivos. Un proyecto muy interesante que demuestra otra vez que los navegadores son en la actualidad más y más como sistemas operativos 😱
WebKit se actualiza (por fin) en Safari 16.0
Junto con la versión 16 de Safari, el navegador “nativo” de macOS, Apple ha lanzado un montón de nuevas características que nos facilitarán la vida como desarrolladores. Se trata de características presentes en los demás navegadores hace tiempo, pero que Apple no había implementado, como el soporte para el formato gráfico AVIF (que ya te explicamos a fondo en su día), soporte para la seudoclase :target en CSS, subrejillas… y un montón de cosas más.
👩💻 LENGUAJES Y PLATAFORMAS
Empezando con Java: cómo instalar OpenJDK e IntelliJ IDEA
Para empezar a trabajar en Java, lo primero es instalar OpenJDK y un entorno de desarrollo o IDE. OpenJDK es el Kit de desarrollo de software más utilizado para la plataforma Java que, al contrario que el de Oracle es gratuito y Open Source. OpenJDK te proporciona todo lo necesario para poder compilar y desarrollar con Java.
Por otro lado el entorno de desarrollo te facilitará la tarea gestionando los archivos, dándote ayuda contextual, permitiéndote depurar... y en este vídeo te contamos desde cero cómo crear un entorno de trabajo con Java usando el IDE más potente y más utilizado del mercado: IntelliJ IDEA de JetBrains.
Crear contenedores automáticamente al publicar app .NET
En la próxima versión 7 de .NET Microsoft ha añadido la posibilidad de generar automáticamente la publicación de contenedores con tu aplicación lista para funcionar. Basta con añadir una referencia temporal e indicar como perfil de publicación “DefaultContainer” a la hora de hacer un dotnet publish. Listo. Con eso tenemos un contenedor para el sistema operativo elegido, listo para poner en marcha con Docker run. Más fácil imposible.
Ya está disponible la Release Candidate 2 de .NET 7. Ya queda menos para la versión definitiva, que será dentro de 1 mes más o menos. Recuerda que no será versión con soporte a largo plazo, sino una versión “de transición”.
.NET MAUI Community Toolkit 1.3
Microsoft ha liberado hace unos días la versión 1.3 del Community Toolkit de .NET MAUI. Esta versión nos brinda como novedades un behavior para poder cambiar el color de la barra de estado del móvil (tanto en iOS como en Android) para nuestra aplicación, un control para mostrar fácilmente los conocidos “gravatares” a partir de una dirección de email y mejoras en ciertos tipos de animaciones.
Autenticación sencilla para .NET MAUI con MSAL. NET
Microsoft ha anunciado el soporte en .NET MAUI de Microsoft.Identity.Client en su versión 4.47.0. Esto te facilitará mucho la autenticación de usuarios en tus aplicaciones usando diversos métodos y pudiendo obtener el token correspondiente sin mucho esfuerzo por tu parte. El enlace incluye una explicación de los métodos de autenticación y un vídeo práctico (en inglés).
Fin de soporte para .NET Core 3.1 en Azure
Ojo si aún tienes alguna aplicación en Azure Web Apps que utilice todavía .NET Core 3.1. El próximo 3 de diciembre dejarán de poder utilizarse y dejarán de funcionar. Esto se adelanta unos días al fin de soporte oficial de esa versión de la plataforma .NET, que finalizará el día 13 de diciembre. ¡No te despistes!
Google presenta mejoras de autenticación para desarrollo en Android
El gigante de internet intenta lograr que la autenticación de los usuarios en nuestras aplicaciones sea más sencilla que nunca y, de paso, que podamos ahorrar unos euros en SMS… Por ejemplo, a la hora de solicitar la identidad de un usuario para acceder a nuestra app, podemos exigir que haya proporcionado un número de móvil. Dado que es Google el que se encarga de hacer la verificación el SMS que teníamos que enviar con Twillio o similar para lograrlo por nuestra cuenta, nos lo ahorramos. Por supuesto, si el usuario además nos da permiso, podremos leerlo, pero el hecho de que lo tenga en la cuenta, aunque no lo leamos, nos asegura una identidad real de manera de más fiable. Todos los detalles aquí…
🤖 MACHINE LEARNING Y DATOS
¿Cómo funcionan los modelos generativos de difusión?
Salvo que hayas vivido como un anacoreta, seguro que te has fijado en la revolución que estamos experimentando en el mundo de la generación de imágenes con herramientas como Dall-E 2 o Stable Diffusion. Estos modelos son capaces de generar en segundos verdaderas obras de arte, fotografías hiperrealistas o comics a partir de una simple frase escrita que interpretan. A este tipo de modelos se les llama “de difusión”, y están inspirados en la termodinámica del no-equilibrio. Definen una cadena de pasos que añaden lentamente ruido aleatorio a unos datos iniciales y son capaces de revertir ese proceso de difusión para construir los datos deseados 🤯 En este detallado artículo Lilian Weng de OpenAI nos cuenta exactamente cómo funcionan. Árido pero muy interesante.
PostgreSQL + Azure Cosmos DB
Una de las noticias de Ignite con más bombo y platillo ha sido Azure Cosmos DB for PostgreSQL, anunciado por el propio Satya Nadella, CEO de Microsoft. Se trata de un producto nuevo basado en Cosmos DB, la base de datos documental de Microsoft en Azure. Ofrece soporte desde Cosmos DB para almacenar datos también en una instalación de código abierto del gestor de bases de datos relacionales que se está comiendo el mercado: PostgreSQL. La idea es que puedas tener con un solo producto y API, tanto una base de datos relacional tradicional como una No-SQL, usando de manera transparente lo mejor de ambas cuando lo necesites. En este enlace tienes el anuncio, y en este otro te dejamos más detalles técnicos. La verdad es que es muy interesante.
Y por cierto, PostgreSQL acaba de anunciar su nueva versión 15, con grandes mejoras de rendimiento a la hora de ordenar y comprimir datos, nuevas funciones para expresiones regulares en las consultas y unas cuantas cosas interesantes más.
Libro Online gratuito: Cloud-Scale Data for Spring Developers
Este libro online gratuito (en inglés) que ha lanzado Microsoft está dirigido principalmente a desarrolladores Java, y más en concreto de Spring. Sin embargo es muy interesante para cualquier desarrollador. El título no lo deja claro, pero la portada sí, y es que su objetivo principal es que aprendas CosmosDB, la “implementación” de Microsoft de MongoDB en Azure. Incluye una buena introducción a las bases de datos NoSQL para quien viene del mundo relacional, y enseña a manejar y escalar CosmosDB en Azure. Interesante para tener en tu arsenal de posibilidades. Además, CosmosDB tiene una generosa capa gratuita a la que le podrás sacar partido.
👨💻 Dev Life
30 años del ThinkPad
El 5 de octubre de 1992 se presentó el primer portátil ThinkPad, hace nada menos que ¡treinta años!. Por aquel entonces estaba en manos de IBM, y ahora son chinos (Lenovo). Y salió ya con su reconocible círculo rojo en medio del teclado. Para este señalado aniversario, Lenovo presenta una edición especial limitada del ThinkPad X1 Carbon G10. ¡Feliz cumpleaños ThinkPad!
Leon, tu asistente personal Open Source
Este proyecto Open Source basado en Node.js te permite crear tu propio asistente personal, estilo Siri o Alexa, con capacidad de entender lo que le pides y contestarte de viva voz. Se puede extender con nuevos “skills”. Puedes verlo en funcionamiento en este vídeo.
Edge Workspaces
Microsoft ha presentado una preview de su característica de colaboración en el navegador para empresas. Básicamente es una evolución de los grupos de pestañas de Google Chrome pero llevada un paso más allá: te permite compartir el grupo con otras personas y ver las pestañas, así como las que se añaden o se quitan, en tiempo real entre todos los que colaboran. Se acabó el andar enviando enlaces por email: creas un grupo, lo compartes y todos en la misma página (nunca mejor dicho). De momento la preview es solo para cuentas empresariales de Microsoft 365, no para cuentas personales.
⚙️ Herramientas
DevToys: la navaja suiza del desarrollador
Descubre en este vídeo DevToys, la herramienta gratuita que siempre deberías tener a mano si eres desarrollador. Muchas pequeñas utilidades que, en conjunto, te ahorrarán tiempo.
Azure podría superar a AWS este año
La información original es de CloudWars, que siguen la evolución económica y de capacidades de las principales “clouds” desde hace años, pero os dejamos un enlace en español de Microsofters. Cloudwars cree que Microsoft podría terminar el año con un 25% más de cifra de negocios que AWS, con la friolera de 100.000 millones de dólares de facturación 🤯 Y si nos atenemos a las cifras que llevan estos 3 primeros trimestres, todo apunta a que así será.
Azure Functions ahora soporta también .NET framework 4.8, es decir, la versión clásica de .NET y no solo las últimas versiones. Esto es una gran noticia para los que quieran migrar aplicaciones y utilidades existentes a este tipo de servicio y no podían hacerlo por falta de soporte. Te permite utilizar dependencias que no hayan sido migradas a .NET 6, por ejemplo. También han anunciado la preview para soportar Java 17, PHP 8.1, Python 3.10 y Node.js 18.
Git 2.38 ha salido: ahora con Scalar
Esto parece un anuncio de un coche barato de los noventa, pero no. Git ha lanzado su versión más reciente y ha incorporado a su núcleo una herramienta de Microsoft llamada Scalar, a la que apunta nuestro enlace. Scalar reúne en un solo proyecto las múltiples mejoras que han introducido Microsoft y GitHub para poder trabajar sin problemas con repositorios muy grandes, sin necesidad de utilizar una capa de virtualización. Si trabajas con monorrepos enormes, te interesa mucho.
Paso a paso: cómo migrar WordPress a Azure AppService
Este artículo te cuenta cómo puedes hacer, paso a paso, una migración sencilla de tu instalación de WordPress a un AppService de Azure en Linux, para sacar partido de las posibilidades de escalado automático, rendimiento, etc…
Azure Kubernetes Fleet Manager
Dado que Kubernetes es sin duda el orquestador por excelencia para contenedores, las instalaciones y cargas de trabajo son cada vez mayores. Hay empresas que manejan “flotas” enteras de contenedores en entornos complejos. Es por esto que Microsoft acaba de anunciar la preview de Azure Fleet, un gestor de clústeres Kubernetes para facilitar la gestión a gran escala de los mismos.
👾 Frikadas
Minecraft creado con Minecraft 🤯
Este equipo de frikazos han estado trabajando 7 meses construyendo una computadora completa, con su GPU y con todo lo demás, usando bloques de Minecraft, y diseñada para ejecutar MineCraft. Es alucinante. La pega: es extremadamente lenta. Es equivalente a un procesador real de 1Hz de velocidad, y ejecuta Minecraft a 0,1fps. En el vídeo puedes ver la historia y puedes verlo en funcionamiento a 2.000.000x para que se vea a velocidad normal. Pero es sin duda una frikada digna de esta sección.
Máquina lanzadora de cuchillos
Nunca subestimes a un friki con mucho tiempo y determinación… Como por ejemplo, al bueno de Quint, del canal de YouTube Quint BUILDS. En este canal crea vídeos de ciencia y tecnología para animar a los más jóvenes a meterse en esas temáticas. Lo que pasa que en su última idea igual se la ha ido la mano… Y es que ha dedicado los últimos meses a desarrollar una ametralladora de cuchillos 😱 Donde pone el LIDAR pone el cuchillo, calculando en tiempo real el ángulo al que debe lanzarse para dar en el clavo. No estamos seguros de que sea la mejor forma para animar a los chavales a meterse en STEM pero lo cierto es que es impresionante (y aterrador) verla en funcionamiento.
La marca española Loewe y sus diseños "Minecraft"
No, no es Photoshop: lo que ves en la foto son camisetas y “hoodies” reales. Dicen que se han inspirado en Minecraft pero a mí me parecen sacados de un videojuego de los años 80. ¿Serían conscientes de que a quien más le iba a gustar esto es a los frikis developers de todo el mundo y no a los chavales?
Monocraft: programa como si vivieses en Minecraft
Y siguiendo con Minecraft, que parece ser tendencia, GitHub ha liberado esta fuente tipográfica pensada para programadores que es idéntica a la que se utiliza en el juego de Minecraft. Verás tu código como si vieses en un mundo de 8-bits. No es la más legible del mundo pero tampoco está mal.
🤦♂️ Gambadas
Un fallo en Google Fotos "ensucia" fotografías antiguas
Ahora resulta que las fotos antiguas, aunque sean digitales, también se estropean… Por lo visto, muchos usuarios se encuentran con que ciertas fotos viejas, de hace más de 8 años o así, presentan manchas y defectos como si les hubiese afectado el agua. Igual es un diseño hiperrealista del producto o algo así 😜 Google dice que está trabajando para solucionarlo.
Otra liada de Google: el portal de login de Office 365 no es el de Microsoft
Al buscar en Google “Office 365 Login”, el motor de búsqueda arroja como primer resultado un enlace que no dirige a Microsoft, sino a GoDaddy, confundiendo a miles de personas que no saben guardar en la barra de favoritos estas cosas 😜
Un conocido banco de inversión vende discos sin borrar
Esta “gambada” es de traca. Resulta que durante unos 5 años, el gigante banco de inversión Morgan Stanley se deshizo de miles de servidores y discos duros, sin que nadie borrase los datos no-cifrados de sus clientes. La mayoría se fueron vendiendo en subasta exponiendo los datos de más de 15 millones de clientes 🤦🏻♂️ Ahora la SEC de EEUU le ha metido una multa de 35 millones de dólares. Poco me parece.
Y si has llegado hasta aquí, no podemos hacer más que felicitarte porque esta edición ha venido cargadita de noticias. Recuerda que puedes recibir estas y otras noticias directamente en tu email para no perderte ninguna novedad interesante.