Artículos
-
Python
Métodos de lista en Python: append, extend, insert, remove y pop
Guía práctica de los métodos de lista más usados en Python: append, extend, insert, remove y pop. Aprende la diferencia clave entre append y extend, cuándo usar remove o pop, y el error clásico de modificar una lista mientras la iteras, con ejemplos reales.
-
Generales
dnsscan: escáner de seguridad DNS en Go que evalúa DNSSEC, SPF, DMARC, CAA y MTA-STS
dnsscan analiza la postura de seguridad DNS de un dominio evaluando DNSSEC, CAA, SPF, DMARC, MTA-STS y TLS-RPT. Devuelve un grade A+ a F con puntuación numérica. Licencia MIT, una sola dependencia externa, usable como librería Go, CLI o servicio HTTP. Motor DNS de HeaderForge publicado de form...
-
PHP
sprintf en PHP: formatear cadenas con precisión
Guía práctica de sprintf() en PHP: especificadores de formato %s %d %.2f, padding con ceros a la izquierda, formateo de precios con IVA, diferencias con printf() y cómo evitar errores con el orden de argumentos. Cuatro ejemplos reales con precios, referencias, logs y URLs.
-
Generales
Odin: el lenguaje de programación que enamora a los que vienen de C
Odin es un lenguaje de propósito general de bajo nivel creado por Bill Hall (GingerBill) como alternativa moderna a C. Sin GC, sin OOP, sin excepciones, con inicialización a cero por defecto, bounds checking activado y soporte nativo para SOA. ThePrimeagen lo probó en junio de 2026 y publicó ...
-
Javascript
var, let y const en JavaScript: diferencias reales y cuándo usar cada uno
Diferencias reales entre var, let y const en JavaScript moderno: scope de función vs. de bloque, hoisting, temporal dead zone y el error más frecuente con const (que no es inmutable). Ejemplos con casos reales y el bug clásico del bucle con var.
-
Generales
Coroutines y Flow en Kotlin: concurrencia asíncrona sin callbacks ni RxJava
Las coroutines de Kotlin permiten escribir código asíncrono de forma secuencial, sin callbacks ni cadenas de operadores. Con Flow añades streams de datos reactivos que se integran de forma natural con el resto del lenguaje.
-
Javascript
strict mode en TypeScript: por qué activarlo y cómo sobrevivir al compilador
Activar "strict": true en tsconfig no es opcional si quieres que TypeScript sirva de algo. Aquí tienes qué flags activa, cuáles duelen más y cómo migrar un proyecto existente sin volverse loco.
-
Generales
Goroutines y channels en Go: concurrencia sin dolores de cabeza
Go hace que la concurrencia sea accesible de verdad: goroutines ligeras, channels para comunicar datos y un runtime que gestiona los threads por ti. Esta guía explica cómo funciona todo y cuándo usar cada herramienta.
-
Generales
async fn en traits en Rust: cómo usarlos correctamente ahora que son estables
Desde Rust 1.75, puedes escribir async fn directamente dentro de un trait sin depender de la crate async-trait. Te explicamos cómo funciona, qué limitaciones tiene con el dispatch dinámico y cuándo sigue valiendo la pena usar async-trait.
-
Javascript
Decoradores JavaScript: qué son, cuándo llegan y cómo empezar a usarlos
Los decoradores de JavaScript llevan años en TypeScript y Angular, pero la propuesta oficial TC39 que ya funciona en Bun y Chrome tiene una semántica completamente distinta. Te explicamos qué cambia y cómo usarlos hoy.









