Category: Desarrollo

Sobrecarga de Rendimiento de OpenTelemetry: Un Benchmark de una Aplicación Go

2025-06-16
Sobrecarga de Rendimiento de OpenTelemetry: Un Benchmark de una Aplicación Go

Esta publicación mide la sobrecarga de rendimiento de OpenTelemetry en un entorno de alta carga utilizando un servidor HTTP Go simple. Los resultados muestran un aumento de aproximadamente el 35% en el uso de la CPU, un pequeño aumento en la memoria y un aumento significativo en el tráfico de red al habilitar OpenTelemetry. El autor compara el uso del SDK de OpenTelemetry con el monitoreo basado en eBPF, encontrando que este último es significativamente más ligero en escenarios de alta carga, especialmente cuando solo se recopilan métricas. La conclusión es que la sobrecarga de OpenTelemetry no es prohibitiva, pero elegir el enfoque de monitoreo correcto es crucial, requiriendo una compensación entre rendimiento y observabilidad según las necesidades específicas.

arXivLabs: Proyectos experimentales con colaboradores de la comunidad

2025-06-16
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 agregará valor a la comunidad de arXiv? Obtenga más información sobre arXivLabs.

Desarrollo

dk coder: Permite que no programadores creen aplicaciones seguras

2025-06-16
dk coder: Permite que no programadores creen aplicaciones seguras

dk coder es un ejecutor de scripts y compilador cruzado diseñado para usuarios con experiencia limitada en programación para crear aplicaciones sustanciales y centradas en la seguridad. Su facilidad de uso, portabilidad y soporte para IDE resuelven el problema de la 'README-itis': los READMEs largos desalientan a los usuarios a instalar, lo que resulta en la pérdida de usuarios. Una Guía de Introducción Rápida presenta scripts dk con ejemplos simples. Los desarrolladores deben consultar dk Runtime para las versiones compatibles de Windows, macOS y Linux. Para scripts, consulte dk Parties para la organización de proyectos y tenga a mano los manuales de bibliotecas y macros dk. Los usuarios experimentados en OCaml deben consultar la guía Coming From OCaml.

De una celda de prisión a ingeniero de software en Turso: una historia inspiradora

2025-06-16
De una celda de prisión a ingeniero de software en Turso: una historia inspiradora

Un programador encarcelado, cumpliendo condena por delitos relacionados con drogas, consiguió un trabajo como ingeniero de software en Turso. Utilizando el acceso limitado a internet en prisión, se dedicó a la programación, contribuyendo a proyectos de código abierto y, finalmente, impresionó a Turso con su trabajo en el Proyecto Limbo, una reescritura de SQLite. Su historia destaca la perseverancia, las segundas oportunidades y el poder del código abierto.

Desarrollo

Chatea con IA a través de SSH: Un servidor de chat con IA en Docker

2025-06-16
Chatea con IA a través de SSH: Un servidor de chat con IA en Docker

Este proyecto proporciona un servidor de chat con IA basado en Docker, accesible a través de SSH. Soporta múltiples modelos de IA y ofrece instrucciones detalladas de implementación, incluyendo la configuración del entorno, el archivo Docker Compose y la instalación de dependencias. Los usuarios pueden personalizar parámetros como modelos, limitación de velocidad, lista negra y lista blanca. El proyecto también incluye sugerencias de implementación para varios sistemas operativos (macOS, Linux y Windows) y reconoce el patrocinio de servidores de V.PS.

Desarrollo

Llamadas a funciones asíncronas en Socket.io: Presentamos socket-call

2025-06-16
Llamadas a funciones asíncronas en Socket.io: Presentamos socket-call

socket-call es una pequeña biblioteca construida sobre Socket.io que permite llamar eventos como cualquier función asíncrona regular de TypeScript. Simplifica el uso de Socket.io, ofreciendo una experiencia de programación más limpia e intuitiva. Ejemplos de código demuestran la implementación del lado del servidor y del cliente, mostrando la funcionalidad de inicio de sesión y el envío de mensajes del servidor al cliente.

Desarrollo

Migración inminente de Kubernetes Slack a una nueva plataforma

2025-06-16

El espacio de trabajo de Kubernetes Slack se degradará a un plan gratuito el 20 de junio, lo que resultará en un límite de historial de mensajes de 90 días y en la desactivación de varias aplicaciones y flujos de trabajo. Esto se debe a que el tamaño del espacio de trabajo ha superado las capacidades del plan gratuito de Slack. La comunidad de Kubernetes está explorando una migración a Discord, que ofrece funciones e integraciones mejoradas, como la sincronización de la membresía de grupo de GitHub. El Comité Directivo decidirá en última instancia la plataforma futura.

Desarrollo

Zeekstd: Una Implementación de Zstandard con Búsqueda en Rust

2025-06-16
Zeekstd: Una Implementación de Zstandard con Búsqueda en Rust

Zeekstd es una biblioteca Rust que implementa un formato Zstandard con capacidad de búsqueda. Divide los datos comprimidos en marcos independientes para un acceso aleatorio eficiente. Totalmente compatible con la especificación original, Zeekstd ofrece mejoras e incluye funcionalidades de codificador y decodificador, permitiendo la descompresión de archivos completos o marcos específicos. También se proporciona una herramienta de línea de comandos.

Analizador de Frecuencia de Palabras del Kernel de Linux

2025-06-16

Un sitio web utiliza un potente motor de búsqueda para analizar la frecuencia de palabras, nombres y funciones en el código fuente del kernel de Linux. Los usuarios pueden ingresar palabras clave (que admiten comodines y expresiones regulares) para ver los resultados. El sitio web también proporciona gráficos interactivos (requiere habilitar JavaScript) para una representación visual de los resultados del análisis. Esto es muy útil para investigar el kernel de Linux o comprender su estructura de código.

Resolviendo el juego de Damas de LinkedIn con APL: 11 líneas de código

2025-06-16

Peter Vernigorov aborda el sencillo juego de 'Damas' de LinkedIn usando APL, un lenguaje de programación potente y conciso. La publicación detalla una solución de búsqueda en amplitud, explicando la estructura de datos, el algoritmo y la implementación de funciones principales como `solve`, `place`, `avl`, `fill` y `fills`. La solución completa se ajusta elegantemente a 11 líneas de código, mostrando el poder expresivo y la eficiencia de APL. El autor anima a los lectores a explorar el potencial de APL.

Desarrollo

arXivLabs: Proyectos experimentales con colaboradores de la comunidad

2025-06-16
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 se adhieran a ellos. ¿Tiene una idea para un proyecto que agregará valor a la comunidad de arXiv? Obtenga más información sobre arXivLabs.

Desarrollo

Gemas Ocultas y Humor en la API de Android

2025-06-16
Gemas Ocultas y Humor en la API de Android

Este artículo revela easter eggs y elementos humorísticos ocultos en la API pública de Android. Ejemplos incluyen `isUserAMonkey()`, que detecta si la IU está siendo probada por una herramienta; `isUserAGoat()`, que alguna vez se usó para detectar el juego Goat Simulator; y `DISALLOW_FUN`, una política de dispositivo para restringir la diversión del usuario. Otras adiciones peculiares incluyen `Chronometer.isTheFinalCountdown()`, que inicia el video 'The Final Countdown' de Europe en YouTube; y constantes como `SENSOR_TRICORDER` y `GRAVITY_DEATH_STAR_I`. Incluso hay una etiqueta `` no documentada para hacer que las vistas parpadeen. Estas divertidas adiciones aligeran la experiencia del desarrollador y muestran el buen humor del equipo de Android.

Desarrollo

Lisp-Stat: Un sistema de computación estadística basado en Common Lisp

2025-06-16
Lisp-Stat: Un sistema de computación estadística basado en Common Lisp

Lisp-Stat es conceptualmente similar a R y resultará familiar a la mayoría de las personas de ese ecosistema. Es adecuado tanto para el análisis exploratorio de datos como para las implementaciones de producción de primera línea. Common Lisp se utiliza actualmente en Google en varios sistemas transaccionales de alta disponibilidad y alto volumen. La elección de Common Lisp se debió a que cumplía con los requisitos de un entorno exploratorio propicio para el análisis e IA, robustez suficiente para funcionar en un entorno de producción empresarial y disponibilidad bajo una licencia sin restricciones de código fuente. El artículo cita un trabajo de Ross Ihaka, uno de los creadores del lenguaje R, sobre las deficiencias de R y la incapacidad de compilar a código de máquina (entre otras cuestiones). Lo mismo se aplica a Python. En este artículo, argumenta a favor de Lisp como un reemplazo para R.

Agentes de codificación de IA: de asistentes útiles a socios esenciales

2025-06-16

El autor relata un cambio transformador en su flujo de trabajo debido a agentes autónomos de codificación de IA. Inicialmente vistos como una curiosidad interesante, estos agentes se han vuelto indispensables, cambiando drásticamente la forma en que se entrega el software. El autor detalla el uso de herramientas como Claude y Codex para completar tareas que van desde correcciones de errores hasta la generación de código, lo que resulta en ganancias significativas de productividad. Si bien reconoce las limitaciones, como el potencial de quedar atrapado en óptimos locales, el autor cree que los agentes de codificación de IA representan una nueva era en el desarrollo de software, aumentando en lugar de reemplazar a los desarrolladores.

Desarrollo programación de IA

Twin: Un entorno de ventanas en modo texto

2025-06-15
Twin: Un entorno de ventanas en modo texto

Twin es un entorno de ventanas basado en texto que admite ratón, un gestor de ventanas, emulación de terminal, clientes en red y la capacidad de conectar/desconectar pantallas en tiempo real. Admite varios tipos de pantalla, incluidos terminales de texto plano, X11 y él mismo. Actualmente se ha probado en Linux, macOS y FreeBSD en varias arquitecturas. Este proyecto de código abierto, con licencia GPL y LGPL, ofrece tutoriales y documentación completos para desarrolladores y está disponible en GitHub.

¿Qué tan rápida es la asignación del GC de RPython?

2025-06-15

Este artículo evalúa la velocidad de asignación del recolector de basura (GC) de RPython utilizando un pequeño programa de referencia de RPython. Los resultados muestran velocidades de asignación sorprendentemente rápidas, superiores a 34 GB/s, superando significativamente al GC de Boehm. El análisis del código de máquina generado y los contadores de rendimiento revela que la velocidad del GC de RPython se debe a su eficiente mecanismo de puntero de incremento y a la mínima sobrecarga del GC. Incluso en código Python regular con el JIT de PyPy, las velocidades de asignación alcanzan los 17 GB/s.

Desarrollo

Seastar: Un sistema de construcción rápido y extensible para múltiples lenguajes

2025-06-15
Seastar: Un sistema de construcción rápido y extensible para múltiples lenguajes

Seastar es un sistema de construcción rápido y extensible que actualmente admite C y C++, con planes para agregar Rust y Zig. Diseñado para facilitar la creación, la creación de prototipos y la iteración, tiene como objetivo imitar la facilidad de uso de Cargo de Rust, ofreciendo una compilación perfecta en múltiples lenguajes. Seastar es fácil de construir y ejecutar; solo instala Cargo y Rust, clona el repositorio y ejecuta los comandos proporcionados. Actualmente en etapas iniciales, no se recomienda para uso en producción.

Desarrollo multi-lenguaje

18 Proyectos de Juguete para Reavivar tu Alegría en la Programación

2025-06-15

El autor aboga por un enfoque práctico del aprendizaje, creyendo que crear es la mejor manera de comprender. El artículo enumera 18 proyectos de programación de juguete con diferentes niveles de dificultad y tiempo de dedicación, que van desde núcleos de SO y emuladores de juegos hasta motores de física, compiladores y kits de herramientas de GUI. Estos proyectos buscan revivir la alegría de la programación y mejorar las habilidades técnicas. Se proporcionan los niveles de dificultad, haciéndolos accesibles a programadores de todos los niveles, junto con enlaces a recursos útiles.

El desarrollador de SumatraPDF abandona std::function después de 16 años, crea su propia solución

2025-06-15
El desarrollador de SumatraPDF abandona std::function después de 16 años, crea su propia solución

Después de 16 años de desarrollo en C++ de SumatraPDF, el autor abandonó `std::function` y las lambdas debido a dificultades de depuración. Los informes de fallos eran difíciles de descifrar debido a los nombres autogenerados de las funciones lambda generadas por el compilador. Creó funciones de devolución de llamada personalizadas más simples, `Func0` y `Func1`. Aunque menos completas que `std::function`, ofrecen ventajas significativas en cuanto a la memoria y la velocidad de compilación, y son más fáciles de depurar. Esta publicación detalla el diseño e implementación de `Func0` y `Func1`, y explica por qué este enfoque se adapta mejor a las necesidades de SumatraPDF.

Desarrollo

Funciones de Fecha y Hora de SQLite Mejoradas: Manipulación de Fecha/Hora Más Potente

2025-06-15

Las funciones de fecha y hora de SQLite se han mejorado para proporcionar una funcionalidad más rica. Este documento detalla las cinco funciones principales: `date`, `time`, `datetime`, `julianday` y `strftime`, junto con varios formatos de cadenas de fecha y hora y modificadores como `unixepoch` y `localtime`, permitiendo cálculos y formateo de fecha/hora más flexibles. También se destaca un parche contribuido por un usuario, que agrega numerosas funciones como modificadores `start of week`, `end of day` y funcionalidad `group * by` para una agregación conveniente.

Los LLM me quitaron la alegría de programar: Confesión de un programador

2025-06-15

El autor reflexiona sobre un cambio en sus hábitos de programación. Antes era un programador de 'viaje', apasionado por aprender y resolver problemas, pero se ha vuelto cada vez más dependiente de los Modelos de Lenguaje Grandes (LLM) para generar código, convirtiéndose en un programador más 'orientado a resultados'. Si bien los LLM aumentan la eficiencia, han reducido el tiempo dedicado a aprender y pensar, disminuyendo el disfrute del autor al programar. Este cambio se atribuye a varios factores, incluida la preferencia por construir proyectos útiles y la dependencia excesiva de los LLM. El autor espera disminuir su dependencia de los LLM y redescubrir la alegría del proceso de programación.

Desarrollo

Gestiona Contenedores Apple como docker-compose

2025-06-15
Gestiona Contenedores Apple como docker-compose

Una herramienta de línea de comandos, `container-compose`, te permite usar Contenedores Apple con un archivo de configuración similar a docker-compose. Actualmente en versión alfa, puede contener errores o funciones faltantes. Instala a través de Homebrew (`brew tap noghartt/container-compose https://github.com/noghartt/container-compose.git; brew install noghartt/container-compose/container-compose`) o descarga un binario precompilado desde la página de lanzamientos.

Desarrollo Contenedor Apple

Motor Datalog en miniKanren y WebAssembly

2025-06-15

Este artículo detalla un motor Datalog construido usando Scheme y la biblioteca miniKanren, ejecutándose en el navegador a través de WebAssembly. El motor implementa las características principales de Datalog: afirmación de hechos, definición de reglas e iteración de punto fijo. El autor explica a fondo los detalles de implementación de las estructuras de datos, los mecanismos de indexación y la aplicación de reglas, proporcionando un ejemplo de recorrido de grafo. Este proyecto demuestra el potencial de las técnicas de programación funcional y lógica para construir sistemas de bases de datos eficientes, aprovechando WebAssembly para la ejecución multiplataforma.

Desarrollo

Sandbox en 2025: Una guía de seguridad sencilla para desarrolladores

2025-06-15

Este artículo investiga la facilidad de crear entornos sandbox para programas en 2025 en sistemas operativos como Linux, OpenBSD y FreeBSD. Analizando la longitud de la documentación y la longitud del código de ejemplo de varias herramientas de sandbox, el autor evalúa su facilidad de uso y la sobrecarga de mantenimiento. `pledge` de OpenBSD destaca por su documentación concisa y facilidad de uso, mientras que `seccomp` de Linux resulta significativamente más complejo. El artículo utiliza OpenSSH como caso de estudio, analizando la aplicación práctica y la dificultad de mantenimiento de la tecnología sandbox. Concluye con un llamamiento a los desarrolladores para que contribuyan con datos para una comprensión más completa de la adopción de la tecnología sandbox.

Desarrollo

GNOME en 1998: Un Vistazo al Pasado

2025-06-15

Este artículo relata la experiencia del autor con el entorno de escritorio GNOME temprano incluido en Red Hat Linux 5.1 de 1998. Era una versión beta, significativamente más simple que el GNOME actual, pero con tiempos de arranque notablemente más rápidos. El autor detalla las aplicaciones disponibles, como un administrador de archivos básico, el visor de imágenes Electric Eyes, gEdit 0.4.0 y juegos simples, trazando comparaciones con las versiones modernas. Esta mirada nostálgica muestra los esfuerzos e ingenio de la comunidad de código abierto inicial.

Fundamentos de la Visión por Computadora: Una Década en Marcha

2025-06-15

Tras una década de trabajo, Torralba, Isola y Freeman han publicado "Fundamentos de la Visión por Computadora". En lugar de intentar una cobertura completa, el libro se centra en conceptos fundamentales, abordando el tema desde las perspectivas del procesamiento de imágenes y el aprendizaje automático. Incluye numerosas visualizaciones y progresa a través de la formación de imágenes, los fundamentos del aprendizaje, el procesamiento de señales, las redes neuronales y explora temas avanzados como los modelos generativos y el aprendizaje de la representación. La estructura rigurosa y las explicaciones claras del libro lo hacen adecuado para estudiantes de grado, posgrado y profesionales.

Desarrollo

El nuevo elemento `<permission>` de Chrome: Un enfoque declarativo para los permisos web

2025-06-15
El nuevo elemento `<permission>` de Chrome: Un enfoque declarativo para los permisos web

El equipo de permisos de Chrome está experimentando con un nuevo elemento HTML declarativo, ``, para simplificar la forma en que las aplicaciones web solicitan funciones potentes como el acceso a la ubicación. Los métodos imperativos tradicionales sufren de spam de permisos, mala contextualización y dificultad para revocar permisos. El elemento `` ofrece un enfoque más seguro y fácil de usar, permitiendo a los desarrolladores solicitar permisos de forma declarativa, mientras que el navegador actualiza dinámicamente el texto del elemento en función de la interacción del usuario y proporciona una gestión clara de los permisos. Actualmente en prueba de origen en Chrome 126, su objetivo es la estandarización.

Modelo de Difusión Probabilística PyTorch Mínimo: Experimentos con Conjuntos de Datos 2D

2025-06-15
Modelo de Difusión Probabilística PyTorch Mínimo: Experimentos con Conjuntos de Datos 2D

Esta publicación detalla una implementación mínima en PyTorch de un modelo de difusión probabilístico para conjuntos de datos 2D. El autor explora hiperparámetros como la tasa de aprendizaje, el tamaño del modelo, la longitud del proceso de difusión y la codificación de la etapa de tiempo a través de varios experimentos. Los resultados muestran que una tasa de aprendizaje adecuada es crucial, los procesos de difusión más largos generan muestras más completas y la capacidad del modelo no es el principal cuello de botella. El uso de incrustaciones sinusoidales para la codificación de entrada ayuda a aprender funciones de alta frecuencia en dominios de baja dimensionalidad.

Auditoría de seguridad de Rails revela mejoras y destaca trabajos futuros

2025-06-15

El Fondo de Mejora de Tecnología de Código Abierto (OSTIF) publicó una auditoría de seguridad de Ruby on Rails, realizada por X41 D-Sec con el apoyo de GitLab y la Agencia de Tecnología Soberana. La auditoría de cuatro meses descubrió 7 hallazgos de seguridad y proporcionó 6 recomendaciones para mejorar. El informe destaca la maduración de la seguridad de Rails en los últimos años, al tiempo que describe áreas para mejoras futuras. OSTIF también celebró su 10º aniversario e invitó a participar en futuras reuniones.

Desarrollo

Comparando Tres Nociones de Complejidad de Software

2025-06-15

Este artículo compara tres definiciones distintas de complejidad de software de Rich Hickey, John Ousterhout y Zach Tellman. Hickey define la simplicidad como unidad, enfatizando la objetividad; Ousterhout define la complejidad como cualquier cosa que hace que un sistema sea difícil de entender y modificar, destacando las dependencias y la oscuridad; Tellman define la complejidad como la suma de todas las explicaciones, enfatizando la sorpresa dependiente de la audiencia. El artículo pesa los puntos fuertes y débiles de cada uno, explorando su aplicación a problemas del mundo real. En última instancia, argumenta que el enfoque basado en explicaciones de Tellman es superior para capturar la experiencia subjetiva del desarrollador y guiar las decisiones prácticas.

1 2 59 60 61 63 65 66 67 214 215