Elffuss Elffuss CodeProyecto del día
Proyecto del día · 13 de octubre de 2026

Punteros en C, en C++ y en C#: tres artículos y una sola URL

Marta escribió un generador de slugs en diez líneas. Funcionaba con tildes y eñes, hasta que tres títulos distintos acabaron en la misma dirección y el último se comió a los otros dos.

El IDE con IA local en el navegadorlocal · en el navegador

Marta mantiene una web de apuntes de programación: un generador estático casero que convierte cada título en un slug y escribe la página con ese nombre. Una tarde quiso cambiar el slug que generaba a mano por una función y la escribió en Elffuss Code, en una pestaña del navegador, con el modelo corriendo en local.

La primera versión era la de siempre:

Las tildes, bien. La eñe, bien. Los signos de interrogación de apertura, bien. La subió y regeneró el sitio.

El síntoma

Al día siguiente un lector le escribió: «El artículo de punteros en C++ me lleva al de C#». Tenía tres entradas de una serie: Punteros en C, Punteros en C++ y Punteros en C#. Con la función nueva, las tres daban punteros-en-c. El generador escribía las tres en el mismo sitio, y como iba en orden alfabético, ganaba la última. Ni un error ni un aviso: dos artículos desaparecidos y el sitemap con tres entradas iguales.

Cómo lo arregló con la IA al lado

Marta le pegó al asistente la función y la lista completa de títulos, incluidos los borradores que todavía no había publicado, y le pidió dos cosas: casos que rompieran la función y una forma de que no volviera a pasar en silencio.

Los casos que le devolvió los podía comprobar al momento en el propio editor: C++ y C#, claro, pero también .NET frente a NET, I/O frente a IO y un título que era solo un emoji y producía un slug vacío. Lo de la lista fue lo más útil: al ver los títulos reales, señaló otra colisión que ella ni sabía que tenía en borradores.

El arreglo quedó en dos capas:

Las URL viejas que ya se habían compartido las mantuvo con una redirección a mano, que en este caso eran solo dos.

Normalizar texto es perder información a propósito. La pregunta no es si pierdes algo, sino si te enteras cuando lo que pierdes era justo lo que distinguía dos cosas.

Por qué en local

Lo que destapó la segunda colisión fue pegar la lista entera, borradores incluidos. Algunos de esos títulos son temas que aún no ha anunciado y uno es una charla que tiene por cerrar con un cliente. Ese tipo de lista no la pega uno en un chat de un servicio externo sin pensárselo dos veces, y si te lo piensas, acabas pegando media lista y te dejas justo el caso que importaba. Aquí todo se quedó en su navegador, así que la pegó entera sin más.

Si tienes una función de diez líneas que «ya funciona», abre Elffuss Code y ponla a prueba con tus datos reales: corre en tu navegador, sobre tu GPU, y ni tu código ni tus prompts salen de tu máquina.

Abrir Code →
nada de esto se sube a ningún sitio