Actualización del código para extraer las fuentes de Google Fonts

No, no tiene mucho que ver con que Google haya mudado el repositorio de las fuentes a Github, pero me recordó que el script para extraer los .ttf lo tenía bastante olvidado. Así que lo he mejorado un poquillo y lo he convertido a Python 3. No debería daros muchos problemas para ejecutarlo.

webfonts2Lo primero que os pedirá es que le metáis una ruta del repositorio, es decir, primero necesitáis descargaros el repositorio de Github

git clone https://github.com/google/fonts.git

y después ejecutar el script*. Esta nueva versión permite extraerlo directamente a la carpeta .fonts/, para así tener todas las fuentes disponibles nada más arrancar un programa.

Para descargar el script: Lo tenéis como Gist o como archivo

* Si os diera fallo al ejecutar, es posible que no tenga permisos de ejecución. Para dárselos: o bien botón derecho->propiedades->permisos->permisos de ejecución o bien:

$ chmod +x extractttf3.py
./extractttf3.py

para darle permisos de ejecución y ejecutarlo directamente

Espero que lo disfrutéis 😉

Cómo cargarte tu propio sistema

Seguro que todos hemos visto de alguna u otra manera un pantallazo azul en Windows, por la razón que sea. Sin embargo, en Linux, en vez de pantallazos azules, nos podemos encontrar de vez en cuando un Kernel Panic. Esta situación es probable que se de cuando hay un fallo de hardware irrecuperable, entre otras situaciones.

Pero no, para provocar uno de estos bonitos mensajes no vamos a necesitar romper el hardware de nuestro ordenador. Simplemente vamos a decir al proceso Init (systemd) que se muera. Bueno, en realidad, le decimos que aborte su ejecución, mandándole la señal 6.

¡ATENCIÓN!² ¡Probad los comandos que vienen a continuación puede provocar un fallo grave en el sistema, pruébalos bajo tu propia responsabilidad, y sabiendo lo que haces*!

Hay varias formas de hacerlo, puedes simplemente con el comando kill, o haciendo uso del servicio kill a través de C:

Versión Bash:

kill -6 1

Versión C (empotrado en un sólo comando bash):

echo “int main(){kill(1,6);}” > a.c && gcc a.c && ./a.out

Pero, ¿y si lo que queremos es realmente reinventar el típico comando “rm -rf /”?

A continuación, cómo sobreescribir tu disco duro con datos completamente aleatorios. NOTA²: no es recomendable ni que pruebes a hacerlo, y siempre bajo tu propia responsabilidad.

dd if=/dev/urandom of=/dev/sda

Te deseo mucha suerte si realmente necesitas recuperar algún dato en claro después de ejecutar este comando…

* Es recomendable leer en todo momento el manual de Unix (con el comando man).
² Nota: para esperar el efecto deseado de quedarse sin sistema, es necesario correr los comandos como root. He quitado intencionadamente el “sudo”. El objetivo de esta entrada es meramente educativa. Si realmente quieres probarlo, que sea porque sabes lo que estás haciendo. No me hago responsable de ningún efecto causado por el uso de estos comandos.

Linux 4.0: Hurr durr I’m a sheep

No suelo escribir un post sobre nuevos desarrollos o nuevas versiones, pero hoy voy a hacer una excepción, no sólo porque se anuncia Linux 4.0, sino por la peculiar forma de cómo se hace.

Linus Torvalds sacó hace algunos días una encuesta a través de Google+, y ayer anunció que daba por concluida la encuesta.

pollLinux4Lo que me resulta curioso es que la nota la da en un commit en Git sobre el archivo Makefile de Linux (que se encarga de compilar el kernel completo). Y no sólo eso, el nombre de la versión lo ha titulado de forma algo extraña…

commitLinux4Esto es porque justo antes de la encuesta sobre la numeración del kernel lanzó otra encuesta para probar, en la que aparecían las opciones I like online polls y Hurr durr I’m a sheep. A pesar de que se explicitaba que la ignorásemos, mucha gente no lo hizo.

pollsheepLinux4Y bueno, ya para concluir, entre las mejoras más destacadas aparece la de poder aplicar parches al kernel sin necesidad de reiniciar el sistema. Esto puede parecer algo sin importancia, pero sin duda, para los administradores de sistemas es un gran paso el poder actualizar el kernel (mejoras de seguridad, por ejemplo) sin necesidad de reiniciar el servidor, por los problemas que esto puede evitar.

Ver:  git.kernel.org | Google+ | MuyLinux | Lista de nombres de versiones Linux (en.wikipedia.org)

VirtualBox: Hacer que tu máquina virtual parezca un ordenador más en tu red local

Cuando quieres desarrollar una aplicación web no hay nada mejor que ir haciendo pruebas en una máquina virtual antes de tirarte a la piscina de adquirir una máquina remota y montar tu máquina allí.

VirtualBox ofrece una muy buena forma de realizar esta acción, aunque a veces nos puede costar un poco el acceso a la red, tanto para usar con ssh o cuando quieres ver el funcionamiento final en el servidor.

Yo lo he estado intentando con Django y Gunicorn y me he quebrado la cabeza buscando una solución. Al final encontré dos, una más sencilla que la otra. red natLa primera (un poco más complicada) es seguir usando NAT y “mapear” los puertos que queramos usar, de tal modo que podemos hacer que el anfitrión cuando pida el puerto 3022 virtualBox lo interprete como que la máquina invitado debe buscar el puerto 22. De esta forma podremos acceder a ssh en nuestra máquina haciendo

ssh -p 3022 user@127.0.0.1

adaptadorpuenrte
La otra opción que yo encuentro más sencilla es usar lo que se llama “Adaptador Puente”, que simplemente pide al router una dirección. Es decir, en mi caso, si hago en la máquina invitada “ifconfig” obtengo la ip 192.168.1.10 (asignada por mi router). De la forma anterior obtendría una ip de intranet (10.x.x.x). Así al final podríamos acceder a ssh con un

ssh user@192.168.1.10

Que queda mucho más natural.

Y si estás trabajando con algún servicio que publique una web, como nginx, apache o gunicorn (para python wgsi, django…) seguramente te haga falta bindear a una dirección. Yo por ejemplo he necesitado lanzar gunicorn con la opción “-b 192.168.1.10:8000″ para poder acceder desde mi ordenador normal.

Saludos 😉

Enlaces | Makai’s Blog | StackOverflow (1 y 2)

Crear carpetas de forma secuencial con Bash

Una forma muy rápida de crear carpetas con números consecutivos es usar la consola de bash, que nos ofrece formas de automatizar algunas cosas.

Por ejemplo, si lo que queremos es crear carpetas del tipo Tema 1, Tema 2, Tema 3… podemos hacerlo de forma muy sencilla:

mkdir ./Tema{1..5}

Saludos!

Configura Hosts en tu VPS

Supongamos que tenemos un VPS y un dominio/subdominio disponible y lo que queremos es que ese VPS pueda entender que dicho dominio es suyo. Esto no implica que no haya que configurar otros servicios (del tipo apache o demás), simplemente ayuda, y además viene bien para diferenciar las máquinas que tengas.

Los pasos a seguir son muy sencillos:

echo “nombreservidor” >  /etc/hostname
hostname -F /etc/hostname
nano /etc/hosts #Aquí añadimos “nombreservidor” y los dominos

De esa forma, la línea quedaría algo parecido a esto:

una.dir.ecc.ip nombreservidor midominio.es www.midominio.es sub.midominio.es www.sub.midominio.es;

Y posteriormente, salimos.

exit

Fuente (y artículo muy recomendado) | Incognitosis