Programar a 2 KB/s: cómo trabajar cuando la conexión falla

in Programming & Dev • 22 hours ago

Casi todo el material para aprender a programar asume una conexión estable: instalar dependencias, consultar documentación, buscar errores en foros. Cuando la conexión es lenta o intermitente, ese flujo se rompe. La solución no es esperar a que mejore, sino rediseñar tu forma de trabajar para que la red sea un apoyo ocasional y no un requisito.

Principio 1: descarga en las ventanas buenas, trabaja en las malas

Haz una lista de lo que necesitarás y descárgalo cuando la conexión lo permita. Usa herramientas que reanuden descargas interrumpidas:

wget -c https://ejemplo.com/archivo.zip**
rsync --partial --progress origen destino**

La opción -c de wget continúa donde se cortó en lugar de empezar de cero.

Principio 2: guarda tus dependencias

Cada gestor de paquetes tiene su caché, y puedes aprovecharla:

Python: pip download -d ./paquetes nombre_paquete descarga los paquetes a una carpeta, y luego pip install --no-index --find-links ./paquetes nombre_paquete instala sin internet.
Node: npm conserva una caché local; con npm ci --offline intentas instalar solo desde ella.
Flutter: flutter pub get --offline resuelve dependencias desde la caché local.

Guarda esas carpetas en una memoria USB. Es tu biblioteca personal.

Principio 3: documentación sin internet

No dependas de abrir una página para saber cómo funciona una función.

Zeal (o Dash en otras plataformas) te permite descargar la documentación de muchos lenguajes y frameworks para consultarla sin conexión.
man y tldr te dan ayuda de comandos desde la terminal.
Descarga los libros y guías que más uses en PDF.
Principio 4: Git como sistema tolerante a la mala conexión

Git funciona localmente: puedes hacer commits, ramas y ver el historial sin red. Cuando necesites mover cambios entre máquinas sin conexión, puedes usar git bundle, que empaqueta un repositorio (o parte de él) en un solo archivo que llevas en un USB:

git bundle create repo.bundle --all
git clone repo.bundle mi-copia

Principio 5: herramientas ligeras

Un editor liviano y la terminal consumen mucho menos que un IDE pesado con actualizaciones constantes. Desactiva las actualizaciones automáticas y la telemetría.

El hábito que lo une todo

Antes de cada sesión, pregúntate: ¿qué voy a necesitar hoy que requiera internet? Descárgalo antes. Lo que aprendes con esta disciplina te hace mejor programador incluso con buena conexión: entiendes tus herramientas en lugar de depender de que un servidor responda.

Idea para llevarte: la conexión es un recurso escaso. Trátala como tal.