Category: Desarrollo

¿Protocol Buffers: Un Desastre de Aficionados?

2025-09-05

Este artículo critica los fallos de diseño de Protocol Buffers (protobuf), argumentando que su sistema de tipos es deficiente, su diseño es ad-hoc y que lleva a una serie de problemas que impregnan el código. Las numerosas restricciones de protobuf provienen de sus soluciones deficientes a problemas ya resueltos, careciendo de composicionalidad. Ejemplos incluyen la incapacidad de repetir campos oneof y varias limitaciones de campos map. El artículo también critica las afirmaciones de protobuf sobre su compatibilidad hacia atrás y hacia adelante sin problemas, y cómo contamina las bases de código, dificultando la escritura y el mantenimiento del código. El autor argumenta que protobuf solo es adecuado para grandes empresas como Google, no para la mayoría de las empresas, y aconseja a los desarrolladores que abandonen el uso de protobuf.

Desarrollo

Consultas en Fracciones de Segundo en Billones de Filas: Análisis en Tiempo Real con ClickHouse

2025-09-05
Consultas en Fracciones de Segundo en Billones de Filas: Análisis en Tiempo Real con ClickHouse

Esta guía demuestra cómo construir aplicaciones de análisis en tiempo real con ClickHouse, obteniendo respuestas de consulta en menos de 200 milisegundos en billones de registros meteorológicos. Abarca la ingestión de datos, técnicas avanzadas como el muestreo estadístico y la preagregación, y muestra un flujo de trabajo completo usando Rill, ingiriendo datos meteorológicos de la NOAA desde S3 y visualizándolos. El almacenamiento columnar de ClickHouse, la compresión avanzada y la ejecución de consultas vectorizadas ofrecen un rendimiento extremadamente rápido, lo que lo hace ideal para el análisis en tiempo real. El artículo explora la compensación entre la frescura de los datos y la precisión, detallando las estrategias de modelado de ClickHouse (desnormalización, diccionarios, vistas materializadas incrementales). Se presenta un ejemplo práctico que usa ClickHouse, S3 y Rill para el análisis de datos meteorológicos en tiempo real.

Desentrañando el misterio de Mach-O: Una inmersión profunda en el formato binario de Apple

2025-09-05
Desentrañando el misterio de Mach-O: Una inmersión profunda en el formato binario de Apple

Este artículo se adentra en las intrincadas particularidades de Mach-O, el formato binario que sustenta los sistemas operativos de Apple para ejecutables, bibliotecas y código de objeto. Disecciona meticulosamente la estructura de Mach-O, abarcando el encabezado, los comandos de carga, los segmentos y las secciones, junto con los binarios universales. Además, el artículo ilumina el papel de Mach-O en la integridad de la firma de código y en los Códigos de Autenticación de Punteros (PAC) en sistemas ARM64e. Se explican en detalle los mecanismos de firma de código y la operación de PAC. La comprensión de Mach-O proporciona información crucial sobre las medidas de seguridad de Apple y los procesos de ejecución de código.

Mojo: El próximo gran proyecto de Chris Lattner para revolucionar la programación de aprendizaje automático

2025-09-05
Mojo: El próximo gran proyecto de Chris Lattner para revolucionar la programación de aprendizaje automático

Chris Lattner, creador de LLVM y del lenguaje Swift, discute su nuevo lenguaje, Mojo, con Ron. Mojo tiene como objetivo hacer que el aprovechamiento de toda la potencia de las GPU modernas sea productivo y divertido. El diseño se centra en crear un lenguaje fácil de usar a la vez que proporciona el control necesario para la escritura de kernels de vanguardia. Un concepto clave es exigir a los programadores que comprendan los detalles del hardware, pero haciendo que esto sea manejable y compartible mediante metaprogramación segura para tipos. El objetivo es admitir la especialización tanto para el cálculo como para la plataforma de hardware. Lattner argumenta que esto es necesario para evitar que proveedores únicos dominen el ecosistema informático de IA.

Desarrollo

Adiós, Docker Daemon: El Auge de Podman

2025-09-05
Adiós, Docker Daemon: El Auge de Podman

Este artículo reflexiona sobre el auge y las preocupaciones de seguridad de la tecnología de contenedores Docker, presentando Podman, un tiempo de ejecución de contenedores sin daemon. Podman aborda los problemas de seguridad y estabilidad del daemon Docker mediante su arquitectura simplificada, seguridad mejorada (operación sin root) e integración perfecta con systemd y Kubernetes. Se proporciona una guía práctica para migrar una aplicación FastAPI de Docker a Podman, mostrando la facilidad de migración y las ventajas que ofrece Podman, como una mejor utilización de los recursos y un entorno de producción más seguro.

Desarrollo

Escapando del Infierno de las Consultas SQL Anidadas: Construyendo Datos de Página de Película con una Sola Consulta

2025-09-05

Este artículo analiza los desafíos de construir datos de página de película utilizando bases de datos relacionales. Los métodos tradicionales requieren múltiples consultas SQL para obtener información como directores, actores y géneros, y ensamblar manualmente los resultados en la estructura jerárquica deseada, lo cual es ineficiente y propenso a errores. El autor utiliza funciones como `jsonb_agg` para generar directamente datos estructurados con formato JSON en una sola consulta SQL, resolviendo eficazmente el problema de "impedancia de la correspondencia objeto-relacional", mejorando la eficiencia y evitando múltiples solicitudes de red e inconsistencias de datos. Esto demuestra la evolución de SQL y la importancia de adaptarse a las nuevas necesidades de datos.

Desarrollo

Plugin de Concurrencia de Fiber HTTPX: Compartir Conexiones entre Fibers

2025-09-05

El plugin :fiber_concurrency de HTTPX permite que las conexiones de una sola sesión se utilicen en múltiples fibers administrados por un programador de fibers, ideal para conexiones de larga duración. Es necesario de forma predeterminada cuando se utiliza el plugin :persistent. Un ejemplo de código muestra cómo iniciar múltiples fibers dentro de un hilo, cada uno utilizando concurrentemente `http.get()` para acceder a una URL. Este plugin es esencial para programas que utilizan programadores de fibers, como los que se construyen con la gema async.

Desarrollo

Renderizando Chrome en una terminal: El proyecto del navegador Carbonyl

2025-09-05

El proyecto Carbonyl intenta renderizar páginas web dentro de una terminal. El autor utiliza inteligentemente caracteres de terminal y secuencias de escape, combinados con Rust y C++, para lograr la renderización web básica. El artículo detalla cómo simular píxeles usando caracteres Unicode, manejar el dibujo de texto, la entrada del ratón y la comunicación entre procesos con Chrome, mientras aborda problemas de eficiencia de renderizado y diseño. Si bien aún se encuentra en una etapa temprana, Carbonyl demuestra la viabilidad de renderizar páginas web en un entorno de terminal, ofreciendo a los desarrolladores un área de exploración novedosa.

Adobe Premiere llega al iPhone: Edición de vídeo profesional móvil, ¡gratis!

2025-09-05
Adobe Premiere llega al iPhone: Edición de vídeo profesional móvil, ¡gratis!

Adobe está llevando su editor de vídeo profesional, Premiere, a los iPhones, ofreciendo edición de vídeo móvil de nivel profesional de forma gratuita. El lanzamiento se producirá a finales de este mes, y la aplicación cuenta con una línea de tiempo multi-pista que admite un número ilimitado de capas de vídeo, audio y texto. Las funciones incluyen subtitulación automática, soporte para 4K HDR y exportación con un solo toque a TikTok, YouTube Shorts e Instagram, con redimensionamiento automático. Si bien la aplicación es gratuita, Adobe cobrará por el almacenamiento en la nube y las funciones de IA generativa. Utiliza efectos de sonido generativos de Adobe, mejora de voz con IA y recursos de Firefly. También hay fuentes, imágenes, sonidos y vídeos gratuitos de Adobe disponibles para quienes eviten el contenido de IA. A diferencia del Premiere Rush simplificado, este nuevo Premiere tiene como objetivo llevar la potencia de Premiere Pro a los dispositivos móviles, ofreciendo control profesional sin la complejidad.

Adiós Spotify: Construyendo mi propia pila de streaming de música

2025-09-05
Adiós Spotify: Construyendo mi propia pila de streaming de música

¿Cansado de los magros pagos a los artistas de Spotify, los artistas falsos y la espeluznante verificación de edad? Este autor construyó una solución de streaming de música autohospedada que ofrece una calidad de sonido superior, la propiedad total de su música y una privacidad mejorada. Los componentes principales incluyen el servidor de música Navidrome, Lidarr para la gestión de la biblioteca y Last.fm/ListenBrainz para el descubrimiento. Esta configuración no solo mejora la experiencia auditiva, sino que también permite un apoyo más directo a los artistas.

Desarrollo

Action!: Un IDE retro para el Atari de 8 bits

2025-09-05
Action!: Un IDE retro para el Atari de 8 bits

Este artículo revisa Action!, un lenguaje compilado para la computadora Atari de 8 bits. Creado por Clinton Parker, Action! estaba optimizado para la CPU 6502 e incluía un entorno de desarrollo integrado (IDE) con monitor, compilador, editor de texto y depurador, algo poco común en sistemas de 8 bits. Si bien era menos avanzado que C o Pascal, su velocidad, su innovador editor (con funciones como desplazamiento y pantalla dividida) y su estrecha integración lo hicieron destacar. El autor relata su experiencia adquiriendo y usando Action!, analizando sus limitaciones y cómo los complementos Action! RunTime y Action! ToolKit las solucionaron parcialmente. Action! se usó principalmente en software amateur y de revistas.

Desarrollo

Envenenando LLMs: La Lucha de un Escritor Contra el Rascado de Datos

2025-09-05
Envenenando LLMs: La Lucha de un Escritor Contra el Rascado de Datos

Los Grandes Modelos de Lenguaje (LLMs) se entrenan con grandes cantidades de datos, muchos de los cuales se extraen de la web abierta sin el consentimiento del autor. Un autor está luchando contra esto creando artículos espejo intencionalmente sin sentido, enlazados mediante etiquetas nofollow. La esperanza es que los LLMs, que pueden ignorar nofollow, consuman este disparate, degradando su salida. Si bien no es una solución perfecta, el autor pretende concienciar sobre el raspado no autorizado de datos y las implicaciones éticas para los creadores de contenido.

Desarrollo

Manejo de errores con seguridad de tipos en Swift 6: Un enfoque por capas

2025-09-05

Swift 6 introduce `throws` tipados, lo que hace que el manejo de errores sea más seguro en términos de tipos. Esta publicación detalla un modelo de error en capas fácil de usar que utiliza un protocolo personalizado `SystemError`. Este protocolo incluye propiedades como `logMessage`, `userFriendlyMessage` y `underlyingErrors`, y proporciona funciones recursivas para buscar tipos de error y generar pilas de errores. El artículo demuestra la definición de objetos de error personalizados utilizando structs y enums, el manejo de errores de Foundation y errores de decodificación. Los ejemplos muestran cómo aprovechar `throws` tipados y el manejo de errores personalizado para mejorar la confiabilidad de los proyectos Swift.

Desarrollo

Solver de cinemática inversa UR5 ultrarrápido usando IK-Geo

2025-09-05

Este artículo presenta un solucionador de cinemática inversa (IK) de alto rendimiento para el brazo robótico UR5, aprovechando la biblioteca IK-Geo. Utilizando la descomposición de subproblemas, resuelve tres subproblemas geométricos canónicos para lograr velocidades más de 40 veces más rápidas que IKFast, con una precisión que alcanza la precisión de la máquina (10⁻¹⁶). Al devolver todas las soluciones y manejar con elegancia las singularidades, ofrece ventajas significativas para el control en tiempo real, la planificación de trayectorias y la simulación, desbloqueando nuevas capacidades en robótica.

Desarrollo

¿Qué pasaría si OpenDocument usara SQLite?

2025-09-05

Este artículo explora un experimento mental: ¿qué pasaría si el formato de archivo OpenDocument, específicamente ODP (OpenDocument Presentation), se basara en SQLite? El autor argumenta que esto ofrecería ventajas significativas, incluyendo tamaños de archivo menores, tiempos de guardado e inicio más rápidos, menor uso de memoria, control de versiones integrado y una mejor experiencia de usuario. Se detallan las limitaciones del enfoque actual basado en ZIP, como las dificultades con las actualizaciones incrementales, el inicio lento, el alto consumo de memoria, los problemas de recuperación tras fallos y la accesibilidad limitada al contenido. El autor propone reemplazar ZIP por SQLite y sugiere además dividir el contenido en unidades más pequeñas dentro de tablas de base de datos para actualizaciones incrementales y un inicio más rápido. También se discute el control de versiones mediante SQLite, permitiendo la retención de versiones históricas y simplificando la recuperación tras fallos. En esencia, el artículo postula que el uso de SQLite como formato de archivo de aplicación puede mejorar drásticamente la experiencia del usuario y el rendimiento de aplicaciones como OpenOffice.

Desarrollo Formato de Archivo

Hypr MCP Gateway: Simplificando la autenticación OAuth2 para tus servidores MCP

2025-09-05

El equipo de Hypr MCP ha creado un gateway de servidor MCP, un proxy inverso que simplifica la adición de autenticación OAuth2 a los flujos de trabajo basados en LLM. Este gateway soluciona las deficiencias en el soporte del software de proveedor de identidad (IdP) existente para el marco de autorización de la especificación MCP, como la falta de soporte para el registro dinámico de clientes (DCR) y los metadatos del servidor de autorización (ASM). El artículo detalla la implementación del gateway, incluyendo el uso de Dex como IdP, el manejo de CORS y la creación de middleware OAuth2. También se discuten los desafíos encontrados, como las inconsistencias en el manejo de clientes del registro dinámico de clientes y las respuestas de error. El Hypr MCP Gateway ofrece una solución fácil de usar y robusta para conectar aplicaciones internas a flujos de trabajo LLM de forma segura.

Desarrollo

Rasterizador: Un viaje de una década a un motor de gráficos vectoriales acelerado por GPU

2025-09-05
Rasterizador: Un viaje de una década a un motor de gráficos vectoriales acelerado por GPU

Inspirado en Adobe Flash, el autor pasó diez años desarrollando Rasterizer, un motor de gráficos vectoriales 2D acelerado por GPU. Hasta 60 veces más rápido que la renderización basada en CPU, es ideal para interfaces de usuario animadas con vectores. Construido usando C++11 y Metal para macOS (con un puerto iOS en desarrollo), Rasterizer admite archivos SVG y PDF. Presenta técnicas innovadoras de anti-aliasing y estrategias de renderizado eficientes, incluyendo la resolución de curvas de Bézier cuadráticas basada en GPU y el paralelismo por lotes.

Desarrollo motor 2D

El FUGC de Fil-C: Un recolector de basura paralelo, concurrente y preciso

2025-09-05

Fil-C utiliza FUGC (Fil's Unbelievable Garbage Collector), un recolector de basura paralelo, concurrente, en tiempo real, con pila gris Dijkstra precisa y no móvil. FUGC cuenta con marcado y barrido concurrentes multi-hilo, evitando pausas de detener el mundo mediante 'apretones de manos suaves' para una interacción no bloqueante con los hilos mutadores. Su enfoque de pila gris elimina las barreras de carga, requiriendo solo una barrera de almacenamiento simple, mientras que las barreras de Dijkstra garantizan el marcado preciso. FUGC no es móvil, simplificando la implementación concurrente y ofreciendo soporte para la gestión de memoria al estilo C, Java y JavaScript, incluyendo finalizadores, referencias débiles y mapas débiles, mejorando drásticamente la eficiencia y la seguridad de la gestión de memoria de Fil-C.

Desarrollo

Experimentando y Abandonando una Biblioteca de IU de Terminal

2025-09-04
Experimentando y Abandonando una Biblioteca de IU de Terminal

Durante el desarrollo del juego Kartoffels, el autor intentó crear una biblioteca de IU de terminal de alto rendimiento, Kruci, para reemplazar la biblioteca Ratatui existente. Kruci utiliza un diseño de IU declarativo e intenta mejorar el rendimiento evitando los cálculos de diferenciación píxel a píxel. Sin embargo, Kruci encontró muchos desafíos en el manejo de eventos, la gestión del estado y el apilamiento Z. Finalmente, el autor decidió abandonar el proyecto, concluyendo que optimizar Ratatui o concentrarse en el desarrollo del juego sería más eficiente.

(pwy.io)
Desarrollo IU de Terminal

Almacenamiento en caché eficiente de fuentes con Service Workers

2025-09-04

Este fragmento de código muestra cómo un service worker almacena en caché de forma eficiente los recursos de fuentes. Utiliza `CacheStorage` para almacenar fuentes en caché e incluye un mecanismo de control de versiones para evitar que las cachés obsoletas interfieran. Cuando se solicita una fuente, el service worker primero comprueba la caché; si hay una coincidencia, la devuelve directamente; de lo contrario, la recupera de la red y la añade a la caché, gestionando los errores de solicitud de red durante el proceso. El código utiliza inteligentemente el método `clone()` para evitar problemas de consumo de recursos.

Thunk: Habilitando tus programas Rust en versiones antiguas de Windows

2025-09-04
Thunk: Habilitando tus programas Rust en versiones antiguas de Windows

Thunk es una herramienta Rust que utiliza las bibliotecas VC-LTL5 y YY-Thunks para permitir que tus programas Rust se ejecuten en sistemas Windows antiguos, incluso en Windows XP. Alcanza la compatibilidad agregando VC-LTL a la ruta de búsqueda de la biblioteca y usando YY-Thunks para compensar las API que faltan en sistemas antiguos. Thunk ofrece el uso de herramientas de línea de comandos y bibliotecas, simplificando el proceso de creación de programas y bibliotecas compartidas compatibles con versiones antiguas de Windows. Ten en cuenta que Thunk no garantiza la compatibilidad perfecta en sistemas antiguos; úsalo bajo tu propio riesgo.

Desarrollo

Construyendo un mapa de alto rendimiento con Go: Una implementación de teselas vectoriales

2025-09-04
Construyendo un mapa de alto rendimiento con Go: Una implementación de teselas vectoriales

Al construir un sitio web que mapea la actividad urbana en vivo, el autor buscó una manera más eficiente de representar el mapa, optando por teselas vectoriales para optimizar el tiempo de carga. El artículo detalla el proceso de generación de Mapbox Vector Tiles (MVT) a partir de datos GeoJSON, cubriendo transformaciones de coordenadas, identificación de teselas, construcción de geometría y adición de propiedades. Implementado en Go, las teselas MVT resultantes redujeron significativamente el tamaño de la página y mejoraron la velocidad de renderizado del mapa y el rendimiento general.

Rompiendo Math.random(): Un algoritmo mejorado para invertir Xorshift128+

2025-09-04
Rompiendo Math.random(): Un algoritmo mejorado para invertir Xorshift128+

La reciente vulnerabilidad CVE-2025-7783 explota un caso límite en el ecosistema de Node.js, afectando a aplicaciones que usan axios o la biblioteca request obsoleta. El ataque requiere cinco salidas consecutivas de Math.random() de JavaScript, permitiendo la predicción de salidas futuras usando el solucionador z3. Esta publicación de blog presenta un enfoque más eficiente. El autor demuestra un algoritmo de 226 operaciones para invertir el algoritmo Xorshift128+ usado por Math.random(), requiriendo solo dos salidas completas de 64 bits. Al analizar Xorshift128+, conocer solo los 26 bits menos significativos de R1 permite determinar los bits restantes de L1 y R2. La publicación también discute la adaptación de esto a la función Math.random() completa, destacando los desafíos debido al truncamiento de bits y proponiendo una solución usando tres salidas. Finalmente, el autor comparte su experiencia usando ChatGPT para la investigación, observando su potencial mientras reconoce las limitaciones actuales.

Desarrollo

Lanzamiento de hledger 1.50: Balanceo de transacciones robusto y más

2025-09-04
Lanzamiento de hledger 1.50: Balanceo de transacciones robusto y más

Se lanza hledger 1.50, con un balanceo de transacciones significativamente mejorado que utiliza solo precisiones locales para una mayor precisión y solidez. Esta versión también incluye numerosas mejoras, como comandos de datos CSV, archivado de importación, mejoras en el reloj de tiempo y correcciones de errores. La sintaxis y el análisis del reloj de tiempo son más robustos, las sesiones concurrentes son totalmente compatibles y los patrones glob en la directiva include se han mejorado para una coincidencia más potente.

Desarrollo software financiero

De SixthSense a la investigación en física: la odisea tecnológica de un estudiante universitario

2025-09-04
De SixthSense a la investigación en física: la odisea tecnológica de un estudiante universitario

Un estudiante universitario, comenzando con una reflexión sobre la interacción humano-computador, intenta replicar el proyecto SixthSense, lo que inicia su viaje en Ciencias de la Computación e Ingeniería. Durante sus estudios, descubre un mayor interés en la ingeniería de software, particularmente en la creación de aplicaciones prácticas y la resolución de problemas del mundo real. Se involucra en la investigación de física, utilizando Docker para optimizar la instalación de software y empleando CNN y Transformers para la identificación de electrones, cambiando finalmente su especialización a Ciencias de la Computación y Física. Esta experiencia muestra su viaje de exploración de diferentes campos tecnológicos, encontrando sus intereses y dirección, y mejorando sus habilidades a través de la experiencia práctica.

Polars Cloud Disponible: Superando la Brecha de Escala de DataFrame

2025-09-04
Polars Cloud Disponible: Superando la Brecha de Escala de DataFrame

Polars Cloud ya está disponible en AWS, junto con el lanzamiento beta abierto de su nuevo motor distribuido. Esta plataforma tiene como objetivo cerrar la brecha entre la facilidad de uso de pandas local y la escalabilidad de PySpark remoto, ofreciendo una única API que escala sin problemas desde un portátil hasta la nube. Su motor distribuido aprovecha la innovadora arquitectura de streaming de Polars, permitiendo estrategias de escalado horizontal, vertical y diagonal, lo que reduce significativamente el costo, la complejidad y mejora el rendimiento. Los planes futuros incluyen soporte local, un panel de control de clúster en vivo, orquestación de tareas, escalado automático, soporte de catálogo e implementación multirregional.

Desarrollo

Envío de datos confiable con la API Beacon de JavaScript: Olvídate del `beforeunload` poco confiable

2025-09-04
Envío de datos confiable con la API Beacon de JavaScript: Olvídate del `beforeunload` poco confiable

Enviar datos de forma confiable a los servidores cuando un usuario abandona un sitio web siempre ha sido un desafío. Los métodos tradicionales que utilizan el evento `beforeunload` con `fetch` o `XMLHttpRequest` no son confiables, ya que los navegadores pueden cancelar las solicitudes para mejorar la experiencia del usuario. La API Beacon de JavaScript ofrece una solución de 'dispara y olvida'; el navegador no espera una respuesta, lo que garantiza que los datos se envíen de forma confiable. Si bien la API Beacon limita el tamaño de los datos y solo admite solicitudes POST, es perfecta para enviar datos pequeños y críticos, como análisis o eventos de salida de página. También es ideal para cualquier escenario que requiera el envío de datos asíncronos confiables, como la sincronización de datos en tiempo real.

Base de datos bitemporal del 'pobre': viaje en el tiempo con SQLite

2025-09-04

Este artículo detalla el viaje del autor al construir una base de datos bitemporal simplificada usando SQLite para su proyecto indie B2B SaaS. Se adentra en la naturaleza de los datos temporales, la veracidad de los hechos y la simulación de viajes en el tiempo. Ejemplos detallados de código Clojure demuestran el uso de SQLite, HoneySQL y UUIDv7 para crear una base de datos bitemporal eficiente y fácil de mantener. El autor enfatiza la importancia de la simplicidad del sistema, la escalabilidad y la soberanía de datos, compartiendo experiencias y desafíos en el diseño arquitectónico y la implementación de código.

FreeBSD rechaza el código generado por LLM

2025-09-04
FreeBSD rechaza el código generado por LLM

El último informe trimestral del Proyecto FreeBSD revela una nueva política en desarrollo: la prohibición de código y documentación generados por modelos de lenguaje grandes (LLM). Esto se alinea con posturas similares adoptadas por NetBSD y Gentoo Linux, reflejando preocupaciones sobre la fiabilidad y seguridad del código generado por IA. El informe también detalla otros proyectos de FreeBSD en curso, incluyendo mejoras en Wi-Fi, gráficos, sonido y gestión de energía; la reestructuración del sistema operativo en paquetes pkg; y el desarrollo de una GUI basada en web para virtualización. A pesar de la competencia de Linux, FreeBSD sigue desarrollándose activamente, mejorando continuamente sus características y la experiencia del usuario.

Desarrollo

La Mentira de la Codificación con IA: ¿Hype de Productividad o Fracaso?

2025-09-04
La Mentira de la Codificación con IA: ¿Hype de Productividad o Fracaso?

Un programador experimentado con 28 años de experiencia cuestiona las afirmaciones sobre las herramientas de codificación con IA, revelando un experimento de seis semanas que no mostró ganancias significativas de productividad, y potencialmente incluso una desaceleración. El autor argumenta que el bombo publicitario de la industria en torno al aumento de la productividad impulsado por la IA es ampliamente exagerado, sin el respaldo de datos del mundo real. Utilizando datos extensos, el artículo demuestra la falta de un aumento esperado en la producción de desarrollo de software, desmintiendo el mito del 'ingeniero 10x'. El autor insta a los desarrolladores a abordar las herramientas de IA de manera crítica, evitando la adopción ciega y resistiendo las afirmaciones de marketing poco realistas.

Desarrollo
← Previous 1 3 4 5 6 7 8 9 201 202