Archivo de la etiqueta: free software

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 →

Lo que he aprendido: registro de cambios en un documento LaTeX con git

Estoy echando una mano a mi hermano con una documentación to guapa para un tema que mejor os cuenta él y me preguntó cómo incluir un registro de cambios en el documento. Un registro de cambios no puede ser muy complejo de hacer si estamos usando git, pensé, así que me puse a investigar las diferentes alternativas, empezando por la opción evidente: git log.

Jugando con git log

Empecemos por los inicios, como todos los que usáis git sabéis mejor que yo, git log nos permite dar un formato al historial de commits con las opciones --pretty y --format. Por ejemplo, podemos mostrar la fecha y la descripción del commit haciendo:

git log --pretty=format:"%ad%x09%s" --date=short > cambios.log

Seguir leyendo →

Lo que he aprendido: la resolución y elementaryOS Freya

Hace tiempo que no la liaba petarda en el ordenador pero he vuelto a las andadas y todo por el programa de la renta. Menos mal que me sale (en teoría) a devolver que si no me iban a oír.

La cuestión es que mi portátil (¡el Slimbook!) tiene una pantalla muy pequeña (13.3″) para su resolución (1920 × 1080) y esto provocaba que el programa se viera enano. Muy enano, como se puede ver en la imagen, y no tiene ninguna opción de zoom:

zergabidea

Seguir leyendo →

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: variables locales en Emacs

Pasando a limpio mis apuntes de italiano, me he puesto a investigar cómo establecer el idioma para la revisión ortográfica de un documento porque me da mucha rabia tener que cambiarlo cada vez que lo abro. Gracias a estas pesquisas he descubierto algo interesante: las variables locales de Emacs.

Seguir leyendo →

Lo que he aprendido: grabando la terminal

Una cosa lleva a la otra y mostrar aquí cómo funciona Yokadi me hizo aprender a grabar lo que iba escribiendo en la terminal. Voy a hablaros de dos programillas:

Script

Script es una herramienta de UNIX que nos permite grabar una sesión de la terminal en un archivo que después podemos reproducir. Es muy fácil de utilizar, empezamos a grabar con script y paramos con exit o Ctrl+D. Si no le damos un nombre de archivo, creará uno llamado typescript:

ondiz@slimbook101:~$ script
Script iniciado; el fichero es typescript
ondiz@slimbook101:~$ echo 'Hola!'
Hola!
ondiz@slimbook101:~$ exit
Script terminado; el fichero es typescript
ondiz@slimbook101:~$ 

Para reproducir lo que hemos grabado usaremos el comando scriptreplay. Para ello necesitamos también el archivo de con los tiempos que generamos así con script:

script -t 2> tiempos

scriptreplay da por hecho que el archivo que tiene que leer se llama typescript (podemas darle otro tras -s) y solo necesita que especifiquemos el archivo con los tiempos:

scriptreplay tiempos

Esto nos repetirá lo que habíamos guardado.

Aquí tenéis su manual para que le deis caña.

Asciinema

Asciinema va un paso más allá y nos genera un vídeo en su web, que luego podemos compartir mediante la URL. Digamos que es como un gist de vídeo.
Si he entendido bien, lo que hace por dentro es grabar lo que vamos escribiendo en un archivo JSON (asciicast) que envía a la web y luego su reproductor interpreta. Este reproductor interpreta los códigos de escape ANSI, las secuencias con las que se controla el formato y movimiento en la terminal. Por ejemplo, si ve un \033[5A mueve el cursor hacia arriba cinco líneas y con \033[0;32m pone el texto de color verde1.

Vamos a ver cómo se usa. Como no lo tenía en los repositorios, lo instalé con pip3:

sudo pip3 install asciinema

Iniciamos la grabación con asciinema rec, nos mostrará este mensaje:

ondiz@slimbook101:~$ asciinema rec
~ Asciicast recording started.
~ Hit Ctrl-D or type "exit" to finish.

Paramos de grabar escribiendo exit o con Ctrl+D, al igual que script. Nos mostrará un mensaje explicando cómo hacer para subir la grabación a la web o matarla:

~ Asciicast recording finished.
~ Press  to upload,  to cancel.

Si le damos un nombre de archivo a asciinema rec, nos guardará el JSON, que tiene esta pinta.

Este archivo podemos reproducirlo en la terminal con asciinema play o subirlo a la web con asciinema upload.

Podéis leer más sobre asciinema en su documentación. Los frikazos hasta podéis hurgar en el código.

Espero que grabéis muchas cosas ahora 😀


  1. Tenéis una explicación mejor sobre los códigos de escape en el capítulo 13 – Customizing The Prompt de The Linux command line 

Lo que he aprendido: organizándose en la terminal con Yokadi

El otro día el señor victorhck nos enseñaba en su blog una herramienta para crear listas de tareas directamente en la terminal pero ¡no nos decía cómo se utilizaba!

Así que aquí esta una servidora, friki de la terminal y de las listas, jugando con el cacharro y mostrándolo aquí. Espero que os sea útil 🙂


Tal y como dice en su README

Yokadi es una herramienta basada en SQLite que sirve para crear listas de tareas desde la terminal.

¡Interesante!

Como la versión de los repositorios era vieja, lo instalé Yokadi con pip3 (es necesario Python 3):

pip3 install yokadi

Al ejecutarlo aparecerá un command prompt para que escribamos cosas:

ondiz@slimbook101:~$ yokadi
yokadi>

Ahora crearemos un proyecto que a su vez tendrá dentro tareas. Cada tarea tiene que tener un nombre y opcionalmente se le pueden añadir una descripción, unas palabras clave, una fecha y un nivel de urgencia.

La sintaxis para crear una tarea dentro de un proyecto es la siguiente

yokadi > t_add Proyecto Tarea

Por ejemplo:

yokadi> t_add Domination Rule the world
Project 'Domination' does not exist, create it (y/n)? y
Added project 'Domination'
Added task 'Rule the world' (id=1)

Podemos ver los proyectos y sus respectivas tareas con t_list:

yokadi> t_list
                Domination               
ID│Title         │U  │S│Age     │Due date
──┼──────────────┼───┼─┼────────┼────────
1 │Rule the world│0  │N│0m      │           

Esta tabla nos dice la urgencia de la tarea (U), si está hecha o no (N: not done, D: done), hace cuánto que la creamos y para la fecha en la debe estar terminada.

El numerito que tiene cada tarea a la izquierda nos sirve para acceder a ella. Por ejemplo, para marcarla cuando ya la hayamos terminado haríamos:

yokadi> t_mark_done 1
Task 'Rule the world' marked as done

También podemos añadirle una fecha, tanto relativa como global, con t_due:

yokadi> t_due 1 +3d # para dentro de 3 días
yokadi> t_due 1 15/01 9:00 # con fecha y hora

Si hacemos t_list ahora nos pondrá el tiempo que queda hasta la fecha límite:

yokadi> t_list --all
                Domination               
ID│Title         │U  │S│Age     │Due date
──┼──────────────┼───┼─┼────────┼────────
1 │Rule the world│0  │N│14m     │3d 

Podemos modificar añadirle más información a la tarea en t_describe, que nos abrirá el editor que tengamos asignado en la variable $EDITOR o, si no, vi. La descripción que hemos escrito así la podemos ver con t_show en el apartado Keywords.

Os he grabado un cast con asciinema a sugerencia de victorhck, haciendo más o menos lo que os cuento pero digamos que con un toque friki (es la primera vez que grabo y parezco monguer):

Poca cosa más, a partir de ahí todo es jugar y leer la docu. Ya me diréis 😀

Referencias

Docu de Yokadi