Haciendo Ciencia Abierta

Clase 4

Ignacio Sarmiento-Barbieri
Gustavo Castillo Alvarez

2024-06-26

Requisitos para clase

  • Tener instalado Git
  • Tener instalado GitHub Desktop
  • Tener cuenta en GitHub

Retomando clase anterior

Documentos Reproducibles

Nos quedó pendiente

  • Demostración de Renku
  • Insertar imágeness*
  • Insertar tablas*
  • Insertar referencias*

*Markdown

RenkuLab

  • Creado en 2017 por el Swiss Data Science Center
  • Plataforma web para manejar datos, código, flujos de trabajo, provenance, y entornos computacionales
  • Podemos ejecutar sesiones de JupyterLab o RStudio
  • Repasemos el Proyecto Transversal en RenkuLab y el RMarkdown

RenkuLab Demo

“los programas deben escribirse para que los lean las personas, y sólo de paso para que los ejecuten las máquinas” Abelson, et al (1996, pág. xxii) Structure and Interpretation of Computer Programs

Software de Control de Versiones

“Control” de versiones

  • ¿Qué archivo abrirían para trabajar?
  • ¿Cuál es la versión más reciente?

“Control” de versiones

  • ¿Qué archivo abrirían para trabajar?
  • ¿Cuál es la versión más reciente?

Con git

Control de versiones

Git

  • Creado en el 2005 por Linus Torvalds, creador de Linux
  • Primer commit
  • Software de interfaz de línea de comandos (CLI de command-line interface), o de la “terminal”

Terminal y Emulador de Terminal

  • Terminal: dispositivo físico para interactuar con la computadora: enviar y recibir datos
  • Emuladores: software que simula el funcionamiento de la terminal
  • Terminología: consola, CLI, terminal, shell
magick convert imagen_original.png -quality 75 imagen_mas_peque.jpg
echo "Pasó de 5.8Mb a 400Kb!"

Estados y secciones de un proyecto

Git tiene 3 estados principales:

  1. Modificado ( modified )
  2. Preparado ( staged )
  3. Confirmado ( committed )

y 3 secciones principales:

  1. El directorio de Git o Git directory
  2. El directorio de trabajo o working directory
  3. El árae de preparación o staging area

Lo esencial

Ejemplo

  1. Modificamos el archivo, ej: añadir efectos fijos a una regresión panel
  2. Lo agregamos al área de preparación con git add export_modelo1.do
  3. Confirmamos el cambio con git commit -m "añadir efectos fijos"

Lo que se viene

Comandos de CLI:

git config -global user.name "Gustavo A. Castillo"
git config -global email "ga.castillo@uniandes.edu.co"
git config --list
git init
git status
git add .
git commit 
git checkout
git switch
git push
git pull

La mayoría de los comandos son de la forma

git <verbo> <opciones>

Git Demo

Repasemos

Todas las imagenes a continuación fueron tomadas del increíble artículo Understanding Git through images del usuario kataoka_nopeNoshishi.

Revisemos nuestro aprendizaje en 2 minutos

Pueden acceder desde sus celuares o aquí. Usen un nombre diferente. No pongan su nombre real.

¿Cómo acordarnos de todo esto?

  • Practicar (vale la pena, al igual que acostumbrarnos a Markdown)
  • Ver cheat sheet o ficha de ayuda de GitHub
  • Algo saldrá mal, pero ayuda tener paciencia y usar las herramientas a nuestra disposición

GitHub/GitLab

  • Colaborar en repositorios
  • Almacenar repos en internet (no es para archivo, Clase05 )

GitHub Demo

Trunk-based development

  • No hay ramas de larga duración
  • Commits y merges a menudo

Recomendaciones

  • Escribir/documentar para otros humanos (el “yo” dentro de 1 mes)
  • Leer los manuales!!
  • Las computadoras son nuestra herramienta