Category: Desarrollo

Premio Alonzo Church 2025: Unificando la Investigación en Cálculo Lambda

2025-06-23

Paul Blain Levy recibió el Premio Alonzo Church 2025 por su trabajo innovador en el cálculo Call-by-Push-Value (CBPV). Su investigación unificó las corrientes separadas de investigación en cálculo lambda lógico puro y cálculo lambda aplicado con efectos. El CBPV sirve como un marco unificador para el estudio de fenómenos computacionales y lógicos, incluyendo efectos, polarización, normalización de términos, isomorfismos de tipo y transformaciones de programa. Las contribuciones de Levy abarcan tipos de datos algebraicos, semántica operacional, semántica denotacional y teorías ecuacionales, avanzando significativamente la teoría semántica del cálculo lambda y su aplicación al modelado de lenguajes de programación.

Polystate: Máquinas de Estado Finitas Compuestas en Zig

2025-06-23
Polystate: Máquinas de Estado Finitas Compuestas en Zig

Polystate es una biblioteca Zig para construir máquinas de estado finitas componibles mediante la composición de tipos. Impone convenciones de programación, registrando el estado de la máquina de estado a nivel de tipo y logrando la componibilidad mediante la composición de tipos. Esto mejora la corrección de las estructuras de programas imperativos y fomenta el rediseño del estado del programa desde la perspectiva de los tipos y la composición, mejorando así la componibilidad del código. Polystate genera automáticamente diagramas de estado, permitiendo a los usuarios comprender intuitivamente el comportamiento del programa. Los ejemplos muestran cómo construir máquinas de estado simples y complejas mediante la composición de tipos, como limitar los intentos de entrada de PIN en un cajero automático y reutilizar la mecánica de selección en un juego raylib.

Desarrollo Componibilidad

Lanzamiento de Otus Lisp 2.6: Un dialecto Lisp ligero y multiplataforma

2025-06-23

¡Otus Lisp (Ol) versión 2.6 ya está disponible! Se trata de un dialecto Lisp ligero (~64KB), puramente funcional, que implementa un subconjunto extendido de R7RS Scheme, con compatibilidad multiplataforma (Linux, Windows, macOS, Android y más) y soporte para varias arquitecturas. Ol es integrable y proporciona una interfaz de alto nivel para llamar a código escrito en otros lenguajes. También admite WebAssembly, permitiendo su ejecución en varios navegadores. Esta versión incluye notación infija para expresiones matemáticas más cómodas.

Desarrollo

La disminución de Stack Overflow y su impacto en las clasificaciones de lenguajes de programación

2025-06-23
La disminución de Stack Overflow y su impacto en las clasificaciones de lenguajes de programación

RedMonk utiliza datos de GitHub y Stack Overflow para rastrear las tendencias de los lenguajes de programación. Sin embargo, el número de preguntas en Stack Overflow ha disminuido desde 2016, acelerándose tras el auge de los asistentes de codificación de IA como ChatGPT. Esto afecta significativamente la fiabilidad de las clasificaciones de lenguajes de programación de RedMonk. El equipo está explorando actualmente fuentes de datos alternativas para mantener este análisis crucial.

Desarrollo

Resolviendo el Enigma de la Copia Cruzada de Cuentas y Regiones de AWS Backup con Lambda

2025-06-23

Este artículo detalla cómo el autor superó la limitación de AWS Backup de no admitir copias de seguridad simultáneamente entre cuentas y regiones. Impulsado por políticas de seguridad y recuperación ante desastres, se necesitaba una solución para almacenar copias de seguridad en cuentas y regiones separadas. El autor describe meticulosamente una solución utilizando AWS Backup, EventBridge y una función Lambda para lograr la replicación de copias de seguridad entre cuentas y regiones. Esto incluye configurar los almacenes, las políticas, las reglas de EventBridge y una función Lambda en las cuentas de origen y destino, abordando la encriptación y los permisos. El autor implementa con éxito esta solución, ofreciendo sugerencias adicionales de optimización, como pruebas de restauración automatizadas y monitoreo de costos.

Desarrollo

Kastle: Ingeniero Fundador para Servicios de Hipotecas con IA

2025-06-22
Kastle: Ingeniero Fundador para Servicios de Hipotecas con IA

Kastle busca un Ingeniero Fundador para construir y optimizar su infraestructura de IA. Utilizan agentes de voz con IA para ayudar a los grandes prestamistas hipotecarios de EE. UU. a escalar sus operaciones de centros de contacto y cumplimiento, respaldados por 2,3 millones de dólares en financiación. Este puesto requiere experiencia en desarrollo de back-end, sistemas distribuidos e integración de IA. Las responsabilidades incluyen el desarrollo de servicios de back-end escalables, APIs que se integran con plataformas de servicios de préstamos y el aseguramiento del cumplimiento de las normativas financieras (SOC 2, FDCPA, RESPA, TILA).

Desarrollo Ingeniero Fundador

Void IDE: Un editor de código AI de código abierto centrado en la privacidad

2025-06-22
Void IDE: Un editor de código AI de código abierto centrado en la privacidad

Void IDE, un nuevo editor de código impulsado por IA de código abierto en versión beta, ofrece una alternativa gratuita y centrada en la privacidad a las opciones propietarias como Cursor y GitHub Copilot. Respaldado por Y Combinator y bifurcando Visual Studio Code, Void IDE permite a los usuarios elegir el procesamiento local o las llamadas directas de la API a LLMs como Claude, GPT y Gemini, mitigando las preocupaciones de privacidad y los costos de suscripción. Cuenta con funciones como edición de código en línea, chat de IA y generación de código, reflejando herramientas similares pero priorizando el control de datos del usuario. El proyecto ha generado un gran interés en Hacker News y Reddit, generando debates sobre su naturaleza de código abierto y el creciente número de bifurcaciones de VS Code.

Desarrollo

FreeBSD 14.3 añade oficialmente repositorios de paquetes de módulos de kernel dedicados

2025-06-22
FreeBSD 14.3 añade oficialmente repositorios de paquetes de módulos de kernel dedicados

Durante mucho tiempo, las versiones puntuales de FreeBSD han causado incompatibilidad entre los paquetes de módulos del kernel y la versión del kernel, provocando fallos en el sistema. Para solucionar este problema, FreeBSD 14.3 introduce oficialmente repositorios de paquetes de módulos del kernel separados, que contienen módulos compatibles con la versión más reciente del kernel. Esto soluciona un problema de larga data para los usuarios, mejorando la estabilidad del sistema, especialmente corrigiendo fallos causados por controladores de gráficos incompatibles en sistemas de escritorio/portátiles. La actualización implica modificar el archivo `/etc/pkg/FreeBSD.conf` para incluir los nuevos repositorios de módulos del kernel.

Desarrollo

Tesis Doctoral Escrita en Typst: Triunfos y Tribulaciones

2025-06-22

Un estudiante de doctorado relata su experiencia escribiendo su tesis doctoral usando el innovador lenguaje de composición Typst. Typst combina la facilidad de Markdown con el poder de la programación en Rust, lo que resulta en velocidades de compilación impresionantes que permitieron una iteración rápida en el diseño y el estilo. Sin embargo, la gestión de bibliografía de Typst resultó menos que ideal, requiriendo herramientas adicionales y ajustes manuales para cumplir con los estrictos requisitos de formato de citas. El autor concluye que Typst es una excelente opción para quienes disfrutan de la programación y la personalización de herramientas, pero que LaTeX sigue siendo una apuesta más segura para quienes prefieren una solución lista para usar.

Desarrollo Tesis Doctoral

Domando a la Bestia de Internet: Un Enfoque Domótico para la Moderación

2025-06-22
Domando a la Bestia de Internet: Un Enfoque Domótico para la Moderación

Cansado de las distracciones de internet, el autor construyó un sistema domótico para controlar el acceso a las redes sociales. Usando AdGuard Home, Home Assistant y un enchufe inteligente Zigbee, creó una automatización: al presionar un botón, se deshabilita temporalmente el filtrado de AdGuard durante 15 minutos, seguido de un período de enfriamiento de una hora. El artículo detalla la configuración, incluyendo la configuración de la API de AdGuard Home y la automatización de Home Assistant, ofreciendo una solución práctica para gestionar el uso de internet y combatir la adicción.

¿Documentación técnica deficiente: un obstáculo para los desarrolladores?

2025-06-22
¿Documentación técnica deficiente: un obstáculo para los desarrolladores?

La encuesta de Stack Overflow de 2024 destaca la documentación técnica y los tutoriales como recursos de aprendizaje cruciales para los programadores. Sin embargo, muchos desarrolladores experimentan frustración, sintiéndose más confundidos después de leerlos. Esto se debe a que la experiencia en codificación no se traduce automáticamente en una escritura clara. Las soluciones incluyen que los desarrolladores mejoren sus habilidades de escritura, y que las organizaciones recopilen comentarios de los usuarios, contraten redactores técnicos y aborden los problemas de documentación en GitHub de forma más proactiva.

C++26 incluirá reflexión en tiempo de compilación: Adiós código repetitivo, hola alto rendimiento

2025-06-22

Herb Sutter ha anunciado que C++26 incluirá la reflexión en tiempo de compilación, un cambio radical para el desarrollo en C++. La reflexión en tiempo de compilación proporciona acceso a la estructura de un programa, permitiendo tareas como enumerar los métodos de una clase. Esto es particularmente impactante para bibliotecas como simdjson, permitiendo la conversión de alta velocidad entre estructuras de datos personalizadas y cadenas JSON sin código repetitivo. El artículo demuestra la generación de instrucciones SQL de inserción eficientes utilizando la reflexión en tiempo de compilación, reduciendo el código repetitivo y mejorando la reutilización y seguridad del código. Aunque el código pueda parecer complejo, las ganancias de rendimiento y la simplificación del código son significativas.

Guía Completa de Negociación Salarial: Vencer su Dilema Moral Interno

2025-06-22
Guía Completa de Negociación Salarial: Vencer su Dilema Moral Interno

El popular ensayo de Patrick McKenzie sobre negociación salarial para ingenieros ha ayudado a millones a asegurar salarios más altos. Esta adaptación de audio aborda las barreiras psicológicas que impiden a los profesionales negociar, enfatizando que no es inmoral, sino una habilidad crucial. Los consejos prácticos incluyen nunca revelar su salario deseado primero, escuchar activamente y reflejar el lenguaje del gerente de contratación, investigación exhaustiva, aprovechar múltiples preferencias y comprender el tiempo y la dinámica de la negociación. El ensayo capacita a los lectores para negociar con confianza y lograr una compensación óptima.

Llevando al límite las tuberías de Linux: De 3,5 GiB/s a 62,5 GiB/s

2025-06-22
Llevando al límite las tuberías de Linux: De 3,5 GiB/s a 62,5 GiB/s

Esta publicación explora la implementación de tuberías Unix en Linux mediante la optimización iterativa de un programa de prueba que escribe y lee datos a través de una tubería. Comenzando con un programa simple que alcanza un rendimiento de aproximadamente 3,5 GiB/s, el autor mejora su rendimiento veinte veces mediante varias etapas de optimización. Las mejoras clave incluyen el uso de las llamadas al sistema `vmsplice` y `splice` para eliminar la copia de datos, el aprovechamiento de páginas gigantes para reducir la sobrecarga de paginación y el empleo de bucles ocupados para minimizar los costos de sincronización. El proceso se detalla con ejemplos de código y análisis de rendimiento utilizando la herramienta `perf` de Linux.

Desarrollo Tuberías

Implementación de un Alocador de Memoria en 163 LOC

2025-06-22

Mientras exploraba el asignador de memoria mimalloc, el autor descubrió la falta de soporte para la preasignación. Esto llevó a la creación de un asignador simple, con 163 líneas de código, basado en el sistema Buddy. El artículo detalla los procesos de asignación y desasignación dentro del sistema Buddy y aborda la fragmentación de memoria. El autor destaca la sorprendente simplicidad de la implementación, enfatizando la importancia de comprender los principios de asignación de memoria para los programadores.

Desarrollo

Prueba de carga de GlassFlow ClickHouse: Desduplicación en tiempo real a escala

2025-06-22
Prueba de carga de GlassFlow ClickHouse: Desduplicación en tiempo real a escala

El equipo de GlassFlow realizó una prueba de carga a gran escala para la desduplicación en tiempo real, obteniendo resultados impresionantes. En un MacBook Pro, GlassFlow procesó más de 9.000 registros por segundo desde Kafka con una latencia inferior a 0,12 ms, alcanzando un pico de 55.000 registros por segundo. Incluso con 20 millones de registros y 12 publicadores concurrentes, el sistema se mantuvo robusto, sin fallos, pérdida de mensajes ni desorden. La prueba utilizó datos sintéticos que simulaban un caso de uso del mundo real, evaluando la desduplicación, el rendimiento y la latencia. La configuración completa de la prueba es de código abierto.

Git Notes: La herramienta de Git subestimada

2025-06-22

Las notas de Git son una herramienta poderosa para adjuntar metadatos a objetos Git (commits, blobs, árboles) sin modificar los propios objetos. Se pueden usar para realizar un seguimiento del tiempo, agregar información de revisión e incluso construir sistemas de revisión de código totalmente distribuidos, como `git-appraise`. Sin embargo, las notas de Git tienen una mala usabilidad, y GitHub dejó de mostrar las notas de commit en 2014, lo que limitó su adopción. A pesar de esto, todavía ofrece una vía hacia un historial de proyecto completo independiente de las forjas de código.

Desarrollo Metadatos

LibRedirect: Redireccionador de sitios web centrado en la privacidad

2025-06-22

LibRedirect es una extensión web que redirige sitios web populares como YouTube, Instagram, Reddit y TikTok a frontends alternativos que priorizan la privacidad. Ofrece una gran variedad de alternativas, como Invidious y Piped para YouTube, Libreddit y Teddit para Reddit, y muchos más, ofreciendo a los usuarios una experiencia de navegación más privada y segura. ¡Adiós al rastreo de datos y hola a la privacidad!

Codificación Creativa: Reestructurando la Educación en Ciencias de la Computación en la Era de la IA

2025-06-22
Codificación Creativa: Reestructurando la Educación en Ciencias de la Computación en la Era de la IA

A medida que la IA transforma el desarrollo de software, la educación tradicional en ciencias de la computación necesita una revisión. Este artículo argumenta que solo la codificación es insuficiente; los estudiantes necesitan pensamiento sistémico, habilidades de diseño creativo y capacidades de construcción intencional. La codificación creativa surge como una solución, utilizando la programación como un medio de autoexpresión e innovación, fomentando la motivación intrínseca y el pensamiento computacional. Un ejemplo de currículo basado en Minecraft demuestra cómo el diseño de juegos y la narración pueden enseñar eficazmente conceptos de codificación, aumentando el compromiso y los resultados de aprendizaje de los estudiantes. El artículo concluye enfatizando la importancia del desarrollo profesional de los docentes y abogando por un mayor apoyo para integrar la codificación creativa en las aulas.

Clippy entra en congelación de funciones de 12 semanas para mejorar la calidad

2025-06-22
Clippy entra en congelación de funciones de 12 semanas para mejorar la calidad

El linter de Rust, Clippy, entrará en una congelación de funciones de 12 semanas a partir del 26 de junio de 2025, centrándose en mejorar la precisión y reducir los falsos positivos de sus más de 750 lints existentes. No se aceptarán nuevos lints durante este período, pero se agradecen los informes de errores y las PR que mejoren los lints existentes. El objetivo es mejorar la calidad del código y proporcionar una experiencia de lint más fiable para los usuarios de Rust.

Desarrollo

mbake: ¡Un formateador y linter para Makefiles después de 50 años!

2025-06-22
mbake: ¡Un formateador y linter para Makefiles después de 50 años!

Después de 50 años de espera (haciendo referencia a la larga historia de los Makefiles), ¡mbake finalmente está aquí! Esta herramienta de formateo y linter para Makefiles no solo corrige automáticamente problemas de formato como la sangría, el espaciado y los saltos de línea, sino que también detecta de forma inteligente los objetivos `.PHONY` y admite reglas personalizadas y extensiones de complementos. Ofrece una rica interfaz de línea de comandos para formateo, validación y gestión de versiones, integrándose perfectamente en los flujos de trabajo de CI/CD. Tanto si eres un principiante como un experto, mbake mejora significativamente la eficiencia y la legibilidad de la escritura de Makefiles.

Desarrollo

Claude Code ahora admite servidores MCP remotos para mejorar el flujo de trabajo de los desarrolladores

2025-06-22
Claude Code ahora admite servidores MCP remotos para mejorar el flujo de trabajo de los desarrolladores

Claude Code ahora admite servidores MCP remotos, lo que permite a los desarrolladores conectar sus herramientas y fuentes de datos favoritas para personalizar su experiencia de codificación sin necesidad de administrar servidores locales. Al acceder a las herramientas y recursos expuestos por los servidores MCP, Claude Code puede extraer contexto de servicios de terceros, como herramientas de desarrollo, sistemas de gestión de proyectos y bases de conocimiento, y realizar acciones dentro de esos servicios. Integraciones como Sentry para depuración y Linear para gestión de proyectos agilizan los flujos de trabajo. Los servidores MCP remotos ofrecen bajo mantenimiento; simplemente agregue la URL del proveedor. El soporte OAuth nativo de Claude Code garantiza conexiones seguras sin necesidad de administrar claves de API o almacenar credenciales.

Desarrollo

Repositorio Masivo de Cadenas de Herramientas de Compilación Cruzada para Linux

2025-06-22

Este sitio web ofrece una vasta colección de cadenas de herramientas de compilación cruzada listas para usar, dirigidas a Linux en numerosas arquitecturas. Construidas con GCC y Binutils, estas cadenas de herramientas vienen en variantes que usan las bibliotecas glibc, uClibc-ng y musl C, aprovechando el sistema de construcción Buildroot. La mayoría de las cadenas de herramientas se prueban construyendo e iniciando un kernel de Linux y un espacio de usuario en Qemu. Se proporcionan dos versiones: estable (que usa componentes más antiguos y probados) y de vanguardia (que usa los más recientes) para cada combinación de arquitectura y biblioteca C.

Sonido como Forma Pura: Un lenguaje de programación de sonido basado en notación posfija

2025-06-22
Sonido como Forma Pura: Un lenguaje de programación de sonido basado en notación posfija

SAPF es un intérprete para explorar el sonido como forma pura. Su lenguaje es principalmente funcional, basado en pila y utiliza notación posfija similar a FORTH. Representa eventos de audio y control usando secuencias perezosas, potencialmente infinitas, con el objetivo de hacer para secuencias perezosas lo que APL hace para matrices: proporcionar funciones de altísimo nivel con operadores omnipresentes de mapeo automático, escaneo y reducción. Esto permite que programas cortos logren resultados desproporcionados a su tamaño. Debido a que casi todos los tipos de datos accesibles al programador son inmutables, el lenguaje puede ejecutar fácilmente múltiples subprocesos sin bloqueos ni corrupción. Inspirado en APL, Joy, Haskell, Piccola, Nyquist y SuperCollider, prioriza la expresividad concisa.

Publicando un contenedor Docker para Microsoft Edit en el registro de contenedores de GitHub

2025-06-22
Publicando un contenedor Docker para Microsoft Edit en el registro de contenedores de GitHub

El autor detalla el proceso de creación y publicación de una imagen Docker para el nuevo editor de texto de terminal de Microsoft, Edit, en el registro de contenedores de GitHub. Ante la falta de versiones oficiales para Apple Silicon, el autor creó un contenedor Docker para ejecutar la versión aarch64-linux-gnu en su Mac. La publicación describe la creación de una imagen Docker multietapa para minimizar el tamaño, el uso de un token de acceso personal de GitHub para enviar la imagen y proporciona un comando simple para que cualquiera con un Mac Apple Silicon y Docker pueda ejecutar Edit.

Desarrollo

P-Hacking en Startups: Cómo Evitar las Trampas Estadísticas

2025-06-21
P-Hacking en Startups: Cómo Evitar las Trampas Estadísticas

La presión por lanzar productos rápidamente en las startups a menudo lleva a los equipos a reportar cualquier resultado que parezca una mejora, lo que resulta en p-hacking. Este artículo analiza tres escenarios comunes: múltiples comparaciones sin corrección, reformulación de métricas post-hoc y ejecución de experimentos hasta obtener un resultado positivo. Se enfatiza la importancia del preregistro de hipótesis y métricas, evitando la exploración de datos post-hoc, utilizando correcciones para múltiples comparaciones y aplicando umbrales apropiados para observaciones anticipadas. El artículo aboga por celebrar resultados negativos definitivos, argumentando que las prácticas estadísticas rigurosas aceleran el aprendizaje, evitando la liberación de ruido y construyendo una verdadera comprensión del comportamiento del usuario.

Desarrollo Prueba A/B

Compilador B en Crust: Un Trabajo en Progreso

2025-06-21
Compilador B en Crust: Un Trabajo en Progreso

Un compilador para el lenguaje de programación B, escrito en Rust con fasm como backend, ¡ya está disponible! El proyecto incluye una utilidad de prueba, btest, que compila y ejecuta pruebas desde el directorio ./tests/, generando un informe de matriz en todos los objetivos compatibles. btest permite especificar objetivos (-t) y casos de prueba individuales (-c), facilitando las pruebas dirigidas. Si bien aún está en desarrollo, el compilador compila y ejecuta con éxito ejemplos básicos como hello_world.b.

Desarrollo Lenguaje B

to-userscript: Potente CLI para convertir extensiones de navegador en scripts de usuario independientes

2025-06-21
to-userscript: Potente CLI para convertir extensiones de navegador en scripts de usuario independientes

to-userscript es una herramienta de línea de comandos que transforma extensiones de Chrome o Firefox en archivos .user.js independientes ejecutables en cualquier gestor de scripts de usuario. Admite varias fuentes: Chrome Web Store, Firefox Add-ons, directorios locales y archivos de archivo. La herramienta reemplaza inteligentemente las API de WebExtension comunes, incrusta CSS, imágenes y otros recursos, y emula scripts en segundo plano e internacionalización. La instalación es sencilla mediante npm, pnpm o bun.

Desarrollo script de usuario

¿La muerte del IDE? El auge del agente de codificación de IA

2025-06-21
¿La muerte del IDE? El auge del agente de codificación de IA

Este artículo explora el auge de los agentes de codificación de IA como Claude Code, Codex y Amp, y cómo están remodelando el desarrollo de software. El autor argumenta que la "codificación vibe" basada en terminal está reemplazando los IDE tradicionales, con ingenieros produciendo código de alta calidad a una velocidad asombrosa. Este cambio trae mayor productividad, pero también genera preocupaciones sobre el desplazamiento de empleos y las evaluaciones de rendimiento. El artículo también analiza el impacto de la IA en el trabajo del conocimiento más amplio y en la sociedad, prediciendo cambios masivos en los próximos años.

Desarrollo

Proxy QUIC sin servidor mediante perforación de NAT con AWS Lambda

2025-06-21
Proxy QUIC sin servidor mediante perforación de NAT con AWS Lambda

Este proyecto implementa un proxy QUIC sin servidor utilizando funciones AWS Lambda y perforación de NAT. Aprovechando S3 para la coordinación y técnicas de recorrido UDP, crea conexiones proxy cifradas sin necesidad de servidores dedicados, solo funciones Lambda a demanda. El sistema utiliza un enfoque de tres fases: coordinación (el cliente descubre la IP pública mediante STUN, escribe la información de la sesión en S3), perforación de NAT (el cliente y Lambda intercambian paquetes UDP para crear orificios bidireccionales), y establecimiento del túnel QUIC (el cliente inicia el servidor QUIC, Lambda se conecta). El resultado es un navegador que se conecta a internet a través de un proxy SOCKS5, con la función Lambda actuando como un nodo de salida que reenvía el tráfico.

Desarrollo perforación de NAT
1 2 54 55 56 58 60 61 62 214 215