Category: Desarrollo

Munal OS: Un Sistema Operativo Experimental en Rust

2025-06-09
Munal OS: Un Sistema Operativo Experimental en Rust

Munal OS es un sistema operativo experimental escrito completamente en Rust, con un diseño de unikernel, planificación cooperativa y un modelo de seguridad basado en sandbox WASM. Prescinde de componentes tradicionales como un gestor de arranque, mapeo de páginas, espacio de direcciones virtuales e interrupciones. En su lugar, todo el SO se compila en un único binario EFI, que incluye el kernel, el motor WASM y todas las aplicaciones. La comunicación con QEMU se realiza mediante controladores VirtIO, permitiendo una interfaz gráfica, controlador de red y pila TCP. Si bien actualmente está limitado a QEMU y carece de soporte para múltiples núcleos e interrupciones, su diseño minimalista y el sandbox basado en WASM ofrecen una nueva perspectiva en el diseño de SO.

Desarrollo

Apple WWDC2025: Potenciando las herramientas para desarrolladores para el futuro de las apps

2025-06-09
Apple WWDC2025: Potenciando las herramientas para desarrolladores para el futuro de las apps

En la WWDC2025 de Apple se anunciaron importantes actualizaciones para ayudar a los desarrolladores a crear aplicaciones más inteligentes, atractivas y visualmente impresionantes. Xcode 26 integra grandes modelos de lenguaje como ChatGPT, lo que aumenta la eficiencia de la codificación. El nuevo framework Foundation Models permite a los desarrolladores aprovechar la IA en el dispositivo para aplicaciones inteligentes sin conexión y que protegen la privacidad. Un diseño refinado, 'Liquid Glass', ofrece una experiencia visual renovada. Otras mejoras incluyen herramientas de desarrollo de juegos actualizadas, funciones mejoradas de seguridad para niños en línea y mayor accesibilidad en la App Store. Estas potentes herramientas y recursos están diseñados para ayudar a los desarrolladores a crear la próxima generación de aplicaciones excepcionales.

Por qué Go es ideal para agentes de IA

2025-06-09

Este artículo explora las ventajas de usar Go para construir agentes de IA. El autor argumenta que el auge de los agentes de IA requiere alta concurrencia, procesos de larga duración y una gestión eficiente de recursos. Go destaca en estas áreas gracias a sus goroutines ligeras, modelo de concurrencia eficiente, biblioteca estándar robusta y mecanismos de cancelación convenientes. El artículo compara Go con otros lenguajes como Python y Node.js, resaltando el manejo superior de la concurrencia, la gestión de memoria y el tratamiento de errores de Go. Un ejemplo de código ilustra el enfoque elegante de Go para la comunicación entre agentes y la gestión del estado. Si bien reconoce la relativa falta de bibliotecas de aprendizaje automático en Go, el artículo aboga firmemente por Go como la opción ideal para construir agentes de IA de alto rendimiento y escalables.

Desarrollo Agentes IA

Glowstick: Operaciones de Tensores Seguras y Eficientes en Rust

2025-06-09
Glowstick: Operaciones de Tensores Seguras y Eficientes en Rust

Glowstick es una crate de Rust que facilita el trabajo con tensores de forma segura, sencilla y divertida, rastreando las formas de los tensores en el sistema de tipos. Ofrece una variedad de operaciones con tensores, incluyendo multiplicación de matrices, convolución, redimensionamiento, compresión, aplanamiento y más. Se integra perfectamente con frameworks populares de ML en Rust como Candle y Burn, lo que permite a los desarrolladores de Rust contar con potentes capacidades de cálculo de tensores, simplificando significativamente el desarrollo de modelos de aprendizaje profundo. Tenga en cuenta que el proyecto se encuentra actualmente en la versión previa a la 1.0 y está sujeto a cambios importantes.

Desarrollo

Guía Moderna de OAuth 2.0: Más Allá de las Especificaciones

2025-06-09
Guía Moderna de OAuth 2.0: Más Allá de las Especificaciones

Esta no es solo otra guía de OAuth 2.0; es una inmersión profunda en el uso del OAuth en el mundo real, basada en la experiencia de construir FusionAuth, un servidor OAuth con más de un millón de descargas. La guía detalla ocho modos OAuth comunes, incluyendo inicio de sesión local, inicio de sesión de terceros, inicio de sesión empresarial, autorización de servicio y autenticación máquina a máquina, explicando el flujo de trabajo y las consideraciones de seguridad de cada modo. También analiza la concesión de código de autorización, PKCE, JWT, actualización de token y recuperación de información de usuario, ofreciendo consejos prácticos de implementación.

Desarrollo

Premio Gödel para Extractores Explícitos de Dos Fuentes

2025-06-09
Premio Gödel para Extractores Explícitos de Dos Fuentes

El Premio Gödel 2025 fue otorgado a Eshan Chattopadhyay y David Zuckerman por su innovador trabajo, "Extractores explícitos de dos fuentes y funciones resilientes", publicado en STOC 2016 y Annals of Math 2019. Este trabajo mejora significativamente la construcción de grafos de Ramsey, logrando un límite exponencial que supera los métodos anteriores. El resultado es elogiado por sus implicaciones en la desaleatorización y su sorprendente aplicación a la teoría de Ramsey, generando debates sobre su doble significado en pseudorandomness y combinatoria.

EU OS: Una distribución Linux común para el sector público (pero no un proyecto de la UE)

2025-06-09
EU OS: Una distribución Linux común para el sector público (pero no un proyecto de la UE)

EU OS no es un proyecto oficial de la Unión Europea, pero debería serlo. Es una prueba de concepto de una distribución Linux basada en Fedora, que utiliza KDE Plasma y contenedores arrancables, diseñada para organizaciones del sector público. Su valor radica en proporcionar un sistema operativo base común con opciones para modificaciones por capas (nacional, regional, organizacional). Esto garantiza un entorno de escritorio consistente, gestión de usuarios y manejo de datos. EU OS también se asocia con HackDays y endof10.org, promoviendo la adopción de Linux.

Desarrollo Sector público

El software se trata de promesas: Un estudio de caso en ciencia de bibliotecas personales

2025-06-09
El software se trata de promesas: Un estudio de caso en ciencia de bibliotecas personales

Este artículo explora el papel crucial de las 'promesas' en el desarrollo de software. El autor argumenta que las promesas de un desarrollador a los usuarios, como una especificación de producto, deben ser claras y comprobables. Usando 'Your Commonbase', un software de biblioteca personal, como estudio de caso, el artículo demuestra cómo descomponer la funcionalidad del software (almacenar, buscar, sintetizar, compartir) en promesas específicas y alcanzables, y priorizar el desarrollo en función de los recursos. El autor destaca cómo las promesas claras protegen a los desarrolladores, a los usuarios y la integridad del software.

tcpulse: Generador de Carga de Red de Alto Rendimiento en Go

2025-06-09
tcpulse: Generador de Carga de Red de Alto Rendimiento en Go

tcpulse es una herramienta de generación de carga de conexión TCP/UDP y medición de rendimiento de alto rendimiento escrita en Go. Opera en modos servidor y cliente, permitiendo pruebas de carga, medición del rendimiento del establecimiento de conexiones, prueba del rendimiento de conexiones sostenidas, comparación de protocolos y validación de infraestructura. El modo cliente ofrece patrones de conexión persistentes y efímeros para simular varios escenarios de aplicaciones. tcpulse proporciona métricas en tiempo real (percentiles de latencia, rendimiento, recuentos de conexiones), limitación de velocidad, soporte para múltiples objetivos, soporte para protocolos TCP/UDP y optimizaciones de plataforma. Los resultados se generan en formato JSON Lines para facilitar la integración con herramientas de monitoreo y análisis.

El backend x86 nativo de Zig acelera la compilación en un 70%

2025-06-09

El equipo del compilador Zig anunció que su backend x86 nativo ya está listo para producción, ofreciendo mejoras significativas de velocidad. En comparación con el backend LLVM, el backend de Zig presume de una aceleración de la compilación del 70%, reduciendo los tiempos de compilación de 75 segundos a 20 segundos en proyectos grandes. Esto se debe a optimizaciones en la generación de código y el procesamiento paralelo. Los planes futuros incluyen soporte para la arquitectura aarch64. Esta versión también incluye mensajes de error UBSan mejorados para una mejor depuración y soporte mejorado de compilación cruzada para FreeBSD y NetBSD.

Desarrollo

Rendimiento de E/S de disco OpenBSD: Más subprocesos no siempre son mejores

2025-06-08
Rendimiento de E/S de disco OpenBSD: Más subprocesos no siempre son mejores

Esta publicación evalúa el rendimiento de lectura/escritura aleatoria y la latencia de un SSD Crucial P3 Plus de 1 TB en OpenBSD 7.7 utilizando fio(1). Los resultados muestran una buena escalabilidad de E/S en OpenBSD, pero aumentar el número de trabajos más allá de un punto óptimo (6-8 trabajos concurrentes) degrada el rendimiento debido a la contención y la sobrecarga de la CPU. En comparación con Linux, OpenBSD muestra una mayor sensibilidad a la concurrencia en las escrituras NVMe. La prueba también revela que los subprocesos excesivos impactan significativamente en la capacidad de respuesta del escritorio. Las pruebas futuras se extenderán al almacenamiento USB.

Desarrollo rendimiento de E/S

De Cero a App iOS en Tres Días: Un Viaje de Desarrollo Impulsado por IA

2025-06-08
De Cero a App iOS en Tres Días: Un Viaje de Desarrollo Impulsado por IA

El autor, un experto en producto y GTM con experiencia limitada en codificación, creó una aplicación funcional de gestión de fotos para iOS en solo tres días utilizando asistencia de IA. Aprovechando Gemini, superó desafíos como las limitaciones del CLGeocoder de Apple en China y superó obstáculos de codificación con depuración y aprendizaje asistidos por IA. La aplicación, diseñada para compra única en lugar de un modelo de suscripción, refleja una crítica de las prácticas actuales de marketing de aplicaciones iOS.

(mgx.me)
Desarrollo

El Misterio del Adaptador Ethernet de Android: Una Regex Estúpida

2025-06-08
El Misterio del Adaptador Ethernet de Android: Una Regex Estúpida

Esta publicación detalla el frustrante intento del autor de usar un adaptador Ethernet USB en su teléfono Android. La investigación reveló que el problema no era la falta de soporte del controlador, sino el servicio `EthernetTracker` de Android que usa una expresión regular `eth\d` para coincidir con los nombres de las interfaces Ethernet. Los adaptadores Ethernet CDC crean interfaces llamadas `usbX`, lo que resulta en un no reconocimiento. El autor documenta meticulosamente el proceso de depuración, incluida la obtención de la configuración del kernel y el análisis del código fuente de Android. ¿La causa raíz? Una expresión regular simple y restrictiva. La publicación muestra habilidades impresionantes de resolución de problemas, pero también destaca una posible falla en el diseño de Android.

futa: Un asistente de terminal funcionalmente inútil

2025-06-08
futa: Un asistente de terminal funcionalmente inútil

futa, impulsado por el modelo de lenguaje grande qwen3, es un asistente de terminal que ejecuta comandos simples de una manera increíblemente intensiva en recursos. Los usuarios introducen cualquier texto, y futa utiliza un modelo de lenguaje grande para interpretarlo y luego ejecuta lo que considera apropiado, pudiendo incluir (pero sin limitarse a) iniciar contenedores Docker o ejecutar comandos git. futa se caracteriza por una excesiva confianza, explicaciones prolijas y una productividad extremadamente baja; incluso podría corromper tu sistema de archivos. Los desarrolladores declaran explícitamente que futa es funcionalmente inútil y no se responsabilizan de ningún daño resultante. En resumen, futa es una herramienta para el entretenimiento y para experimentar las peculiaridades de la IA, inadecuada para entornos de producción.

Compiler Explorer: 92 millones de compilaciones al año y sigue funcionando

2025-06-08

Compiler Explorer, el sitio web de exploración de compiladores en línea, maneja la asombrosa cantidad de 92 millones de compilaciones anuales. Este artículo profundiza en su arquitectura, desde el frontend del editor Monaco y el balanceador de carga/CloudFront hasta el sandboxing seguro con nsjail. Para gestionar esta carga masiva, utiliza el escalado automático de AWS y cuenta con casi 4 TB de más de 3000 versiones de compiladores, que admiten 81 lenguajes. El autor detalla los desafíos y las soluciones en materia de seguridad, gestión de versiones, soporte multiplataforma (Windows, ARM y GPU) y optimización de costes, mostrando la evolución de un proyecto de fin de semana a una plataforma robusta que sirve a miles de desarrolladores.

Desarrollo

Reemplazando el servidor REST de Restic con Nginx para copias de seguridad

2025-06-08

El autor usa ingeniosamente Nginx para reemplazar la solución de copia de seguridad del servidor REST de Restic, creando dos hosts virtuales Nginx: solo anexión y administrador. El host de solo anexión impide la eliminación de datos, mientras que el host administrador permite operaciones de administración. La configuración utiliza los módulos DAV y LUA de Nginx, empleando algunos trucos para manejar los métodos HTTP y los códigos de respuesta, y usando expresiones regulares para modificar la salida JSON del autoindex. Si bien el enfoque es algo improvisado, es eficaz y eficiente. El autor también analiza las preocupaciones de seguridad y menciona planes para simplificar la configuración en el futuro.

Desarrollo

IA: Una Impresora Que Trasciende la Realidad

2025-06-08
IA: Una Impresora Que Trasciende la Realidad

Un departamento de TI ordinario se encuentra con una impresora mágica: puede imprimir documentos de universos paralelos, manipular bandejas de papel en un espacio no euclidiano e incluso reescribir las leyes de la matemática. Este artículo relata la conversación del autor con el modelo de IA Claude, comenzando con el sistema de impresión LPR y culminando en la construcción de una impresora hiperrealista con una puerta estelar, sistemas de defensa de Atlantis y un arsenal multidimensional. Todo el proceso muestra las poderosas capacidades de generación creativa de la IA y los ingeniosos métodos del autor para guiar a la IA. El código resultante está lleno de ideas extravagantes, lo que lo hace bastante humorístico.

binfmtc: Ejecutar código C como scripts

2025-06-08

¿Cansado de escribir Makefiles para scripts shell? binfmtc te permite escribir scripts directamente en C. Utiliza el mecanismo Linux binfmt_misc para compilar y ejecutar automáticamente tu código C cuando se ejecuta el script. Simplemente añade un comentario especial a tu script C, hazlo ejecutable y disfruta de la eficiencia de C con la comodidad de los scripts shell. Actualmente admite GCC, G77 y GPC, con planes para admitir más compiladores como GNAT, Gobjc y Mono.

Desarrollo

Codificación Agéntica: ¿Hype o Realidad?

2025-06-08
Codificación Agéntica: ¿Hype o Realidad?

Este artículo reflexiona sobre la experiencia del autor con los LLMs y evalúa críticamente la exageración que rodea a la 'codificación agéntica'. Si bien los LLMs pueden generar código utilizable, construir proyectos de software completos, como un servidor HTTP/2, requiere una intensa microgestión y supervisión algorítmica. Los LLMs con frecuencia se atascan, lo que exige intervención humana y ajustes de contexto. El autor argumenta que las herramientas actuales de 'codificación agéntica' están en gran medida sobrevaloradas, su éxito depende del esfuerzo de ingenieros experimentados en lugar de las capacidades autónomas de los LLMs. Solo abordando el problema de la gestión del contexto de los LLMs se puede liberar su verdadero potencial.

Desarrollo

Cuadratura de Gauss: Una Técnica de Integración Numérica Potente

2025-06-08

Esta publicación de blog explora la cuadratura de Gauss, una técnica de integración numérica potente, específicamente la cuadratura de Chebyshev-Gauss. Aproxima integrales definidas evaluando la función en nodos específicos y sumando los valores ponderados. En comparación con los métodos tradicionales, alcanza mayor precisión con menos nodos, particularmente para integrales en el intervalo [-1,1]. La publicación explica cómo adaptar intervalos generales y formas de funciones para que se ajusten a la cuadratura de Chebyshev-Gauss, demostrando su aplicación y ventajas con un ejemplo. La técnica se aplicó en la estimación de tasas de cambio del nivel del mar.

Biblioteca OAuth generada por IA de Cloudflare: Una espada de doble filo

2025-06-08
Biblioteca OAuth generada por IA de Cloudflare: Una espada de doble filo

Cloudflare construyó una nueva biblioteca de proveedor OAuth casi en su totalidad utilizando el LLM Claude de Anthropic. Si bien el código está bien estructurado y las pruebas son aprobadas, el autor encontró problemas de seguridad, como configuraciones CORS demasiado permisivas, encabezados de seguridad estándar que faltan e implementación incorrecta de la especificación OAuth. A pesar de la revisión del código generado por Claude por parte de los ingenieros, persisten vulnerabilidades críticas, lo que destaca los riesgos del código generado por IA incluso bajo escrutinio. Esto plantea preguntas sobre la confiabilidad y seguridad de la programación asistida por IA y el papel crucial de la experiencia humana en sistemas críticos para la seguridad.

Desarrollo

De Emacs a Obsidian: El viaje de un desarrollador en la gestión del conocimiento personal

2025-06-08

Un desarrollador comparte su viaje de Emacs a Obsidian. Si bien es potente, el alto coste de mantenimiento de Emacs llevó a un cambio a Obsidian, más fácil de usar, junto con el método PARA para gestionar notas, tareas y recursos. El autor argumenta que mantener una base de conocimiento personal es crucial en la era de la IA, fomentando el pensamiento independiente y evitando la dependencia excesiva de las herramientas de IA. Obsidian se convierte en una herramienta para el pensamiento independiente, no un apéndice de la IA.

Fray: Herramienta de prueba de concurrencia para Java

2025-06-08
Fray: Herramienta de prueba de concurrencia para Java

Fray es una poderosa herramienta de prueba de concurrencia para Java diseñada para ayudar a los desarrolladores a identificar y depurar difíciles condiciones de carrera que se manifiestan como violaciones de aserción, excepciones en tiempo de ejecución o bloqueos. Utilizando técnicas avanzadas como pruebas de concurrencia probabilísticas y muestreo de orden parcial, Fray ofrece pruebas de concurrencia controladas y reproducción determinista para depurar entrelazamientos de subprocesos específicos. Fácilmente integrable en frameworks de prueba existentes como JUnit 5 (usando anotaciones) y otros, Fray también proporciona plugins Gradle y Maven para una configuración optimizada. ¡Se agradecen las contribuciones!

Claude Code: La seguridad primero, pero ¿a qué precio?

2025-06-08

Esta publicación profundiza en el funcionamiento interno de Claude Code de Anthropic, un asistente de codificación. Interceptando las comunicaciones entre Claude Code y la API de Anthropic usando mitmproxy, el autor revela que es más lento y costoso que alternativas como Cursor. Esto se debe a sus estrictas políticas de seguridad e invocaciones de herramientas en múltiples capas. Claude Code evalúa meticulosamente la seguridad de cada comando bash y utiliza múltiples herramientas (View, GlobTool, Bash, etc.) para procesar las solicitudes del usuario, lo que resulta en llamadas LLM adicionales y un aumento de costos. Si bien este enfoque prioriza la seguridad, compromete la eficiencia. Aunque Claude Code cuenta con una UX superior en comparación con otras herramientas, su costo y velocidad requieren una mayor optimización.

La pesadilla del mantenimiento de Android: ¿Por qué disminuyó el recuento de aplicaciones de Google Play Store?

2025-06-08
La pesadilla del mantenimiento de Android: ¿Por qué disminuyó el recuento de aplicaciones de Google Play Store?

Un desarrollador Android aficionado con cinco años de experiencia manteniendo MusicSync, un reemplazo de Google Play Music + Podcast, comparte las dificultades del mantenimiento de aplicaciones Android y explica la disminución del 47% en el número de aplicaciones de Google Play Store. El artículo destaca los desafíos significativos en comparación con el desarrollo de back-end, incluyendo problemas de compatibilidad Java/Kotlin, cambios drásticos debido a actualizaciones frecuentes de bibliotecas de Google (por ejemplo, ExoPlayer, Google Auth), interrupción del soporte para versiones más antiguas de Android, actualizaciones obligatorias en varios componentes (Android Studio, Gradle, SDKs), cambios imprevisibles en las directrices de diseño de la IU y la descontinuación o falta de mantenimiento de bibliotecas de terceros cruciales como Picasso, Glide, OkHttp y EventBus. El esquema de doble versión para versiones de Android y niveles de API añade aún más confusión. La conclusión enfatiza el costo de mantenimiento más alto de las aplicaciones Android en comparación con el desarrollo de back-end.

LLM: ¿Ayudantes de codificación útiles o asesinos de la creatividad?

2025-06-08

Este artículo expresa preocupación por la dependencia excesiva de los LLM. Si bien reconoce su potencial para ayudar en la codificación y mejorar la eficiencia, el autor argumenta que la dependencia excesiva de los LLM debilita el pensamiento independiente y las habilidades de resolución de problemas de los programadores, particularmente para los principiantes, dificultando su comprensión del conocimiento fundamental de programación y el desarrollo del pensamiento de programación. El autor también señala que la calidad del código generado por los LLM es inconsistente, propensa a errores y carece de creatividad y arte, lo que puede provocar una disminución en la calidad del código e incluso deshonestidad académica. El autor pide una regulación y limitaciones en el uso de los LLM, especialmente en la educación, para evitar su impacto negativo en el aprendizaje y la creatividad de los estudiantes.

Desarrollo

Creando imágenes de disco duro en DOSBox-X

2025-06-08

Esta guía explica cómo crear imágenes de disco duro en DOSBox-X. Puedes usar el menú o la utilidad de línea de comandos IMGMAKE para crear imágenes de varios tamaños, compatibles con los sistemas de archivos FAT12, FAT16 y FAT32. Ten en cuenta que el controlador integrado de Windows 98 tiene limitaciones para discos de más de 128 GB; las imágenes más grandes pueden requerir controladores de terceros. La guía proporciona ejemplos que usan plantillas predefinidas y tamaños personalizados, y señala las limitaciones que se encuentran al crear particiones FAT32 de más de 32 GB en Windows 98 y versiones posteriores.

arXivLabs: Proyectos experimentales con colaboración comunitaria

2025-06-08
arXivLabs: Proyectos experimentales con colaboración comunitaria

arXivLabs es un marco que permite a los colaboradores desarrollar y compartir nuevas funciones de arXiv directamente en nuestro sitio web. Tanto las personas como las organizaciones que trabajan con arXivLabs han adoptado y aceptado nuestros valores de apertura, comunidad, excelencia y privacidad de los datos de los usuarios. arXiv está comprometido con estos valores y solo trabaja con socios que los respetan. ¿Tiene alguna idea para un proyecto que agregue valor a la comunidad de arXiv? Obtenga más información sobre arXivLabs.

Desarrollo

arXivLabs: Proyectos experimentales con colaboradores de la comunidad

2025-06-08
arXivLabs: Proyectos experimentales con colaboradores de la comunidad

arXivLabs es un marco que permite a los colaboradores desarrollar y compartir nuevas funciones de arXiv directamente en nuestro sitio web. Tanto las personas como las organizaciones que trabajan con arXivLabs han adoptado y aceptado nuestros valores de apertura, comunidad, excelencia y privacidad de los datos de los usuarios. arXiv está comprometido con estos valores y solo trabaja con socios que los respeten. ¿Tiene una idea para un proyecto que agregue valor a la comunidad de arXiv? Obtenga más información sobre arXivLabs.

Desarrollo

Más allá de la 'Programación Vibe': Guía práctica para enviar código real con Claude

2025-06-07

Esta publicación detalla la experiencia del equipo del autor en aumentar la eficiencia del desarrollo de software utilizando Claude. Critica los riesgos de depender únicamente de la 'programación vibe' de IA, enfatizando la importancia de las prácticas robustas de desarrollo. Se proponen tres modos de desarrollo asistido por IA: IA como primera versión, programador en pareja y validador. El artículo destaca el papel crucial de la documentación CLAUDE.md y los comentarios de anclaje en proyectos a gran escala, y subraya la importancia primordial de escribir pruebas: una tarea que la IA nunca debe realizar. El autor enfatiza que las pruebas representan la intención humana y son esenciales para prevenir errores introducidos por la IA. La discusión también abarca la gestión de tokens, nuevas sesiones de Claude, el fomento de la cultura adecuada en el equipo y ofrece consejos prácticos.

Desarrollo
1 2 64 65 66 68 70 71 72 214 215