Nob
~/quién
Hola, soy Nob
Me gusta entender cómo funcionan las cosas por dentro, y casi siempre termino construyendo algo para lograrlo
Muchos de estos proyectos empezaron por algo pequeño: saber cuándo pasaba el bus, jugar con amigos sin depender de un servidor, una IP que no quería cambiar. Algunos salieron mejor que otros; aquí están los que sí funcionan
01 · redes móviles
IP Rotator
Cambiar la IP de un celular Android desde el PC, por ADB
- La investigación ¿El modo avión por ADB cambia la IP pública? Con
settings put global airplane_mode_on, no: solo cambia un ajuste y el radio nunca se apaga. Conclusión de la v0.1.0: "ADB no puede" - El descubrimiento Construyendo Goket, mi panel de red, Claude (la IA de Anthropic) encontró
cmd connectivity airplane-mode: pasa por el sistema de conectividad y sí apaga el radio, sin root, en Android 16. El crédito es suyo - De vuelta al repo Modo C, Wi-Fi del celular apagado durante la prueba, ciclos cortos hasta que el CGNAT suelta una IP nueva y medición por la interfaz del tethering. Prueba real: IP rotada al primer intento, en 20 s. Sale la v0.2.0
Corrida real del IP Rotator: la IP pasa de 190.130.xxx.204 a 190.130.xxx.83 al primer intento
02 · android + python
celltrace
Saber dónde están las torres celulares sin usar GPS
CellTraceLogger es una app Android que escucha la red celular (Cell ID, LTE, 5G NR, señal) desde un servicio en primer plano y guarda cada observación. celltrace es la librería en Python que cruza esas observaciones con OpenCellID e infiere la infraestructura que hay alrededor
03 · mod de minecraft
jukz
Un mundo de Minecraft que vive donde esté prendido el host
Mod de Fabric 1.21.1. Cada mundo tiene un UUID permanente; al abrirlo, la red pregunta si alguien ya lo está hosteando. Si sí, entras como invitado. Si no, lo abres tú y te anuncias. Nadie tiene que dejar un servidor de Minecraft prendido
- Encontrarse Descubrimiento por multicast en la red local y un servidor rendezvous para internet; UPnP y STUN para atravesar el NAT de cada casa
- Primera partida Host e invitado jugando de punta a punta. La DHT que había planeado quedó descartada: el rendezvous era más simple y más confiable
- El mundo se desincronizaba Al pasar el mundo al siguiente host se perdían cambios. Solución: un relay por WebSocket en el rendezvous por donde viaja la copia del mundo
- Que el mundo no se pierda Si el último en jugar cierra sin nadie más conectado, el mundo se sube a la nube (R2) y el siguiente lo retoma. Y se arregló el caso de dos hosts a la vez
- Mudanza a Cloudflare El servidor rendezvous pasó a un Worker de Cloudflare con Durable Objects, las pantallas se rehicieron con un tema común y cerrar el acceso ya no parte el mundo en dos
139 commits en 11 días
04 · app de escritorio
ExphoraDB
Abrir datasets enormes en menos de dos segundos, sin nube
Explorar JSON, CSV, SQLite, XML y más: filtrar, buscar, exportar y compartir por P2P cifrado de extremo a extremo. Rendimiento local primero
05 · en vivo
Cali, ahora mismo
··· buses del MIO moviéndose en ··· líneas
Cada @ es un bus real, en la posición que reporta el sistema del MIO; se actualiza cada 10 segundos y deja una estela · por donde va. Las líneas son los recorridos, las o son estaciones, los ~ los ríos y los ^ los cerros. Es la misma fuente que usa Goko, mi app para planear viajes en la ciudad
conectando con el MIO…
06 · mi sistema personal
gok-
Un ecosistema de apps que uso todos los días, con el mismo estilo y la misma infraestructura
Goko
Cali en un globo 3D con los buses del MIO en tiempo real y un planificador de viajes, con rutas directas y con transbordo
Goket
Panel de red para la barra del escritorio: Wi-Fi, ADB, funciones del celular y rotación de IP
GokUN
Simulacros ICFES: extrae preguntas de PDFs, calculadora paso a paso, marcador y medallas. Escritorio y navegador
GokCo
Visor y organizador de series y video local

código privado · hecho para mí
07 · minecraft + redes
AccessScope
¿Qué le responde un servidor de Minecraft a un jugador que intenta entrar?
Se conecta con una sesión real (Mineflayer), lee lo que el servidor devuelve (mensaje de expulsión, MOTD, ícono, marca del servidor) y clasifica la respuesta. Se puede salir directo o por Tor para comparar qué ve cada ruta
- La base Cada análisis corre en su propio proceso de Node.js, aislado, que se puede cancelar en cualquier momento. Las reglas votan: si dos no se ponen de acuerdo, el resultado es "ambiguo" en vez de adivinar. Probado en vivo contra servidores reales
- Pulirlo Tiempos de espera configurables, exportar resultados, pruebas automáticas y una tarjeta en imagen para compartir lo que respondió cada servidor
pruébalo · muestra en vivo
Es solo una muestra: pide el estado público del servidor, lo mismo que ve la lista de servidores del juego. AccessScope completo entra con una sesión real y clasifica la respuesta; su código es privado
código privado
~/ahora
En qué ando
···
Sale solo de mi GitHub, en vivo: dónde fue mi último cambio y cada commit reciente. Lo privado aparece como privado, sin nombre ni mensaje
actividad de las últimas 5 semanas
~/en números
En números
0contribuciones en GitHub en el último año
0días desde mi primer repo
0buses que esta página está siguiendo ahora
0repos públicos
en vivo desde GitHub y el MIO · la ciudad de barras es mi calendario de contribuciones del último año
~/firmas
Quién pasó por aquí
··· países han dejado su firma
Cada ✦ es un país desde el que alguien visitó esta página: brilla más mientras más personas llegan de ahí, y su línea va hasta Cali, donde estoy. La tierra está iluminada por el sol de este momento. Arrastra el globo para girarlo. Solo se cuenta el país, nada que identifique a nadie
~/contacto
¿Hablamos?
Escríbeme por Telegram o por correo; todo lo público está en GitHub. Y si algo de lo que hago te sirvió, el Ko-fi apoya todos mis proyectos; en la práctica son los servidores de jukz, que es en lo único que gasto plata