Archivo de la categoría: Software libre

Documentación para un proyecto con Markdown y Pandoc

Hablé el otro día de una plantilla para documentación que había ayudado a crear a mi hermano para su nuevo proyecto. Como me parece que hicimos un buen curro voy a hablar un poco más de ella, de las características que tiene y de cómo se usa.

La idea

La idea principal es separar el contenido del formato, de tal manera que se pueda escribir en un lenguaje de marcado ligero como es Markdown desentendiéndose por completo del aspecto, que se gestiona en una plantilla para Pandoc. Como la salida es un pdf, la plantilla está escrita en LaTeX, el paso intermedio mediante el cual Pandoc pasa de Markdown a pdf.

Otro tema es el de los metadatos, es decir, el autor, la licencia y otras opciones de control. Este tipo de datos los introducimos en un archivo aparte o en un bloque YAML al inicio del contenido. Así, también se desacoplan tanto del contenido como del formato.

Por último, Ekaitz quería poder crear un documento corto (al que llamaré artículo de ahora en adelante) o uno largo (libro) con la misma plantilla, cosa que hemos conseguido con unos $if$ estratégicamente colocados.

Seguir leyendo →

Hacktibista

Estaba yo pasando el rato en las redes libres cuando vi un mensaje que captó mi atención:

Cuando en tu ska en vasco hay un intro con Richard Stallman 😂
https://youtu.be/XDhsPgh16WM?t=41m55s
— @piks3l@pouet.it

La canción en cuestión es Hacktibista de Gorka Suaia y Kimo Soundz:

Aparte de que hable Stallman en la intro, la letra merece mucho la pena así que decidí traducirla para que llegase a más gente. Hurgué un poco por ahí, me descargué el disco y vi que tenía licencia Creative Commons – Atribución – Compartir Igual (CC BY SA), lo que me pareció fantástico. ¡Pero no venía la letra! Así que se la pedí al artista por email y muy amablemente me la mandó en cuestión de minutos (Mila esker!)

¡Aquí tenéis la letra original y mi traducción!

Notas a la traducción

  • Quería que se entendiese el sentido más que nada, puede que no sea muy exacta en algunas partes.
  • El infinitivo y el imperativo son iguales en euskera lo cual es un lío. En general he traducido como imperativo para la segunda persona del singular porque entiendo que la canción va dedicada al hacktivista en cuestión.

  • La canción tiene muchas referencias, algunas no las he captado, si hay alguien con mayor cultura que nos ilumine le estaré eternamente agradecida (Ver nota 2)

Seguir leyendo →

Bellingcat: periodismo ciudadano y open source

Estaba yo echándole a un ojo a lo que ocurría en el mundo cuando vi este tuit:

Como todo lo que lleve etiquetas del tipo de open source me llama la atención, me puse a investigar al respecto. Os cuento lo que he descubierto.

Bellingcat

Bellingcat es un punto de encuentro para periodistas ciudadanos especializados en utilizar los medios sociales y el open source para sus investigaciones, a través de lo que se conoce como OSINT (Open Source Intelligence). Publican guías y casos de estudio para que cualquiera pueda utilizar sus herramientas para descubrir la verdad entre toda la avalancha de noticias falsas y realidades alternativas que nos rodea.

Me ha parecido especialmente curioso el artículo sobre destapar corrupción mediante herramientas open source, porque utiliza la arrogancia de los corruptos en su contra. Es curioso también el propio nombre, que toma de la expresión ponerle un cascabel al gato que hace a su vez referencia a la historia de unos ratones que querían neutralizar a un gato agresivo poniéndole un cascabel en el cuello pero a la hora de la verdad ninguno se atrevía a hacerlo.

El artífice de este proyecto es Eliot Higgins, un periodista y activista inglés conocido por identificar las armas utilizadas en la guerra de Siria en el blog Brown Moses analizando una barbaridad de canales de YouTube y usando técnicas de geolocalización. Nos cuenta en la presentación de Bellingcat cómo empezó todo:

También están investigando qué es lo que pasa en Ucrania detrás de la realidad paralela que nos vende Putin, separan la realidad de la ficción en todo lo que respecta a Trump e investigan cuánto de verdad hay detrás de la campaña de desacreditación de Wikileaks. No dejan títere con cabeza.

La verdad es que me ha parecido un proyecto muy interesante, lo seguiré de cerca e intentaré contribuir de alguna manera.


Ahora mismo hay una segunda campaña en Kickstarter con el objetivo conseguir fondos para seguir con su labor, por si a alguno le apetece colaborar.

Lo que he aprendido: Tox

En su búsqueda de herramientas distribuidas, libres y que respeten la privacidad, mi señor hermano ha localizado Tox y me ha liado para que abandonemos nuestro odiado Hangouts y nos pasemos a un cacharro mucho más loco.


¿Qué es Tox?

Tox es un servicio de mensajería instantánea con soporte para llamadas de voz, videollamadas y envío de ficheros. Tiene tres características fundamentales:

  • Es libre: podemos ver cómo está hecho, modificarlo y distribuirlo libremente.
  • Todo está encriptado: solo la persona con la que estamos hablando puede leer nuestro mensajes. Además, no se puede saber quiénes somos sin nuestra clave privada, que permanece en nuestro ordenador.
  • Es distribuido: nuestros mensajes no están en los servidores de ninguna empresa, la red está formada por los propios usuarios.

Todo ello implica que Tox respeta nuestra privacidad no mostrando quiénes somos, no guardando nuestros mensajes y encriptando nuestras conversaciones.

Es importante decir que Tox está todavía en fase experimental, así que tiene errores y todavía no está totalmente verificado su funcionamiento.

¿Cómo se instala?

Para poder usar Tox, tenemos que instalar un cliente. En su página de descargas tenemos todas las opciones disponibles. Por consejo de mi hermano, instalé qTox, el cliente de Tox con interfaz gráfica hecha con Qt.

Siguiendo las instrucciones, hice:

# Añadir a la lista de repositorios
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/antonbatenev:/tox/xUbuntu_14.04/ /' > /etc/apt/sources.list.d/qtox.list"
# Actualizar lista de paquetes
sudo apt-get update
# Instalar qTox
sudo apt-get install qtox

¿Cómo se usa?

Para usarlo solo nos falta crear una cuenta y añadir personas. Una cosa curiosa que tiene esta historia, es que cada persona tiene un identificador formado por 76 dígitos hexadecimales, eso es lo que tenemos que compartir para que la gente nos pueda hablar por Tox. También podemos apuntarnos en una lista pública de usuarios, como Toxme, y así nos podrán encontrar en usuario@servicio.

Una vez tenemos el identificador de una persona, le podemos mandar una petición de amistad y, si la acepta, ya podemos hablar con él a través de nuestro cliente. Así de fácil.

He estado probando qTox y la verdad es que me va bastante bien, me ha sorprendido gratamente, funciona la llamada, la videollamada, mostrar el escritorio, enviar archivos… Lo único así raro es que no me carrulan los acentos pero dicen que es cosa de Qt.

Tox en el móvil

Sí, también podemos usar Tox desde el móvil, hay tanto aplicaciones para iPhone como Android: Antidote y Antox, respectivamente. Hay incluso un par de ellas para los frikis que tenemos un Jolla, jTox y Cyanide, la primera de ellas está en la tienda oficial y todo.

Estoy usando jTox con bastante éxito, si exceptuamos que se negó a importar la cuenta de qTox y tuve que hacerme otra en jTox, exportarla e importarla en qTox y no obedeció y ahora tengo dos cuentas. Pero no hay problema, cosas peores me han pasado con el Hangouts, creedme.

Conclusión

Tox me parece un servicio interesante y, sobre todo, necesario. Vivimos en un mundo en que las grandes empresas son dueñas de nuestros datos y los usan para fines no muy éticos. Mientras tanto, las personas de a pie cada día tenemos menos poder y menos derechos. Creo que herramientas como esta nos sirven para ganar un poco de control sobre nuestra información. Y ¿quién sabe? igual en el futuro conseguimos una sociedad que refleje el funcionamiento de Tox, una sociedad libre y con el poder distribuido entre todos y cada uno de nosotros.

Referencias

Tox
qTox en GitHub


Mientras escribía oía

Lo que he aprendido: Font Awesome y LaTeX

Pues estaba yo actualizando mi CV y quería poner un simbolito de un sobre para que me mandasen un email los interesados, cuando he descubierto que se pueden usar chirimbolos de Font Awesome en LaTeX. Estoy ahora mismo personalizando la web de pan con esos mismos iconos y me encantan, así que me he puesto a investigar cómo combinarlos con LaTeX.

Para ello simplemente necesitamos el paquete fontawesome que vive en texlive-fonts-extra1. Esto es una gran mierda porque nos hace instalarnos 400MB de movidas que no necesitamos. He estado probando otras alternativas pero no me funcionaba ninguna y después de instalar y desinstalar el paquete como 8 veces me he resignado a gastar los 400MB inútilmente.

En fin, para usarlo lo llamamos en el preámbulo, acompañado de fontspec si vamos a compilar con xelatex, con pdflatex no hace falta nada extra según el manual:

\usepackage{fontspec} % para compilar con xelatex
\usepackage{fontawesome}

Luego, para usar los símbolos usamos los comandos \faIcono (en camel case) donde Icono es el nombre del icono. En el manual tenemos todos los iconos que hay, cada uno con su respectivo nombre. Por poner un ejemplo ejemplo, para añadir el sobrecito para que nos manden emails haríamos:

\href{mailto:EMAIL}{\faEnvelope}

Ahora, al hacer click sobre el sobre se nos debería abrir nuestro cliente de correo. A mí Geary me hace cosas locas y se abre cuando le da la gana, pero qué le vamos a hacer.

Font Awesome tiene, además, minisímbolos de GitHub y así con los que podemos enlazar nuestros proyectos sin agobiar al lector. O poner en pequeño que nuestro documento tiene licencia CC.

Lo que tengo que averiguar ahora es cómo usar una versión más moderna del paquete y de la fuente porque me faltan unos pocos iconos (como el de GitLab) que me resultarían útiles. Os iré informando.

Curriculum Vitae por Johnmyleswhite vía Attribution Engine. Licencia CC NC.

Referencias

Plantilla de CV que uso yo

Ejemplo de CV con Font Awesome

How to include social’s icons like gitHub and linkedin in ModernCv? en StackExchange

El paquete fontawesome en CTAN

Manual de fontawesome


Lo que he aprendido: arreglando elementaryOS

Recordaréis seguramente que hace unos meses me compré un Slimbook. Como es un portátil finito y así muy elegante él decidí que su sistema operativo fuera elementaryOS. Me vino concretamente con la versión Freya, basado en Ubuntu 14.04 LTS. La distro me encanta, la interfaz es cómoda y minimalista, me gustan especialmente sus directrices para interfaces humanas, pero tengo que reconocer que tiene unos pocos problemas de funcionamiento. En esta reseña explican bien lo que quiero decir.

De todas maneras, hay que tener en cuenta que Freya es la versión 0.3, así que seamos comprensivos.

Voy a recopilar aquí los problemas que me han ido surgiendo y cómo los solucioné por si le resultan útiles a alguien 🙂

Seguir leyendo

Lo que he aprendido: beamer y pdfpc

Hace un tiempo compilé pdfpc en Windows y GNU/Linux (por que yo lo valgo) y ahora toca aprender a usarlo.

De por sí pdfpc nos enseña en la vista de presentador la diapositiva actual, la siguiente, un reloj, el número de la diapositiva actual y el total. Todo ello muy útil a la hora de presentar.

pdfpc

Lo especialmente interesante de este programilla es que es compatible con las notas de beamer: en lugar de ver la diapositiva actual, veremos las notas y una minidiapositiva. Para ello necesitamos crear la presentación con las notas integradas, en este caso en pondremos las notas a la derecha:

\setbeameroption{show notes on second screen=right}

Luego llamaremos a pdfpc con la opción --notes:

pdfpc presentation.pdf --notes=right

Veríamos algo así:

beamer

El programa tiene otras muchas opciones, os resumo unas pocas que me parecen especialmente útiles, las demás están en el manual:

  • −d, −−duration=N la duración en minutos (N) de la presentación. Sirve para que nos ponga una cuenta atrás en la parte inferior de la pantalla.

  • −l, −−last−minutes=N tiempo en minutos (N) a partir del que la cuenta atrás se verá en rojo. Para irse poniendo nerviosillo.

  • -s,−−switch−screens cambia la vista de presentador de pantalla.

  • -w, --windowed crea dos ventanas, una con la vista del presentador y otra con lo que verá la audiencia. Útil para ver el resultado cuando solo tenemos una pantalla.

Por ejemplo, para presentación de la tesis usaré lo siguiente:

pdfpc presentation.pdf --duration=45 --notes=right --last-minutes=10

que tengo metido en un archivo runPresentation con permisos de ejecución porque soy vaga.

Además, durante la presentación se pueden usar diferentes teclas para hacer cosas:

  • F (freeze): congela la imagen de la presentación para la audiencia mientras nosotros jugamos en nuestra vista. Pinta un copo de nieve en la parte inferior.
  • B (black): pone la pantalla de la audiencia negra y a nosotros nos pinta un cuadradito negro con una cruz blanca. Útil cuando das clase y alternas pizarra y proyector (así no montas el lío que solían montar mis profesores, ingenieros industriales casi todos ellos).

  • G (go): nos deja meterle un número de transpa a la que irá.

  • N (notes): nos permite escribir notas en la diapositiva. Salimos con ESC

  • E (end): marca la diapositiva final. Útil si tenemos diapositivas de repuesto para las preguntas.

  • O (overlay): sirve para marcar/desmarcar diapositivas como parte de una diapositiva que va surgiendo poco a poco. No las tendrá en cuenta en el cómputo de diapositivas.

  • P (pause): pausa el reloj.

  • R (reset): reinicia la presentación.

  • Q (quit) o ESC: para salir.

Las notas y diferentes marcas (fin, overlay, …) las guarda en un archivo pdfpc que recupera cada vez que leemos la presentación. Es un archivo de texto plano y podemos abrirlo. Tiene esta pinta:

[file]
presentation.pdf
[duration]
45
[skip]
8,
[end_user_slide]
10
[notes]
### 1
Notas en la diapositiva 1

Pues hasta aquí hemos llegado, ahora toca ensayar y no romper la presentación en directo. Esperemos que no ocurra lo que dijo el pavo que estaba sentado detrás en la charla de Richard Stallman: ahora es cuando se le rompe el software libre.

Referencias

pdfpc, página del proyecto

Manual de pdfpc