El punto

Detrás de la mirada de fuego, esa perpleja que no dejaba ni un segundo de posarse sobre el cristal, había un agujero de gusano, un portal interdimensional que recorría ida y vuelta todo el universo en solo un pestañeo. Detrás de ese punto firme y preciso yo me veía representado.

Es extraño que lo diga ahora porque no tiene el menor sentido. Recuerdo cuándo pasaba horas pensando en adentrarme en ese cosmos y extenderme como en ningún otro sitio podría. Largamente contemplé en mi mente esa sensación única y conocida. No había estado allí, ciertamente no, pero de algún modo conocía la sensación, el clima, los olores, el espacio, sabía como moverme y donde encontrarme. Es un inútil sinsentido porque es imposible y aunque conscientemente puedo reconocerlo mi mente sigue creyéndolo como algo real como un lugar físico como una plaza o un museo. Algo es porque es no porque yo sienta o crea que es. Ese lugar no es aunque creo que es. Sé que no es, no existe, lo estoy creando en este instante como un mecanismo de escape. Es gracioso los lugares a donde uno puede escaparse cuándo siente la necesidad, eso dice mucho de lo que nos sucede. Un imaginario cosmos detrás de un ojo inerte que contempla un cristal barato no suena o no sonaría, en principio, como un lugar placentero. Tal vez una persona normal escaparía a una playa, arenas blancas bañadas por ocasionales olas de mar cristalino, seguramente en el caribe o cualquier lugar en esas latitudes, da igual. El punto es que eso está en el imaginario del hombre normal, un sitio ampliamente considerado como un “paraíso”, un lugar para descansar y relajarse, desprenderse de las ocupaciones, de la vida moderna, de los monstruos, de los deseos oscuros, un lugar distinto al sonido rítmico de lo rutinario, lo industrial, lo procesado. No es lo que se me ocurrió o lo que pensé cuándo vi el ojo que fijamente analizaba el cristal. Lo que imaginé era mucho más, demasiado para cualquiera, un escape para mi.

Otra vez desvarío, otra vez me encuentro en el dilema de las palabras y lo extenuante del tiempo. Necesito pensar y elaborar y el tiempo insiste en avanzar y el dios negro en hacerme consciente de él, ¿con que sentido? El tiempo avanza y no lo puedo recuperar, lo sé, no es necesario que tenga que ser consciente de ello a cada uno de sus pasos, elaborar lleva tiempo y un cosmos ciertamente que lleva tiempo y no tengo. Me doy cuenta que no tengo tiempo, ni un instante. Avanza y estoy pero no es mío. Es inútil.

Yo vi que el ojo miraba un punto en un cristal rajado, que goteaba, un cristal sucio pero que no importaba, adentro el cosmos y las posibilidades infinitas y eso sí que importa. Lo inmenso puede ser agobiante para cualquiera, pero no para mí. He llegado a la conclusión de que en lo inmenso soy quién realmente debería haber sido sino fuera por esas elecciones. No me quitaron quién soy pero lo mantienen encerrado y sólo en noches como esta puedo salir y ser libre, volar y ser libre.

Mañana dirán que no pude o que no quise y que huí. Que manga de imbéciles. No saben de lo que soy capaz, solo yo sé que puedo hacer un mundo e iluminarlo. Podría describir cada grano de arena de cada montaña de cada planeta y astro de cada galaxia de mi cosmos con sólo contemplarlo en el reflejo de un vaso rajado. Un vaso rajado, que estupidez. El licor asoma muy lentamente por la grieta visible. Creo que fui yo quién le dijo que no lo tocara, no sé porqué lo hizo, cuándo estoy trabajando no deberían molestarme y ella lo sabía. Ahora la grieta no estaría, el licor no se derramaría y ella aún pestañaría. Debería subir e intentar repararla, lo resolveré cuándo llegue al suelo. Cuándo llegue al…

Abominación

“You love the game…”

“Nasty scars…”

“Pretty lies…”

“It’s gonna be forever…”

“Cause you know I love the players and you love the game…”

Dentro del barro un monstruo adormecido lucha por salir. Entre toda la mugre es difícil distinguir una cosa de la otra; desde la orilla todo es lo mismo, podría ser útil o inservible, da igual. Los brazos, esas cosas estériles apenas aferradas a lo que podría llamarse torso, se mueven torpemente removiendo escombros, basura y restos de un lado al otro. Por supuesto la tarea es inútil. Mientras un brazo empuja tinta y tiras para un lado, crujidos y sonidos que nunca serán caen desde el otro lado. Litros y litros de pintura chorrean por las paredes arrastrando restos humanos, teléfonos celulares, muebles y sueños demacrados. En un mundo detestable el monstruo es un habitante más. Pero si esto no fuera detestable y fuera simplemente el mundo que conocemos entonces el monstruo no sería una abominación que intenta abrirse paso, sería tal vez a quién reconoceríamos como una persona a ser salvada. No puedo distinguirlo en este momento, no sé que es este mundo ni que soy yo. Es posible que si esto me resulta nauseabundo entonces yo lo sea menos, pero también es posible que me vea reflejado. Esto podría ser yo o parte de mi o incluso un anhelo o una emoción que no puedo o no quiero reconocer. A veces lo aterrador es monstruoso y si mis miedos tuvieran una forma física seguramente enfrentarme cara a cara con esa realidad sería nauseabundo o incluso intolerable. ¿Y si eso que intenta salir es lo que temo? No sé si enfrentarlo, eliminarlo o entenderlo. Y es esto último lo que más temor me da y a la vez mayores certezas.

Comienzo a ver la abominación asomar, la reconozco como parte de mi y le temo. Pero ya la he visto. Ella sabe que yo sé. A partir de ahora ya nada será lo mismo. Ya nada debería ser lo mismo.

Pixel art en Photoshop

Para realizar cómodamente pixel art en Photoshop es conveniente realizar una serie de seteos previos.

  1. En Edición => Preferencias => Guías, cuadros y sectores debemos establecer la “Línea de cuadrícula” cada 1 pixel y las “Subdivisiones” también en 1.  En cuánto al color yo prefiero usar Gris Claro, pero queda a criterio personal.
  2. Obviamente, luego indicar Vista => Mostrar => Cuadrícula, de forma tal de poder ver realmente la cuadrícula.
  3. Desmarcar Vista => Ajustar. De no hacer esto parecerá que el puntero dibuja desde la esquina inferior derecha en lugar desde el centro y es algo muy molesto y poco natural.
  4. Establecer lapiz y goma en un pixel de grosor y 100% de dureza. Además, la goma debe estar en modo lápiz para no borrar los pixeles gradualmente sino en forma total.

 

Algunas notas útiles sobre linux

Crear archivos de cierto tamaño para pruebas

Me ha surgido la necesidad de crear archivos de cierto tamaño, simplemente para probar transferencias u otras cuestiones. La forma de crear dicho archivo es, simplemente, con el siguiente comando:

En este caso creará un archivo prueba.out de 1 mega con ceros. Es posible utilizar como origen /dev/random, por ejemplo, sin embargo demora más (/dev/random es un archivo que actúa como generador de números aleatorios).

Servicios en Ubuntu >= 15.04

systemctl es el comando para gestionar los servicios, en particular:

 

Algunas notas útiles sobre python

Configuración de Vim. Un guía útil aquí. Básicamente, agregar a ~/.vimrc:

Comunidad Argentina. Si sos de argentina y no estás suscripto a esta lista debe ser porque aún no usás python… ¡que estas esperando!

Desarrollo de videojuegos

PyGame. http://www.pygame.org/

Pilas Engine. http://pilas-engine.com.ar/

Kivy. https://kivy.org/

 

(más notas se agregarán… en algún momento del viaje)

Entornos virtuales con virtualenv

Los entornos virtuales nos permiten mantener un entorno aislado del sistema operativo en el que trabajaremos con versiones específicas de python y otras librerías que usemos. Así podemos tener un proyecto usando python2.7 con unas determinas librerías y otro con python3.4 usando las mismas librerías en otras versiones y otro con python3.5 y con las mismas librerías pero en versiones posteriores. Cada proyecto mantendrá sus dependencias en las versiones que sabemos que funcionan y nos permitirán trabajar en cada proyecto con tranquilidad.

Para trabajar con entornos virtuales, haremos lo siguiente:

1. Crear el entorno virtual:

  • Con el parámetro -p indicamos la ruta al ejecutable de python a utilizar en el entorno virtual (y que dentro de él referenciaremos únicamente como python). Podemos indicar la ruta manualmente o de la manera mostrada (el comando which devuelve la ubicación del archivo pasado como parámetro).
  • .venv es el directorio destino dentro del cual se almacenarán todas las librerías y otras yerbas utilizadas en el entorno. El punto es simplemente para que esta ruta sea oculta.

2. Activar el entorno virtual:

activate activa el entorno virtual. source (o el comando “.” punto) es un comando de bash que ejecuta el script en el contexto del shell actual (las variables creadas por el script se mantienen y las modificaciones en variables también), si no se usa este comando los scripts se ejecutan en el contexto de un subshell.

3. Desactivar el entorno virtual luego de trabajar con el proyecto:

 

Como nota adicional, es posible conocer todas las dependencias instaladas en el entorno virtual haciendo: pip freeze > requirements.txt (lo último es simplemente para mantener esa lista en un archivo).

Luego podríamos crear otro entorno virtual idéntico haciendo:

 

Linux Ubuntu 16.10 setup y notas generales

El siguiente post es más bien un ayuda memoria para mí, pero podría serle útil a otras personas.

Habilitar aceleración por hardware en VMWare. Se debe agregar la siguiente línea en ~/.vmware/preferences:

Instalación de Java. Es conveniente utilizar open java, que se encuentra en los respositorios estándar:

Cambiar permisos de archivos y carpetas. Sobre todo si estamos trabajando con árboles de archivos provenientes de otros S.O. esto es muy útil:

Agregar fuentes de paquetes a la lista. En internet se puede encontrar unas líneas como las siguientes:

Esto funciona en sistemas como debian, pero en Ubuntu se usa sudo. La forma de adaptar esto es la siguiente:

El comando tee lee de la entrada estándar y escribe en la salida estándar, con la salvedad que indicamos el argumento –append para que no cree un archivo nuevo sino que agregue la línea al archivo existente.

Google Drive: Grive. (Fuente) Para instalar la herramienta:

Para su uso:

Este comando generará un enlace único en la terminal que podrás presionar y que se abrirá en tu navegador por defecto. Se abrirá una página web con un código de 40 dígitos que tendrás que copiar y pegar en la terminal. Después de introducirlo, Grive empezará a subir a la nube los documentos que se contengan en la localización a la que navegaste antes desde la terminal. Esto creará los directorios con la misma estructura que tienen en tu disco duro.

De ahí en más para sincronizar haremos desde la misma carpeta:

FL Studio. En mi caso tengo una licencia de FL Studio. Instalo el mismo con PlayOnLinux (que lo instalo desde los respositorios de Ubuntu) y utilizo la versión más reciente de Wine. Luego de instalar FL Studio agrego Core Fonts, DXFullSetup y WineAsio. Sin embargo al ejecutar la aplicación no aparecen las fonts de menús y otras. El truco para resolver este problema es conseguir Arial.ttf y copiarlo en drive_c, específicamente en la carpeta windows/fonts.

PostgreSQL y pgAdmin3. Luego de la instalación podemos hacer:

De esta manera podremos conectarnos fácilmente al servidor usando como usuario y password postgres.

Visualizar logs. Es muy útil tener una consola disponible con el estado real de ciertos logs cuándo trabajamos con sistemas complejos y en etapas de desarrollo. El siguiente comando nos provee de esa ventaja:

Skype. La forma más sencilla de instalar skype es utilizar el administrador de paquetes Synaptic. Pasar por el menú Configuración -> Respositorios, ir a la solapa “Otro software” y marcar “Socios de Canonical”. Luego de que la lista de paquetes se actualice estará Skype disponible para su instalación.

Mouse titilante y ¿desaparece?. No había tenido este problema en otras versiones de Ubuntu. El problema simplemente se soluciona deshabilitando un segundo monitor indicado como desconocido. Ir a Opciones del sistema -> Monitores y deshabilitar el indicado como “Unknown Monitor”:

Programas interesantes. Varios programas nos harán la vida más sencilla y, dependiendo de nuestro workflow diario, optimizaremos el trabajo (a no ser que se diga lo contrario, todos se encuentran en los repositorios de Ubuntu/Debian):

  • Shutter – Esta aplicación permite hacer capturas de pantalla por área, pantalla, etc., y además permite editar las capturas, agregar flechas, marcos. Muy útil.
  • Play On Linux – Un gestor de Wine que es simplemente sorprendente.
  • Bumblebee – “The Bumblebee Project proudly presents version 3.2.1 of Bumblebee, a project aiming to support NVIDIA Optimus technology under Linux.”. En mi caso, este proyecto me permitió utilizar en mi Asus N53S la placa onboard en lugar de la NVidia todo el tiempo (que aumenta la temperatura notablemente).
  • TLP – Es una aplicación para gestión de energía. Entre otras cosas tlp-stat permite ver varios indicadores del sistema (por ejemplo tlp-stat -t nos muestra la temperatura de la CPU)

Instalar Cinnamon. Si bien Ubuntu es una excelente distribución linux, el administrador de escritorio Unity es, realmente, horrible, incómodo y poco personalizable. Para aquellos que quieran algo de mejor calidad, una excelente alternativa es Cinnamon. Para instalarlo, simplemente:

Remmina. Cuándo el trabajo involucra tener una conexión a escritorios remotos de Windows, Remmina llega al rescate. El problema es que en Ubuntu 6.10 viene por defecto la versión 1.1.2 que es muy buena, pero encontré un problema que me molesta bastante y es que el copy&paste del remoto al local no siempre funciona. La solución es simple: utilizar la versión más reciente (al momento de escribir esto es la 1.2). Para ello simplemente seguimos las instrucciones indicadas aquí, que básicamente se reducen a: