WoofWare.PawPrint: un runtime determinista para .NET inspirado en CHESS

WoofWare.PawPrint es un runtime determinista para .NET inspirado en CHESS, el sistema de Microsoft Research para la verificación sistemática de programas concurrentes. El proyecto, publicado en NuGet en una versión inicial, interpreta el IL (lenguaje intermedio) de .NET 10 y reemplaza únicamente los

Por qué los atributos personalizados de .NET me dan pesadillas

Los atributos personalizados son una de las piezas más extendidas de los metadatos de .NET: permiten adjuntar información adicional a clases, métodos, campos y parámetros para que el compilador, los analizadores o los generadores de código actúen en consecuencia. Ejemplos clásicos son [Obsolete], qu

C# 16 redefine la seguridad de memoria con nuevas reglas en .NET 12.

Microsoft ha anunciado mejoras significativas en la seguridad de la memoria en C# a través de una nueva característica del lenguaje C# 16. El artículo, publicado en el blog oficial de .NET por Richard Lander, detalla cómo se rediseña la palabra clave unsafe. En lugar de solo marcar punteros, ahora e

K# lleva programación vectorial K a .NET como versión beta

Eusebio Rufian-Zilbermann ha publicado ksharp, una implementación completa del lenguaje de programación K versión 3 basada en la plataforma Microsoft .NET. El proyecto, publicado bajo licencia MIT con Commons Clause, representa la culminación de seis meses de desarrollo intensivo y se lanza como ver

Typhon: Unifica motores de juego y bases de datos

Un nuevo motor de base de datos llamado Typhon ha sido desarrollado para abordar las limitaciones que surgen al integrar motores de juego y bases de datos tradicionales. Loïc Baumann, el creador, identificó que los motores de juego (que utilizan la arquitectura Entity-Component-System - ECS) y las b

C# 15: Novedosos 'union types' facilitan el desarrollo

Microsoft ha introducido los 'union types' en C# 15, disponibles a partir de .NET 11 Preview 2. Esta nueva característica, muy solicitada por la comunidad, permite declarar un valor como uno de un conjunto fijo de tipos, garantizando el 'pattern matching' exhaustivo y evitando problemas comunes al d

Rotación de claves JWT: nueva biblioteca .NET facilita la tarea

Un desarrollador ha publicado una nueva biblioteca .NET que simplifica la rotación de claves JWT (JSON Web Tokens) utilizando Redis. El objetivo es mejorar la seguridad al permitir la sustitución segura de claves de firma en un horario regular, manteniendo la validez de los tokens existentes hasta s

MonoGame: Vulkan y DirectX 12 llegan en preview

El framework MonoGame, una reimplementación de código abierto del antiguo XNA Framework de Microsoft, ha anunciado la adición de soporte preliminar para Vulkan y DirectX 12. Esta actualización, disponible en la versión 3.8.5, amplía las opciones gráficas para los desarrolladores de juegos que utiliz

Dapper y SQL Server: consultas lentas por conversión

Una reciente investigación sobre un problema de rendimiento en una aplicación .NET reveló una causa inesperada: consultas Dapper que dañaban silenciosamente el rendimiento de los índices de SQL Server. El problema surge cuando una columna en la base de datos es de tipo `varchar` pero Dapper, al usar

Moongate v2: Nuevo emulador de Ultima Online

Un equipo de desarrolladores ha lanzado Moongate v2, un nuevo emulador de código abierto para el popular juego online Ultima Online. Construido con .NET y AOT (Ahead-of-Time compilation), el proyecto busca ofrecer una base sólida y modular para un servidor de UO, inspirándose en proyectos anteriores

Herramienta C# revive creación de CDs para Amiga

ISOCD-Win es una herramienta esencial para aquellos que desarrollan software para las consolas Amiga CD32 y CDTV. Para entender su importancia, primero debemos comprender el contexto: estas consolas, lanzadas en la década de 1990, utilizaban discos ópticos (CD-ROMs) para distribuir juegos y aplicaci