Tras una semana de parón debido a las fiestas, volvemos con una nueva entrega de enlaces interesantes. En esta ocasión, al tratarse de dos semanas de cosecha, tenemos una recopilación bastante cargadita de contenidos a los que vale la pena echar un vistazo.
Pero como siempre, destacaremos unos cuantos.
José Manuel Alarcón nos habla de que el uso de la IA sin un control adecuado podría introducir deuda técnica en nuestros proyectos, y nos ofrece una guía para evitarla.
Con tanta novedad en el mundo de las herramientas IA para desarrolladores, a veces no es fácil distinguir conceptos que a priori parecen similares, pero en realidad son muy diferentes. Para ayudarnos un poco con esto, Juan Luis Guerrero nos explica las diferencias entre agentes, skills y comandos en el contexto de herramientas como Claude Code, Codex, Copilot CLI y Gemini CLI.
Fernando Escolar nos recuerda la importancia de mejorar continuamente nuestro código con pequeños cambios, que, aunque no sean espectaculares, pueden marcar una gran diferencia en la calidad y mantenibilidad de nuestro software.
Gerson Azabache nos habla de "workers" o tareas en segundo plano para lograr que nuestras aplicaciones respondan de forma rápida y eficiente, consiguiendo una experiencia de usuario más fluida, y luego nos enseña cómo implementarlos en .NET con IHostedService.
Y para terminar, todo un clásico: ¿quieres mostrar una dirección de correo electrónico en tu sitio web sin que los spammers se ceben con ella? Spencer Mortensen nos cuenta las técnicas de ofuscación de correo electrónico que siguen funcionando en 2026.
El resto de contenidos interesantes, a continuación.
Por si te lo perdiste...
- Cómo detectar y reaccionar a cambios en settings de ASP.NET Core, en tiempo real
José M. Aguilar - Ámbito local implícito en sentencias using de C#
José M. Aguilar
.NET
- Tu App Necesita Workers Silenciosos: El Patrón que Usa Amazon para No Hacerte Esperar & * Background Jobs en .NET con IHostedService: Procesa Tareas en Segundo Plano
Gerson Azabache Martínez - Using LLMs and MCP in .NET
Ricardo Peres - Configuring contextual options with Microsoft.Extensions.Options.Contextual
Andrew Lock - How .NET handles exceptions internally (and why they're expensive)
Ali Hamza Ansari - URL Pattern Matching in .NET
Gérald Barré - How to build .NET obfuscator
Andrii Kurdiumov - Explore union types in C# 15
Bill Wagner - Convert Anything to Markdown in .NET — Meet ElBruno.MarkItDotNet
Bruno Capuano - Source code generated string enums with exhaustion support
Steven Giesel - What’s New in .NET 11 Preview 1 & 2: Runtime Async, Zstandard, Blazor TempData, and Vector Search
Arulraj Aboorvasamy - Libraries I Stopped Using in .NET (And I Don’t Regret It)
Miguel Teherán - ASP.NET Core: Why I Couldn’t Upgrade FluentValidation Past 11.4 in My Calzolari.Grpc.AspNetCore.Validation Package (and How I Finally Fixed It)
Anthony Giretti - Testing C# Source Generators: A Practical Guide
Nick Cosentino
ASP.NET Core / ASP.NET / Blazor
- How to Load and Save Images in Blazor Image Editor with SQL Server
Satheeskumar S. - Instantiating Objects and Accessing Properties in Blazor
Héctor Pérez - ASP.NET Core 2.3 end of support announcement
Daniel Roth - Blazor Basics: Building Responsive Blazor Apps with CSS Media Queries
Claudio Bernasconi - Using Blazor Sections For Complex Situations
Mitchel Sellers - Mastering ASP.NET Core Rate Limiting: From Middleware to Distributed Redis Strategies
Sudhir Mangla
Azure / Cloud
- Continued Investment in Azure App Service
Byron Tardif - Why Your Azure Portal Clicks Will Fail the Next Audit
Martin Stühmer - A simpler way to deploy your code to Azure App Service for Linux
Tulika Chaudharie - Agentic IIS Migration to Managed Instance on Azure App Service
Gaurav Seth
Conceptos / Patrones / Buenas prácticas
- Tidying up your code
Fernando Escolar - DevOps para principiantes: ¿Qué significan Día 0, 1 y 2 y por qué el Día 2 puede durar cinco años?
José Manuel Alarcón - Code Organization and Maintainability: Factory Method Pattern Best Practices in C# & * Observer Pattern Best Practices in C#
Nick Cosentino - "Just Delete the User": Famous Last Words Before the GDPR Audit
Martin Stühmer - Floating point from scratch: Hard Mode
Julia Desmazes
Data
- Un informático en el lado del mal: Un "Hardening Tip" de BBDD - de mi Lost & Found
Chema Alonso - Why your Entity Framework Core app needs query filters
David Grace - Mapping database views in EF Core without breaking migrations
Ali Hamza Ansari - EF Core transactions: Stop your data getting out of sync
David Grace - How to Delete and Update Millions of Rows in EF Core Without Loading a Single Entity
Chris Woodruff
Machine learning / IA
- ¿La IA genera deuda técnica? Causas, riesgos y cómo evitarlos
José Manuel Alarcón - La trampa del 70/30: El espejismo del rendimiento cognitivo en la era de la IA
Mario Cortés - Personas y agentes no colaboran. Compiten por el mismo cuello de botella
Alberto Díaz Martín - FrontierMath: Inteligencia Artificial resolviendo problemas de matemáticas aún no resueltos
Chema Alonso - AI Agents vs Skills (& Commands) in Claude Code, Codex, Copilot CLI & Gemini CLI: Stop Mixing Them Up
Juan Luis Guerrero - RAG vs Fine-Tuning: How to Choose the Right GPT Approach
Manikanda Akash Munisamy - Programming languages for AI
Mark Seemann - Context Engineering: Improving AI Code Output in Your IDE
Kaviya Priya Rajakumar - Migrating from Semantic Kernel to Microsoft Agent Framework in C#
Nick Cosentino - Claude Code Windows Migration Guide: Move Your Setup
Dirk Strauss - Best LLM APIs in 2026: Comparing OpenAI, Claude, Gemini, Azure, Bedrock, Mistral & DeepSeek
Arunachalam Kandasamy Raja - Introducing SQL MCP Server
Jerry Nixon
Web / HTML / CSS / Javascript
- Form Automation Tips for Happier User and Clients
Iqra Naaem - The Drill-Down Menu with Details and @scope
Preethi Sam - What Is CSS Containment and How Can I Use It?
Harry Roberts - Email obfuscation: What works in 2026?
Spencer Mortensen - jQuery 4 - Reinventing Events
Ian Elliot - Making Complex CSS Shapes Using shape()
Temani Afif - What To Know in JavaScript (2026 Edition)
Chris Coyier - New CSS Multi-Column Layout Features in Chrome
Abhishek Pratap Singh - Let’s Get Puzzled!
Amit Sheen - You can't cancel a JavaScript promise (except sometimes you can)
Aaron Harper - How to Implement Cut, Copy, and Paste Support in React Spreadsheet
Parthasarathy Ranjan - Alternatives to the !important Keyword
Saleh Mubashar - Name-Only Containers: The Scoping We Needed
Chris Coyier - The 6 Big Ideas of Typescript • sitr.us
Jesse Hallett - Selecting a Date Range in CSS
Preethi - SVG Filters Guide: Getting Started with the Basics
Ana Tudor - How I Lost MadCSS
Chris Coyier
Visual Studio / Complementos / Herramientas
- Cómo funciona launch.json en VS Code: configuraciones, compounds y arranques secuenciales
Gisela Torres - OpenCode | El agente de codificación IA de código abierto
OpenCode Team - JetBrains Air: The Future of Multi-Agent Coding, or Just More AI Noise?
Saeed Zarinfam - Visual Studio March Update - Build Your Own Custom Agents
Mark Downie - Bookmark Studio: evolving bookmarks in Visual Studio
Mads Kristensen - Your Migration's Source of Truth: The Modernization Assessment
Jeffrey Fritz - Running AI agents safely in a microVM using docker sandbox
Andrew Lock - How to Mock APIs Locally During Development
Quinton Wall
.NET MAUI
- Tired of Multiple Viewers? Build a Universal Document Viewer in .NET MAUI
Deepak G. - Why .NET MAUI Popups Lag and How to Fix Performance Issues
Kompelli Sravan Kumar Kompelli Lakshman
Otros
- Redefining the Software Engineering Profession for AI
Mark Russinovich & Scott Hanselman
Publicado en Variable not found.


Aún no hay comentarios, ¡sé el primero!
Enviar un nuevo comentario