/images/avatar.png

Tutorial sobre control de versiones (parte 3)

Indice del Tutorial

  • Parte 1. Cómo armar un repositorio local
  • Parte 2. Cómo subir el repositorio local al remoto
  • Parte 3. Cómo colaborar en un mismo repositorio remoto
  • Parte 4. Cómo resolver conflictos

Para ver las versiones (en inglés) en las cuales se basa este tutorial, podés visitar la página de Software Carpentry

Probando el cooperativismo

Vamos a practicar cómo se realiza una colaboración a través de un repositorio en Github. Para ello nada mejor que colaborar con uno mismo. Lo que hago es trabajar con dos cuentas en Github, corriendo un usuario en mi PC de escritorio y el otro dentro de una máquina virtual dentro de la misma PC (aunque también lo podría hacer desde una notebook, o desde otra sesión de esta misma computadora, pero decir que uno corre una máquina virtual con Linux suena mucho más god-level). No voy a detenerme a explicar nada sobre las máquinas virtuales porque además de ser demasiado sencillo también es off-topic, y no quiero offtopiquearme. ¡Cómprense un amiguito y chau!

Escritorio cómodo y atajos de teclado

Me cuesta encontrar un modo cómodo de trabajar con Emacs y otros programas en KDE. Como creo que voy encontrando cosas que me resultan funcionales, las resumo aca.

Sirve trabajar con 4 workspaces (areas de trabajo) en KDE. En el espacio 1 tengo el navegador, en el 2 tengo Emacs y en el 4 tengo un terminal. Cambio de espacio con C-7 (espacio 1), C-8 (espacio 2), C-9 (espacio 3) y C-0 (espacio 4). Para mover la ventana de un programa a un espacio de trabajo lo hago con M-7, M-8, M-9 y M-0 (los fans de emacs saben que M es Meta, y que eso significa en un teclado convencional la tecla Alt).

Más locura con Git

Hay un lindo tutorial interactivo para aprender a usar Git este Carpentry, recomendado desde el GitHub de Software Carpentry. Me gustó también el video Git for ages 4 and up (no entendí nada la presentación del expositor, pero el resto sí).

Al sitio interactivo llegué desde Astropy, en particular de la página How to make a code contribution, que parece que vale la pena leer, porque explica el workflow que utilizan, cosa que no había encontrado hasta ahora (que te expliquen cómo es la secuencia de acciones de un trabajo, su lógica, los trucos, puede ahorrar muchos problemas asociados con la inexperiencia).

Tutorial sobre control de versiones (parte 2)

Indice del Tutorial

  • Parte 1. Cómo armar un repositorio local
  • Parte 2. Cómo subir el repositorio local al remoto
  • Parte 3. Cómo colaborar en un mismo repositorio remoto
  • Parte 4. Cómo resolver conflictos

Para ver las versiones (en inglés) en las cuales se basa este tutorial, podés visitar la página de Software Carpentry

Armar un proyecto (repositorio) en GitHub

Para subir el repositorio local a GitHub es indispensable tener una cuenta allí (que es gratis, así que a relajarse y disfrutar). Es bastante intuitivo el modo de crear un repositorio. Pero pongo un par de imágenes, a modo de muestra.

Emacs y restructuredText

Estuve escribiendo algunas entradas para el blog y encontré algunas cosas que vale la pena recordar, que quedan anotadas aca.

El modo abbrev tendría que desactivarlo globalmente porque cada vez que escribo la palabra "con" (en modo restructuredText) y hago un espacio me lo expande a un texto que no deseo (content...). Se desactiva con M-x abbrev-mode. Mejor aún, encontré cómo editar la lista de abreviaturas. Es así: M-x list-abbrevs y se abre un buffer con las abreviaturas, que se puede editar. Ver de paso "Using Emacs Abbrev Mode for Abbreviation para un facil tutorial sobre el uso elegante de abbrev-mode.

Tutorial sobre control de versiones (parte 1)

En el sitio de Software Carpentry hay un buen tutorial sobre el uso de sistemas de control de versiones. Estos apuntes son prácticamente la traducción de esas instrucciones.

Indice del Tutorial

  • Parte 1. Cómo armar un repositorio local
  • Parte 2. Cómo subir el repositorio local al remoto
  • Parte 3. Cómo colaborar en un mismo repositorio remoto
  • Parte 4. Cómo resolver conflictos

Para ver las versiones (en inglés) en las cuales se basa este tutorial, podés visitar la página de Software Carpentry

De jpg a pdf

Encontré una muy sencilla aplicación para convertir archivos de imágenes. Si bien tiene mucha potencia, porque puede hacer mucho más, yo la usé para convertir imágenes en páginas de un archivo pdf.

Se necesita tener instalado un paquete llamado imagemagick. Para instalarlo desde un terminal dependerá de la distribución, suele ser así:

1
2
3
$ sudo urpmi imagemagick             # desde mageia
$ sudo apt-get install imagemagick   # desde ubuntu, mint, etc
$ sudo yum install imagemagick       # desde fedora

Luego, para usarlo, también desde un terminal y en el directorio donde están guardadas las imágenes, se ejecuta convert (parece que no es lo único que instala imagemagick):

Grabacion de screencasts para tutoriales de YouTube

Actualización (Feb-2017): es muy facil usar el programa OBS Studio para grabar en la computadora tanto la pantalla como la webcam, micrófono, etc. Funciona en Linux, Window$ y Mac.


Empecé a grabar tutoriales para usar IPython Notebook. Traté de hacerlo con la aplicación recordMyDesktop, pero el modo de seleccionar la parte de la pantalla a grabar resulta muy imprecisa, es practicamente imposible determinar la región con precisión.

Luego encontré este buen tutorial: Creating Screencasts in Linux. Ahí hay dos datos importantes:

Instalando IPython en Mageia

Para instalar IPython en Mageia, sin tener privilegios de root hay que cumplir con los siguientes pasos:

  • Contar con privilegios de root para poder correr el instalador
  • Hay que instalar PIP
  • Con PIP instalar IPython

Trabajar como root:

Conviene agregar el usuario a la lista de usuarios con privilegios para ejecutar sudo. Las instrucciones están en Configuring sudo de Mageia. Históricamente en UNIX este es el grupo Wheels.

Primero hay que crear el archivo /etc/sudoers.d/01wheel

Keybindings conflictivos en Emacs

Desde que empecé a usar Emacs probé dos grandes paquetes para facilitar su uso. Uno ha sido Ergoemacs, que es buenísimo porque remapea todos los accesos rápidos de teclado para poder usarlos de forma más simple e intuitiva (por ejemplo: C-x C-f, que “visitaba” un archivo, pasa a ser C-o, que es el comando stándard para "abrir archivo" en casi todos los programas actuales). Sin embargo, luego encontré buenas funcionalidades en otro llamado Prelude. Estando sólo activo este último (ya que hay conflictos con ergoemacs) tuve el siguiente problema: