El nombre del ejecutable siempre fue una interfaz de configuración

Share

Un programa puede leer su propio nombre de archivo. Eso suena trivial, pero la implicación es potente: toda la configuración de una herramienta puede vivir en su nombre, sin flags, sin scripts externos, sin archivos de configuración adicionales. Solo renombra el ejecutable y el comportamiento cambia.

Esta idea —documentada por el desarrollador Aul Ma (@robertsdotpm) en su post Just Rename the File— no es nueva en términos técnicos, pero está teniendo un segundo aire en un contexto que la hace más relevante que nunca: el auge de los agentes de IA y la necesidad de herramientas autocontenidas y reproducibles.

¿Cómo funciona exactamente?

En la mayoría de sistemas operativos, un programa puede obtener su propio nombre de archivo en tiempo de ejecución (en C es argv[0], en Python sys.argv[0], en Go os.Args[0]). Si el programa está diseñado para parsear ese nombre, puede extraer parámetros de él.

Claude Desbloqueado

Mi curso avanzado para aprender a sacarle mucho más provecho a Claude en el trabajo y en el día a día, con funciones y usos más potentes. Comienza el 23 de marzo.

→ Inscríbete hoy 🚀

El ejemplo más claro es un instalador reusable. En lugar de tener múltiples instaladores para diferentes módulos Python, tienes uno solo llamado install_PY3_MODULE_NAME.exe. El programa lee el nombre, extrae el módulo, lo descarga, configura el entorno y lanza. Para instalar otro módulo, solo renombras el archivo. El mismo binario sirve para todo.

Otro ejemplo del post original: un runner de experimentos de machine learning.

train---resnet50---lr0.001---batch32---cifar10.exe

El ejecutable parsea su propio nombre, extrae el modelo, el learning rate, el batch size y el dataset, y los aplica automáticamente. Para probar un ResNet diferente o un dataset distinto, simplemente renombras el archivo. Compartes el archivo renombrado con un colaborador y reproduce el experimento exacto sin ninguna configuración adicional.

Por qué esto importa en 2026

La técnica tiene más sentido hoy que hace cinco años por una razón concreta: la proliferación de herramientas efímeras. En el contexto de ingeniería agentiva, donde construyes pequeñas herramientas CLI para que tus agentes las usen, la portabilidad y la autodescrición son propiedades muy valiosas.

Un agente que necesita ejecutar una herramienta específica con parámetros concretos tiene dos opciones: mantener un archivo de configuración separado (que puede perderse, corromperse, o quedar desfasado) o codificar los parámetros directamente en el nombre del binario que invoca. La segunda opción es más robusta para herramientas temporales o de uso único.

Hay casos de uso donde brilla especialmente:

  • Utilidades efímeras: Herramientas ad-hoc para tareas de un solo uso. backup---home---encrypt-aes256.exe hace exactamente lo que el nombre dice, sin README.
  • Reproducibilidad de experimentos IA: El nombre del archivo es el registro de lo que se corrió. Auditorías simples, sin buscar en logs.
  • Distribución sin instrucciones: Mandas el archivo, la otra persona lo corre. Zero setup, zero documentación necesaria.
  • P2P y túneles: lounge-room---friends-machine---t25565---minecraft.exe especifica ambos endpoints del túnel VPN en el nombre. Cada persona corre su lado, el túnel se conecta.

Los límites reales

No es una técnica para proyectos complejos. Tiene limitaciones obvias: longitud máxima de nombres de archivo (255 bytes en la mayoría de filesystems), caracteres no permitidos en Windows (especialmente : * ? " < > |), y dificultad para manejar configuraciones anidadas o complejas.

Tampoco reemplaza a un sistema de configuración real en proyectos con más de un desarrollador, con necesidades de seguridad, o con configuraciones que cambian dinámicamente en runtime. Es una herramienta de nicho, no un paradigma.

Lo que sí puede hacer es eliminar fricción en el extremo de herramientas pequeñas y experimentales, que es exactamente donde más tiempo se pierde hoy documentando, explicando y coordinando configuraciones triviales. En el contexto de vibe coding y agentes que generan y ejecutan herramientas propias, la idea de que el nombre del archivo es la configuración tiene una elegancia que justifica mantenerla en el toolkit.

Para los que quieren explorar: el código de ejemplo del autor para instaladores Python está en github.com/robertsdotpm/win-auto-py3.


Fuentes

Leer más

Otras noticias