El bolsillo de la colación: La @socalitybarbie y el carpe diem de cartón

Un tema que salió en dos semanas sucesivas en el The Clinic (ediciones 611 y 612, Jueves 10 y 17 de septiembre respectivamente [aunque la del 10 aparece como 3 en la portada, acabo de notarlo]) y que me llamó mucho la atención por afinidad es el de la selfie como emblema contemporáneo de la vanidad. En la primera edición que menciono, el tema se toca en una carta al director enviada por Patricio Antonio Olavarria titulada “Odio la Selfi”. En este artículo se hace una crítica a la selfie como una muestra de vanidad, de poca sinceridad con la realidad. En palabras del autor de la carta:

La selfi es la inmediatez, la captura de una fantasía absurda que no es otra cosa que ausencia de realismo y realidad.

Y luego sigue haciendo una comparación con la fotografía antigua. La reflexión se enfoca en una actitud distinta sobre la fotografía que refleja en parte la actitud de las distintas épocas.

Los antiguos retratos, que tampoco son exultantes de alegría y no por ello son la manifestación de viejos y amargados hombres y mujeres, hablan por qué no decirlo de una época en la que reír más bien era un gesto sincero, o absurdo pero nunca una pose. (…) Es sencillamente muy difícil encontrar en la pintura del siglo XIX a modelos simulando estar henchidos de alegría. Lo que hay, son miradas.

En la edición de la semana siguiente del The Clinic, en un artículo titulado #NOPIENSENQUESOYCOMUNYCORRIENTE por Constanza Michelson, artículo que tristemente no encontré en la versión online del Clinic para haberlo linkeado, se presenta a este personaje que traigo hoy: la Socality Barbie.

Esta cuenta viene a reflejar algo que hace tiempo aqueja a nuestra sociedad. Pero como toda muestra de estupidez, cuando se vuelve masiva, pasa a aceptarse implícitamente y a ser una parte de la cultura. Recuerdo cuando una vez, en un carrete con unos amigos, me fijé en unas tipas sentadas cerca que se empezaron a sacar fotos. No era la primera vez que lo pensaba, pero esa imagen se me marcó muy fuertemente. Las tipas sonreían de oreja a oreja, se acomodaban el pelo, buscaban el ángulo perfecto, tomaban la foto, guardaban su sonrisa, miraban la pantalla y notaban que no les gustó. Pum, vuelta al paso uno. ¿Dónde quedaba esa sonrisa grandota después de que se sacaban la foto?

En el artículo, se analiza la nueva evolución en el intento desesperado de mostrar el yo al resto. En algún momento de la historia, creo que reciente, asumimos que al resto le interesaba saber quién era yo. Y el que esté libre de pecado que lance la primera piedra, miren que uno que escribe un blog asumiendo que puede decir algo interesante no puede dar un paso al lado. Pero hay un punto en el que eso mismo en que eso es quizá una etapa de crecimiento y de validación personal, algo así como autoconocimiento púber (me río para mis adentros recordando cuando tenía un parche de Tronic en la mochila). A la vez esas cosas nos sirven de cierta forma para cohesionarnos en un grupo, como las chapitas de anime y para identificarnos mutuamente dentro de alguna subcultura. Pero hay un momento en que se cruza ese punto “sano” y la necesidad de validación personal se sale de control. Es cuando ya dejamos de necesitar decir “yo soy tal y tal cosa y pertenezco a tal y tal grupo” y pasamos a decir “yo soy esto, tan fabuloso, y soy distinto de todos ustedes, montón de criaturas aburridas” o caemos en el igualmente terrible “¡mírenme! ¡estoy feliz y mi vida es fabulosa! (igual no estoy tan satisfecho así como para disfrutarla callado/a, ¿así que me dejas un like?)”.

La Socality Barbie (a la que yo llamaba equivocadamente Sociality Barbie hasta hace un rato, antes de que Lineth, una amiga, me contara que un amigo de USA le explicaba que era Socality por @socality, un sitio de payasos hipsters cristianos con cámaras que cuestan veinte sueldos mínimos…) representa muy bien lo anterior. Me encanta la parodia que hace de toda esta versión decadente del Millenial (así como en el artículo anterior yo mostraba una arista más simpática) que anda dedicada a la prostitución de likes por Internet. Toda esta moda bien hipster de andando mostrando fotos de viajes, sonreír mirando a la cámara (o a algún punto en el vacío para hacernos los interesantes), mostrar los libros que andamos leyendo y ponerlos al lado de una taza de café, ya se está saliendo de control. Y como el humor muchas veces cumple un rol exquisitamente pedagógico, aquí llega una parodia que reúne todos estos elementos y se ríe de ellos, y a la vez nos muestra su vacío y su sinsentido. Y qué mejor que hacerlo con una Barbie hipster, mezcla entre el canon de lo plástico y el tipo que quiere ser distinto para no ser mainstream y termina siendo tan repetido que se convierte en lo que repudia: un lugar común.

Quiero citar un fragmento del artículo de Constanza Michelson porque simplemente me parece hermoso:

El enemigo lógico de la #vidaauténtica debiera ser lo que huela a simulación. Sin embargo, parece que a esta ideología no le importa tanto la tensión entre lo verdadero y lo falso, ya que asume con total descaro que una imagen ultra planificada, llena de filtros y a la espera de aprobación, está libre del polvo y la paja de la falsa conciencia. Lo auténtico, más bien, responde a una tensión entre lo exclusivo y lo masivo: mientras menos accedan a esos rincones del mundo donde nos refugiamos, más cerca estamos de lo genuino.

Es medio ridículo esto a lo que hemos llegado, y hablo en primera persona plural porque yo igual tengo una selfie ultrasensual de foto de perfil en Facebook (lo sé, me quedan bien los lentes, gracias, gracias), así que necesitamos burlarnos de eso para que no se vuelva demasiado serio. Riámonos de las ridiculeces de nuestra sociedad, a ver si en el futuro se convierten en uno de esos recuerdos que nos sonrojan como el peinado que nos hacíamos en el liceo creyendo que nos daba más estilo o de cualquier moda pasada. Y qué mejor que la @socalitybarbie para ayudarnos a reír de este mundo de necesidad de aprobación, saturado de palabras como “auténtico”, “orgánico”, “light” y un montón de hashtags que no hacen más que lanzar un grito silencioso en el que pedimos ser vistos y valorados por el resto.

Riámonos de la selfie y este carpe diem de cartón detrás del que se esconden días aburridos haciendo scroll en las redes sociales. Riámonos de la apariencia de interesantes y no nos preocupemos de lo que vaya a pensar el resto cuando nos ve (escribo mientras suena esta canción, comentario random). Salgamos feos en la foto y que no nos importe. Yo ya me río bastante de mis propias selfies como en este ejemplo en el que hasta la original parece la parodia de algo.

Para el que se quiera reir con la @socalitybarbie, que se de una vuelta por su cuenta de Instagram: https://instagram.com/socalitybarbie/

Como siempre, espero que hayan disfrutado leyendo y cualquier comentario será bien recibido.

El bolsillo de la colación: Charming Chilean Memes y las sopaipillas en inglés

Hace tiempo que vengo juntando las ganas para empezar a escribir una sección sobre cosas con las que me divierto en internet. Cómics, páginas de memes, cuentas de YouTube… Hay mucho contenido con el que paso buenos ratos y me pareció bonito el ir guardando esos “buenos lugares” de internet, para que quizás, a alguien que ande aburrido, le puedan servir.

El bolsillo de la colación

Quiero empezar haciendo un pequeño comentario sobre el nombre de esta nueva sección. Desde Kinder, y hasta ahora, que estoy en sexto año de Ingeniería Civil Informática, en mi casa compran colación para que llevemos por el día. La gente que me conoce de cerca sabe que en mi mochila hay un bolsillo mágico, como el de Doraemon, del que siempre sale comida. A veces quedan impresionados porque saco y saco comida y ofrezco y ofrezco cosas como Twistos, barritas de cereal, galletas… Además, en ese bolsillo se han guardado cosas random como un bigote postizo, una pokebola, entre otros. Por eso, el bolsillo de la colación es como aquel espacio mágico del que siempre salen cosas maravillosas. Espero que esta sección sea algo como eso, pero con comida de internet.

Dicho eso, empecemos con el primer artículo dedicado a la página de memes de Facebook “Charming Chilean Memes” [1].

Los millenials chilenos

El término millenial [2] se usa comúnmente para describir al tipo de persona “que vio el cambio de milenio”. Es una generación que creció en un ambiente de mayor prosperidad económica, que tiene una visión de mundo generalmente más amplia a la que tuvieron sus padres y una generación que se vio expuesta a la globalización. No sé si el millenial sea exactamente el término que busco, pero sirve como referencia para acercarme a lo que quiero llegar.

Un meme, en su definición estricta, es un elemento que se comunica de memoria-a-memoria (de ahí el nombre) [3]. Cuando hablamos de meme, nos referimos a elementos que se comunican entre individuos y se reparten por la población. De ahí se derivan los memes de internet que vienen a ser la aplicación digital del mismo concepto. Al final, aunque haya gente que no quiera aceptarlo, el meme viene a representar parte de la cultura, algo que se esparce entre las mentes de los individuos y que al final deja de pertenecer sólo a una persona y pasa a ser un elemento distintivo de la colectividad. Entonces, podríamos decir perfectamente que “el Guatón Loyola” es un meme chileno…

Cómo decir “sopaipilla” en inglés

Hablar de un “millenial chileno” es hacer una mezcla de estos dos conceptos. Primero, tenemos la emergencia de un sujeto que está más abierto al mundo, que vive conectado con la globalidad. Este sujeto que vive conectado “hacia afuera” también vive dentro del segundo concepto: “los memes chilenos”. El millenial chileno vive dentro de todas esas cosas que sólo entendemos en Chile: las sopaipillas con mostaza, la resistencia ante los desastres naturales, el humor frente a los desastres políticos…

Este individuo vive en un punto intermedio en la sociedad. Está en una generación que vive conectada con lo de afuera, con memes que se esparcen por todo el mundo, con el inglés como un idioma que se mete por todas las rendijas de la cultura, y a la vez está conectada con su propio país, con sus tradiciones y sus elementos característicos. Es una generación que vive entre dos tensiones, con chistes que no pueden contarle a sus papás porque simplemente no los entienden o no les hacen gracia. Aquí es donde Charming Chilean Memes adquiere relevancia.

Charming Chilean Memes es una página de Facebook que grafica perfectamente a este sujeto intermedio. Son imágenes llenas de elementos propios de la cultura chilena, pero tratados en inglés. Como le decía a mi hermano mientras teníamos una reflexión muy random sobre este fenómeno: el millenial chileno es el que se pregunta cómo decir sopaipilla en inglés. Esta página de Facebook es relevante porque es un retrato de un chileno que está con un pie adentro y otro pie afuera del país y siente esa tensión de esa mezcla cultural. De esa misma tensión nace este humor de frontera, así como una forma de construcción de identidad de este chileno intermedio: global y autóctono.

When you realize that 27F was an inside job…

No recuerdo cómo llegué a esa página, pero no me arrepiento, porque me ha sacado lágrimas de risa. Además, me sirvió como punto de partida para esta reflexión cultural sobre nuestra generación. Y parece que cada vez van apareciendo más evidencias de esta cultura de frontera o millenials chilenos, como los llamo a falta de una mejor expresión. Ejemplos de páginas que he encontrado del mismo estilo son “BKN screenshots without context” [4], que también me encanta, y la que encontré el otro día: “The same photo of porotos everyday” [5], en la que publican todos los días la misma foto de un plato de porotos with riendas.

Espero que les haya gustado el artículo y la sección nueva. También espero que si no conocían las páginas que mencioné, les saquen ojalá tantas risas como a mí. Si conocen alguna otra página de este mismo estilo, pueden dejarla en los comentarios🙂

EDIT: Me estaba lavando los dientes y se me acaba de ocurrir que “chilenials” puede ser un buen término para referirse a lo de arriba. Eso.

Referencias

  1. Charming Chilean Memes en Facebook -> https://www.facebook.com/chchmemes
  2. Millennials: la generación malcriada que quiere cambiar al mundo -> http://www.abc.es/20121103/sociedad/abci-millennials-generacion-201211021603.html
  3. Meme en Wikipedia -> https://es.wikipedia.org/wiki/Meme
  4. BKN screenshots without context -> https://www.facebook.com/BKNscreenshots
  5. The same picture of porotos everyday -> https://www.facebook.com/porotitosricos

Haciendo programas con opciones de consola con C++ y Boost

Cuando uno ya lleva unos años programando y se pone a ver sus códigos viejos generalmente piensa “joder, qué ***** más fea”. Mientras vamos adquiriendo más experiencia y vamos participando en proyectos más complejos, se nos va haciendo necesario el programar “como se debe”. Una de las cosas importantes al programar bien es hacer programas que sean fácil de ejecutar y que puedan configurarse mediante varias opciones sin tener que compilarse de nuevo. La idea es conseguir algo así:

programa --opción1 valor1 --opción2 valor2

Para eso, cuando trabajamos en C o C++ tenemos las variables argc y argv que contienen la cantidad de argumentos de consola y los argumentos mismos respectivamente. Con eso podríamos programar una recepción de argumentos usando esas dos variables. Pero, con tantos años que llevamos programando… ¿no se le habrá ocurrido a alguien una forma estándar de hacer eso mismo para no andar reinventando la rueda?

Boost

Boost es un conjunto de bibliotecas para C++ que abordan una cantidad inmensa de áreas, desde álgebra lineal hasta expresiones regulares, pasando por procesamiento de imágenes y multithreading [1][2]. No voy a entrar en detalles de todo lo que puede hacer Boost, ya que no lo sé y estaría vacuneando [3] si les inventara. Me voy a enfocar en este asunto particular de hacer un programa con opciones usando un módulo de Boost.

Primero hay que instalar Boost. Para eso, lo más sencillo es instalarlo como un paquete de consola. En Fedora, es llegar y correr lo siguiente:

sudo yum install boost-devel

De Boost nos interesa usar el módulo Program Options, que nos deja, valga la redun-dun-dancia, añadirle opciones a nuestros programas.

A codear

Para incluir el módulo en nuestro programa de C++, escribimos:

#include <boost/program_options.hpp>

Y declaramos nuestro espacio de nombres en una variable, para que sea más fácil de localizar:

namespace po = boost::program_options;

Ya dentro del código, generamos un objeto de tipo options_description, que guardará la información de nuestras opciones, los valores que reciben y sus descripciones.

po::options_description desc("Nuestras fabulosas opciones de programa");

Luego, con add_options vamos registrando las opciones que se van a ejecutar. Cada nombre de la opción luego será llamable en la consola de la forma –nombre. Para este ejemplo usaremos una instrucción –help que mostrará los comandos, otra instrucción –name que recibirá un nombre como string y una instrucción –age que recibirá un entero, para ejemplificar los tipos de datos.

desc.add_options()
    ("help", "Imprime este mensaje de ayuda.")
    ("name", po::value<string>(), "Un nombre como string.")
    ("age", po::value<int>(), "Una edad como entero.");

Cuando leamos las instrucciones de consola, se generará un objeto variables_map que consistirá en pares clave–>valor. Con store guardamos lo que se lee desde consola mediante parse_command_line usando la descripción en el mapa de variables. En caso de que tengamos una función que se desencadene ante la presencia de una cierta opción, usamos notify para ejecutarla.

po::variables_map vm;
po::store(po::parse_command_line(argc, argv, desc), vm);
po::notify(vm);

Para verificar si una opción fue ingresada (y posiblemente, acceder a su valor si es que tiene) usamos la instrucción count con el nombre que le asignamos a la opción. Por ejemplo, para ver si se ingresó la opción –help y mostrar el mensaje de descripción de las opciones, usamos lo siguiente:

if vm.count("help")
    cout << desc << endl;

Si recibimos algún valor junto a las opciones, llamamos al mapa de variables mediante el nombre de la opción y especificamos el tipo de variable que esperamos recibir. Por ejemplo, para recibir el nombre sería algo como:

cout << vm["name"].as<string>() << endl;

Ahora, para juntar todo, aquí hay un código que recibe la instrucción –help para mostrar la lista de opciones, o las opciones –name o –age para leer una string o un int respectivamente:

#include <string>
#include <iostream>
#include <boost/program_options.hpp>

using namespace std;
namespace po = boost::program_options;

int main( int argc, char** argv )	{
  po::options_description desc("Nuestras fabulosas opciones de programa");

  desc.add_options()
    ("help", "Imprime este mensaje de ayuda.")
    ("name", po::value<string>(), "Un nombre como string.")
    ("age", po::value<int>(), "Una edad como entero.");

  po::variables_map vm;
  po::store(po::parse_command_line(argc, argv, desc), vm);
  po::notify(vm);

  if(vm.count("help"))
    cout << desc << endl;
  else{
    if(vm.count("name")){
      cout << "Nombre ingresado: " << vm["name"].as<string>() << endl;
    }
    if(vm.count("age")){
      cout << "Edad ingresada: " << vm["age"].as<int>() << endl;
    }
  }
}

Compilé el programa como “test” y al correrlo con distintas opciones obtuve los siguientes resultados:

[bruno@marelle build]$ ./test --help
Nuestras fabulosas opciones de programa:
  --help                Imprime este mensaje de ayuda.
  --name arg            Un nombre como string.
  --age arg             Una edad como entero.

[bruno@marelle build]$ ./test --name Brunaldo
Nombre ingresado: Brunaldo
[bruno@marelle build]$ ./test --name Brunaldo --age 23
Nombre ingresado: Brunaldo
Edad ingresada: 23
[bruno@marelle build]$ ./test --age 23
Edad ingresada: 23

Este es un código bastante simple. Si quieren agregar más detalles, como bloques try/catch, pueden ver el tutorial oficial en [4]. (Eso suena coqueto)

Para compilar

Para compilar el código anterior, hay que linkear el módulo que usamos de Boost. Para eso usan la opción -lboost_program_options con su compilador regalón.

c++ ../src/test.cpp -lboost_program_options

Si les gusta compilar con CMake, pueden agregar lo siguiente a su archivo CMakeLists.txt:

include_directories(${Boost_INCLUDE_DIR})
find_package(
    Boost 1.40
    COMPONENTS
	program_options
    REQUIRED)
add_executable(
    test
    src/test.cpp)
target_link_libraries(
    test
    ${Boost_LIBRARIES})

En vez de ${Boost_LIBRARIES} pueden usar ${Boost_PROGRAM_OPTIONS_LIBRARY} para linkear este módulo en específico, pero así se aseguran de poder linkear cualquier otro módulo de Boost que le vayan a agregar a su programa.

Hasta aquí llega el tutorial. Ahora, a programar, carajo.

Referencias

  1. Boost en Wikipedia: https://en.wikipedia.org/wiki/Boost_%28C%2B%2B_libraries%29
  2. Sitio de Boost: http://www.boost.org/
  3. Vacuna: http://www.mainframe.cl/diccionario/diccionario.php?palabra=vacuna&accion=Buscar
  4. Tutorial oficial de boost::program_options: http://theboostcpplibraries.com/boost.program_options
"Japan", Mariusz Kluzniak, Algunos derechos reservados

Empezando a aprender japonés

"Japan", Mariusz Kluzniak, Algunos derechos reservados
“Japan”, Mariusz Kluzniak, Algunos derechos reservados

Allá por los años del liceo (por lo bajo, hace más de seis años) tuve ganas de comenzar a aprender japonés. Por años me ha gustado la animación japonesa y la cultura japonesa clásica (la de samurais, grandes campos y caligrafía con pincel, no esa que vende almohadas con forma de abrazo) y quise aprender el idioma, pese a lo desafiante que parece.

Aprender una lengua asiática, en un primer vistazo, puede parecer una cosa tremendamente intimidante principalmente por la forma diferente de escritura. Aprender lenguas occidentales se ve como algo mucho más atractivo porque usamos las mismas letras y las gramáticas son similares. Pero cuando uno cruza esa barrera y empieza a aprender el idioma, se da cuenta de que no es algo inalcanzable (por algo ellos mismos lo usan) y empieza a ver la belleza detrás del asunto.

Aclaro algo: no sé japonés. Estudié durante un tiempo la gramática del idioma y me aprendí como 100 kanjis, pero la ausencia de personas con las que practicar y la misma procrastinación personal me dejaron con esa aventura a medias. Ahora me decidí a retomarla. No sé si llegue al nivel de poder usar el idioma, pero por lo menos será un ejercicio mental provechoso. Ahora comento algunas referencias que estoy tomando como punto de partida.

Gramática

Captura de pantalla de 2015-08-16 16:21:11 La gramática japonesa es muy distinta de las gramáticas occidentales, aunque no por eso más difícil. Implica el aprender a ordenar las ideas de una forma distinta y quizás a entender más información dependiendo del contexto. Mi punto de partida, cuando por primera vez me acerqué al japonés fue un libro que creo haber encontrado buscando en el Ares (sí, soy de esa época y de esa generación que descargaba las canciones de a una). El libro se titula “Nociones básicas sobre el idioma japonés” y fue escrito por Juan Manuel Cardona Granada, de la Universidad Nacional de Colombia, con el fin de tener una guía de referencia en español sobre el idioma. Fue con el libro que partí y del que aprendí la estructura de la gramática japonesa. Además es el libro que volveré a leer para empezar de nuevo a aprender. Lo recomiendo mucho, ya que es muy claro en sus explicaciones y además es libre de descarga.

Pueden encontrarlo aquí: http://www.etnassoft.com/biblioteca/nociones-basicas-sobre-el-idioma-japones/

Diccionario

Para aprender un nuevo idioma hacen falta diccionarios. Sin un buen diccionario, basta cualquier palabra desconocida para espantarnos y hacernos huir de vuelta a nuestra cueva. Como es difícil conseguir un diccionario de japonés en papel, lo más cómodo es tener uno en digital. Para eso yo instalé (en Linux) Kiten, un diccionario japonés-inglés, inglés-japonés, (algo en español es difícil de encontrar) que es muy cómodo de usar y se puede instalar directamente desde el gestor de software del sistema (la aplicación es completamente libre).

Captura de pantalla de 2015-08-16 15:55:14Kiten nos permite encontrar definiciones en japonés de palabras escritas en inglés, o definiciones de palabras escritas en japonés (un poco más abajo sobre la escritura) en inglés. Además tiene un buscador muy completo de Kanjis organizado por niveles y cantidad de trazos. También tiene un buscador por radicales (pequeñas partes de un Kanji) que es ideal para quien aprende de libros como “Remembering the Kanji”.

Escritura

Otra cosa importante es el cómo escribir en japonés. Escribir a lápiz es una cosa de práctica y disciplina, pero escribir en el computador requiere herramientas adicionales.

Cuando tenemos un teclado basado en letras latinas, necesitamos una aplicación especial que nos deje escribir de manera asistida en un idioma con caracteres distintos. Este tipo de programas se llaman IME, por Input Method Editor. En Linux existe la posibilidad de habilitar la entrada de texto en japonés fácilmente yendo a las configuraciones de Región e Idioma. Aquí podemos añadir en Fuente de Entrada, cliqueando en el “+”, la compatibilidad con el japonés. Al seleccionar Japonés saldrá una lista con varias opciones; la opción que uso yo es Kana Kanji.

Captura de pantalla de 2015-08-16 16:48:44Esto habilitará la opción para seleccionar el tipo de entrada que queremos al escribir. Cuando activamos Japonés (Kana Kanji), al escribir las vocales, irán apareciendo sus equivalentes en Hiragana, y mientras escribimos, se irán convirtiendo en sílabas e ideogramas cuando corresponda.

Captura de pantalla de 2015-08-16 16:53:17Cuando exista más de una posibilidad de escritura de lo que hemos tipeado, podemos presionar Abajo y se mostrará la lista de las alternativas. Presionamos Enter y seguimos escribiendo.

Captura de pantalla de 2015-08-16 16:57:19Además de escribir japonés en el computador, quizás nos gustaría escribir japonés en el teléfono. Para eso, podemos instalar el teclado estándar de japonés para Android que nos sirve en cualquier aplicación de texto: https://play.google.com/store/apps/details?id=com.google.android.inputmethod.japanese

Al momento de escribir en cualquier aplicación, plegamos el menú de arriba y en la opción “Seleccionar método de entrada” cambiamos nuestra aplicación estándar por “Japanese – Entrada de japonés de Google” y nuestro teclado cambiará a este, organizado por grupos de sílabas. Para escribir una sílaba, basta tocar un botón y arrastrar en dirección de la variante particular (Por ejemplo, para escribir き(KI), presiono en か(KA) y arrastro hacia la izquierda. Para escribir か, presiono y suelto.) Acá hay un par de capturas del teclado para Android:

teclado teclado-japonésAprender a escribir Kanji

Aprender a escribir Kanji es una de las partes más desafiantes del idioma dada la cantidad de caracteres que lo componen. También es una de las partes más bellas del mismo, porque en ella se puede sentir la evolución de siglos de un idioma completamente distinto a los occidentales (¿y quién puede negar que esa caligrafía es hermosísima?). No tengo una clave para aprender a escribir Kanji de la mejor manera, pero por mi experiencia los libros “Kanji para Recordar” de James W. Heisig ayudan de gran manera por su forma mnemotécnica de explicar las partes de cada Kanji haciendo que sean recordables fácilmente. Captura de pantalla de 2015-08-16 17:09:28

El libro parte explicando los componentes básicos, el orden de los trazos, y luego va incrementando en complejidad aprovechándose de los elementos ya explicados para ir creando historias asociadas al concepto que cada símbolo representa. En los tomos siguientes del libro, se van enseñando las distintas lecturas de cada Kanji.

Generalidades del Idioma

Para quien esté algo perdido entre los términos que he usado arriba, explicaré un poco (dentro de lo poco que sé) sobre el idioma japonés como tal. El japonés (o NIHONGO, 日本語), es el idioma que se habla en las distintas islas de Japón. Gramaticalmente está compuesto de un orden tipo SUJETO-OBJETO-VERBO, a diferencia de las lenguas occidentales que son a grandes rasgos SUJETO-VERBO-OBJETO (llámese SUJETO-PREDICADO). Un ejemplo de una oración básica en japonés sería:

私は林檎を食べます。

WATASHI WA RINGO WO TABEMASU.

WATASHI WA: En cuanto a mí

RINGO WO: A la manzana

TABEMASU: Como

Por cierto, lo de las mayúsculas no es porque yo esté gritando. Es común ver que en los textos se “romanice” el japonés en mayúsculas. La escritura del japonés se basa en sílabas. No existen consonantes sueltas, a excepción de la N, por lo que para escribir una palabra no japonesa en japonés, se hacen ciertos arreglos. Por ejemplo, mi nombre, Bruno, se escribiría BURUNO (ブルノ). Existen dos silabarios principales: el Hiragana (ひらがな) y el Katakana (カタカナ). El Hiragana se utiliza dentro del idioma japonés para escribir palabras completas, partículas o sufijos, mientras que el Katakana se usa generalmente para escribir palabras extranjeras dentro del idioma.

El Kanji (漢字), es el método de escritura adoptado por Japón de los chinos, ya que el idioma japonés sólo existía de manera hablada. La escritura japonesa principalmente mezcla Kanjis para las raices de las palabras (son ideogramas en su mayoría) y Hiragana para las terminaciones verbales, partículas, entre otros elementos del idioma.

Todos estos temas se explican con mayor claridad en el libro mencionado más arriba por si quieren seguir profundizando.

Espero que este artículo sirva de ayuda a cualquier persona que quiera comenzar el estudio del japonés como idioma o que al menos quiera tener un par de datos freak con los que sorprender en las conversaciones. Al menos a mí me servirá para recordarme que tengo que seguir aprendiendo.

vlcsnap-2015-08-10-22h11m10s454

[Anime] Mushishi

Siento que con el tiempo he dejado de ver tanto anime como antes. No quiero sonar como viejo con esa actitud de “en mis tiempos las cosas eran mejores”, pero en las series nuevas me cuesta encontrar ese “algo” que me hace vibrar al verla, y que convierte una serie en una experiencia, un viaje, que se arraiga bien profundo dentro de uno. Con Mushishi encontré eso. Y que mejor palabra que un “viaje” para describir esta serie que nos pone a acompañar a Ginko, un experto en Mushi, en su travesía.

vlcsnap-2015-08-10-22h09m06s261La palabra Mushi en japonés puede traducirse como “bicho” o “insecto”, aunque aquí no se refiere a ninguno de los dos. El Mushi es una forma alterna de vida, que no puede ser descrita como planta o como animal, está mucho más abajo en el árbol de la vida, incluso más allá de los hongos, de las bacterias, muy cerca del origen de la “Vitalidad” o la vida como energía en su estado más puro. Los Mushi no son por definición buenos o malos, simplemente son una forma alterna de vida que se ha ido desarrollando oculta a los ojos de la mayoría de las personas. Existen distintas variedades, pues al igual que la vida celular, los Mushi han pasado por millones de años de evolución, produciendo criaturas tan diversas como Mushi pequeños que se alimentan de sonido u otros que se extienden por la superficie de algunas montañas casi como si fueran un tejido nervioso que vive en simbiosis con ellas.

vlcsnap-2015-08-03-22h08m20s031

Los Mushi sólo pueden ser vistos por algunas personas, y entre ellos, algunos toman como profesión el estudio de los Mushi. Estos “expertos en Mushi” son los Mushishi, que conocen las propiedades y comportamientos de una gran cantidad de Mushi, de las que han aprendido por tradición, viajes, textos antiguos, y en general, lo que se espera de un Japón rural cercano al periodo Edo.

La historia nos pone al lado de Ginko, un viajero en este Japón a la antigua, que va de pueblo en pueblo ayudando a la gente en distintas situaciones paranormales causadas por los Mushi. A diferencia de los habitantes de los pueblos, Ginko va vistiendo ropas que tienen un aire occidental, lo que refuerza su apariencia de forastero, de haber recorrido grandes distancias y haber visto cosas que uno no alcanza a imaginar. Poco a poco se van descubriendo aspectos de su personalidad, que van explicándolo y acercándonos a sus motivos.

vlcsnap-2015-08-10-22h11m10s454

El viaje de Ginko pasa en cada capítulo de la serie por una historia distinta, un lugar nuevo, un tipo peculiar de Mushi y vidas que se han visto afectadas por ellos. Uno podría pensar que este esquema se vuelve repetitivo, pero cada historia termina por volverse única, tanto así que cada capítulo podría verse sin ver los anteriores y disfrutarse con la misma intensidad. Al menos a mí me pasa que me debato entre las ganas de seguir viendo otro capítulo al terminar uno, o de quedarme un momento, tranquilo, “digiriendo” las sensaciones que me quedan de lo que acabo de ver. Y es de verdad que quedan sensaciones profundas después de cada capítulo, porque no son las típicas historias en las que alguien tiene un problema, llega el protagonista, lo soluciona, y todos se despiden de él felices mientras él se aleja hacia el atardecer y suena el ending. No, en Mushishi nos encontramos con un tipo de historias delicadas, en las que puede o no haber una solución alcanzable, donde el problema no es causado por la maldad del Mushi o de las personas, sino que emerge simplemente de la interacción entre formas de vida distintas que a veces pueden ser afines mientras que otras veces pueden ser conflictivas. Es como si la naturaleza de los conflictos fuera más ecológica que moral, y esa es una cosa que se agradece en el anime, especialmente con la gran cantidad de historias en las que casi nos dicen con flechitas “éste es el malo” y “éste es el bueno” y se alejan así de la realidad.

vlcsnap-2015-08-10-22h02m31s821Una de las cosas que me encantó de Mushishi es el ritmo narrativo. La serie inicia con una canción que de por sí es una referencia a un viaje, y nos pone en un ambiente muy cercano a la naturaleza, como si nos invitara a sentarnos alrededor de una fogata porque alguien nos va a contar la historia de sus viajes. Cada historia se narra de acuerdo a como la historia deba ser contada; a veces es Ginko quien tiene el foco principal, mientras que otras veces es algún personaje el que describe lo que pasa. Poco a poco vamos entrando en la historia y además en el ambiente, gracias a que se ocupan muchos cuadros en la tarea de mostrarnos el lugar en el que se desarrolla cada historia. Pueden estar dos personajes hablando, pero la imagen pasa por ellos y por los alrededores de una manera que nos va haciendo sentirnos ahí. Se aprovecha muy bien el silencio para esto mismo. Me atrevería a decir que hay más sonidos de ambiente que música, lo que produce ese entorno de tranquilidad, de atención, hasta de solemnidad. Y así se va desarrollando la historia hasta llegar al final, lo que también es una parte magistral del ritmo narrativo. La historia cierra con suavidad, cada capítulo se termina en su propio ending, que parece ser una proyección de la misma historia. Es como si nos diera un momento para quedarnos en silencio y asimilar lo que acabamos de ver, de convertirlo en una experiencia. Todo el capítulo termina por fluir de una forma cohesionada desde principio a fin, en unidad.

No pretendo ahondar más en la historia de Mushishi. Sólo dejo una invitación a ver la serie y a escuchar las historias que nos cuenta. Y que ojalá se queden con algo, bien adentro, con esa sensación de experiencias nuevas que a mí tanto me gusta.

La serie consta de 26 capítulos, además de varios OVAs, una segunda temporada y un Live Action, así que hay bastante material para disfrutar.

¿Cierto que son adorables? ¿Sí?

Robot, pórtate bien: Las Leyes de la Robótica

Buscando cosas fantabulosas en StumbleUpon, me encontré con un artículo [1] que menciona las Leyes de la Robótica de Tilden. Yo estaba familiarizado con las Leyes de la Robótica de Asimov, del que me declaro admirador, que han sido popularizadas por distintas obras de ciencia ficción y han pasado a ser un referente al hablar de robots. Estas leyes de Asimov funcionan estableciendo un cierto resguardo para guiar el comportamiento de robots inteligentes y lograr que no dañen a los humanos.

Varias veces me he puesto a darle vueltas al asunto de sobre qué implicancias tiene el definir estas reglas para los robots, y de cómo podría ser realizable la implantación de ellas. Por ejemplo, las leyes asimovianas se enfocan en el aspecto social del robot (la relación humano-robot) y en cómo se establece una jerarquía de relaciones de poder (humano > robot), mientras que las leyes de Tilden se enfocan principalmente en ver al robot como un organismo autónomo. Por eso, escribo este artículo para explorar ideas sobre cómo plantear reglas fundamentales para regir el comportamiento de un robot.

Lo primero, ¿qué es un robot?

La palabra “robot” se hizo conocida en 1920, en la obra R.U.R. de Karel Čapek [2]. Proviene del checo “robota” que significa “labor forzada” y hacía referencia a una forma de esclavitud, de trabajo obligado. En la actualidad vemos que los robots ya se han vuelto comunes como un elemento cultural de la automatización industrial, de la ciencia ficción e incluso del ambiente doméstico con varios proyectos que ya se están haciendo parte de los hogares. Aún así, pese a la masificación del concepto, no existe una definición estricta de sobre qué es un robot ni sobre qué elementos lo componen. Generalmente uno asocia el término a máquinas humanoides con una voz que pareciera venir rebotando desde dentro de un tarro, pero también se puede considerar como robots a programas de software capaces de funcionar de manera autónoma (por ejemplo, bots de conversación como cleverbot [3], o inteligencias artificiales de videojuegos), o más comunmente a máquinas no humanoides que realicen tareas de manera autónoma o semi-autónoma (un gran ejemplo de esto son los robots Kiva, altamente usados en las bodegas de Amazon para organizar sus productos más rápidamente [4]). Pese a las ambigüedades que aún existen para definir el concepto, podemos estar de acuerdo en que los robots son máquinas con un cierto de autonomía capaces de desempeñar ciertas labores.

Máquinas inteligentes

La autonomía de un robot no implica que sea una máquina inteligente, así como la inteligencia artificial no implica la existencia de inteligencia. Sobre esto último quizás me extienda en otra ocasión (la IA es una de las áreas que me apasionan) pero por ahora me limito a mencionar que la inteligencia artificial es, a grandes rasgos, la automatización de comportamientos “racionales”, es decir, lograr que la máquina entregue el resultado que entregaría un humano. Cuando hablamos de una máquina inteligente, en cambio, y nos mantenemos al margen del concepto de “artificial”, llegamos a la idea de sobre qué pasaría si las máquinas alcanzaran la verdadera inteligencia (otro tema que no tiene una definición absoluta). La inteligencia dotaría a la máquina de una autonomía mayor que la estructura dada por su programa o por su construcción, y la dotaría de elementos como la imaginación, la memoria no estructurada, y un aprendizaje similar al aprendizaje humano, capaz de adquirir conocimientos y habilidades en todo tipo de disciplinas. Esto ha sido tema de estudio durante muchos años y Alan Turing propuso un test con el que considerar a una máquina como inteligente. Este test se basa en la idea de que si un juez no puede distinguir a una máquina de un humano, la máquina se considera inteligente. Pero este test se enfoca en el aspecto conductual de la inteligencia, en cómo esta se exterioriza. Incluso ya hay un software que pasó el test de Turing [5]. Lo que no considera este planteamiento es el aspecto interno de la inteligencia, como los motivos o la consciencia.

Robótica Asimoviana

Isaac Asimov [6], gran escritor y científico que vivió entre 1920 y 1992, abordó estos últimos temas en su literatura de ciencia ficción y se volvió uno de los mayores referentes del género. En sus libros como “Yo Robot”, “Sueños de Robot” y “Visiones de Robot” se presenta a los robots como máquinas de mayor complejidad a la actual, capaces de ayudar a los humanos en labores diarias, e inteligentes hasta un cierto grado. Incluso existen robots que no se distinguen de un humano normal o robots que terminan convirtiéndose en uno (como en el cuento “El Hombre Bicentenario”. Sí, el cuento vino antes que la película). Todas estas capacidades se sustentan en la existencia de un “cerebro positrónico”, que es capaz de funcionar de manera análoga al cerebro humano y darles capacidades equivalentes o incluso superiores. Pero en estas obras, el ser humano, para no ser superado por su creación en un nivel de especie (porque es superado en varias capacidades), diseña reglas que pongan al robot, por definición, al servicio del hombre. Así nacen las leyes de la robótica clásicas de la literatura de Asimov:

  1. Un robot no debe dañar a un ser humano o, por su inacción, dejar que un ser humano sufra daño.
  2. Un robot debe obedecer las órdenes que le son dadas por un ser humano, excepto cuando estas órdenes están en oposición con la primera Ley.
  3. Un robot debe proteger su propia existencia, hasta donde esta protección no esté en conflicto con la primera o segunda Leyes.

En muchísimas obras de ciencia ficción se mencionan estas leyes como la base del comportamiento robótico (como por ejemplo, Eve no Jikan [7]), pese a que Asimov en sus mismos cuentos buscaba situaciones en las que estas leyes pudieran ser llevadas a contradicciones. De estas mismas contradicciones aparece una nueva ley, la llamada “Ley Cero” (o Zeroth):

  1. Ninguna máquina puede dañar a la Humanidad; o, por inacción, dejar que la Humanidad sufra daño.

En los mismos relatos de Asimov (se recomienda leer algún relato del Ciclo de Trántor [8]) se describe cómo estas leyes motivan a las máquinas a dedicarse durante miles de años a contribuir al desarrollo de la humanidad como especie, incluso contribuyendo en política y en el desarrollo económico.

Pero todo esto lleva a ciertas preguntas técnicas cuando uno piensa en llevar estas leyes a la práctica. ¿Cómo podemos implementar las leyes de la robótica de Asimov en robots reales? Asimov habla de un cerebro positrónico, pero ¿qué debe poder hacer este cerebro positrónico? Partiendo de la Ley 1, el robot debe ser capaz de entender lo que es un humano. Esto implica más que el solo hecho de “reconocer un humano” como se podría hacer con algoritmos de Visión Computacional y Aprendizaje de Máquina. Porque se habla de dañar a un humano, el robot debe entender al ser humano como un organismo vivo, conocer sus propiedades, sus reacciones, sus características físicas y psicológicas. Todo esto implica un tipo de máquina diferente a las que tenemos ahora, mucho más compleja y con un “cerebro” mucho más orgánico, capaz de razonamientos de nivel superior.

Quizás para llegar a ese nivel de razonamiento en las máquinas, debemos diseñarlas de tal forma en que puedan crecer como organismos naturales e ir incrementando en complejidad como un resultado emergente de su interacción con las personas, otras máquinas y el entorno. Aquí es donde es adecuado mencionar las leyes de Tilden.

Las leyes de Tilden (no de Tinder, de Tilden)

 Mark Tilden [9] es uno de los grandes robotistas modernos, famoso por su planteamiento de los robots BEAM. La robótica BEAM [10] (Biology, Electronics, Aesthetics and Mechanics) plantea un diseño de robots mucho más simple que los robots convencionales. Estos robots tienen una mayor tendencia a ser construidos con circuitos analógicos en vez de digitales, lo que muchas veces conlleva la ausencia de microprocesadores. La principal idea de estos robots es que se parezcan mucho más a organismos vivos en vez de a máquinas programables. Siguen siendo máquinas, pero con la ventaja de que pueden reaccionar de una forma mucho más natural a su entorno.

Mark Tilden
Mark Tilden

La idea de la robótica de Tilden es reducir el comportamiento de un robot a sus componentes esenciales, y como este planteamiento es distinto en complejidad de las leyes de Asimov, él planteó su propio conjunto de leyes:

  1. Un robot debe proteger su existencia bajo todo costo.
  2. Un robot debe obtener y mantener acceso a su propia fuente de alimentación.
  3. Un robot debe buscar continuamente mejores fuentes de alimentación.

Se puede ver en estas leyes que el planteamiento es mucho más sencillo en cuanto a costos y a los requerimientos de estas máquinas (en parte, lo que Tilden andaba buscando), lo que las hace mucho más fáciles de implementar en la práctica. A diferencia de las leyes de Asimov, son leyes mucho más “realizables” y abren toda una rama de estudio que ve la robótica de una forma distinta. A la vez, estas leyes plantean al robot de una manera muy similar a los organismos vivos, lo que implica que podrían, hasta un cierto grado, desarrollarse como tales y producir resultados nuevos que no podríamos haber imaginado.

Pero a fines prácticos, la robótica es la creación de herramientas autónomas, y para regularla como tal es que la EPRSC estableció algunos principios sobre los que se debe guiar su desarrollo comercial.

Regulando los robots de ahora

El año 2010, el Engineering and Physical Sciences Research Council (Consejo de Investigación en Ingeniería y Ciencias Físicas) en un conjunto con el Arts and Humanities Research Council (Consejo de Investigación en Artes y Humanidades), ambas instituciones de Reino Unido, desarrollaron un evento en conjunto con el fin de establecer ciertos principios para guiar la investigación en robótica, de manera que esta se pueda integrar en la sociedad para el máximo beneficio de los ciudadanos [11]. Estas leyes se inspiran en las leyes de la robótica de Asimov en el sentido de proteger al ser humano, aunque como se dice en la declaración de principios, estas leyes difícilmente son llevables a la práctica en la vida real ya que un robot no puede conocer todas las formas en las que un ser humano puede ser dañado. Estos principios plantean que la responsabilidad en la robótica cae sobre los humanos que los crean y que, en consecuencia, determinan el funcionamiento de la máquina.

Los principios obtenidos en la reunión de estas dos organizaciones se cristalizan en cinco reglas éticas para la construcción de robots. En sus palabras: “Las cinco reglas éticas de la robótica se consideran como un documento vivo. No se espera que se consideren como leyes rígidas, sino como un instrumento para informar las discusiones y para referencia futura”.

  1. Los Robots son herramientas multiuso. Los robots no deben ser diseñados única o principalmente para matar o dañar humanos, a excepción de casos de seguridad nacional.
  2. Los Humanos, no los Robots, son agentes responsables. Los Robots deben ser diseñados y operados dentro de las leyes existentes y los derechos y libertades fundamentales, incluyendo la privacidad.
  3. Los Robots son productos. Deben ser diseñados usando procesos que aseguren su seguridad.
  4. Los Robots son artefactos fabricados. No deben ser diseñados de una manera engañosa que pueda confundir a usuarios vulnerables; su naturaleza de máquina debe ser transparente.
  5. Siempre debe ser identificable la persona con la responsabilidad legal por un Robot.

Estos principios sirven como una base para la legislación sobre robótica, para guiar un desarrollo de la industria de una manera que asegure el beneficio de la ciudadanía. Como un complemento, se adjuntan siete “mensajes de alto nivel” para motivar la responsabilidad en la industria y la investigación en robótica.

  1. Creemos que los robots tienen el potencial de causar un impacto inmensamente positivo en la sociedad. Queremos motivar la investigación responsable en robótica.
  2. Las malas prácticas nos afectan a todos.
  3. Enfrentar las preocupaciones del público nos ayudará a progresar.
  4. Es importante demostrar que nosotros, como robotistas, estamos comprometidos con los mejores estándares de las prácticas.
  5. Para entender el contexto y las consecuencias de nuestras investigaciones, debemos trabajar con expertos de otras disciplinas incluyendo: ciencias sociales, leyes, filosofía y artes.
  6. Debemos considerar la ética sobre la transparencia: hay límites a lo que debe estar abiertamente disponible.
  7. Cuando vemos informaciones erróneas en la prensa, debemos tomar el tiempo para contactar a los periodistas responsables.

Así como para ir cerrando

Si me preguntan con cual de estas leyes me quedo, me pongo el sombrero y me voy enojado (no uso sombrero, es sólo una metáfora). Cada una de estas leyes se planteó en un contexto puntual que quería ser abordado. Las leyes de Asimov nacen en el contexto de la robótica de su ciencia ficción y deben siempre primero considerarse en ese contexto; para eso es recomendable además de conocer esas leyes, leer su literatura, no se van a arrepentir. Ponen una base de sobre cómo deben comportarse los robots con respecto a los humanos, y los plantea como herramientas que pueden ayudarnos a crecer como sociedad. Pero aún hay muchas tareas que los robots estándar que están siendo desarrollados aún no son capaces de abordar. Tilden nos abre todo un planteamiento distinto que se vale de varias disciplinas para conceptualizar a los robots como entes dinámicos capaces de desarrollarse de manera similar a los organismos vivos. Nos ayuda un poco a abrir la mente sobre cómo podemos plantear los problemas que queremos solucionar con máquinas y a la vez hace la bella tarea de integrar varias disciplinas en la discusión. Esto último se considera en las leyes propuestas por EPSRC / AHRC, que se encargan de plantear principios acordes a la robótica moderna como industria que se está integrando de gran manera en la sociedad.

Todos estos planteamientos contribuyen a que nos preguntemos cómo queremos que se desarrolle la robótica de aquí hacia al futuro. Quizás aún faltan leyes que plantear, cosa casi segura, y por eso las discusiones deben seguir abiertas y deben considerar desde el ingeniero más especializado en control hasta los niños que se crían con películas de ciencia ficción que les dan una perspectiva confusa de la robótica real, para que así podamos todos ser beneficiados por el desarrollo tecnológico y por estas criaturitas tan fabulosas.

¿Cierto que son adorables? ¿Sí? (Fuente de la imagen: http://www.notimerica.com/sociedad/noticia-nao-robot-poliglota-sera-nuevo-trabajador-bancos-tokio-2020-20150203145049.html)
¿Cierto que son adorables? ¿Sí? (Fuente de la imagen: http://www.notimerica.com/sociedad/noticia-nao-robot-poliglota-sera-nuevo-trabajador-bancos-tokio-2020-20150203145049.html)

Y bueno, ya que llegaron leyendo hasta aquí… ¿se les ocurre alguna ley que agregar? Súmense a la discusión😉

Referencias

  1. Tilden’s Laws of Robotics: https://en.wikipedia.org/wiki/Tilden%27s_Laws_of_Robotics
  2. Origen de la palabra robot: http://www.xatakaciencia.com/robotica/el-origen-de-la-palabra-robot
  3. Cleverbot: http://www.cleverbot.com/
  4. CNET News – Meet the robots making Amazon even faster: https://www.youtube.com/watch?v=UtBa9yVZBJM
  5. ABC.es Ciencia – Un ordenador pasa por primera vez el test de Turing y convence a los jueces de que es humano http://www.abc.es/ciencia/20140609/abci-superordenador-supera-primera-test-201406091139.html
  6. Isaac Asimov – Divulgación científica y ciencia ficción: http://www.asimov.es/
  7. Eve no Jikan: http://myanimelist.net/anime/3167/Eve_no_Jikan
  8. Ciclo de Trántor: https://es.wikipedia.org/wiki/Saga_de_la_Fundaci%C3%B3n
  9. The Evolution of a Roboticist: http://www.botmag.com/the-evolution-of-a-roboticist-mark-tilden/
  10. Robótica BEAM: https://es.wikipedia.org/wiki/Rob%C3%B3tica_BEAM
  11. EPSRC Principles of Robotics: https://www.epsrc.ac.uk/research/ourportfolio/themes/engineering/activities/principlesofrobotics/