DEV Community

Cover image for La caja de cables de 10 años que salvó a un developer
lu1tr0n
lu1tr0n

Posted on Originally published at elsolitario.org

La caja de cables de 10 años que salvó a un developer

Un desarrollador imprimió una publicación de Bluesky, la recortó con una guillotina de papel y la pegó con cinta adhesiva sobre su caja de cables. La frase que salvó de la basura años de cables sueltos decía, en esencia: nunca dejes que alguien te quite tu caja de cables.

La historia la cuenta Jim Nielsen en su blog personal, y resume algo que casi todo developer con más de cinco años en el oficio conoce de memoria: esa caja llena de cables "inútiles" en el clóset termina salvando un proyecto, tarde o temprano.

TL;DR

  • Tyler Gaw contó en Bluesky que halló dos cables que necesitaba en el fondo de su caja tras más de diez años guardados.
  • Jim Nielsen relató el episodio en blog.jim-nielsen.com bajo el título Don't Let Anyone Take Away Your Big Box of Cables.
  • Nielsen imprimió el post, lo recortó y lo pegó con cinta sobre su caja, apodada FAMILY TECHNO BOX por su esposa.
  • La anécdota resume una práctica extendida entre developers: guardar cables viejos como respaldo de hardware.
  • USB-C y HDMI dominan hoy, pero VGA, Molex y barriles de alimentación propietarios siguen en equipos de más de una década.
  • Guardar cables reduce la dependencia de comprar reemplazos y retrasa que ese hardware termine como e-waste.
  • Un script simple en Python, sin dependencias externas, permite catalogar una caja de cables en minutos.

Qué pasó

Todo arrancó con un post en Bluesky de Tyler Gaw, un diseñador y desarrollador que contó algo muy simple: revolvió el fondo de su caja de cables buscando dos piezas puntuales que necesitaba para un proyecto. Las encontró. Habían estado ahí, sin usarse, durante más de diez años. Su conclusión, resumida en una sola frase, se volvió viral entre developers: "nunca dejes que te quiten tu caja de cables".

Jim Nielsen leyó ese post y lo contó en su blog personal, blog.jim-nielsen.com, bajo el título "Don't Let Anyone Take Away Your Big Box of Cables". Pero Nielsen no se quedó en compartir el link: hizo una captura de pantalla del post, lo imprimió en blanco y negro con una impresora Brother, lo recortó con tijeras y lo pegó con cinta adhesiva transparente sobre el frente de su propia caja de cables, la misma que su esposa etiquetó hace años como "FAMILY TECHNO BOX".

Según su propio relato, la idea es que cada vez que abra esa caja para meter "un cable más" (YAC, yet another cable, en su broma interna), el papel pegado le recuerde por qué la conserva, y de paso funcione como advertencia para cualquier familiar tentado a tirarla a la basura. Nielsen incluso especula con que, algún día, sus hijos encontrarán esa caja en el ático entre sus pertenencias, con el mensaje todavía pegado encima.

Cables de más de una década conviven en la misma caja.

Contexto e historia

Guardar cables "por si acaso" no es una manía moderna: es una costumbre tan vieja como la electrónica doméstica, y entre developers y makers tiene un nombre casi folclórico: el cajón de la muerte (junk drawer), la caja de los cables, el rincón de los adaptadores. Antes de que existiera la nube, antes de git y antes de los backups automáticos, la única forma de tener redundancia de hardware era literalmente guardar el hardware.

Esa lógica conecta con un problema mucho más grande: la basura electrónica. Cada cable, cargador o adaptador que se descarta termina, en el mejor de los casos, en un punto de reciclaje, y en el peor, en un vertedero. La basura electrónica es hoy una de las categorías de residuos que crece más rápido en el mundo, impulsada justamente por la costumbre de comprar un cable nuevo en lugar de revisar si ya tenés uno funcional guardado.

💭 Clave: cada vez que resolvés un problema con un cable que ya tenías en vez de comprar uno nuevo, no solo ahorrás dinero: le restás una unidad más a la montaña global de e-waste.

El movimiento por el derecho a reparación viene señalando esto desde hace años: la reparabilidad y la disponibilidad de repuestos (incluidos cables y adaptadores) son la diferencia entre un dispositivo que dura una década y uno que termina en la basura al primer problema. Guardar la caja de cables es, en el fondo, una práctica alineada con esa misma filosofía, aunque nadie la haya bautizado formalmente como tal.

Detalles técnicos y rendimiento

No todos los cables envejecen igual, y no todos merecen el mismo espacio en la caja. La tabla siguiente resume los tipos más comunes que suelen acumularse en cualquier caja de cables de un developer y si conviene conservarlos:

Tipo de cableDispositivos que aún lo usan¿Vale la pena guardarlo?Por qué

USB-A a Micro-USBPeriféricos viejos, algunos routers, placas de desarrolloSíSigue siendo el estándar de muchas placas Arduino y hardware embebido
USB-CLaptops, celulares, tablets modernosSíEs el estándar actual; siempre falta uno más largo o con carga rápida
HDMIMonitores, TVs, consolasSíNo hay reemplazo universal a la vista; los monitores viejos lo siguen usando
VGA / DVIProyectores y monitores industriales viejosDependeCada vez más raro, pero salva el día en oficinas con hardware legado
Barril de alimentación (DC jack)Routers, switches, hardware de red viejoSíCada fabricante usa un diámetro distinto; imposible de adivinar cuál necesitás
Molex / SATA de alimentaciónDiscos duros internos, gabinetes viejosDependeÚtil si todavía armás o reparás PCs de escritorio
Ethernet Cat5e / Cat6Redes domésticas, servidores caseros, home labsSíBarato de reemplazar, pero siempre falta uno de la longitud exacta

El patrón se repite: los conectores estandarizados (USB-C, HDMI, Ethernet) valen la pena porque hoy los usa casi cualquier dispositivo nuevo. Los conectores propietarios o discontinuados (un barril de alimentación de una marca que ya no existe, un adaptador VGA raro) valen la pena por la razón contraria: son imposibles de reconseguir el día que los necesitás.

Para no tener que revolver la caja cable por cable cada vez, un inventario simple resuelve el problema. No hace falta una app compleja: un script de pocas líneas alcanza. Este es un ejemplo mínimo en Python, sin dependencias externas, que guarda el inventario en un archivo JSON local:

import json
from pathlib import Path

INVENTARIO = Path.home() / ".cablebox.json"

def cargar():
    if INVENTARIO.exists():
        return json.loads(INVENTARIO.read_text())
    return []

def guardar(cables):
    INVENTARIO.write_text(json.dumps(cables, indent=2, ensure_ascii=False))

cables = cargar()
cables.append({"tipo": "USB-C a HDMI", "nota": "para el monitor de la oficina"})
guardar(cables)
print(f"Cables catalogados: {len(cables)}")
Enter fullscreen mode Exit fullscreen mode

Con eso ya tenés persistencia básica: cada cable que agregás queda guardado en ~/.cablebox.json y no se pierde entre reinicios. El siguiente paso es convertirlo en una CLI real con subcomandos para agregar y buscar, usando solo la librería estándar argparse:

import argparse
import json
from pathlib import Path

INVENTARIO = Path.home() / ".cablebox.json"

def cargar():
    return json.loads(INVENTARIO.read_text()) if INVENTARIO.exists() else []

def guardar(cables):
    INVENTARIO.write_text(json.dumps(cables, indent=2, ensure_ascii=False))

parser = argparse.ArgumentParser(prog="cablebox")
sub = parser.add_subparsers(dest="comando", required=True)

add_p = sub.add_parser("add")
add_p.add_argument("--tipo", required=True)
add_p.add_argument("--nota", default="")

find_p = sub.add_parser("find")
find_p.add_argument("--query", required=True)

args = parser.parse_args()
cables = cargar()

if args.comando == "add":
    cables.append({"tipo": args.tipo, "nota": args.nota})
    guardar(cables)
    print(f"Agregado: {args.tipo}")
elif args.comando == "find":
    resultados = [c for c in cables if args.query.lower() in c["tipo"].lower()]
    for r in resultados:
        print(f"- {r['tipo']}: {r['nota']}")
Enter fullscreen mode Exit fullscreen mode

Con esta segunda versión, catalogar un cable nuevo es un comando (cablebox add --tipo "..." --nota "...") y encontrarlo, otro (cablebox find --query "hdmi"). El costo de mantenimiento es mínimo comparado con el tiempo que se pierde revolviendo una caja física buscando "ese cable que sé que tengo".

Para decidir rápido si un cable nuevo entra a la caja o va directo al reciclaje, este árbol de decisión resume el criterio:

flowchart TD
    A["Cable nuevo a evaluar"] --> B{"¿Está roto o pelado?"}
    B -->|"Sí"| C["Reciclalo en un punto de e-waste"]
    B -->|"No"| D{"¿Es un conector estándar (USB, HDMI, Ethernet)?"}
    D -->|"Sí"| E["Guardalo: alta probabilidad de reuso"]
    D -->|"No, es propietario o descontinuado"| F["Guardalo igual: será imposible de reconseguir"]
Enter fullscreen mode Exit fullscreen mode

Cómo empezar a organizar tu propia caja de cables

Replicar el sistema de Nielsen no requiere nada sofisticado. Estos son los pasos concretos:

  • Sacá todos los cables de donde estén guardados y ponelos sobre una mesa.
  • Separá los que están físicamente dañados (pelados, con el conector roto) y llevalos a un punto de reciclaje de e-waste.
  • De los que quedan, fotografiá cada uno con el celular junto a un papel con su descripción.
  • Guardá el script cablebox.py en tu carpeta de proyectos personales y catalogá cada cable con el comando add.
  • Volvé a guardar todo en la caja, pero esta vez con el inventario digital como respaldo.

Para correr el script no hace falta instalar nada más que Python 3, que ya viene preinstalado en macOS y en la mayoría de las distribuciones de Linux. En Windows hay que instalarlo primero desde python.org o desde la Microsoft Store.

💡 Tip: etiquetá la caja por fuera, como hizo Nielsen. Un papel pegado con el motivo por el que la guardás vale más que mil explicaciones cuando alguien más de la casa quiere "hacer espacio".

Los comandos para correr el inventario son prácticamente idénticos en los tres sistemas operativos, porque Python usa la misma sintaxis en todos:

# Linux
python3 cablebox.py add --tipo "USB-C a HDMI" --nota "adaptador de monitor"

# macOS
python3 cablebox.py add --tipo "USB-C a HDMI" --nota "adaptador de monitor"

# Windows (PowerShell)
python cablebox.py add --tipo "USB-C a HDMI" --nota "adaptador de monitor"
Enter fullscreen mode Exit fullscreen mode

La única diferencia real es el nombre del binario: python3 en Linux y macOS, y python en Windows (salvo que hayas configurado el alias manualmente). Para confirmar que el inventario se guardó, alcanza con abrir el archivo generado:

# Linux / macOS
cat ~/.cablebox.json

# Windows (PowerShell)
Get-Content $HOME\.cablebox.json
Enter fullscreen mode Exit fullscreen mode

Etiquetar cada cable ahorra minutos la próxima vez que lo necesites.

Impacto y análisis

Lo que hace interesante esta anécdota no es la caja en sí, sino lo que representa: una forma de pensar en sistemas que cualquier developer reconoce de inmediato. Guardar hardware "por si acaso" es exactamente el mismo instinto que lleva a mantener backups, réplicas y redundancia en la infraestructura de un sistema en producción. Nadie diseña un sistema crítico con un solo punto de falla; tampoco debería deshacerse de la única fuente de repuestos de bajo costo que tiene a mano.

En América Latina, ese cálculo pesa todavía más. Comprar un cable o un adaptador puntual en países con aranceles altos a la importación de electrónica, o en ciudades donde la tienda especializada más cercana queda a horas de distancia, puede costar semanas de espera y varias veces el precio de lista en Estados Unidos. Tener una caja de cables bien organizada no es solo comodidad: es evitar un gasto o una demora innecesaria en medio de un proyecto.

El otro lado de la moneda es el desorden. Una caja de cables sin ningún criterio se vuelve, tarde o temprano, indistinguible de la basura que en teoría evita generar. Por eso el catálogo, aunque sea uno tan simple como el script de este artículo, es lo que separa "tengo un sistema de repuestos" de "tengo un cajón que nadie quiere abrir".

Qué sigue

La tendencia de largo plazo apunta a que cada vez haya menos tipos de conectores distintos dando vueltas. La consolidación alrededor de USB-C como estándar único para carga y datos en laptops, celulares y periféricos reduce, año a año, la cantidad de adaptadores raros que hacen falta. Pero esa consolidación tarda décadas en completarse: todavía hay servidores, switches, monitores y hardware de laboratorio en uso que dependen de conectores que dejaron de fabricarse hace años.

Mientras tanto, la caja de cables, física, catalogada o ambas, sigue siendo la forma más barata de tener redundancia de hardware a la mano. La próxima vez que alguien proponga tirar esos cables viejos que ya no sirven para nada, vale la pena preguntarse primero cuánto costaría, en tiempo y en dinero, no tenerlos el día que sí sirvan.

📖 Resumen en Telegram: Ver resumen

Probalo hoy: abrí tu propia caja de cables, separá lo que esté roto y catalogá el resto con el script cablebox.py de este artículo antes de que se te ocurra tirar ese cable raro que no sirve para nada.

Preguntas frecuentes

¿Por qué los developers guardan cables viejos en vez de tirarlos?

Porque funcionan como un inventario de repuestos de bajo costo. Un cable o adaptador que hoy parece inútil puede ser, en unos años, la única forma barata y rápida de conectar hardware legado que sigue en producción.

¿Qué cables vale la pena conservar en 2026?

Los estándares actuales (USB-C, HDMI, Ethernet Cat5e/Cat6) porque los sigue usando casi todo dispositivo nuevo, y los conectores propietarios o discontinuados porque son imposibles de reconseguir el día que hacen falta.

¿Cómo organizo una caja de cables sin perder horas buscando uno?

Con un catálogo simple: alcanza con un archivo JSON o una planilla donde anotes tipo de cable y para qué sirve. El script de Python de este artículo es un punto de partida funcional en menos de treinta líneas.

¿Guardar cables realmente ayuda a reducir la basura electrónica?

Sí, en la medida en que evita comprar un reemplazo cuando ya existe una unidad funcional disponible. Cada compra evitada es una unidad menos que eventualmente termina como e-waste.

¿Tiene sentido guardar un cable propietario que la marca ya no fabrica?

Sí, precisamente por eso: si el fabricante discontinuó ese conector, la única forma de reemplazarlo el día que se rompa es tener uno de repuesto guardado de antemano.

¿Cómo migro mi inventario de cables de papel a algo digital?

Fotografiá cada cable, anotá tipo y nota de uso, y cargá esa información con el comando add del script de este artículo. Todo queda en un archivo JSON local que podés versionar o respaldar como cualquier otro dato.

Referencias

📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.

Top comments (0)