El segundo proyecto es resolver los ejercicios del libro Introduction to Rocket Science and Engineering.
Los objetivos de este proyecto son:
- involucrar a más gente a lo largo de este proyecto (estudiantes universitarios, ingenieros, químicos, físicos, matemáticos, informáticos, etc.)
- usar software open source o similar para la presentación de los resultados de los ejercicios y para solucionarlos
- crear un repositorio en GitHub que contenga toda la documentación de este proyecto
Para la documentación escrita se usará LaTeX.
Los ejercicios que involucren programación y/o modelado se resolverán preferentemente usando R.
¡Únete!, manda un correo a info@argonur.com.
1er. Reporte
El repositorio para este segundo proyecto ya está disponible en GitHub (https://github.com/argonur/proyecto2/).
El repositorio contiene por ahora solo la estructura inicial para este proyecto, y eso es; una carpeta llamada TeX_Document en donde se encuentra el archivo Solutions_2_ItRSaE.tex que es el archivo principal del proyecto de LaTeX, en el cual se documentaran las respuestas a los ejercicios. Además del archivo Solutions_2_ItRSaE.tex, se puede ver una carpeta llamada Chapter1, dentro del cual se encuentra el archivo Chapter1.tex, que contiene las preguntas del primer capítulo del libro. Es sobre este último archivo, donde por ahora se efectuará la mayor parte del trabajo, es decir, contestar las preguntas.
Al terminar de darle solución a las preguntas de cada capitulo, se incluirán las preguntas del capitulo siguiente y se actualizará el archivo Solutions_2_ItRSaE.tex dentro de la carpeta most_recent_pdf.
Intrucciones para poder empezar a trabajar.
- Instalar alguna versión de LaTeX. Por ejemplo MiKTeX. Esto es necesario para poder editar el documento donde están las preguntas y poder compilarlo y producir el archivo pdf, que es el documento final, uno de los productos finales de este proyecto.
- Instalar Git y leer la documentación. Recomiendo los tres primeros capítulos del libro Pro Git de Scott Chacon y Ben Straub para como funciona Git y aprender un poco de los comandos más básicos necesarios para trabajar con este poderoso software.
- Crear una cuenta en GitHub. Es aquí donde se guarda el repositorio y para poder contribuir en el proyecto es necesario tener una cuenta.
- Para poder subir cambios al repositorio desde la computadora a GitHub es necesario configurar llaves SSH. Es un procedimiento relativamente sencillo. Aquí los links que describen el procedimiento:
(Descripción de como generar una clave SSH)
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
(Agregar la clave SSH a la cuenta de GitHub)
https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/ - Forkear el repositorio del proyecto 2 (https://github.com/argonur/proyecto2). Para entender que es un “fork” y como hacerlo leer el siguiente artículo:
https://help.github.com/articles/fork-a-repo/ - En la computadora, crear una carpeta que contendra el repositorio. Por ejemplo D:\git\
- Abrir Git Bash y navegar hasta D:\git (cd /d/git)
- Clonar el repositorio forkeado desde Git Bash (git clone https://github.com//proyecto2)
- Configurar Git para sincronizar el repositorio forkeado (<github-username>/proyecto2) con el original (argonur/proyecto2). Leer el Step 3 de https://help.github.com/articles/fork-a-repo/
- Crear una nueva branch donde vayas a hacer los cambios, por ejemplo una llamada Capitulo1.Respuestas_yo. En Git Bash navegar hasta estar adentro del repositorio, es decir la carpeta llamada proyecto2 (cd /d/git/proyecto2) y crear la nueva branch (git checkout -b Capitulo1.Respuestas_yo)
- Hacer cambios a los archivos, es decir, responder las preguntas que se encuentran en Capitulo1.tex
- Una vez respondidas las preguntas, o habiendo hecho cambios significativos, registrar los cambios (commit) en la branch local (git commit -a -m “comentario que describe los cambios”)
- Subir los cambios hechos en la branch local (Capitulo1.Respuestas_yo) al repositorio forkeado (https://github.com/<github-username>/proyecto2).
La primera vez que se quiere subir info a una branch que no existe en GitHub, es necesario crearla y para esto desde GitBash se introduce el siguiente comando: git push –set-upstream origin testbranch
La primera vez que uno intenta conectarse a GitHub desde Git para subir algo, se necesitará introducir las credenciales en el “Git Credential Manager”Para subir commits posteriores a una branch que ya existe en el servidor, basta con:
git push branchname:branchname - Una vez que se tenga una branch propia con cambios significativos, que valga la pena incluir en el repositorio original (argonur/proyecto2), crear un pull request (https://help.github.com/articles/creating-a-pull-request/).
- Yo me encargaré de revisar los cambios, hacer comentarios y finalmente mezclarlos a la master branch del repositorio original.
Se que todos estos pasos no son fáciles, sobre todo si no se tiene un background como programador trabajando en un proyecto de muchas personas. Solo estos 15 pasos involucran saber usar LaTeX y saber trabajar con GitHub y Git, lo cual no es poca cosa y toma tiempo aprender (incluso tal ves semanas). Pero vale la pena. Es así como se crea software open source.