Un informático en el lado del mal

Blog personal de Chema Alonso sobre sus cosas.
  1. Me han hecho muchas fotografías en estos más de veinte años que llevo dando charlas, entrevistas, participando en programas de difusión o eventos. Muchos fotógrafos. Y se nota mucho cuando ves el resultado si el fotógrafo ha disparado una fotografía o te ha retratado. Sacar un foto y retratar a una persona en una imagen es un trabajo muy diferente. Y de los que mejores retratos sacan está, sin duda, el grandísimo Jeosm.

    Figura 1: Entrevista a Jeosm el fotógrafo que nos habla en blanco y negro de personas

    Sus fotografías vienen sin mucha parafernalia. Te coloca, busca la luz, te mira, y dispara con su cámara. Te mira apartando la accesorio. Mira más allá de lo que brilla, para ver lo que hay. Te mira, te escucha, te deja hacer, y simplemente te capta. Te extrae esa fotografía en blanco y negro que te saca cómo eres. Y el resultado es espectacular. 
    Sus trabajos en blanco y negro han retratado a grandes estrellas internacionales. A personalidades públicas muy mediáticas, pero en el fondo, Jeosm es el fotógrafo que nos habla en blanco y negro de personas. Da igual que sea un gran cantante como Andrés Calamaro, o un pintor don Augusto Ferrer-Dalmau, el ex-presidente del gobierno José Luis Rodríguez Zapatero o el director e cine Alex de la Iglesia. Jeosm nos habla con sus retratos de las personas que están detrás de las grandes personalidades.

    Figura 3: Andrés Calamaro retratado por Jeosm en Zenda Libros

    Hoy domingo he querido guardar este espacio para hablar con él. Le he puesto en el sitio donde a él le gusta ser más espectador. En el lugar donde tiene que responder él a las preguntas, para que lo conozcáis mejor, y para que sepáis quién está detrás de muchas de las fotocatas en blanco y negro que veis en Zenda Libros, en la revista de FD Magazine, y en muchos medios de comunicación.
    Además, si quieres contactar con él, puedes hacerlo también a través de MyPublicInbox, donde tiene su perfil público para aquellos que queráis consultarle algo,  pedirle un retrato, o saber más de este gran profesional de la fotografía, que, disparo a disparo, se ha hecho - como los soldados de infantería - un hueco en la colina de los grandes artísticas de este país.

    1.- El blanco y negro te define, pero ¿qué veJeosm en las personas cuando las retrata en blanco y negro?

    El blanco y negro es el lenguaje con el que más cómodo me encuentro y, por suerte, muchos clientes permiten desarrollarme en ese ámbito fotográfico. Me facilita lo que quiero contar, hace que el espectador no se distraiga con el color y se centre en lo que más me interesa: el carácter y la personalidad. Lo que veo y busco a la vez en las personas que retrato son carácter, actitud, personalidad y sinceridad.

    Figura 5: David Summers retratado por Jeosm en Zenda Libros

    2.- Cuando veo tus fotos siento que quieres a todos los que sacas tras tu cámara, incluso cuando como persona tal vez no resuenes con ellos, pero… ¿te enamoras de cada persona a la que inmortalizas cuando los tienes a tiro de tu cámara?

    Para mí es vital crear, aunque sea mínimo, un vinculo con la persona que retrato. Eso me facilita que estén cómodas y puedan ser naturales. Siempre que afronto un retrato lo hago con el máximo respeto y cariño posible, independientemente de la persona que sea y si es más o menos mediática. Me interesan las biografías, las miradas… y esto, si no lo abordas con cariño es difícil conseguir un gesto sincero. No me enamoro de cada persona que retrato, pero sí forman de alguna manera parte de mi vida, ya que hemos compartido juntos un momento especial.

    3.- Uno de los hacks mágicos de los fotógrafos es que podéis inmortalizar a una persona con unos atributos que salen en las fotografías que no lleguen a mostrar lo que son realmente. He visto fotografías que muestran pasión, emoción, sabiduría de vida vivida, dureza, fragilidad, pero tenéis el arte de poner esos atributos en retratos a personas que no son especialmente definidos por ellos. Cuando haces un retrato ¿te preparas antes la persona ( o el personaje ) para buscar esos atributos que los definen?

    El tipo de fotografías en las que no muestran a la persona cómo es, no van conmigo. Lo he hecho muchas veces en encargos para marcas con un acting concreto por parte del retratado, pero partiendo de la base de que es una escenografía que se crea para dicha ocasión. En mi trabajo intento cada vez más que la persona se vea reflejada en la fotografía, tal y como es. Fuera de las poses, al final la sinceridad y la honestidad si hay un trabajo fluido y con cariño, salen solas.

    Figura 6: Rodrigo Cortés retratado por Jeosm en Zenda Libros

    Hay una lucha continua en mi trabajo en evitar la pose, lo impostado. Necesito remover más adentro. Cuando consigues romper la barrera de la pose, es cuando afloran las miradas sinceras o cómplices, ahí es cuando la foto se vuelve realmente en un retrato.

    Siempre que voy a retratar a alguien busco información sobre esa persona. Ademas de ver las fotografía que ya le han realizado, observo en qué posturas se siente cómoda, los gestos que más utiliza, cómo es su mirada en cámara,… el lenguaje corporal ayuda mucho para hacerme un pequeño guión de actuación para encarnar la sesión.

    4.- Por tu objetivo ha pasado una miríada de grandes (ponme aquí los que estén en MyPublicInbox y los más grandes), pero ¿cuál es el deseo no cumplido? ¿a quién le gustaría retratar aJeosm?

    Me siento un profesional muy afortunado por ello. Nunca pensé que la vida me iba a llevar por este camino y poder trabajar con personas tan interesantes, para mi es un lujo. Por decirte algunos nombres de personas a las que he retratado incluyéndote a ti, te diría:

    David Summers, Rodrigo Cortés, Arturo Pérez-Reverte, Iker Casillas, Rosa Montero, Dani Rovira, Espido Freire, Alberto Chicote, José Luis García, Christian Gálvez, Okuda San Miguel, David Broncano, Juan Gómez-Jurado, Enrique Arce, Fernando Romay, Berta Collado, Augusto Ferrer-Dalmau, Arturo Gonzalez- Campos, Pedro Sánchez, Jose Luis Rodriguez Zapatero, Alfonso Guerra, Alex de la Iglesia, Cristina Pedroche, Susanna Griso, Henar Alvarez, Antonio Escohotado, María Pedraza, Zidane, Cristiano Ronaldo, Karim Benzema, Marcelo, Hovik,Fito, Robe Iniesta, Marwan, Marta Flich, Edu Galán, Ester Exposito Risto Mejide, Amarna Miller, Andres Calamaro, Úrsula Corberó, Kase O, C Tangana, Natos y Waor, SFDK, El Langui, Mario Vaquerizo, DJ Nano, ….

    Con muchas de estas personas he pasado apenas minutos, con otras he compartido mucho más tiempo o incluso amistad. Pero igualmente son personas que han sido muy generosas conmigo posando ante mi cámara. No tengo demasiados deseos que cumplir, creo más en el trabajo que en el destino. Como dije antes, me siento muy afortunado profesionalmente, solo me gustaría jubilarme haciendo retratos.


    Todavía me quedan muchísimas personas por conocer, retratar y aprender de ellas. No te podría dar sólo un nombre, lo que si me gustaría es poder hacer un trabajo coherente y que mi fotografía perdure y tenga una mirada propia.

    5.- Siempre detrás, pero, ¿quién sería el o la fotógrafo/a que le justaría aJeosm para sacar su retrato?

    Soy muy tímido delante de las cámaras. Quizás por eso entiendo bien a las personas que retrato, no me gusta tener notoriedad pero sí que mi trabajo la tenga. Más que un fotógrafo/a para un retrato mío, preferiría un pintor/a. Siempre he admirado el trabajo de los grandes retratistas, son una gran influencia para mi. Me gustaría ver un retrato mío pintado (como hicieron algunos años en la calle los amigos de BoaMistura), me parece algo mucho más orgánico y es algo que jamás sabría hacer.

    6.- Una mala fotografía es una mala carta de presentación. Es una narración mala de una historia. Lo saben los artistas, lo saben los políticos, lo saben las personas públicas. ¿Qué le recomendarías a alguien que quiere hacerse una carrera profesional pública sobre las fotografías que se haga?

    Lo primero que le preguntaría es qué imagen quieren proyectar y que buscan transmitir, si es para algo más conceptual o más humano y, en función de esto, plantear la comunicación. No soy quien para dar consejos a nadie, pero si sugeriría que sean unas imágenes que puedan defender y que perduren en el tiempo. Para eso creo que lo mejor es ser honesto y sincero con uno mismo.

    7.- El trabajo con el Real Madrid es maravilloso, ¿cómo surgió y cómo fue esa experiencia de retratar a todas esas grandes personas?

    Surgió gracias a Délamon Circus, una agencia de publicidad de Madrid. Nos conocemos hace años y me propusieron para realizar un primer shooting con Adidas y, a día de hoy, aquí seguimos. Llevo cerca de 8 años trabajando para Adidas y gracias a ello he retratado a numerosos deportistas, entre ellos a las diferentes plantillas de Real Madrid durante estos años.

    Figura 8: Iker Casillas retratado por Jeosm

    Este verano se publicó GRANDEZA, un libro con motivo del lanzamiento de la nueva camiseta de Away del Real Madrid con Adidas. Es una recopilación de algunos retratos que he realizado en este tiempo, un trabajo del que me siento my orgulloso.

    Figura 9: Cristiano Ronaldo retratado por Jeosm

    No es fácil retratar a futbolistas. Las fotos que componen el libro y la gran mayoría de las fotos realizadas, se han hecho en ese tipo de shootings en muy poco minutos. La sensación de poder compartir con ellos las fotos que hemos hecho y ver que les representan, es muy gratificante. A nivel profesional he aprendido muchísimo y he adquirido mucha soltura y rapidez en mi trabajo. Es un orgullo ver que sigan confiando en mi trabajo para estas campañas.


    8.- ¿Pesa la responsabilidad de saber que tu foto va a ser más vista que leída la entrevista que acompaña?

    Jajajajaja, imagino que te refieres a mi trabajo en Zenda Libros. Tengo la suerte de pertenecer a esa familia cultural desde el primer día y es el medio que más ha confiado y respeta mi trabajo. Es todo un honor firmar mis fotos en los reportajes y entrevistas que hacen, he aprendido muchísimo de todos mis compañeros/as. Es un lujo acompañar e ilustrar con mis fotografías el trabajo de los periodistas y escritores/as, acompañando las conversaciones con todos las personas que entrevistan.

    Me halaga muchísimo que opines que mi foto va a “ser más vista que leída la entrevista”, pero honestamente no lo veo así. Creo que mi trabajo se centra en complementar la conversación, entrevista, crónica o reportaje y hacerla más atractiva al lector, con la libertad que siempre me han dado poder dotar a Zenda de una linea editorial a nivel de imagen que intente estar a la altura de los textos y las personas que aparecen en la web.

    9.- En el mundo del hacking hay muchos aficionados a la tecnología, y hay muchos hacks para la fotografía. ¿Usas muchas herramientas digitales y tecnología para hacer tu trabajo?

    Sólo los estrictamente necesarios. Al final siempre me he centrado más en el trato con la persona y en el manejo de la luz y las ópticas. Apenas edito las fotografías y mi cámara tiene muchos más botones y funciones de las que nunca voy a usar. Sigo realizando un proceso lo más manual posible. Prefiero invertir mi tiempo en aprender y descubrir trabajos de fotógrafos/as clásicos y contemporáneos, que en ver un tutorial con el último plugin, el último software de retoque, o ir a la última en tendencias o modas.

    10.- ¿Dónde puede ver la gente una exposición online, o física, de los trabajos de fotografía deJeosm?

    Te invitaría a visitar mi web: www.jeosm.com en mis perfiles en Instagram o Twitter @jeosmphotoy si quieren, pueden hacerlo también a través de mi buzón público en https://MyPublicInbox.com/Jeosm

    ¡Saludos Malignos!

    Autor: Chema Alonso(Contactar con Chema Alonso)  


  2. Ayer llegué de regreso a Madriddesde Abu Dhabi. Volé de noche. Tuve que hacer una escala de Doha para luego llegar a casa. Llegué cansado, me aseé y a las 08:00 tuve mi primera reunión de trajo en Telefónica. Un día intenso que culminó con ver un capítulo de Hawkeye y dormir 14 horas. Como siempre, llegar un viernes cansado al final de la semana. Pero este aún más por el viaje los Emiratos Árabes. Pero... me mereció la pena.

    Figura 1: Hack in The Box CyberWeek 2021: Unos días en Abu Dhabi

    Soy un defensor del teletrabajo y las reuniones mixtas. Creo que el que todas las reuniones se puedan seguir de forma presencial y remota es algo que ayuda a las personas a gestionar su vida. Y lo mismo creo para las conferencias, donde es genial poder ver charlas en directo desde cualquier lugar del mundo. Poder asistir a una charla de grandes hackers por streaming cuando no se está presencialmente. O poder estar dando una charla a través de Internet a gente que está en cualquier lugar del mundo. Me encanta la posibilidad que da la tecnología. Pero también creo en las experiencias presenciales. No penséis que me quiero encerrar en Matrix ya. Claro que sí. Me encanta poder ir y saludar a la gente en carne y hueso además de en bits & bytes.

    Figura 2: Charlando con Hugo Teso antes de comenzar mi keynote

    Ir presencialmente a un evento, a una reunión, o a una actividad, debería ser una experiencia premium mejorada con la experiencia digital. Y creo que las conferencias tendrán que evolucionar a eso. A una experiencia mixta, híbrida, física y digitalmente mejorada, que haga que todo sea mejor y de mayor impacto. Y tendremos que elegir qué experiencias físicas - donde tendremos que invertir más recursos - son las que nos permitiremos. Así, podremos disfrutar de muchas experiencias online de conferencias o charlas que no nos salga a cuenta vivir la experiencia física, y otras disfrutarlas Old Style++ gracias a las posibilidades de la tecnología en los eventos, con apps, conexiones del mundo físico al mundo digital vía QRCodes, espacios de realidad aumentada, experiencias vía Internet de actividades on-stage, demos en los stands, etcétera. Un ++ al viejo estilo de ir a una CON.
    Esta semana yo he ido a la experiencia física de Hack in the Box CyberWeek en Abu Dhabi, y la inversión en tiempo y energía ha sido alta. Por supuesto. La experiencia física es más exigente. He tenido que hacerme tests antes de volar, allí durante la charla, cargarlos en apps, solicitar los certificados de vacunación europeos, coger aviones, pagar viajes, hoteles, comidas, conexiones a Internet y datos en entornos de roaming, taxis, transportes aeropuerto-hotel, esperar colas, pasar controles de seguridad, revisión de equipaje, incomodidades en los viajes, escalas, etcétera. Pero me merecía la pena vivir esa experiencia presencial. Esto es algo que, hoy en día, todas las CONs y eventos van a tener que valorar. En el mundo de la economía de la atención, ¿qué vas a ofrecer a los asistentes a tus charlas que les haga que merezca la pena todo eso?

    Figura 4: El CTF-Finals en HITB CyberWeek 2021

    En mi caso, lo merecía, el evento era espectacular, no es la primera vez que he estado en Hack In The Box donde estuve en 2012 paseando a mi querida FOCA, si no me falla la memoria. Así que cuando me invitaron a dar una de las keynotes de los dos días, no podía decir que no. Además, allí se encontraba de speaker el gran Hugo Teso, y organizando un CTF un amigo servio personal de mil batallas, Igor Lukic, hacker, emprendedor, viajante, y divertido. Me apunté a la experiencia presencial, en la que, por ejemplo, el gran César Cerrudo, que no podía venir, participó desde Uruguay utilizando la experiencia digital. Ventajas de la tecnología.


    Estuvo chulo encontrarme con Hugo, que está con la seguridad de aviones y aeropuertos trabajando en Dubai, igual que con otro gallego que vive allá de la seguridad, al que conocí, curiosamente, en mitad del desierto en este evento, y por supuesto pasar un rato con la conexión balcánica, Milan Gabor, Igor Lukic, y Miroslav Stampar (fundador de SQLMap) además del "Siberian Hacker" más divertido que puedes conocer... Timur Iusanov(el de la izquierda en la foto de arriba). Todo el tiempo que estuve hablando con ellos, viendo cosas, cómo se hackean los ATMs al estilo del mítico Barnaby Jack, el hacking de sistemas OT, etcétera, fue instructivo, inspirador, y divertido. Conexiones humanas en eventos de hacking digital que siguen teniendo mucho valor, si no más, aún.

    Figura 6: El juguete de Timur Iusanov para su CTF con ATMs

    Por supuesto, para mí mi prioridad era dar la charla que habíamos acordado, de mis queridas Gremlin Apps & Gremlin Botnets, y durante los primeros dos días de mi estancia tuve que estar en reuniones de trabajo vía Teams, porque el trabajo es lo primero, así que dejé la parte de más comunidad para el último día, y para la tarde antes del viaje de regreso quedaron las actividades lúdicas, pero aunque fueran solo dos días de evento de hacking dentro de esa CyberWeek, estar en una CON del tamaño, prestigio y nivel de la Hack in The Box, merecía y mereció la pena.

    Figura 7: Hugo Teso on-stage. Grande, como siempre.

    Espero conseguir el vídeo de la conferencia pronto, y así os lo dejo disponible, pero sobre todo quería compartir para todos, mis reflexiones sobre las CONs, las inversiones en recursos y las experiencias tanto físicas como digitales en las que tenemos que pensar de aquí en adelante.

    ¡Saludos Malignos!

    Autor: Chema Alonso(Contactar con Chema Alonso)  


  3. Como todos los BlackFridays, que sabemos que lo estabais esperando muchos, hemos creado un Código de descuento de 10%  en 0xWord para este día, que te va a permitir acceder a todo el material - casi todo, que hay un producto que no podemos porque no nos lo permiten -, pero todos los libros de hacking, ciberseguridad, y el resto de material que te vas a encontrar allí, tienen ese descuento disponible.

    Figura 1: Códigos descuento en 0xWord y Singularity Hackers
    para el BlackFriday: "BLACKFRIDAY2021" &  "h4ck325_814ck_f21d4y"

    Para acceder a este 10% de descuento tienes que utilizar el código: BLACKFRIDAY2021 cuando vayas a realizar el proceso de compra, y todos los precios del material que hayas seleccionado sufrirá ese descuento. Además, los libros llevan sus Tempos de MyPublicInbox incluidos, y, si lo quieres, yo te dedico los libros que quieras con uno de mis "queridos" Josemaricariño. Ponlo en observaciones de tu compra, y listo.


    También, hemos querido hacer un descuento para Singularity Hackers, con un 10 % de reducción del precio para todos los que queráis saber qué trabajos de Ciberseguridad es para el que tus capacidades personales y habilidades son más demandadas, así podrás entrar en este mundo laboral de la forma más satisfactoria posible. El código que hemos creado, está en Élite para ti: h4ck325_814ck_f21d4y

    Figura 3: Descuento para Singularity Hackers, con un 10 %

    Así, podrás formarte de la mejor forma posible. Además, como ya os publicó Miguel Ángel Martín, CEO de HackBySecurity, tienes un código del 35% de descuento en todos los cursos de HackBySecurity, donde tienes también libros de 0xWord y Temposde MyPublicInbox. Vamos, que es una buena oportunidad de que inviertas tus gastos del BlackFriday en formarte para el futuro.

    ¡Saludos Malignos!

    Autor: Chema Alonso(Contactar con Chema Alonso)  


  4. En este artículo voy a hablaros de un mundo que realmente me apasiona desde hace ya mucho tiempo: la vida artificial. Además, si te interesa la Inteligencia Artificial es lógico que también te interese la vida artificial, ya que ambos mundos están estrechamente interconectados. Todo comenzó con el genial y maravilloso Juego de la Vida de Conway, el cual apareció en una sección del número de octubre de 1970 de la revista Scientific American

    Figura 1: Lenia: ampliando el universo de Conway
    creando nuevas criaturas artificiales 

    Si no lo conocéis, antes de continuar os aconsejo que le echéis un vistazo a este artículo que publicamos en el blog Think Big de Telefónica, donde hablamos en profundidad de él. Por cierto, además de la trascendencia técnica del Juego de la Vida de Conway, su historia y también la de los autómatas celulares (en los cuales se basa) se mezclan Alan Turing o el Proyecto Manhattan entre otros. 

    Figura 2: Libro de "Microhistorias: anécdotas y curiosiades de la historia
    de la informática (y los hackers)" de Fran Ramírez y Rafel Troncoso 0xWord.

    Y si te gustan estas historias de hackers, recuerda que puedes encontrar muchas más como esta en nuestro libro “Microhistorias: anécdotas y curiosidades de la Informática (y los hackers)”.

    Primera evolución del Juego de la Vida de Conway: Smooth Life

    El Juego de la Vida de Conway, como ya hemos comentado, data de 1970. Por aquella época no existían los ordenadores personales y la única forma de acceder a ellos era a través de universidades o grandes empresas. Hoy día, más de medio siglo después, el escenario ha cambiado “un poco”. Viendo la trascendencia del trabajo de Conway es lógico que este haya evolucionado hacia niveles realmente increíbles como habéis comprobado en el artículo que os mencionaba antes.

    De hecho, con el Juego de la Vida de Conway logra el máximo logro, convertirse en una Máquina de Turing. Y por lo tanto, en una máquina Turing completo. Esto, explicado rápidamente, implica que una arquitectura que es capaz de cumplir el hecho de ser una Máquina de Turing Universal y emularse a sí misma.


    Stephan Rafler publicó en 2011 un artículo científico llamado “Generalization of Conway's "Game of Life" to a continuous domain – SmoothLife”, cuya mayor diferencia respecto al Juego de la Vida de Conway está en una retícula o espacio no discreto, es decir, un espacio continuo. Las celdas infinitas del juego original son reemplazadas por otras llamadas celdas efectivas o effective grid y también los valores pueden ser ahora números reales en vez de únicamente enteros. 



    Dicho de otra forma, se utilizan celdas las cuales forman a su alrededor en su zona de interacción, nuevas figuras geométricas como por ejemplo circulares. Por lo tanto, las reglas ahora son más complejas, aplicando nuevas ecuaciones a la hora de decidir el valor de una nueva celda después de una interacción. Esto genera entre otras maravillas, que el famoso “glider” o planeador pueda moverse en todas direcciones, rotar, etcétera. En el fantástico vídeo que podéis arriba, se habla desde su origen hasta su funcionamiento. Pero en este artículo vamos a hablar de un paso más allá dentro del universo de Conway.

    Y llegó Lenia

    En 2015 aparece Lenia, una variante nueva creada por Bert Wang-Chak Chan la cual mejora tanto el original como Smooth Life llegando a tener, de momento, hasta 400 especies nuevas y 18 familias. También utiliza un espacio-tiempo continuo además de otras reglas locales, similares a los anteriores proyectos, pero con algunos detalles que luego veremos. Además, hay nuevas características las cuales permiten organizarse, auto repararse, comunicarse, nuevos medios de crear movimiento, etc. Y los resultados son realmente espectaculares, dando una sensación de estar visualizando criaturas realmente biológicas y su comportamiento con el entorno.


    La principal diferencia de Lenia con otros modelos de autómatas celulares es que son geométricos, “difusos” (fuzzy), resistentes y "resilientes". También se muestran nuevas formas de autopropulsión, autoorganización, polimorfismo, plasticidad, etc. Y quizás el punto más importante, más allá de su aplicación en la biología, esta nueva aproximación abre nuevas vías dentro de la Inteligencia Artificial.

    Las nuevas reglas de Lenia

    Las reglas del universo o del mundo (grid o retícula) en general son las mismas en su base respecto al resto de implementaciones. Es decir, existe un espacio donde cada elemento de la rejilla o píxel es una célula y además existe una evolución en el tiempo definida con fotogramas o frames. Si durante ese periodo de tiempo existe alguna relación con alguna celda vecina, tendrá lugar algún tipo de cambio determinando el valor de dicha celda en el siguiente avance del universo. Pero vamos a adentrarnos un poco en más en Lenia.

    Voy a intentar explicar brevemente y a un nivel muy básico su funcionamiento, dejándome muchos conceptos atrás pero que nos puede servir como punto de partida. Si quieres más detalle te aconsejo echar un vistazo al artículo original o a este vídeo del cual he sacado la idea para el la explicación. Vamos a fijarnos en la siguiente fórmula la cual no es más que una evolución de la utilizada en el Juego de la Vida de Conway:


    Antes de avanzar en su explicación debemos tener en cuenta el elemento que cambia totalmente las reglas y ofrece un nuevo enfoque de esta implementación: el kernel (K) y sus nuevas implementaciones. Un kernel (también llamado a veces máscara) se utiliza en una convolución para extraer características de, por ejemplo, una imagen. Es una matriz la cual sirve para conseguir una especie de filtro y obtener unos resultados nuevos de salida. De hecho, en procesamiento de imágenes y redes convolucionales se aplica este mismo concepto. 

    Es más, el kernel es el “motor” principal de esta implementación para poder obtener nuevas interacciones con las otras células del mundo, abriendo un gran abanico de posibilidades y resultados asombrosos. Pues bien, ahora supongamos que tenemos una serie de celdas dentro de este nuevo universo con la siguiente estructura:

    Figura 7: Estado inicial de las celdas en un universo Lenia

    Y también este kernel simple:

    Figura 8: Kernel a aplicar sobre las celdas

    Si ahora centramos y superponemos el kernel sobre una de las celdas (en concreto la central de valor “1”), tendríamos el siguiente resultado:

    Figura 9: Kernel aplicado sobre las celdas

    Ahora comprobamos qué valores de nuestro kernel coinciden con los valores de las celdas. Es decir, observar qué valores de las celdas en el universo coinciden con los valores de las celdas en el kernel.

    Figura 10: Kernel aplicado a las celdas y sus valores correspondientes
    (kernel/celda)

    Comprobamos que la única celda que coincide su valor con el kernel es la que hemos marcado en verde oscuro en la imagen anterior. Vamos a ver ahora cómo se traduce esta operación a la fórmula. El valor total del kernel se calcula multiplicando el valor de la celda del universo por el del kernel. El valor obtenido se suma valor obtenido con la misma operación de la siguiente celda y así sucesivamente hasta completar todas las celdas del kernel. En nuestro caso obtenemos el valor 1:

    Figura 11: Valor total del kernel resultante.

    Sustituimos el valor de la convolución en la ecuación:

    Figura 12: Sustitución del valor del kernel en la fórmula
    dentro de ese periodo de tiempo

    El siguiente paso será determinar la función del mapeo de crecimiento. En el Juego de la Vida original esta función se calcula en función de los 8 puntos que rodean a la celda aplicando las reglas básicas originales. Es decir, nos fijamos en el número de celdas que tiene alrededor. Si la celda está muerta (0 en el caso del Juego de la Vida) vuelve a la vida (1) sólo si tiene tres celdas vivas. Y si la celda está viva, se mantiene viva sólo si tiene 2 o 3 vecinos vivos. 

    Al aplicar una función de crecimiento (G) obtendremos los correspondientes valores: 0 sobrevive (se queda en valor 1), 1 nacimiento (de 0 a 1) y finalmente -1 lo cual supone su muerte (0). El caso de Lenia es similar, pero con algunas variaciones, esta vez utilizando valores con números reales. En el siguiente gráfico se muestra un ejemplo con un kernel tipo anillo en el apartado b) usando una función gaussiana:


    Volviendo a la fórmula anterior y usando la función de mapeo de crecimiento sencilla, vamos a calcular los valores que nos devuelve la función de crecimiento siguiente. Vemos marcado en amarillo el valor obtenido del kernel, el cual corresponde al valor -1:

    Figura 14: Valor obtenido de la función de crecimiento

    Ya sólo nos quedaría sustituir los valores de incremento de tiempo y estado del universo. Suponiendo que son 1 (esto irá variando dentro del dominio de los números reales también), obtendremos finalmente un valor como, por ejemplo:

    Figura 15: Sustitución de los valores obtenidos y resultado final

    Vemos que el valor final es 0 pero debemos tener en cuenta que es posible que los valores acaben por encima de 1 o por debajo de 0, por eso los acotamos entre 0y 1. A partir de este momento podemos variar los valores del kernel cambiando la forma de la máscara, la función de crecimiento, etcétera. La siguiente imagen nos puede servir para entender mejor los valores que hemos calculado comparando una función básica del Juego de la Vida con una de Lenia, en concreto comparando los parámetros de un “glider” (o planeador) cada uno con una máscara diferente. Podemos observar perfectamente su evolución e interacción con el universo:

    Podemos observar las diferencias de cómo interactúan con el entorno.

    Como ya hemos comentado, el kernel es el elemento fundamental que da forma y características a las nuevas criaturas de Lenia. Ya no estamos en un mundo binario, donde los valores de la celda eran 0 o 1. Ahora tenemos los números reales que podamos encontrar entre 0 y 1, así que este es el nuevo espacio donde viven estas nuevas entidades digitales. A partir de este momento ya sólo nos queda experimentar utilizando más de un universo, mezclarlos entre ellos, crear nuevas criaturas con diferentes kernels e incluso, utilizar matrices multidimensionales en vez de 2D (este tema se trata con detalle en el artículo de Lenia).

    Figura 17: Walkthrough Lenia

    En este pequeño vídeo podemos ver algunas de estas criaturas utilizando la implementación Python que podéis encontrar en este enlace de GitHub y también en detalle los diferentes ámbitos en acción como world, kernel, potential y field que hemos visto en la Figura 16.

    La clave, los autómatas celulares y la IA

    Esto es sólo una pequeña aproximación al fantástico mundo de Lenia y lo tremendamente importante que son los autómatas celulares para interconectar Biología e Inteligencia Artificial. Y si el objetivo de todo esto es simular vida, la combinación de ambos mundos es fundamental. Con el Juego de la Vida, Smooth Life y Lenia tenemos la base digital biológica para estudiar el comportamiento de criaturas artificiales. Su evolución y comportamiento en estos universos son una excelente herramienta para aplicar Inteligencia Artificial emulando estos patrones de evolución lo que nos permitirá simular escenarios muchos complejos. 

    Algunas aplicaciones pueden ser desde la ya obvia simulación y aprendizaje del funcionamiento de las células biológicas, comportamiento de las partículas en Física, gestionar los atascos de tráfico o incluso nuevas vías de computación utilizando autómatas celulares. La Inteligencia Artificial y los autómatas celulares permiten ampliar y mejorar el mundo del reconocimiento de patrones y sobre optimización de todo tipo de problemas. En definitiva, con los autómatas celulares podemos básicamente hacer cosas como:
    • Experimentar con la evolución de la vida artificial en entornos simulados y adaptados a nuestras exigencias (vida artificial), con una aplicación directa con la robótica.
    • Crear nuevas vías o motores de computación
    • Modelar todo tipo de fenómenos y características asociados a la Biología, Física, Naturaleza.
    • ¿Alguien a dicho jugar a ser un dios 2.0?😉
    Happy Hacking!

    Autor: Fran Ramírez,(@cyberhadesblog)es investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps", también de "Machine Learning aplicado a la Ciberseguridad” además del blog CyberHades. Puedes contactar con Fran Ramirez en MyPublicInbox.

     Contactar con Fran Ramírez en MyPublicInbox
  5. Un día, durante los meses de este verano, me acerqué a mi querida Valencia para juntarme un rato y ver a mis amigos de GeeksHubs Academy, con los que estamos colaborando mucho gracias a la iniciativa de "Hack Your Career!" -. Ese día, ya que estaba por allí, Chaume Sánchez, CEO de GeeksHubs Academy, y yo, grabamos un conversación entre los dos, hablando de un tema que nos interesa mucho a los dos: Tecnología y Educación.


    La charla, ha sido editada, y yo os la he subido a mi canal youtube para que podáis verla. En ella, hay muchos de los temas que muchas veces nos preguntan. Temas que suelen ser preocupación regular en las personas. ¿Soy muy mayor para empezar? ¿Puedo entrar a ser un profesional de la tecnología habiendo estudiado otras carreras? ¿Es difícil ser programador para alguien que no ha programado de niño? ¿Hay oportunidades en el mundo de la tecnología o es un mito?


    De todo eso, y de muchas cosas más que tienen que ver con nuestros orígenes, con nuestra propia carrera profesional, de las cosas que hemos hecho y cómo las hemos hecho, hablamos en esta charla, que podéis ver en el siguiente vídeo.


    Figura 3: Vídeo de la Charla Tecnología y Educación

    Lo que sí que os diría, que las dudas son normales. Todos hemos tenido siempre dudas, pero, lo que no puedes dejar es que las dudas se queden en tu vida para siempre. Disípalas y hazlo o no lo hagas, pero... nunca dejes que la duda gobierne tu vida.

    ¡Saludos Malignos!

    PD: Hay una campaña de GeerksHubs Academy en MyPublicInbox para que consigas Tempos patrocinados por ellos.

    Autor: Chema Alonso(Contactar con Chema Alonso)  


  6. El próximo viernes, 26 de noviembre de 2021 tiene lugar el II Foro Empleo RITSI (Reunión de Estudiantes de Ingenierías Técnicas y Superiores en Informática) 2021, que es la Asociación a nivel estatal que representa a los estudiantes de Ingenierías en el ámbito de la Informática en España. Creada en 1992, es la encargada de coordinar a las Delegaciones de Estudiantes de las Universidades en las que se imparten titulaciones de Ingenierías en Informática, tanto a nivel de Grado como de Máster.


    Este foro, que este año se realiza 100 % de forma telemática - puedes registrarte aquí -, tiene por objeto ayudar a los estudiantes a lanzar su carrera profesional, conectando empleadores, proyectos, empresas, y estudiantes, para lo que deberás registrarte en la web, seleccionar tus entrevistas y actividades, y sacar el máximo que puedas de este encuentro para que tu carrera profesional en el mundo de la Informática comience a despegar.


    Nosotros vamos a estar colaborando desde 0xWord, Singularity Hackers y MyPublicInbox, y tienes un cupón descuento del 10% en el material de la tiene online, utilizando el cupón FORORITSI2021 que estará activo desde el 26 de noviembre hasta el próximo 3 de diciembre.


    Si estás buscando un sitio para comenzar a tener entrevistas de trabajo y comenzar tu andadura profesional en el mundo de la informática, este foro es una buena oportunidad, así que échale un ojo, regístrate y resérvate algunas entrevistas para ir conociendo el mundo profesional en el que te quieres mover.

    ¡Saludos Malignos!

    Autor: Chema Alonso(Contactar con Chema Alonso)  


  7. Esta semana he estado hablando con la gente de Helpncare Solidaridad sobre su proyecto de Calendario de Adviento Solidario, y la verdad es que me ha parecido una idea muy sencilla para recordar actividades, y acciones que ayudan a mejorar un poco el mundo. Así que me he animado a compartirlo con vosotros por si os animáis a seguir algunas de estas acciones o, por lo menos, difundirlo con los demás.

    Figura 1: Calendario de Adviento Solidario de Helpncare 

    El equipo de Helpncare es una organización dividida en grupos de impacto social para trabajar en acciones de impacto en áreas de trabajo como el Medio Ambiente, Mundo Animal, Solidaridad, o enfermedades de las personas como la Ludopatía, el Cáncer o la Salud en general, así como para ayudar a luchar contra el Maltrato Psicológico o el Bullying (y Cyberbullying)
    Para ello, a parte de los grupos de trabajo que tienen, el equipo de Helpncare, ha definido el juego que os decía al principio, y que puede ser una buena forma de trabajar con los más peques de la casa, que suelen estar enganchados a otro tipo de calendarios de adviento, de chocolate, juguetes o productos de cuidado personal.

    Figura 3: Acciones del Calendario de Adviento Solidario

    En este caso, se trata de recordar cada día una acción que mejora la vida de las personas. Una pequeña acción que hacer con tu familia, tus amigos o tus seguidores en redes sociales, para hacer que algo mejore algo, que aunque sea pequeño el aporte, siempre cuenta.
    Si quieres colaborar más con esta ONG, puedes contactar con ellos que tienen cuenta en MyPublicInbox, y donarles los Tempos que tengas, que también son un proyecto solidario que puedes seleccionar para ello en la plataforma. 

    Figura 5: Acciones del Calendario de Adviento Solidario

    Pero con que hagas, compartas y animes a otros a que hagan el Calendario de Adviento Solidario, es suficiente. Además, para los que lo cumplan, habrá un sorteo de una cesta navideña con regalos y juguetes, y hasta con Tempos, pero lo que vale la pena es hacer las acciones.

    ¡Saludos Malignos!

    Autor: Chema Alonso(Contactar con Chema Alonso)  


  8. Durante toda esta semana que comienza mañana, en HackBySecurity vamos a aplicar un descuento de BlackFriday y CiberMonday para que todos los que se quieran formar con nuestras formaciones puedan aprovecharse de un 35% de descuento sobre el PVP, y sigan teniendo todos los beneficios que lleva la formación, es decir, los libros de 0xWord y los Tempos de MyPublicInbox.

    Figura 1: Una semana de descuentos en BlackFriday & Cibermonday

    Para eso hemos creado un cupón de descuento que puedes utilizar en el proceso de compra llamado"BLACKFRIDAY" que tiene validez desde el lunes 22 de noviembre al lunes 29 de noviembre de 2021, así que si lo utilizas, podrás tener todas las formaciones de Hack By Security con un tercio menos de su valor.


    Esperamos que esta iniciativa sirva para que haya muchos más hackers en el mundo cambiándolo, que estamos en una profesión en la que no somos capaces de cubrir todas las vacantes que tenemos en las empresas, y hay que formarnos mucho más todos.

    ¡Saludos Hackers!

  9. He tenido que explicar estos últimos días en uno de los mensajes que me ha llegado a mi buzón público en MyPublicInbox, así que he pensado en hacer un pequeño artículo sobre ello en mi blog, por si tengo que mandar esta información otra vez a alguna persona. Tiene que ver con el cifrado extremo a extremo en las plataformas de mensajería, y lo que significa eso.

    Figura 1: Los detalles mal asumidos del cifrado extremo a extremo
    en apps de mensajería como WhatsApp o Telegram

    Para explicar este tema, dejadme primero situar el problema para entender para qué tiene sentido el cifrado extremo a extremo y para qué no es más que una política de marketing y comunicación mal entendida por las personas, pero en cierta manera, de forma deliberada. Es decir, es mejor que la gente piense erróneamente que le protege de algo que no le protege, que entienda los límites de la tecnología.

    El atacante remoto: Man-in-the-middle

    Supongamos que Ana y Bartolomé se quieren enviar un mensaje con privacidad, para lo que han hecho un intercambio de claves públicas, y cifran los mensajes con las claves privadas de los destinatarios, haciendo un uso de criptografía moderna de comunicaciones digitales. Suponemos que cada uno de ellos guardan sus claves en sus terminales móviles y que nadie tiene acceso a esas claves. 

    Figura 2: Libro de Cifrado de las comunicaciones digitales:
    de la cifra clásica a RSA 2ª Edición de 0xWord

    Con ese esquema de seguridad, un atacante que quiera acceder a los datos de la comunicación entre Ana y Bartolomé no conseguirá nada más que tráfico de comunicaciones cifrado que tardaría un tiempo enorme en lograr descifrar co la tecnología de hoy en día - y si usa cifrado post-cuantico, con la tecnología del mañana probablemente también -.
    Eso quiere decir que el cifrado extremo a extremo que usan Telegram y WhatsApp no permite a nadie dese la red - incluidos los servidores de la propia empresa - acceder a los datos en transito de las comunicaciones. Y es bueno para dificultar a los que quieren espiar WhatsApp que lo hagan desde la web. Así que, demos por bueno por ahora, pero con pinzas, el mensaje que publica WhatsApp en su web sobre ello, donde afirman que no pueden acceder terceros... ni ellos tampoco. Y esta parte es la que no es tan cierta.

    El atacante en el end-point

    Ahora vayamos al end-point. Es decir, al terminal de Ana y Bartolomé. Imaginemos que Bartolomé le envía a Ana un mensaje importante que no quiere que nadie vea - ni tan siquiera los servidores de WhatsApp o Telegram -, y cuenta con la colaboración de Ana para eso sea así, pero...


    ...si hay un malware en el end-point que graba la pantalla, puede ver todos los mensajes, conservarlos e incluso guardarlos. Como en el caso de las fotos y vídeos con autodestrucción de Telegram que yo publiqué hace mucho tiempo, si alguien está en el end-point con permisos, puede acceder a toda la información de la comunicación.

    Claro, eso significa que el terminal tiene un malware, un bug o un enemigo - el usuario - en el end-point. Pero... no es del todo cierto. Porque hay una app que está aprobada por todo el mundo y que tiene acceso a las claves públicas de todos los contactos, y a la clave privada del usuario. Esta app se llama WhatsApp y Telegram, y son de las empresas que usan el cifrado extremo a extremo.

    Claro, si esas apps de mensajería, por ejemplo, tuvieran interés en analizar tus mensajes para generar insights y pasar esos insights a sus servidores con etiquetas del tipo "Le gusta el Whisky", o simplemente "XSEWESDR$RTFSASDVFGHFDSDF" que luego un algoritmo de Machine Learning en el servidor va a procesar como "a este usuario servirle anuncios del grupo ·$WDASFADSF·ASDADS" donde ese grupo tiene anuncios de empresa de bebidas alcohólicas, por ejemplo... podría hacerlo.

    Es decir, que desde el end-point se pueden leer los mensajes tranquilamente y se pueden usar de una forma que respete la privacidad de los usuarios, pero también, la app, "podríavolverse una Gremlin App, y enviar los mensajes concretos de una conversación de chat cifrados con otra clave que solo fuera para un contacto concreto. Es decir, la app podría descifrar los mensajes de una conversación de chat, pintárselos al usuario y luego enviarlos cifrados de vuelta a los servidores de la propia empresa para acceder a su contenido en remoto.

    O aún mejor.

    La seguridad del cifrado de PKI basado en claves públicas y privadas, pero las claves privadas están disponibles para.... sí, lo has adivinado, la app de mensajería que usas en el end-point. Así que si le diera por enviar las claves privadas al servidor de la empresa, podría suplantar a cualquier persona desde la red... si quisiera, y acceder a las conversaciones en tiempo real desde la red.

    Lo cierto es que en el artículo de Eryos sobre cómo descifrar los mensajes de WhatsApp para Android sin la clave de cifrado vimos como WhatsApp guardaba en sus servidores suficiente información cómo para descifrar una base de datos cifrada en otro end-point. ¿Por qué no "podrían" guardar las claves de los usuarios? Lo cierto es que ellos dicen que no lo hacen, pero hay dos cosas importantes sobre esto del cifrado end-to-end o extremo a extremo que es importante conocer:

    - Ellos, controlando en end-point, sí que podrían acceder a los mensajes de los chats, incluso con cifrado extremo a extremos,  si quisieran o se vieran forzados por algún imperativo legal.

    - Ellos pueden acceder a los datos, procesarlos y generar insights sobre los mensajes que tú envías y recibes por los canales, sin necesidad de almacenarlos en los servidores centrales. Pero podrían almacenar todos los insights generados por ti, en base a los anuncios que se te han servido en otros canales.

    Y este punto me maravilla. Pues mientras la gente se muestra de una forma comedida y publicamente en las redes sociales abiertas, en los canales de WhatsApp y Telegram se muestran como realmente son, compartiendo sin filtro todo tipo de contenido e ideas, lo que le da una potencia, a cualquier empresa que use AI Differencial Privacy & Federated Learning con los datos del end-point, brutal.

    Así que si me preguntas a mí, como los end-points de muchas de estas apps no son Open Source y nadie los puede auditar para garantizar que no hacen alguna comunicación de las que yo he dicho, no te podría garantizar si lo hacen o no, pero sí te puedo garantizar que lo podrían hacer y que la sentencia "nosotros no podemos acceder a los datos" no es cierta, y si mañana quieren pueden hacerlo. 

    Además, el análisis de los datos en el end-point con AI Differencial Privacy & Federated Learning es, más que probablemente o que lleva a la gente a ver anuncios de cosas que ha hablado en grupos de chat privado.  No hay magia, controlan el end-point.

    ¡Saludos Malignos!

    Autor: Chema Alonso(Contactar con Chema Alonso)  


  10. Siempre nos dicen que debemos leer las noticias para estar informados de lo que pasa en el mundo, pero pocas veces nos enseñan a ser críticos con lo que leemos. Mi nombre es Diego Sepúlveda Millány soy la nueva incorporación al equipo de Ideas Locas. Actualmente estoy estudiando Ingeniería Informática y por las noches salvo al mundo de las fake news, o eso intento. En realidad, lo hago por la mañana y, más que luchar contra fake news, lucho por aprender tecnologías como la NLP (Procesamiento de Lenguaje Natural) que me permitan crear una herramienta que las detecte con Inteligencia Artificial

    Figura 1: Cómo empezar en el mundo del NLP
    (Natural Language Processing)

    Todo comenzó con una HackForGood, que es un encuentro inter-universitario en el que hackers se dejan los sesos buscando propuestas tecnológicas para dar solución a problemas sociales con tecnologías innovadoras. Junto a mi equipo conseguimos el primer puesto local, proponiendo un complejo sistema que detectase las fake news, respaldados por el conocimiento de una periodista experimentada.

    Figura 2: El equipo de la H4G_2019 lo formamos
    Diego Sepúlveda, Carol Manzaneque y Alfonso Barragán

    Estábamos preparados para no dejar caer en el olvido este proyecto, pero llegó la pandemia y lo dejamos de lado hasta que un profesor de la universidad me hizo llegar la noticia de que el equipo de Ideas Locas de Telefónica había lanzado un reto para la detección de Fake News y Deep Fakes. Termine siendo uno de los dos ganadores de este reto y conseguí la beca remunerada de 6 meses en Telefónica, para que continuase desarrollando mi proyecto, lo que me ha hecho pasar a formar parte del equipo de Ideas Locas.

    Reto Ideas Locas

    Las fake news son noticias que son falsas, bien porque son un bulo, o bien porque, a raíz de un pequeño hecho, incluso un pequeño rumor, se manipula la forma de transmitirlo con un fin malicioso o egoísta. En el mejor de los casos, el titular se ha maquillado lo suficiente como para que resulte muy llamativo, buscando que entres en su página web para ganar dinero mediante las visitas (lo que llamamos clickbait), y, en el peor de los casos, estarán promoviendo información falsa para influenciarte o directamente perjudicarte.

    Ahora voy a contar mi experiencia con el NLP, Natural Language Processing (procesamiento del lenguaje natural), es decir, la comprensión del lenguaje humano a través de la máquina, para que a todo aquel que quiera saber de qué va, le pueda servir para empezar en este mundillo. Todo lo relacionado con NLP es tema de actualidad, pero el problema que trata de resolver no es nada nuevo. 

    Figura 3: Análisis de sentimientos NLP (librería NLTK) por capítulos del libro Dune

    Pretender que un ordenador comprenda y procese el lenguaje humano es uno de los pilares que ha modelado lo que hoy conocemos como computación. NLP abarca problemas como la traducción de idiomas, obtención de las ideas principales de un texto, clasificación de textos por su temática, análisis sintáctico… Pero ¿cómo se hace? Existen dos formas de abordarlo.

    NLP Primer paso: el análisis sintáctico

    Una de ellas sería pretender recopilar todas las reglas sintácticas y semánticas, así como todo el vocabulario, e idear una serie de reglas computables que nos permitiesen, por ejemplo, obtener como salida si una oración es ofensiva o neutra. Teóricamente, esto es posible, pero si tenemos en cuenta la riqueza del lenguaje y la inmensa cantidad de reglas gramaticales que contiene cada idioma y le sumamos que este está en constante evolución, sin siquiera tener en cuenta sarcasmos o dobles sentidos, esta codificación del idioma es casi imposible de realizar manualmente, de forma completa. 

    La otra forma de abordarlo es con Machine Learning usando grandes corpus de texto podemos dejar que todas estas reglas, que antes pretendíamos codificar manualmente, sean aprendidas automáticamente con técnicas de inteligencia artificial, destacando las redes neuronales como las más usadas. Existe gran cantidad de soluciones NLP que se sitúan entre estos caminos, pero las más potentes actualmente se inclinan hacia el Machine Learning.

    Figura 4: Libro de Machine Learning aplicado a Ciberseguridad de
    Carmen Torrano, Fran Ramírez, Paloma Recuero, José Torres y Santiago Hernández

    Pero no te preocupes, de momento no tienes que hacer ninguna de las dos cosas para poder dar tus primeros pasos en el NLP, ya que existen numerosas librerías con muchísimas funciones y con muy buena documentación. Pero antes de empezar a trastear, recomiendo ver la serie, todavía en emisión, de DotCSV sobre NLP, donde explica los principales términos de una forma muy sencilla, a pesar de ser complejos. 

    Figura 5: Serie de DotCSV dedicada al NLP

    Dicho esto, creo que es hora de que te ilustre con algunos ejemplos, si quieres introducirte en el lenguaje Python además de en NLP. Una buena idea es seguir el libro Natural Languaje Processing with Python en el que encontrarás una pequeña introducción a Python y ejercicios guiados para usar la librería NLTK, que viene acompañada de textos y libros con los que podrás probar las principales funcionalidades de esta librería sin mucho esfuerzo. Por cierto, si quieres comenzar en el mundo de la Inteligencia Artificial y además enfocar el conocimiento en el mundo de su aplicación en la Ciberseguridad, te recomendamos este libro de 0xWord.

    Manos a la obra

    A continuación, voy a compartir el ejercicio que me propuse a mí mismo para explorar de lo que era capaz el NLP. Hace no mucho tuve la oportunidad de ir al cine y ver una película que me encantó, y, cómo no, me entraron ganas de leer todos los libros, pero, como no cuento con mucho tiempo, aproveché el dilema y me propuse obtener toda la información posible procedente del texto sin tener que empezar a leerlo antes de devorarlo, así que busqué el libro y trasteé con él. 

    Pero, como siempre, hay un pero, el primer problema con el que te encontrarás será el formato del texto que pretendes procesar. Esta claro que no te puedo dar unas pautas mágicas para procesar cualquier texto, puede ser que solo necesites obtener gráficas como la frecuencia de palabras o puede que el problema que tratas de resolver necesite un conjunto de textos con todos sus signos de puntuación, todos esos elementos del lenguaje que pueden caracterizar una obra escrita. 


    Figura 6: Proyecto Maquet

    Como el Proyecto Maquet, en el que Chema Alonso afronta el reto de crear una inteligencia artificial capaz de copiar el estilo de un autor a la hora de escribir, indicando las partes de texto que no encajan con el estilo de dicho autor y proponiendo modificaciones para que se adapten mejor al estilo. Pero si el reto que te planteas superar es algo más sencillo que el Proyecto Maquet, si te puedo dar algunos consejos. Un primer paso sería tokenizar, para separar las palabras en tokens, pasarlo todo a minúsculas y quitar signos de puntuación. Veamos el siguiente ejemplo:
    import re
    import string
    import nltk
    from nltk.corpus import stopwords
    nltk.download('stopwords')
    text="Donde digo digo, digo Diego. Pero donde dije Diego..."
    print(text)
    tokens=[t for t in text.split()]
    freq=nltk.FreqDist(tokens)
    print(freq.elements)
    text = text.lower()
    text = re.sub('\[.*?¿\]\%', ' ', text)
    text = re.sub('[%s]' % re.escape(string.punctuation), ' ', text)
    text = re.sub('\w*\d\w*', '', text)
    text = re.sub('[‘’“”…«»]', '', text)
    text = re.sub('\n', ' ', text)
    print(text)
    tokens=[t for t in text.split()]
    freq=nltk.FreqDist(tokens)
    print(freq.elements)

    SALIDA:
    Donde digo digo, digo Diego. Pero donde dije Diego...
    <bound method Counter.elements of FreqDist(
      {'digo': 2, 'Donde': 1, 'digo,': 1, 'Diego.': 1,
      'Pero': 1, 'donde': 1, 'dije': 1, 'Diego...': 1})>
    donde digo digo digo diego pero donde dije diego
    <bound method Counter.elements of FreqDist(
    {'digo': 3, 'donde': 2, 'diego': 2, 'pero': 1, 'dije': 1})>
    Con este pequeño ejemplo, puedes observar cómo se procesará un texto sin limpiar. Tomando palabras que para nosotros deberían ser iguales, el programa las clasifica como diferentes, ya sea por sus mayúsculas o por los signos de puntuación que las acompañan. Ahora imagínate procesar un libro entero o algo mucho más grande. Cualquier resultado que obtengamos sin preprocesar el texto sería poco relevante.

    Vamos a pasar a ver las ideas principales. Antes de entrar en técnicas más complejas, veamos la frecuencia de palabras. Probablemente si vemos las 20 o 30 palabras que más se repiten nos podremos hacer una idea de qué trata un texto.

    Figura 7: Cómo obtener la gráfica con las 30 palabras más usadas en un texto

    Vale, la mayoría de las palabras más usadas son conectores, pronombres…, que no aportan un significado como tal, pero sí son imprescindibles si lo que pretendemos es leer y comprender un texto. Pero en este caso no nos interesan, a este conjunto de palabras se le denomina “stopWords” y son muy fáciles de descartar.

    Figura 8: Representación de las palabras más usadas, incluyendo stopWords, en El Quijote

    Puedes recoger todas las palabras que no te interese analizar del idioma o puedes usar una librería que ya contemple esta realidad.

    Figura 9: Cómo obtener la gráfica con las 30 palabras
    más usadas y SIGNIFICATIVAS de un texto

    Ahora mucho mejor. Ya podemos saber cuáles son los actores y elementos principales de esta obra, pero este gráfico no es muy agradable a la vista. No te preocupes, ya existen funciones para darle vida a estos datos que estamos extrayendo.
    import wordcloud
    from wordcloud import WordCloud
    wc= WordCloud(max_words=200,stopwords=stopwords.words('english'),
    background_color="white", colormap="Dark2",
    max_font_size=64, random_state=6)
    import matplotlib.pyplot as plt
    plt.rcParams['figure.figsize'] = [16,12]
    wc.generate(text)
    plt.imshow(wc, interpolation="bilinear")
    plt.axis("on")
    plt.show()
    Figura 10: Resultado del código anterior, nube de palabras
    más significativas y usadas de un <text>

    Y esto es solo la punta del iceberg. Podemos incluso generar texto automáticamente similar al introducido o analizar los sentimientos de todo el libro. Pero no tendría mucho sentido hacer eso, ya que probablemente nos dé un resultado siempre muy cercano a lo neutral y si no tenemos muy claro los algoritmos que usa y las reglas principales de estas funciones, realmente no obtendremos información útil. 

    Lo que sí puede ser buena idea es analizar los sentimientos de cada capítulo, así tendremos algo con lo que comparar, y con ese resultado muy probablemente nos haremos una pequeña idea de cómo transcurre la historia. Pero no te olvides de que para ello deberemos separar primero el texto en capítulos, e investigar cuál es la entrada de la función que desees usar. No es lo mismo una que esté preparada para procesar y limpiar el texto automáticamente una que si encuentra una palabra con un signo de puntuación adherida la tome como neutra por no saber reconocerla. (En el caso de la librería que yo usé, debía separar frase por frase para poder analizarlo)

    GPT-3 un paso de gigante

    Ahora ya sabes todo lo que necesitas saber del NLP, ¿o no? Pues la verdad es que todo lo anterior no es nada comparado con la revolución que estamos viviendo en este preciso momento. Hablemos de GPT-3. Para ponerte en contexto, es un modelo construido para cumplir la tarea de generar texto realista a partir de una entrada de texto, existen más modelos, pero este destaca por su gran cantidad de parámetros y por su disposición al público.

    Estamos hablando de corpus de tamaños tan descomunales que solo pueden ser manejados por grandes corporaciones que cuenten con los recursos suficientes para manejar estas cantidades de datos. Ya no solo nos encontramos ante un generador de texto superrealista, nos encontramos ante un modelo que ha aprendido estrategias que en ningún momento se le ha solicitado que aprenda y ahora es capaz de realizar tareas para las que no estaba programado, como puede ser sumar o adquirir un cierto rol dado un personaje o unas características.

    Figura 11: Ejemplo de conversación

    El problema que surge a raíz de esto es la forma de interactuar con él, porque rompe con todos los esquemas. Hasta ahora las inteligencias artificiales eran programadas para tareas muy específicas, siendo muy predecibles sus resultados, pero nos encontramos con una inteligencia artificial de la que debemos aprender a base de ensayo y error, a cómo introducirle los datos de entrada para condicionar los resultados que esperamos. Es capaz de programar funciones en lenguajes como Python o Lenguaje C si le introducimos la descripción del método y algunas indicaciones, o incluso redacta noticias a partir de un titular o un hecho.

    Conclusión

    En mi opinión, esto es una locura. De hecho, hace sólo unos días se presentó Megatron Turing, superior incluso a GPT-3. Cada vez estamos más cerca de crear inteligencias artificiales al nivel de las que estamos acostumbrados a ver en el cine. Siempre me ha fascinado la inteligencia artificial y he querido saber cómo podría llegar a funcionar una tan compleja, pero hasta ahora no había sentido que fuese algo tan posible de alcanzar, tan tangible y a la vez tan difuso.

    Después de leer esto y haber consultado los recursos que he mencionado debería haberte emocionado o ya deberías estar buscando más información. Si no, será porque no se me da muy bien redactar, tendría que haber escrito el titular y la introducción presentándome para dejar que GPT-3 hiciese el resto. O puede que lo haya hecho, la verdad es que no lo podéis saber ;)

    ¡Saludos virtuales!

    Autor:Diego Sepúlveda Millán Ideas Locas CDO.