# Nombres de archivos y carpetas
- Recordamos que en Github si creamos un archivo hemos de incluir la extensión `md` para que lo trate como un texto `markdown` y por tanto lo procese correctamente.
- En Github los nombres del primer archivo se llaman `README.md` para que lo leas (¡léeme!) y de alguna forma como homenaje a los archivos del software que se leía en pantallas en blanco y negro donde se prefería las mayúsculas para la mejor lectura.
- En vuestro caso yo optaría por nombrar tanto los archivos como las carpetas en minúsculas y separando las palabras con guiones medios, es decir: `esta-es-una-carpeta` y `esto-es-un-archivo.md`.
- Hay otras formas posibles pero es importante que seáis metódicos para que siempre lo hagamos así y sepamos por tanto acceder y recuperar nuestros archivos y carpetas.
# Repaso del día anterior
- Después de repasar todo llegamos a que algunas personas con Mac no habían conseguido instalar XCode. A partir de ahí hemos empezado con la instalación o puesta a punto de la terminal.
# Windows
## Cygwin
- Se puede descargar en
- Emulador de la terminal POSIX en Windows
- Ofrece un cojunto de herramientas y programas que emulan una distribución Linux en Windows.
- Tiene desventajas conocidas: instalación, actualización, usabilidad de la instalación…
- ¡Atención! Una vez que lo descargáis y lo instaláis, no tiréis el instalador ya que es necesario para su actualización.
- La primera vez que lo usamos descargamos `lynx`, un navegador en línea de comandos.
- Para no tener que correr manualmente el instalador cada vez que queremos actualizar Cygwin con algún paquete/programa, usaremos `apt-cyg`
## apt-cyg
- Cygwin es una herramienta muy potente para Windows pero muy tediosa de utilizar.
- [apt-cyg](https://github.com/transcode-open/apt-cyg) es un gestor de paquetes de Cygwin que funciona en línea de comandos.
- El nombre proviene de ser como un [apt](https://wiki.debian.org/Apt) para Cygwin.
- Un APT (*Advanced Package Tool*) es un conjunto de herramientas para manejar los paquetes –programas– de los sistemas [Debian](https://www.debian.org) [GNU](https://gnu.org)/[Linux](https://linux.org). Se ha hecho muy popular su funcionamiento y otros sistemas
operativos lo han imitado porque permite:
- Instalar programas.
- Desinstalar programas.
- Actualizar programas.
- Resolver dependencias de los programas de forma automática.
- Sin apt-cyg, cada vez que queremos instalar algo hay que abrir el programa de instalación de Cygwin.
- Con apt-cyg conseguimos instalar o actualizar programas que usamos en Cygwin desde la propia consola de Cygwin.
## Instalación de apt-cyg
Para instalarlo, tal como cuentan en su página web, usamos dos líneas de comandos:
lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin
La primera línea dice que ejecutará `lynx` con la opción `-source` para descargar el código fuente de la página `rawgit.com/transcode-open/apt-cyg/master/apt-cyg` y ese texto lo envía con `>` al archivo `apt-cyg`.
`Lynx` es un navegador en línea de comandos que se puede utilizar para esto. El próximo día probaremos con otras páginas.
En este momento y en el directorio/carpeta/ruta donde estemos, creamos un archivo con nombre `apt-cyg` que contiene el texto del código fuente de esa URL, que es un script para usar Cygwin e instalar programas sin correr manualmente el instalador.
Para comprobar que está hacemos un `ls`, un comando para listar los contenidos de la carpeta/directorio.
Si está, pasamos a la siguiente línea. Con `install` instalamos el archivo `apt-cyg`, que es un programa, en la carpeta *bin*, que son los programas o binarios.
Si no ha dado error será que lo tenemos. Para probarlo escribimos `apt-cyg install wget`, que es la instrucción para instalar el programa `wget`, una herramienta para descargar archivos que usa precisamente `apt-cyg`
# MacOSX
## Terminal
- La terminal es una aplicación que encontramos disponible en "Utilidades -> Terminal" pero, de un tiempo a esta parte, está capada y no se puede utilizar con todo su potencial.
- Para ello requiere [activar Xcode](https://guide.macports.org/#installing.xcode). Esto lo conseguimos por dos vías posibles. En ambos casos debemos tener cuenta de Apple.
- O bien descargamos [xcode](https://apps.apple.com/us/app/xcode/id497799835), que son muchos Gb.
- O bien en la página de [developer](https://developer.apple.com/downloads/index.action) de MacOSx buscamos "Command line tools for Xcode", que es menos de medio Gb.
- En cualquier caso, leed bien las instrucciones para la instalación de estos enlaces y no tengáis miedo a las advertencias de Mac sobre lo que vas a hacer pues lo único que vas a hacer es usar algo que tu ordenador es capaz de tener.
- Una vez tenemos Xcode, instalamos `brew` que es un gestor de programas para la terminal de Mac, algo así como el `apt-cyg` de Cygwin.
## Brew
- Puedes ver el proyecto en
- Se trata de un gestor de programas en MacOSX.
- Hay una alternativa llamada [macports.org](https://www.macports.org/), no son incompatibles, por si alguien se anima a experimentar.
- Sirven para instalar programas que se usan en la Terminal.
- La instalación fácil hasta hace poco está en la página de brew.sh
- Copiamos esta línea `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` y la pegamos en la terminal.
- Sin embargo esto ha cambiado sensiblemente porque MacOSX ha dejado de utilizar `BASH` como el dialecto que entiende la terminal y ahora utiliza `ZSH`. Aunque son dialectos varían en algunas cosas. En el curso usaremos `Bash` por lo que recomiendo hacer lo siguiente:
- [spirosfromlondon](https://discussions.apple.com/thread/252176464) nos cuenta que tendremos que lanzar `brew update` y luego `brew install bash`. Comprobamos con `bash --version` y para que MacOSX no olvide esto, editamos el archivo `~/.bash_profile` con `nano`, por ejemplo y añadimos esta línea: `export BASH_SILENCE_DEPRECATION_WARNING=1`.
- `nano` es un editor en línea de comandos, lo veremos el próximo día.
- Luego ya podemos instalar programas. Por ejemplo, `wget` con `brew install wget`.
- Quizás surjan otros problemas, como [este](https://apple.stackexchange.com/questions/224511/how-to-use-bash-as-default-shell)… no dudéis en comentarlos.
- Si quisierais seguir con `zsh` y no os da problemas, genial. [Aquí](https://stackoverflow.com/questions/65619529/fixing-zsh-command-not-found-brew-installing-homebrew) hablan de algunos problemas que se han encontrado.
# Repaso
- [ ] Control ordenador.
- [ ] Emulador de terminal con Cygwin (W$) o activando XCode (MacOSX) para aplicaciones CLI
- [ ] Editor de textos con `nano`
- [ ] Sintaxis `Markdown`
- [ ] Control de versiones `git`.
- [ ] Github para repositorios de documentación y servidor web.
- [ ] Python para algunas funcionalidades.