Software development

Code of the day

One concrete feature per post, across twenty languages: the problem, the full source to copy, why it is written that way, how to try it and what to watch out for. Plus a prompt to adapt it to your case with AI.

Refreshed every day
20posts published
20languages
5new per day
Most recent
Full archive
C++ in Spanish

Una caché que olvida lo que hace más tiempo no se usa

Caché LRU con una lista y un mapa: buscar, guardar y desalojar en tiempo constante.

Advanced 34 lines
C in Spanish

Buscar una palabra en un archivo sin desbordar el búfer

Lectura línea por línea con fgets, que nunca escribe fuera del espacio reservado, y códigos de salida que otro programa puede usar.

Intermediate 22 lines
Ruby in Spanish

Resumir un log de accesos: códigos de estado y pedidos lentos

Quince líneas que leen un log sin cargarlo entero en memoria y dicen cuántos errores hubo y cuáles fueron los pedidos más lentos.

Basic 14 lines
Swift in Spanish

Convertir el JSON de una API en objetos con fechas reales

Codable con claves renombradas y fechas ISO 8601: el JSON entra como texto y sale como estructuras tipadas.

Intermediate 27 lines
Kotlin in Spanish

Validar un formulario y devolver todos los errores juntos

Una función que revisa todos los campos y devuelve la lista completa de problemas, no solo el primero.

Intermediate 18 lines
Bash in Spanish

Respaldo diario que se verifica y borra los viejos

Comprime una carpeta con fecha, comprueba que el archivo se puede leer y conserva solo los últimos siete días.

Basic 15 lines
SQL in Spanish

Encontrar clientes duplicados y quedarse con el más reciente

Una función de ventana numera los registros repetidos; los que quedan con puesto mayor a uno son los que sobran.

Intermediate 16 lines
Rust in Spanish

Leer un archivo de configuración y fallar con un mensaje útil

Un parser de clave=valor que usa Result y el operador ? para decir en qué línea está el error.

Intermediate 24 lines
Go in Spanish

Procesar veinte tareas con cuatro trabajadores

Un pool de goroutines con canales: concurrencia con tope, sin lanzar una rutina por tarea.

Intermediate 41 lines
C# in Spanish

Ventas por mes con LINQ, sin un solo bucle

Agrupar, ordenar y totalizar una lista de ventas en una sola consulta legible.

Basic 23 lines
Java in Spanish

Reintentar una llamada que falla, esperando cada vez más

Reintentos con espera exponencial y un poco de azar, para no golpear a un servicio que ya está caído.

Intermediate 25 lines
PHP in Spanish

Proteger un formulario público sin sesión ni cookie

Un sello firmado con HMAC que vence solo, no se puede fabricar y de paso delata a los robots por lo rápido que responden.

Intermediate 20 lines
TypeScript in Spanish

Errores sin excepciones: el tipo Result

Un tipo de dos variantes que obliga al compilador a recordarte que la operación puede fallar.

Intermediate 15 lines
JavaScript in Spanish

Búsqueda en vivo que no dispara una consulta por cada tecla

Un debounce de seis líneas: espera a que la persona deje de escribir antes de consultar al servidor.

Basic 15 lines
Python in Spanish

Limpiar un CSV de clientes y decir qué filas están mal

Lee un CSV, normaliza nombre y correo, separa las filas buenas de las malas y dice en qué línea está cada problema.

Basic 23 lines
Before taking it to production. Each example is meant to be understood in five minutes, not to cover every case. Always read the "Watch out" section: that is where what the example does not solve lives.
Darinel Ortega Online · I reply during the day
Today
Hello. I'm not selling anything here: this is for exchanging knowledge about technology.
Write whatever you like — you can send text, images or documents. Messages reach my console and I reply from there.
You are writing outside working hours. I will read you as soon as the day starts.

An open conversation to share knowledge. Messages reach my console and I reply from there.

Let us book a conversation

Pick the day and time that work for you. Thirty minutes, no sales pitch.

Video call

For a video call, just ask for one here and I'll send you the session link.