Copybara: la herramienta de Google para sincronizar código entre repositorios

Copybara es una herramienta desarrollada y utilizada internamente en Google cuyo propósito es transformar y mover código fuente entre distintos repositorios. Responde a una necesidad habitual en proyectos de software: mantener sincronizados repositorios con políticas de visibilidad diferentes, como

Por qué los patrones de diseño suelen sobrar en el software moderno

Los patrones de diseño, popularizados por el libro de 1994 de la «Banda de los Cuatro» (Gamma, Helm, Johnson y Vlissides), se concibieron como plantillas reutilizables y agnósticas al lenguaje para resolver problemas recurrentes de diseño. Con el tiempo, señala el autor, se han convertido en dogma:

Project Valhalla llega al JDK 28: una década de trabajo en clases valor

Project Valhalla, la iniciativa de OpenJDK que arrancó en 2014 para acercar el modelo de programación de Java al rendimiento de los tipos primitivos, entrará por fin en el repositorio principal de OpenJDK como característica de previsualización en JDK 28. Lo confirmó el 15 de junio la ingeniera de O

Mis impresiones tras un mes programando en Clojure

Tras un mes utilizando Clojure para reconstruir su sitio web personal, el autor comparte sus impresiones sobre el lenguaje y por qué piensa seguir con él. El autor se acercó a Clojure esperando la sintaxis engorrosa que suele asociarse a los dialectos de Lisp, pero en la práctica lo encontró más er

El diseño de structs y el conjunto de trabajo marcan el rendimiento en CPU

En el desarrollo de software, el rendimiento suele evaluarse desde un punto de vista algorítmico (análisis asintótico), pero el hardware impone restricciones adicionales. Este artículo explica cómo el tamaño de la línea de caché (64 bytes) y la forma en que se organizan las estructuras de datos en m

rustc_codegen_jvm: backend de rustc para compilar Rust a bytecode de la JVM

rustc_codegen_jvm es un backend alternativo para el compilador de Rust (rustc) que traduce código fuente escrito en Rust a bytecode de la Java Virtual Machine (JVM) y produce archivos .jar ejecutables compatibles con JVM 8 o superior. El proyecto, alojado en GitHub bajo la cuenta IntegralPilot, conf

Intención del mensaje oculto para agentes en jqwik

Una controversia en torno a jqwik, un framework de pruebas basado en propiedades para Java, ha puesto en el centro del debate un mensaje oculto en el código que parece dirigido a agentes de inteligencia artificial y no a desarrolladores humanos. El episodio, que combina ingeniería de software, ética

Creador de herramienta de pruebas inyecta código destructivo a agentes de IA

Un desarrollador de código abierto ha introducido una inyección de prompt destructiva en su aplicación de prueba Java para sabotear a los agentes de codificación por IA. Johannes Link, creador de jqwik, incluyó instrucciones ocultas que ordenan borrar todo el código y las pruebas si son ejecutadas p

Endive: nuevo runtime de wasm para java sin dependencias nativas

El proyecto Endive, desarrollado por Bytecode Alliance, es un nuevo tiempo de ejecución nativo de Java para WebAssembly (Wasm). Lanzado como un fork de Chicory, permite ejecutar módulos Wasm directamente en la Máquina Virtual de Java (JVM) sin dependencias nativas ni llamadas JNI. La relevancia de e

Java destaca en comparativa de lenguajes para plugins de IA

Un desarrollador ha desarrollado un plugin para la plataforma de inteligencia artificial Claude destinado a procesar documentos DOCX utilizando tres lenguajes de programación distintos: Ruby, Java y TypeScript. Esta comparación se centra en la capacidad de cada tecnología para manejar archivos zip y

Filemat: alternativa self-hosted para gestionar archivos

El desarrollador Bingud ha lanzado Filemat, un nuevo gestor de archivos web disponible en GitHub. Esta herramienta permite gestionar archivos locales de forma remota mediante una interfaz web, ofreciendo una alternativa self-hosted a soluciones como Nextcloud o FileBrowser. Filemat incluye gestión d

Mamba-Studio lanza TypedMemory para memoria off-heap type-safe en Java

Mamba-Studio ha lanzado TypedMemory, una nueva biblioteca Java experimental diseñada para simplificar la gestión de memoria off-heap mediante vistas fuertemente tipadas. La librería, construida sobre la API Java Foreign Function & Memory (FFM), permite mapear tipos record de Java directamente a memo

Java: Visualiza tu aprendizaje con este gráfico interactivo

El "100DaysOfJava Knowledge Graph" es una herramienta interactiva que visualiza el contenido de una serie de publicaciones de blog centradas en el aprendizaje y la exploración de Java. Imagina que has seguido un curso intensivo de Java, con cientos de conceptos interconectados. Intentar recordar y c

Gestión del conocimiento: ¿por qué fracasan los sistemas?

Este artículo de Felix Barbalet explora un problema persistente en la gestión del conocimiento empresarial: el fracaso recurrente de los sistemas de gestión del conocimiento, a pesar de la inversión masiva. El autor argumenta que la raíz del problema no reside en la tecnología en sí (que a menudo es

Simula Klondike: Analiza estrategias en solitario

El proyecto Klondike3-Simulator, desarrollado por Dacracot y alojado en GitHub, es una herramienta para simular partidas del juego Klondike (Solitario). Su objetivo principal es analizar la probabilidad de éxito en diferentes estrategias de juego, algo crucial para optimizar la jugabilidad y entende

OpenJDK 11: nuevas herramientas para terminar JVM

Una nueva versión de OpenJDK 11 introduce opciones de terminación de la Máquina Virtual Java (JVM) para mejorar la depuración y el manejo de errores en entornos de producción. Estas opciones, disponibles a través de flags de runtime, permiten abortar la JVM en situaciones específicas como fallos de

SOM: Nuevo Lenguaje de Programación con Múltiples Versiones

Un nuevo lenguaje de programación llamado 'SOM' ha surgido, destacando por su enfoque en la claridad de implementación sobre el rendimiento absoluto. Desarrollado por SOM-st, SOM cuenta con nueve implementaciones distintas, que varían en tamaño (de 2.5k a 8k líneas de código) y técnicas de implement

Panamá: Puente Java-Nativo Facilita la Interoperabilidad

El proyecto Panamá, impulsado por el Hotspot Group dentro de OpenJDK, busca mejorar la interoperabilidad entre la Máquina Virtual de Java (JVM) y código nativo, especialmente APIs comúnmente utilizadas por programadores de C. El objetivo es permitir una comunicación más fluida y eficiente entre el c

Código Intencionalmente Complicado: ¿Una Estrategia?

Este artículo, escrito con un tono irónico, explora cómo escribir código deliberadamente difícil de mantener, con el objetivo de generar más trabajo para los programadores que lo heredarán. El autor, Roedy Green, argumenta que siguiendo estas prácticas, uno se asegura una carrera prolongada en el ma

Clojure: lenguaje funcional gana terreno en empresas

Una reciente implementación en Michelin ha impulsado la adopción de Clojure, un lenguaje de programación funcional basado en Lisp, para el desarrollo de aplicaciones empresariales. Inicialmente, el equipo se mostró escéptico al desviarse de la pila de desarrollo estándar (Java), pero rápidamente apr

Fin de una era: TechEmpower cesa benchmarks de frameworks

TechEmpower ha anunciado el cese de actividad del proyecto Framework Benchmarks, una iniciativa que durante más de una década ha servido como referencia para la industria del desarrollo web. El proyecto, lanzado en 2013, ha cubierto cientos de frameworks en diversos lenguajes de programación como Go

Java 26: Estabilidad y futuro en la nueva versión

Java 26 ha sido lanzada, marcando un hito importante en el desarrollo de la plataforma Java. Esta nueva versión, que llega seis meses después de Java 25, introduce una serie de mejoras enfocadas en sentar las bases para futuras innovaciones, posiblemente relacionadas con el Proyecto Valhalla. Aunque

IA traduce software: avance con limitaciones

A principios de 2026, se ha observado un auge en las traducciones autónomas asistidas por IA, impulsado por publicaciones de Cursor y Anthropic que demuestran la traducción de software complejo como navegadores web, compiladores C y emuladores de Windows. Si bien estas demostraciones han generado en

Java: Plugin 'Binding Expressions' Refuerza Seguridad

Un nuevo plugin para el compilador de Java, denominado 'Binding Expressions', busca introducir seguridad de tipos en tiempo de compilación al permitir que expresiones adyacentes se unan para formar nuevas expresiones basadas en sus tipos estáticos. Desarrollado por Manifold Systems y disponible en G

SQG: Generación de código SQL ahora con soporte Java Streams

SQG, un generador de código SQL de tipo seguro, ha lanzado su versión 0.10.0, introduciendo importantes mejoras para desarrolladores Java. La actualización permite la generación de código Java que incluye métodos para retornar resultados en formato `Stream<T>` además de `List<T>`, facilitando la eva

Skir: Nuevo lenguaje agiliza desarrollo de APIs

Skir, una nueva herramienta de código abierto, ha sido lanzada para simplificar el desarrollo de APIs. Se trata de un lenguaje declarativo que permite a los desarrolladores definir tipos de datos, constantes y APIs en un único archivo .skir. A partir de este archivo, Skir genera código idiomático y

Funciones: abstracciones para simplificar la programación

Este artículo explora la naturaleza de las funciones en programación y cómo los lenguajes modernos manejan la ejecución del código, particularmente en lo que respecta al despacho dinámico y el manejo de errores. Comienza desafiando la noción de que las funciones son entidades reales, argumentando qu

Hardwood: Parser Parquet más rápido y ligero

Un nuevo parser de código abierto llamado Hardwood ha sido lanzado para el formato de archivo Apache Parquet. Desarrollado por Gunnar Morling, Hardwood busca ofrecer una alternativa más eficiente y con menos dependencias a la biblioteca `parquet-java` existente, que es ampliamente utilizada pero inc

Clojure y Java: Solucionan Retraso de Inicio en OpenLDK

Este artículo aborda un problema de rendimiento significativo encontrado al integrar Clojure (un lenguaje funcional) con OpenLDK, una implementación de Common Lisp que se ejecuta sobre la Máquina Virtual de Java (JVM). Inicialmente, el tiempo de inicio de Clojure en OpenLDK era excesivamente largo (

Java optimiza recolección de basura con nueva API

Un nuevo API de Java, incluido en OpenJDK 26, busca optimizar la eficiencia de la recolección de basura (GC) al permitir a los ingenieros cuantificar el costo de CPU asociado. Históricamente, la optimización de GC se centraba en minimizar los tiempos de pausa, pero con los colectores modernos, la re

Minecraft Java: mejora de gráficos con Vulkan

Mojang, la empresa desarrolladora de Minecraft, anunció el 18 de febrero la transición de su versión Java del motor de renderizado de OpenGL a Vulkan como parte de la próxima actualización 'Vibrant Visuals'. Este cambio significativo busca mejorar el rendimiento y aprovechar las características más

Ivanti: Ciberataque Implanta Puertas Traseras Ocultas

Un sofisticado ciberataque dirigido a usuarios de Ivanti Endpoint Manager Mobile (EPMM) ha sido detectado a partir del 4 de febrero de 2026. La vulnerabilidad, relacionada con CVE-2026-1281 y CVE-2026-1340, permite el acceso no autenticado a los endpoints de la aplicación. A diferencia de explotacio

LLMs vs. OOP: Encapsulación, el Nuevo Desafío

El artículo explora los desafíos que enfrentan los Modelos de Lenguaje Grandes (LLMs) en la implementación de la encapsulación, un principio fundamental de la programación orientada a objetos (OOP). Inspirándose en la visión de Alan Kay, considerado el 'padre' de OOP, el texto critica la práctica co

GitHub - bethington/ghidra-mcp: Production-grade Ghidra MCP Server — 132 endpoints, cross-binary documentation transfer, batch analysis, headless mode, and Docker deployment for AI-powered reverse engineering

Este proyecto de GitHub, llamado 'ghidra-mcp', ofrece un servidor de producción listo para usar que implementa el Protocolo de Contexto de Modelo (MCP) para Ghidra. Permite integrar las capacidades de ingeniería inversa de Ghidra con herramientas de IA modernas y marcos de automatización. El servi