Category: Desarrollo

Detección de errores de concurrencia con un planificador BPF

2025-02-14

En FOSDEM, Jake Hillion de Meta y Johannes Bechberger, un desarrollador de OpenJDK, presentaron su planificador de fuzzing de concurrencia construido utilizando el framework de planificación BPF, `sched_ext`. Este planificador introduce deliberadamente aleatoriedad en la planificación, causando retrasos y alterando el orden de ejecución de los hilos para descubrir errores de concurrencia difíciles de reproducir. Si bien actualmente tiene una sobrecarga de rendimiento significativa, lo que limita su uso a la depuración de desarrollo, ofrece una forma eficaz de descubrir errores lógicos del mundo real y promete un uso futuro en producción después de la optimización.

Desarrollo

Go 1.24 mejora las capacidades de Wasm: reactores WASI y funciones exportadas

2025-02-14

Go 1.24 mejora significativamente el soporte de WebAssembly (Wasm) con la introducción de la directiva `go:wasmexport` y la capacidad de construir reactores WASI. Esto permite a los desarrolladores de Go exportar funciones a Wasm, permitiendo una integración perfecta con las aplicaciones host. El nuevo modo de reactor WASI facilita la ejecución continua de módulos Wasm que pueden reaccionar a múltiples eventos o solicitudes sin reinicialización. Si bien existen limitaciones, como la naturaleza de un solo hilo de Wasm y las restricciones de tipo, las mejoras de Go 1.24 allanan el camino para aplicaciones Wasm basadas en Go más potentes y versátiles.

(go.dev)
Desarrollo

El archivo binario tee.exe incluido en Neovim mostró un comportamiento sospechoso en Windows 11

2025-02-14
El archivo binario tee.exe incluido en Neovim mostró un comportamiento sospechoso en Windows 11

Durante las pruebas de seguridad de Neovim en un entorno de sandbox de Windows 11, el binario tee.exe incluido se marcó como malware. La investigación reveló consultas DNS sospechosas y conexiones de red, con una dirección IP confirmada como maliciosa por VirusTotal. El autor recomienda un análisis de la causa raíz y sugiere construir las dependencias de Neovim desde la fuente para mitigar este riesgo de seguridad.

Desarrollo

Explotación de Activación de Windows: TSforge Rompe SPP

2025-02-14
Explotación de Activación de Windows: TSforge Rompe SPP

Investigadores de seguridad han descubierto una vulnerabilidad importante en la Plataforma de Protección de Software (SPP) de Windows y han desarrollado una explotación llamada TSforge. Esta explotación ignora la activación para todas las versiones de Windows desde Windows 7 y de Office desde 2013. Los investigadores analizaron el funcionamiento interno de SPP, centrándose en la validación del ID de confirmación (CID) y los datos del "almacén de confianza". Finalmente encontraron las claves para descifrar y modificar los datos de activación. Este descubrimiento no solo revela las fallas de seguridad de SPP, sino que también proporciona información valiosa sobre la activación de Windows.

El fundador de Asahi Linux renuncia, el proyecto abraza un futuro sostenible

2025-02-14
El fundador de Asahi Linux renuncia, el proyecto abraza un futuro sostenible

Tras la renuncia del fundador Hector Martin, el equipo de Asahi Linux anunció una nueva estructura de gobernanza y un modelo de financiación para asegurar la sostenibilidad a largo plazo del proyecto. Siete desarrolladores compartirán el poder de toma de decisiones, y las donaciones se facilitarán a través de Open Source Collective, reemplazando el modelo anterior de Patreon. El proyecto priorizará la integración ascendente del kernel y las pruebas de integración continua para mejorar la estabilidad y el mantenimiento. Si bien el soporte para los chips M3 y M4 está temporalmente en espera, los usuarios de M1 y M2 pueden esperar funciones como el modo DP alt, soporte de imágenes dispersas en el controlador Vulkan y soporte de micrófono interno.

Desarrollo

Doctor Droid: Asistente inteligente para la resolución de incidentes de producción

2025-02-14
Doctor Droid: Asistente inteligente para la resolución de incidentes de producción

Doctor Droid está desarrollando un asistente inteligente para ayudar a los equipos de ingeniería a acelerar la investigación durante los incidentes de producción. Su plataforma de código abierto, utilizada a nivel mundial, tiene como objetivo reducir el tiempo de inactividad y aumentar la productividad de los desarrolladores. Su visión es permitir que cualquier miembro del equipo depure problemas de producción comunes sin necesidad de ingenieros senior. Respaldado por Accel y graduado en el lote de invierno de Y Combinator 2023, Doctor Droid busca desarrolladores apasionados para unirse a su equipo.

El dilema de los mantenedores del kernel de Linux: deuda técnica y participación de la comunidad

2025-02-14

El veterano mantenedor del kernel de Linux, Theodore Ts'o, detalla los desafíos del mantenimiento del kernel en un correo electrónico. Señala que los mantenedores no son omnipotentes, sino la "línea azul fina" que se esfuerza por la calidad del código. Los contribuidores suelen desaparecer una vez que se acepta su código, dejando a los mantenedores la tarea de limpiar el desorden. Ts'o insta a los equipos de desarrollo a participar activamente en la comunidad, manteniendo conjuntamente la calidad del código en lugar de centrarse únicamente en los objetivos a corto plazo. Cita a Rust para Linux como ejemplo de participación positiva en la comunidad, pero también señala la necesidad de más tiempo para generar confianza y abordar las cargas de mantenimiento del código.

Flags de características: inconvenientes y lecciones aprendidas de la investigación en sistemas configurables

2025-02-14

Este artículo explora los problemas potenciales de las flags de características, una técnica ampliamente utilizada en el desarrollo de software. Si bien son convenientes, los autores argumentan que las flags de características pueden conducir a código difícil de mantener, especialmente en lo que respecta a las interacciones de características, la eliminación de flags y las pruebas. El artículo revisa las investigaciones existentes en sistemas configurables y líneas de productos de software, resumiendo lecciones aprendidas, como: definir claramente a los tomadores de decisiones de configuración, elegir tiempos de enlace adecuados, utilizar una implementación y documentación estandarizadas y utilizar técnicas como las pruebas combinatorias para mejorar la calidad del software.

Paquete OBS Studio Flatpak roto en Fedora: Un paquete de terceros haciéndose pasar por oficial

2025-02-14
Paquete OBS Studio Flatpak roto en Fedora: Un paquete de terceros haciéndose pasar por oficial

El paquete no oficial de OBS Studio Flatpak en Fedora está aparentemente roto, lo que lleva a quejas de usuarios dirigidas a los desarrolladores oficiales. Este no es un incidente aislado; muchos usuarios expresan frustración con la implementación agresiva de Flatpak de Fedora y la falta de opciones claras para optar por no participar. El autor solicita que se elimine el paquete o que se etiquete claramente como de terceros, cuestionando la decisión de reemplazar un paquete Flatpak funcional por uno roto, socavando así los esfuerzos oficiales.

Desarrollo

La Captura Corporativa del Software de Código Abierto: Un Juego de Poder Sutil

2025-02-14
La Captura Corporativa del Software de Código Abierto: Un Juego de Poder Sutil

Este artículo explora la realidad de la participación corporativa a gran escala en el software de código abierto. Inicialmente concebido para atraer intereses comerciales, las empresas en gran medida aprovechan el código abierto para reducir costos en lugar de contribuir. La vulnerabilidad Heartbleed puso de manifiesto la falta de recursos de los proyectos de código abierto. Si bien la inversión corporativa ha aumentado, se canaliza a través de las contribuciones de los empleados, creando desequilibrios de poder. Los empleados corporativos, con más tiempo e influencia, distorsionan las prioridades del proyecto, lo que potencialmente lleva a la relicencia. El artículo propone actualizar los modelos de gobernanza de código abierto, diversificar la financiación para los mantenedores, rechazar proyectos con riesgos de relicencia y establecer una definición compartida de gobernanza abierta para construir resiliencia contra la captura corporativa y garantizar un ecosistema más equitativo.

arXivLabs: Creando nuevas funciones de arXiv con colaboradores de la comunidad

2025-02-14
arXivLabs: Creando nuevas funciones de arXiv con colaboradores de la comunidad

arXivLabs es un marco que permite a los desarrolladores colaborar y compartir nuevas funciones de arXiv directamente en el sitio web. Los participantes deben adherirse a los valores de arXiv de apertura, comunidad, excelencia y privacidad de los datos del usuario. ¿Tiene una idea para mejorar la comunidad de arXiv? Explore arXivLabs.

Desarrollo

Descifrando el Proceso de Entrevista para Ingeniero de Software en una Startup

2025-02-13
Descifrando el Proceso de Entrevista para Ingeniero de Software en una Startup

Esta startup utiliza un proceso de entrevista de dos pasos: una entrevista telefónica y una entrevista presencial de dos días. La entrevista telefónica evalúa el interés en las startups y el trabajo en equipo, junto con las habilidades básicas de programación web y la experiencia en proyectos. La entrevista presencial profundiza en las habilidades técnicas, el pensamiento del producto y el ajuste a la empresa, enfatizando la comunicación, la propiedad y la autonomía a través de un pequeño proyecto.

JesseSort: Un novedoso algoritmo de ordenación O(n log n)

2025-02-13
JesseSort: Un novedoso algoritmo de ordenación O(n log n)

JesseSort es un nuevo algoritmo de ordenación que utiliza una novedosa estructura de datos llamada 'Rainbow' para organizar y fusionar elementos de manera eficiente, logrando un tiempo de ejecución de O(n log n). El algoritmo consta de una fase de inserción (generando el Rainbow) y una fase de fusión (combinando bandas hasta que quede una). Los detalles están disponibles en JesseSort.pdf y en ResearchGate.

¿Por qué Mill usa Scala para la configuración de la compilación?

2025-02-13

La elección de Scala como lenguaje de configuración para el sistema de compilación Mill, en lugar de alternativas como YAML o XML, ha generado preguntas. Este artículo aborda esto explorando tres razones principales: los beneficios de usar un lenguaje de programación de propósito general, las ventajas específicas de Scala y el razonamiento detrás del uso de la Máquina Virtual Java. Si bien Scala es un lenguaje de nicho, sus propiedades únicas lo hacen particularmente adecuado para configurar sistemas de compilación, independientemente del tamaño del proyecto.

Desarrollo

MapTCHA: Un nuevo CAPTCHA que aprovecha la incertidumbre de la IA para combatir bots

2025-02-13
MapTCHA: Un nuevo CAPTCHA que aprovecha la incertidumbre de la IA para combatir bots

Los CAPTCHAs tradicionales filtran datos de usuario y son costosos de mantener. Este artículo presenta MapTCHA, un nuevo CAPTCHA que aprovecha la incertidumbre de la visión artificial con IA en la interpretación de imágenes para combatir bots y spam. MapTCHA presenta a los usuarios una mezcla de imágenes que contienen objetos predichos por IA (positivos conocidos, negativos conocidos y desconocidos), pidiéndoles que identifiquen contornos de edificios y otros objetos interpretados correctamente. Los votos de los usuarios determinan la veracidad de las imágenes desconocidas, proporcionando nuevas fuentes de datos para OpenStreetMap. El sistema utiliza el sistema de mapeo asistido por IA de código abierto fAIr para el reconocimiento de imágenes. Los planes futuros incluyen expandirse a más objetos y tipos de imágenes e integrar MapTCHA en varios sistemas de inicio de sesión.

Desarrollo

Construyendo una réplica de borde SQLite de alto rendimiento con Turso y Fly.io

2025-02-13
Construyendo una réplica de borde SQLite de alto rendimiento con Turso y Fly.io

Este tutorial muestra cómo construir réplicas de borde SQLite personalizadas para Turso usando Node.js y Fly.io para mejorar el rendimiento de la base de datos. Al implementar servidores proxy en múltiples regiones globales y aprovechar la red Anycast de Fly.io, se logra un acceso a datos de baja latencia. La solución almacena en caché los datos localmente en un archivo SQLite, sincronizándose periódicamente con la base de datos principal, lo que reduce la latencia de la red y los costos de replicación de datos para una mejor experiencia de usuario. El tutorial cubre la configuración de Dockerfile, la implementación de Fly.io, los detalles de implementación del servidor proxy e incluye un mecanismo de autenticación de seguridad.

LibreOffice a los 40: Nuevos trucos para un viejo perro

2025-02-13
LibreOffice a los 40: Nuevos trucos para un viejo perro

LibreOffice, la suite ofimática de código abierto que celebra su 40 aniversario, mostró impresionantes nuevas funciones en FOSDEM 2025. El trabajo de Allotropia en la colaboración en tiempo real distribuida para Writer, utilizando CRDT, permite la edición simultánea similar a Google Docs, pero localmente, sin necesidad de una conexión a internet. Además, ZetaOffice, un puerto WebAssembly de LibreOffice, se ejecuta en cualquier navegador en cualquier sistema operativo y CPU, y es controlable mediante JavaScript. Esto ofrece potentes capacidades de edición de texto enriquecido para aplicaciones web, desafiando potencialmente el dominio de Microsoft y dando una nueva vida a LibreOffice.

El líder de Asahi Linux renuncia por la presión de la comunidad y los desafíos de integración

2025-02-13
El líder de Asahi Linux renuncia por la presión de la comunidad y los desafíos de integración

El desarrollador principal de Asahi Linux, un proyecto que portó con éxito Linux a Apple Silicon, ha renunciado. A pesar de lograr una hazaña impresionante, el desarrollador citó la presión implacable de la comunidad por nuevas funciones, importantes obstáculos para contribuir al kernel de Linux de forma ascendente, y desafíos personales como razones para su partida. La renuncia destaca las dificultades de mantener un gran proyecto de código abierto y genera preocupaciones sobre la dinámica de la comunidad y el proceso de contribución al kernel de Linux.

Desarrollo

El Dilema de la Infraestructura Nativa en la Nube: Escalabilidad, Costo y Mantenimiento

2025-02-13
El Dilema de la Infraestructura Nativa en la Nube: Escalabilidad, Costo y Mantenimiento

Muchas empresas enfrentan desafíos con la infraestructura en la nube: la preparación inadecuada para la escalabilidad lleva al desperdicio de recursos y al aumento de los costos; las cargas de trabajo impredecibles resultan en largos tiempos de inicio en frío; cientos o miles de aplicaciones requieren mantenimiento y actualizaciones constantes, lo que convierte el parcheo de vulnerabilidades y la gestión de dependencias en un dolor de cabeza; las implementaciones en varios proveedores de nube, multirregión y de borde aumentan la complejidad. Estos problemas conducen a una infraestructura ineficiente y a costos operativos más altos.

Desarrollo nativo en la nube

Microsoft Edge soluciona la renderización de texto deslavado en Chromium

2025-02-13
Microsoft Edge soluciona la renderización de texto deslavado en Chromium

Después de migrar al motor de renderizado Chromium, los usuarios informaron que el texto en Microsoft Edge parecía "deslavado" e inconsistente con otras partes de Windows. La investigación reveló que la configuración de contraste y gamma de texto de Skia difería del motor DirectWrite anterior y no leía la configuración de Windows ClearType Tuner. El equipo de Edge colaboró con el equipo de Google Chrome, realizando investigaciones con usuarios para determinar un mejor valor de contraste de texto predeterminado. Se encontró que un valor de 1.0 coincidía estrechamente con la representación del Edge anterior a Chromium y parecía consistente con otras aplicaciones nativas de Windows. Esta corrección ya está disponible en Chrome 132 y versiones posteriores.

arXivLabs: Proyectos experimentales con colaboradores de la comunidad

2025-02-13
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

Nueva sintaxis de consulta en canalización de BigQuery: Más fácil de leer, escribir y mantener

2025-02-13
Nueva sintaxis de consulta en canalización de BigQuery: Más fácil de leer, escribir y mantener

Google BigQuery presenta una nueva sintaxis de consulta en canalización que simplifica la escritura y el mantenimiento de consultas SQL con una estructura lineal. Esta sintaxis permite aplicar operadores como SELECT, agregación, GROUP BY, JOIN y WHERE en cualquier orden y tantas veces como sea necesario, lo que resulta en una lógica de consulta más clara y comprensible. Resuelve problemas en el SQL estándar, como el orden estricto de las cláusulas, la necesidad de CTE o subconsultas anidadas para consultas complejas, e introduce nuevos operadores de canalización como EXTEND, SET, DROP y RENAME para una mayor flexibilidad en la manipulación de datos.

Disputa de Licencia de Código Abierto: Una Lucha por la Libertad del Software

2025-02-13
Disputa de Licencia de Código Abierto: Una Lucha por la Libertad del Software

La Software Freedom Conservancy (SFC) presentó un escrito amicus curiae apoyando el derecho de un licenciatario aguas abajo a eliminar las “restricciones adicionales” bajo la Licencia Pública General Affero versión 3 (AGPLv3), Sección 7, en el caso en curso Neo4j, Inc. contra PureThink, LLC. La cuestión central gira en torno a si la “Cláusula Commons” agregada por Neo4j puede eliminarse. La SFC argumenta que los licenciatarios aguas abajo tienen derecho a eliminar dichas restricciones bajo la Sección 7, párrafo 4 de la AGPLv3, incluso si las impone el licenciante original. El escrito de la SFC proporciona un análisis jurídico detallado de las Secciones 7 y 10 de la AGPLv3, argumentando que el tribunal inferior decidió erróneamente a favor de la interpretación de Neo4j, lo que podría alterar fundamentalmente la comprensión de la comunidad sobre la adición y eliminación de “restricciones adicionales”. La decisión tendrá implicaciones significativas para la libertad del software y los derechos de los usuarios.

Desarrollo disputa legal

La Resurrección de Wayland: Una Retrospectiva a Tres Años

2025-02-13

Hace tres años, una publicación crítica sobre Wayland generó acalorados debates. Ahora, el autor revisa el pasado y descubre que Wayland ha logrado progresos notables. Muchos de los puntos problemáticos, como la sincronización explícita y los bloqueos del hilo de renderizado, se han resuelto de manera eficaz. Las mejoras en Mesa, las mejoras de los protocolos y la participación activa de la comunidad han impulsado el desarrollo de Wayland. Si bien aún existen algunos desafíos, como la incrustación de superficies externas y la gestión de varias ventanas, el futuro de Wayland parece brillante.

Desarrollo

Wger: Aplicación de gestión de entrenamiento y dieta de código abierto

2025-02-13
Wger: Aplicación de gestión de entrenamiento y dieta de código abierto

Wger es una aplicación web gratuita y de código abierto para gestionar entrenamientos personales, peso y planes de dieta. También funciona como una herramienta sencilla de gestión de gimnasio y ofrece una API REST para una fácil integración. Fácilmente implementable mediante Docker, hay una imagen de demostración disponible para pruebas rápidas. El código y el contenido son de código abierto y se admiten traducciones.

Desarrollo

Task Explorer: Un potente gestor de tareas multiplataforma

2025-02-13
Task Explorer: Un potente gestor de tareas multiplataforma

Task Explorer es una poderosa herramienta de gestión de tareas que no solo monitoriza las aplicaciones en ejecución, sino que también proporciona información detallada sobre su actividad. Su interfaz prioriza la velocidad y la eficiencia, ofreciendo datos de procesos en tiempo real con una interacción mínima. La información se muestra en paneles accesibles; al seleccionar un proceso, se revela información detallada en la mitad inferior de la pantalla, fácilmente navegable con las teclas de flecha. La actualización dinámica de datos ofrece información en tiempo real sobre el rendimiento y el comportamiento del sistema.
Las funciones avanzadas incluyen un Panel de Hilos que muestra seguimientos de pila, un Panel de Memoria para ver y editar la memoria del proceso, un Panel de Controladores que muestra los controladores abiertos, un Panel de Sockets que muestra las conexiones y un Panel de Módulos que enumera las DLL cargadas. La monitorización robusta del sistema presenta gráficos en tiempo real de la CPU, controladores, tráfico de red y acceso al disco. Los paneles de información del sistema permiten controlar los servicios del sistema.
Construido con el framework Qt, Task Explorer es compatible con Windows 7+ (32/64 bits) y planea soportar Linux.

Desarrollo gestor de tareas

Aproximando la Multiplicación de Punto Flotante con Manipulación de Bits: Un Truco Inteligente

2025-02-13
Aproximando la Multiplicación de Punto Flotante con Manipulación de Bits: Un Truco Inteligente

Este artículo explora un método ingenioso para aproximar la multiplicación de punto flotante usando manipulación de bits. El enfoque consiste en convertir los floats a enteros, sumarlos, ajustar el exponente y convertir de nuevo a un float. Si bien este método falla catastróficamente con el desbordamiento o el subdesbordamiento del exponente, su precisión es sorprendentemente buena en la mayoría de los casos, manteniéndose dentro del 7,5% del resultado correcto. El autor profundiza en los principios subyacentes, explicando por qué la simple suma puede aproximar la multiplicación. Aunque probablemente sea menos eficiente que la multiplicación de punto flotante nativa en la práctica, su simplicidad y su potencial de ahorro de energía en escenarios específicos lo convierten en una exploración interesante.

Mi flujo de trabajo en Vim: Una década de trucos de productividad y automatización

2025-02-13

Este artículo detalla una década de uso de Vim (específicamente GVim en Windows), culminando en una colección de consejos de productividad y configuraciones personalizadas. El enfoque no está en scripts de Vim específicos, sino en la importancia de identificar y optimizar el propio flujo de trabajo. El autor muestra asignaciones de teclas personalizadas para acciones simplificadas: usar `` en lugar de ``, automatizar el guardado de búferes con manejo de errores y copia rápida al portapapeles del sistema. También se exploran técnicas para crear automáticamente directorios antes de guardar archivos y ejecutar comandos Git dentro de :terminal. El artículo anima a los lectores a explorar las páginas de ayuda de Vim e iterar en la optimización de su propio flujo de trabajo.

Desarrollo

Mi entorno de codificación basado en web autohospedado

2025-02-13

Cansado de las limitaciones de Glitch, el autor creó su propio entorno de codificación basado en web. El backend es Django, almacenando archivos de proyecto localmente, con dominios gestionados mediante un certificado comodín de Let's Encrypt. Incluye reutilización de plantillas, vista previa en vivo, guardado automático, compilaciones Makefile e incluso instalación de paquetes Elm y ejecución de comandos shell integrados. Se agregó la integración Git, simplificando el control de versiones con Jujutsu y aprovechando la función create-on-push de Forgejo para una implementación perfecta. Actualmente aloja 80 proyectos, que van desde experimentos hasta herramientas diarias.

NESFab: Un lenguaje de programación de alto rendimiento para juegos NES

2025-02-13

NESFab es un nuevo lenguaje de programación diseñado para crear juegos NES. Optimizado para las limitaciones de 8 bits, es más ergonómico que C a la vez que produce código ensamblador más rápido. Cuenta con bibliotecas fáciles de usar, lo que facilita su aprendizaje, tanto si es tu primer juego NES como si es el centésimo. Incluye funciones como conmutación automática de bancos, carga optimizada de recursos e integración con el editor de mapas MapFab para acelerar el desarrollo. Aunque actualmente está en versión beta, NESFab supera a compiladores como GCC y LLVM en las pruebas de rendimiento, convirtiéndose posiblemente en el compilador 6502 de mayor rendimiento disponible.

Desarrollo
1 2 161 162 163 165 167 168 169 214 215