Category: Desarrollo

Migración del repositorio Bitnami Docker: ¿mejora de seguridad o muro de pago?

2025-08-28
Migración del repositorio Bitnami Docker: ¿mejora de seguridad o muro de pago?

Bitnami está migrando su repositorio público de imágenes Docker a un nuevo repositorio Bitnami Legacy y lanzando gradualmente las imágenes Bitnami Secure Images (BSI) más seguras. La migración se realizará en fases, con interrupciones temporales del servicio de imágenes. Los usuarios pueden optar por migrar a BSI (parcialmente gratuito, pero la funcionalidad completa requiere una suscripción de pago) o al repositorio Bitnami Legacy (solución temporal, con riesgos de seguridad). Bitnami explica este cambio como un esfuerzo para mejorar la seguridad y abordar la creciente amenaza de vulnerabilidades de software de código abierto y las nuevas normativas. Sin embargo, este cambio también ha generado controversia, con algunos argumentando que es una estrategia para cambiar de servicios gratuitos a servicios de pago.

Desarrollo

Paquetes nx maliciosos en npm: Robo de credenciales y apagado del sistema

2025-08-27
Paquetes nx maliciosos en npm: Robo de credenciales y apagado del sistema

Varias versiones del paquete npm 'nx' (incluidas 21.5.0, 20.9.0, etc.) fueron comprometidas maliciosamente. Un atacante utilizó un token npm robado para publicar paquetes que contienen código que escanea el sistema de archivos del usuario, recopila credenciales (GitHub, contraseñas del sistema, etc.) y carga esta información en un repositorio de GitHub en la cuenta del usuario. El código malicioso también modifica los archivos `.zshrc` y `.bashrc` del usuario para ejecutar `sudo shutdown -h 0` al iniciar el terminal, lo que podría apagar el sistema. Los usuarios afectados deben actualizar inmediatamente su paquete 'nx' a la versión más reciente y verificar su GitHub en busca de repositorios comprometidos. Nx ha eliminado los paquetes maliciosos e implementado medidas de seguridad mejoradas, incluyendo 2FA obligatorio y el nuevo mecanismo Trusted Publisher para todos los paquetes npm.

Desarrollo

OOP en C: Servicios del Kernel mediante Punteros de Función

2025-08-27
OOP en C: Servicios del Kernel mediante Punteros de Función

Este artículo describe cómo el autor implementó un mecanismo de tabla virtual (vtable) en su kernel de sistema operativo utilizando punteros de función y structs en C, imitando la programación orientada a objetos. Este enfoque permite la gestión unificada de los servicios del kernel, como iniciar, detener y reiniciar, y permite cambios flexibles en la política de planificación sin una modificación extensa del código. El autor explica la implementación y aplicación de vtables con ejemplos de controladores de dispositivos y gestión de servicios, discutiendo las ventajas y desventajas. Si bien la sintaxis en C conduce a un código algo verboso, este método mejora la legibilidad y el mantenimiento, mejorando la flexibilidad y la extensibilidad del kernel.

Desarrollo

Clasificador de imágenes TensorFlow Lite en Delphi

2025-08-27
Clasificador de imágenes TensorFlow Lite en Delphi

Este código Delphi implementa un clasificador de imágenes simple usando TensorFlow Lite. Carga un archivo de modelo, preprocesa datos de imagen del componente Image1 y alimenta los datos a un intérprete de TensorFlow Lite para la inferencia. Los resultados de la inferencia, probabilidades para cada clase, se muestran en un componente ListView1. El código incluye manejo de errores y mecanismos de liberación de recursos para la estabilidad.

Urgente: Kit de construcción nx malicioso roba claves de GitHub

2025-08-27
Urgente: Kit de construcción nx malicioso roba claves de GitHub

Se ha descubierto un comando malicioso de postinstalación en el popular kit de construcción nx, que crea un repositorio con el prefijo 's1ngularity-repository' en las cuentas de GitHub de los usuarios afectados. Este malware roba carteras, claves de API y variables de entorno, almacenándolas en un archivo codificado en base64. Inteligentemente, utiliza LLMs como Claude Code CLI o Gemini CLI para descargar gran parte de su código identificable a un prompt, dificultando su detección. Las versiones afectadas de nx se han eliminado de npm. Los usuarios deben comprobar inmediatamente sus cuentas de GitHub, actualizar nx a la versión segura más reciente y rotar cualquier secreto comprometido.

Ralentizando intencionadamente los programas: un aumento sorprendente en la precisión de las herramientas para desarrolladores

2025-08-27
Ralentizando intencionadamente los programas: un aumento sorprendente en la precisión de las herramientas para desarrolladores

La mayor parte de la investigación sobre el rendimiento del lenguaje de programación se centra en acelerar los programas, pero un nuevo estudio explora los beneficios de ralentizarlos intencionadamente. Al insertar instrucciones NOP o MOV en bloques básicos de programas, los investigadores lograron un control preciso sobre la ejecución del programa, lo que llevó a una detección más precisa de las condiciones de carrera, simulación de aceleración y evaluación de la precisión del perfilador. Los experimentos en un Intel Core i5-10600 mostraron que las instrucciones NOP y MOV son las más adecuadas para este propósito, abriendo nuevas vías para las herramientas de desarrollador avanzadas en el futuro.

Desarrollo perfiles

Lanzamiento de QEMU 10.1: Soporte de arquitectura mejorado y mejoras de rendimiento

2025-08-27

QEMU 10.1 ya está disponible, con soporte mejorado para múltiples arquitecturas, incluyendo RISC-V, Arm y x86, junto con mejoras significativas en el rendimiento. Se ha añadido soporte para nuevos conjuntos de instrucciones (SME2, SVE2, etc.), junto con nuevos modelos de placa y funciones de virtualización. Las funcionalidades existentes también se han actualizado, como la emulación mejorada de excepciones de punto flotante, las operaciones optimizadas de dispositivos de bloque y el aumento del rendimiento de la red. Cabe destacar que el soporte para Rust se ha mejorado, pero sigue siendo experimental.

Monodraw: Requisitos del sistema y preguntas frecuentes

2025-08-27

Monodraw requiere macOS 11 Big Sur o posterior. Las versiones anteriores de macOS pueden usar la v1.3 (macOS 10.10 Yosemite) o la v1.5 (macOS 10.14 Mojave). La herramienta de línea de comandos solo se incluye en las versiones descargadas directamente de nuestro sitio web y compradas en nuestra tienda, debido a las restricciones del sandbox de la App Store. Los comentarios se pueden enviar por correo electrónico o tuitear a @Monodraw. Su dirección de correo electrónico no se compartirá con terceros; solo se usará para actualizaciones importantes y noticias de productos. Hay un kit de prensa disponible para descargar, y se ofrece un precio educativo. Monodraw no recopila ningún dato del usuario.

Desarrollo

FilterQL: Un lenguaje de consulta pequeño para filtrar datos estructurados

2025-08-27
FilterQL: Un lenguaje de consulta pequeño para filtrar datos estructurados

FilterQL es un lenguaje de consulta ligero para filtrar datos estructurados. Consiste en una biblioteca TypeScript y una especificación de lenguaje, con implementaciones en otros lenguajes bienvenidas. Los usuarios definen un esquema para sus datos y luego usan una sintaxis concisa para filtrar, ordenar y limitar los resultados, como `genre == Action` o `year >= 2008 && rating >= 8.5 | SORT rating desc`. FilterQL admite una variedad de operadores de comparación y lógicos, y permite operaciones personalizadas para ampliar sus capacidades.

Desarrollo

WebLibre: Un navegador centrado en la privacidad entra en fase Alpha

2025-08-27
WebLibre: Un navegador centrado en la privacidad entra en fase Alpha

WebLibre es un proyecto de navegador independiente basado en el motor Gecko de Mozilla y los componentes Android de Mozilla. Ofrece un navegador web completo con soporte para complementos móviles de Firefox, priorizando la privacidad y la facilidad de uso. Actualmente en fase alfa, espere actualizaciones frecuentes, errores y cambios importantes. Solo las compilaciones de F-Droid están libres de dependencias de Google.

En la Era de la IA, las Herramientas Adaptables Triunfarán

2025-08-27
En la Era de la IA, las Herramientas Adaptables Triunfarán

En la era de la IA, el éxito no depende de adaptarse a las herramientas, sino de que las herramientas se adapten a ti. El artículo contrasta Linear, una herramienta rígida, con Fibery, una herramienta flexible, ilustrando sus destinos divergentes. La inflexibilidad de Linear limita la integración de IA, mientras que Fibery utiliza LLMs para transformar configuraciones complejas en prompts simples. Los LLMs cambian el enfoque del diseño de soluciones a la definición de problemas; los usuarios describen las necesidades en lenguaje natural, y la IA se encarga de la implementación. Esto destaca el poder del software maleable, donde la configuración se vuelve rápida y fácil, permitiendo a los usuarios adaptarse a las necesidades cambiantes, mientras que las herramientas rígidas se quedan atrás. El artículo predice que el software maleable reemplazará gradualmente a sus contrapartes rígidas en los próximos años, convirtiéndose en el paradigma dominante.

Desarrollo Software Maleable

Bucles de reintento elegantes: Cómo evitar la redundancia y las pausas inesperadas

2025-08-27

El autor explora cómo escribir un bucle de reintento elegante que limite claramente el número de reintentos, evite pausas innecesarias después del último intento, reporte el error original si el reintento falla y evite la duplicación de código. Se comparan varios enfoques, decidiéndose finalmente por un bucle `try while` con un límite superior para garantizar la terminación, solucionando problemas de límites y posibles bucles infinitos en soluciones anteriores. Aunque la solución final no es perfecta, representa una mejora significativa en brevedad y robustez con respecto a intentos anteriores.

Desarrollo

Async: Flujo de trabajo de codificación colaborativa con IA

2025-08-27
Async: Flujo de trabajo de codificación colaborativa con IA

Async es una herramienta de desarrollador de código abierto que combina codificación con IA, gestión de tareas y revisión de código en un flujo de trabajo optimizado. Integrando Claude Code, Linear y GitHub PRs, investiga automáticamente las tareas de codificación, ejecuta cambios de código en la nube y divide el trabajo en subtareas revisables, gestionando todo el flujo de trabajo desde problemas de GitHub hasta PRs fusionados. Async destaca con bases de código maduras, imponiendo planificación previa, eliminando el cambio de contexto, simplificando el seguimiento de tareas y ofreciendo revisión de código integrada. Construida con FastAPI, Claude Code y Google Cloud Platform, admite equipos de escritorio y móviles.

Desarrollo

LiteLLM: Contratación de Ingeniero Full-Stack Fundador

2025-08-27
LiteLLM: Contratación de Ingeniero Full-Stack Fundador

LiteLLM, una puerta de enlace LLM de código abierto con más de 27.000 estrellas en GitHub, utilizada por empresas como la NASA y Adobe, se está expandiendo rápidamente y busca un ingeniero full-stack fundador. El puesto se centra en unificar el formato para llamar a más de 100 API de LLM (OpenAI, Azure, Bedrock, etc.) utilizando la especificación OpenAI, mejorando el rendimiento y la fiabilidad de la plataforma. La pila de tecnología incluye Python, FastAPI, JS/TS, Redis, Postgres y mucho más. Los candidatos deben tener de 1 a 2 años de experiencia en desarrollo de back-end o full-stack, sentirse cómodos con el mantenimiento de infraestructuras de alto rendimiento y ser apasionados por el código abierto.

Desarrollo

Lanzamiento de spaCy 3.8: Potenciando el PNL de nivel industrial

2025-08-27
Lanzamiento de spaCy 3.8: Potenciando el PNL de nivel industrial

¡spaCy 3.8 ya está disponible! Esta biblioteca avanzada de Procesamiento del Lenguaje Natural (PNL) para Python y Cython se basa en investigaciones de vanguardia y está diseñada para aplicaciones del mundo real. Con soporte para la tokenización y el entrenamiento en más de 70 idiomas, cuenta con velocidad y modelos de red neuronal de última generación para tareas como NER, clasificación de texto y mucho más. Ofrece aprendizaje multitarea con transformadores preentrenados como BERT, un sistema de entrenamiento listo para producción y un fácil empaquetado, implementación y gestión del flujo de trabajo. Consulta las notas de lanzamiento para obtener detalles sobre las mejoras.

Desarrollo

Regolith: Una biblioteca Regex de tiempo lineal que previene ataques ReDoS

2025-08-27
Regolith: Una biblioteca Regex de tiempo lineal que previene ataques ReDoS

Regolith es una biblioteca TypeScript y JavaScript del lado del servidor, construida con Rust, para prevenir ataques de denegación de servicio por expresiones regulares (ReDoS) utilizando un motor de expresiones regulares lineal. A diferencia del RegExp predeterminado en TypeScript y JavaScript (que tiene una complejidad de tiempo de peor caso exponencial), Regolith tiene una complejidad de peor caso lineal, mitigando eficazmente las vulnerabilidades ReDoS. Diseñado como un reemplazo directo para RegExp, minimiza el esfuerzo de migración, permitiendo a los desarrolladores crear fácilmente software resistente a ReDoS. Aún en etapa inicial de desarrollo, Regolith agradece las contribuciones de la comunidad.

Desarrollo

rv: Un revolucionario gestor de lenguaje Ruby

2025-08-27

Después de una década trabajando en Bundler, el autor finalmente ha creado rv, un nuevo tipo de herramienta de gestión de Ruby. rv no solo gestiona las dependencias de gems, sino también las versiones de Ruby, instalando Rubies precompiladas para eliminar largos tiempos de compilación. Más importante aún, rv hace trivial la ejecución de cualquier script o herramienta Ruby, incluso si requiere una versión diferente de Ruby. Inspirada en uv (una herramienta similar para Python), cargo y npm, rv cuenta con velocidad, fiabilidad y características innovadoras como `rv tool run` e `rv tool install`, simplificando la gestión de entornos Ruby y aumentando drásticamente la productividad del desarrollador.

Desarrollo

Artanis: Un framework web basado en Guile, nacido de un hackathon

2025-08-27

Artanis es un framework web escrito en GNU Guile. Su creación surgió de una discusión interna en GNU sobre lenguajes de desarrollo de sitios web. El autor propuso el uso de Guile y recibió la aprobación de RMS. Más tarde, durante un hackathon de la comunidad Guile, Artanis fue oficialmente lanzado y desarrollado.

Desarrollo

Particionamiento hash de PostgreSQL 20 veces más rápido: evitando búsquedas de catálogo

2025-08-27
Particionamiento hash de PostgreSQL 20 veces más rápido: evitando búsquedas de catálogo

El particionamiento hash de PostgreSQL genera una sobrecarga de búsqueda de catálogo en aplicaciones de alto rendimiento. Este artículo presenta una técnica de optimización que evita las búsquedas de catálogo de PostgreSQL precalculando los índices de partición en la capa de la aplicación. El uso de la gema Ruby `pg_hash_func` o la llamada directa a las funciones hash de PostgreSQL puede acelerar las consultas en más de 20 veces, reduciendo significativamente la latencia. Este enfoque es adecuado para escenarios críticos de rendimiento y ofrece más opciones para equilibrar simplicidad y rendimiento.

Ingeniería inversa de la GPU Apple M1: Los controladores de código abierto impulsan los juegos de Linux

2025-08-27

En 2020, Hector Martin, un estudiante de informática de la Universidad de Toronto, inició el proyecto Asahi Linux para llevar Linux al chip Apple M1. Colaborando con un ingeniero de Collabora, realizó ingeniería inversa de la GPU del M1, logrando gradualmente la aceleración gráfica y, finalmente, obteniendo soporte completo para OpenGL 4.6, Vulkan 1.4 y OpenCL 3.0, permitiendo juegos Proton. Esto no solo desmintió el mito de que Vulkan no es adecuado para el hardware de Apple, sino que también contribuyó con un controlador de alta calidad a la comunidad de código abierto, mejorando drásticamente la experiencia de juego de Linux en el chip M1.

Desarrollo

Verdades Incómodas sobre la Verificación de Desarrolladores Android de Google

2025-08-27

Esta publicación de blog plantea serias preocupaciones sobre el próximo programa de verificación de desarrolladores de Android de Google. Utilizando el ejemplo del desarrollador de la aplicación ICEBlock, quien enfrentó amenazas después de revelar su identidad, la publicación argumenta que el programa podría perjudicar a los desarrolladores que necesitan anonimato. Se plantean cinco preguntas clave: ¿Cómo se abordarán las necesidades legítimas de anonimato de los desarrolladores? ¿Qué organizaciones de la sociedad civil fueron consultadas y cuáles fueron los resultados? ¿Cómo debe interpretarse la política de privacidad de Google con respecto al intercambio de información personal? ¿Cómo manejará el programa los almacenes de claves de depuración y los nombres de paquetes duplicados que se utilizan comúnmente en el desarrollo de aplicaciones? ¿Cuáles son las implicaciones para quienes están aprendiendo desarrollo de Android? La publicación insta a Google a participar en debates y proporciona un formulario de comentarios.

Desarrollo

arXivLabs: Colaboraciones de la Comunidad para el Desarrollo de Funciones de arXiv

2025-08-26
arXivLabs: Colaboraciones de la Comunidad para el Desarrollo de Funciones de arXiv

arXivLabs es un nuevo marco de colaboración que permite a los desarrolladores crear y compartir nuevas funciones de arXiv directamente en el sitio web de arXiv. Las personas y organizaciones que participan en arXivLabs abrazan los valores de arXiv de apertura, comunidad, excelencia y privacidad de datos de usuario. arXiv está comprometido con estos valores y solo trabaja con socios que los comparten. ¿Tienes una idea para un proyecto que beneficiará a la comunidad de arXiv? ¡Aprende más sobre arXivLabs!

Desarrollo

TTY Desmitificado: Una inmersión profunda en la consola de Linux

2025-08-26

Este artículo proporciona una explicación exhaustiva del subsistema TTY de Linux. Recorriendo su historia desde las máquinas de teletipo del siglo XIX hasta los terminales virtuales modernos, detalla los roles de los controladores UART, las disciplinas de línea, los controladores TTY y el manejo de señales. El artículo también cubre los estados de los procesos, la administración de trabajos y sesiones, el control de flujo y la E/S de bloqueo, utilizando diagramas y ejemplos claros. Desentraña las complejidades de la consola de Linux, ofreciendo información detallada para desarrolladores y usuarios avanzados.

Desarrollo Consola

El método John McPhee: Una inmersión profunda en la escritura de no ficción

2025-08-26

Este artículo detalla el proceso de escritura del renombrado autor John McPhee, enfatizando un enfoque meticuloso y de varias etapas. Comienza acumulando extensas notas de investigaciones y entrevistas, organizándolas cuidadosamente en grupos temáticos. La estructura se elabora cuidadosamente antes de comenzar a escribir propiamente dicho. Esto evita el bloqueo del escritor y permite un proceso de escritura más fluido y eficiente. El autor también comparte su adaptación del método McPhee, utilizando el modo org-mode de Emacs para una gestión simplificada de notas.

La muerte del manejo de certificados SSL (tal como lo conocemos)

2025-08-26

Gestionar certificados SSL se está convirtiendo en una pesadilla. Lo que alguna vez fue una tarea trimestral ahora es una lucha semanal, impulsada por requisitos de validación cada vez más estrictos y plazos de vida de los certificados drásticamente reducidos, hasta solo 47 días para 2029. Esta creciente carga está empujando a las organizaciones hacia la gestión de certificados integrada en la plataforma o alternativas gratuitas como Let's Encrypt, lo que podría perturbar el mercado de CA tradicional. El autor cuestiona si estos cambios realmente mejoran la seguridad o simplemente añaden una sobrecarga innecesaria para los equipos de TI ya sobrecargados.

Asignación de registros de escaneo lineal: Manejo de huecos de tiempo de vida

2025-08-26
Asignación de registros de escaneo lineal: Manejo de huecos de tiempo de vida

Esta publicación detalla mejoras en el algoritmo de asignación de registros de escaneo lineal para manejar huecos de tiempo de vida. El autor explica cómo surgen los huecos de tiempo de vida al reducir el grafo de flujo de control a una secuencia lineal de instrucciones, creando discontinuidades en los tiempos de vida de los registros virtuales. La solución implica modificar la estructura de datos de intervalo para admitir múltiples rangos disjuntos, permitiendo la identificación y explotación de estos huecos. El algoritmo de escaneo lineal se adapta entonces para considerar estos huecos durante la asignación de registros, mejorando la utilización de los registros. Esto mejora la capacidad del compilador para aprovechar los recursos de los registros, aumentando en última instancia el rendimiento del código.

Alineando características polinomial con la distribución de datos: El problema de atención-alineación en ML

2025-08-26
Alineando características polinomial con la distribución de datos: El problema de atención-alineación en ML

Esta publicación explora la alineación de características polinomiales con la distribución de datos para mejorar el rendimiento del modelo de aprendizaje automático. Las bases ortogonales producen características informativas cuando los datos se distribuyen uniformemente, pero los datos del mundo real no lo están. Se presentan dos enfoques: un truco de mapeo, que transforma los datos en una distribución uniforme antes de aplicar una base ortogonal; y la multiplicación por una función cuidadosamente seleccionada para ajustar la función de peso de la base ortogonal para que se alinee con la distribución de datos. La primera es más práctica, alcanzable con el QuantileTransformer de Scikit-Learn. La segunda es más compleja, requiriendo un conocimiento matemático más profundo y ajustes finos. Los experimentos en el conjunto de datos de viviendas de California muestran que las características casi ortogonales del primer método superan el escalado mínimo-máximo tradicional en la regresión lineal.

Consejos profesionales peligrosos: una herramienta poderosa para ingenieros fuertes

2025-08-26

Este artículo argumenta que los consejos profesionales efectivos, al igual que las herramientas afiladas, pueden ser inmensamente útiles o increíblemente dañinos, dependiendo de su uso. Muchos consejos profesionales son superficiales y carecen de aplicación práctica. El autor anima a los ingenieros a adoptar 'consejos peligrosos', rompiendo las convenciones para lograr una alta eficiencia. Aunque arriesgado, las recompensas superan los riesgos para los ingenieros fuertes. El autor advierte que este consejo no es adecuado para ingenieros más débiles.

Desarrollo

De Ruby a Python: La Evolución de las Preferencias de un Programador

2025-08-26

Un programador experimentado en Ruby comparte su viaje de evolución en las preferencias de lenguajes de programación. Inicialmente, apreciaba la elegancia y concisión de Ruby, pero con el tiempo, las mejoras de Python, especialmente la introducción de sugerencias de tipo y coincidencia de patrones, cambiaron su perspectiva. Descubrió las ventajas de Python en la colaboración en equipo y finalmente lo eligió como su lenguaje principal, destacando la importancia de la practicidad y la dinámica del equipo en la elección del lenguaje de un programador.

Desarrollo

timep: Un perfilador Bash ultrarrápido con flamegraphs integrados

2025-08-26
timep: Un perfilador Bash ultrarrápido con flamegraphs integrados

timep es un perfilador basado en traps de última generación para código bash. Genera perfiles de tiempo de ejecución por comando, registrando jerárquicamente los tiempos de ejecución de comandos y metadatos según la profundidad de anidamiento de funciones y subshells. La versión más reciente (v1.3) es totalmente autónoma, incluyendo un binario comprimido y un generador de flamegraphs. Reestructuraciones importantes han mejorado drásticamente el rendimiento; una prueba con ~67.000 comandos ahora tarda 5 minutos (antes 20!). timep ofrece perfiles detallados y resumidos, además de flamegraphs visualmente perspicaces, simplificando el análisis y la optimización del código Bash.

Desarrollo perfiles Bash
1 2 16 17 18 20 22 23 24 214 215