Pase muchos años usando Windows al ser el único sistema operativo a mi alcance. Todo era click and point y cualquier configuración mas alla de la que se pesentaba en el centro de control era una odisea.
Con el tiempo llego a mi Linux y encontre 3 características que me fascinaron.
Me sorprendio lo fácil que era adentrarse en las tripas de la máquina y configurar hasta el último detalle, en windows llegue a configurar el registro de sistema pero al llegar a las librerías dll el camino se volvía casí imposible y sí, probe editores hexadecimales.
La terminal como un elemento todo poderoso me atrapo de inmediato, no tenía mucho dinero así que mis equipos eran modestos por lo que ejecutar procesos demandantes sin un sistema de ventanas me permitia exprimirle cada gota de recursos a mis cacharros.
Sin embargo lo que me conquisto fue el gestor de paquetes, tener acceso a la infinidad de paquetes y útilerias, e incluso de componentes del sistema con tan solo un comando era inigualable. O esperar cada actualización de sistema que podía resolver algún problema o darme una nueva caracteristica era como Navidad en un comando.
Y así Windows desaparecio de mi vida o ¿no?
Para el 2017 en contre una noticia arrumbada en algún blog que solía leer, en un principio paso desapercibida, quiza porque cuando se usa la terminal se nos da bien el ignorar cualquier noticia de la ventanita de Microsoft. En esa noticia se habla de la nueva terminal disponible para Windows, comparandola con las terminales de Mac y Linux. Una osadía como esa debía ser investigada.
Efectivamente Power shell presumía de sus capacidades, de su velocidad y ostentaba un look lo bastante impresionante como para intentar abrir esa maquina virtual con Windows. Era tal la osadía que llegaba a ejecutar linux.
La probe y ciertamente fue grato encontrarme con una herramienta competente y que facilitaba la ejecución en terminal sin tener que sufrir el CMD.exe que todos conocemos.
Pero no me detuvo de apagar windows.
Gestor de Paquetes
Si bien casí todas las distribuciones Linux cuentan con su gestor de paquetes otros sistemas no lo incluyen. Enfocandose en la experiencia gráfica del usuario se ha optado mas por un centro de instalacción de aplicaciones que mas que facilitar el acceso a las aplicaciones intenta fomentar la compra/venta de las mismas. Funciona para un usuario normal, pero cualquier intento de desarrollar y/o automatizar no se ve prometedor.
MacOS cuenta con uno gestor de paquetes desarrollado por su comunidad, homebrew se desempeña excelente en el sistema y habre todo un mundo de posibilidades. Pero en Windows no conocía nada parecido hasta hace poco.
Buscando métodos sencillos para las configuraciones previas a los cursos que imparto encontre una maravilla chocolatey.
Sí bien en su página definen su creación en el año 2011 la compañia se establece en el 2016 pero se ve un aumento de las busquedas del concepto Chocolatey Software desde el año 2018 en Google trends.
Este gestor de código libre una vez instalado, proceso muy sencillo por cierto, permite acceso alrededor de 7,503 paquetes para mayo del 2020. Dentro de los que me parecen relevantes git, R, Rstudio, Python, Conda, Docker e incluso SSH. Lo mejor es que estos se instalan con un comando y el mismo gestor permite la actualización de los paquetes.
Instalación
La instalación requiere una consola administrativa de PowerShell, es decir usar los privilegios de administrador. En las intrucciones de instalación se nos proporciona un comando que con solo copiarlo en la consola PowerShell descargará e instalará Chocolatey.
Hecho esto el siguiente paso es instalar cualquiera de los programas necesarios empezando por nuestro lenguaje favorito:
choco install r --params "'/UseInf:C:\r.inf'"
Seguido de la gui Rstudio:
choco install r.studio
¿Cambiaría a Linux? Ni en broma, pero me parece un gran avance para los usuarios de windows que existan estas herramientas y a su vez facilita los procesos de instalacion previos a cualquier curso. Es un alivio solo proporcionar un par de comandos que permitan a cualquier alumno instalar todo lo necesario para un curso evitando direcciones, descargas, instaladores y ejecuciónes. Concentrandonos en lo importante… el código.